ipv4 和ipv6
ipv4
由四组0~255的数字组成,实际是由4组八位二进制数组成,一共32位。
192.168.37.14 对应二进制:11000000.10101000.00100101.00001110
二进制
二进制只用0和1,逢2进位
128 64 32 16 8 4 2 1 十进制
1 1 1 1 1 1 1 1 二进制
比如:132 = 128 + 4,转换为8位二进制:10000100
比如:255 = 128 + 64+32+16+8+4+2+1,转换为八位二进制:11111111
ip地址组成:网络号+主机号
网络号:共同的部分
主机号:不同的部分
为什么要分为网络号和主机号?
举例:用户ip为192.168.37.12 的用户发送请求给192.133.22.11
首先请求发送到路由器A,发现网络号不是路由器下的,因此发送请求到对应的路由器B。
路由器B收到请求后查看目标ip地址的网络号,如果是,根据主机号将请求发送给对应的主机
ip 地址分为A、B、C类
image-20221124180359840.png假设ip为C类,网络号为192.168.22.x,则可以有256个主机数,192.168.22.0 - 192.168.22.255.
如果只需要1个或者257个主机数,那么直接为C类的话有点浪费ip地址了,可以结合子网掩码来优化,子网掩码用来划分网络号和主机号。
比如我们需要的是4个IP地址192.168.0.0、192.168.0.1、192.168.0.2、192.168.0.3, 4-255都不需要
1、分别表示出其二进制,通过对比发现前30位都一样
2、都一样的数字表示为1,不一样表示为0,再将得出的二进制转换为十进制则为子网掩码。
3、得出子网掩码为255.255.255.252,把子网掩码和ip地址一起保存,则就知道网络号和主机号的划分了。
4、CIDR 方法简单表示子网掩码:192.168.0.0/30 (192.168.0是ip共同部分,不同部分也使用0,/30表示锁定部分)
image-20221124170549952.png判断是否在同一网段
默认子网掩码的B类IP举例:
如IP:
188.188.0.111,188.188.1.111、188.188.0.111和188.188.5.222,子网掩码都设为255.255.254.0,在同一网段吗?
先将这些转换成二进制
188.188.0.111 10111100.10111100.00000000.01101111
188.188.1.222 10111100.10111100.00000001.11011110
188.188.5.222 10111100.10111100.00000101.11011110
255.255.254.0 11111111.11111111.11111110.00000000
分别AND,得
10111100.10111100.00000000.00000000
10111100.10111100.00000000.00000000
10111100.10111100.00000000.00000000
10111100.10111100.00000100.00000000
188.188.0.111,188.188.1.222网络标识一样,在同一网段。
188.188.0.111,188.188.5.222不一样,即不在同一网段。
ipv6 由8组16位二进制数组成,一共128位。
image-20221124161148942.png
去零:
image-20221124161009379.pngDNS
如果浏览器输入url 或者cmd 使用ping或curl ,如果为域名的话需要进行dns 解析获取到ip地址。
dns解析:电脑去电脑上的dns 服务器发起请求获取ip地址,如果查不到,就去根服务器(https://baike.baidu.com/item/%E6%A0%B9%E5%9F%9F%E5%90%8D%E6%9C%8D%E5%8A%A1%E5%99%A8/5907519?fromtitle=%E6%A0%B9%E6%9C%8D%E5%8A%A1%E5%99%A8&fromid=136331&fr=aladdin)去查询获取ip地址。
查看宽带运营商dns 服务地址:
方式1:连接的网络下的’属性‘ --> 往下滑动查看
image-20221124195208076.png方式2:cmd 里 输入ipconfig/all
image-20221124195755587.png电脑拿到ip地址后,就准备数据包,由网卡转给路由器(网关),路由器通过网线转给光猫,光猫通过光纤转出去,再到其他路由器(网关),一直转到目的地。
MAC 地址
MAC地址也叫物理地址、硬件地址,由网络设备制造商生产时烧录在网卡(Network lnterface Card)的EPROM(一种闪存芯片,通常可以通过程序擦写)。IP地址与MAC地址在计算机里都是以二进制表示的,IP地址是32位的,而MAC地址则是48位的 [3] 。由网络设备制造商生产时写在硬件内部。MAC地址则是48位的(6个字节),通常表示为12个16进制数,每2个16进制数之间用冒号隔开,如08:00:20:0A:8C:6D就是一个MAC地址
过程:
网络上的数据包从初始点开始 ,经过一个个中间节点最终到达目标节点 ,数据包是如何从初始节点开始识别一个个中间节点最终找到目标节点的呢? 实际上初始节点是根据目标节点的地址 ,将目标节点的IP地址映射到中间节点的MAC地址,找到第一个中间节点。从第一个中间节点出发,根据目标节点的IP地址映射到第二个中间节点的MAC地址,从而找到第二个中间节点……,以此类推,直到当找到最后一个中间节点后,从最后一个中间节点出发,根据目标节点的地址映射到目的节点的MAC地址,从而将数据包传送给目标主机。所以数据包的传送过程就是:不断地将目标节点的地址映射到一个个中间节点的MAC地址,再从一个个中间节点出发,直到找到最终的目标节点 [5] 。
数据包传送的关键是将目标节点的IP地址映射到中间节点的MAC地址
网关
网关实质上是一个网络通向其他网络的IP地址。比如有网络A和网络B,网络A的IP地址范围为“192.168.1.1192.168.1.254”,子网掩码为255.255.255.0;网络B的IP地址范围为“192.168.2.1192.168.2.254”,子网掩码为255.255.255.0。两个网络是不同段的。
在没有路由器的情况下,两个网络之间是不能进行TCP/IP通信的,即使是两个网络连接在同一台交换机(或集线器)上,TCP/IP协议也会根据子网掩码(255.255.255.0)判定两个网络中的主机处在不同的网络里。而要实现这两个网络之间的通信,则必须通过网关。
如果网络A中的主机发现数据包的目标主机不在本地网络中,就把数据包转发给它自己的网关,再由网关转发给网络B的网关,网络B的网关再转发给网络B的某个主机。网络B向网络A转发数据包的过程也是如此。所以说,只有设置好网关的IP地址,TCP/IP协议才能实现不同网络之间的相互通信。那么这个IP地址是哪台机器的IP地址呢?网关的IP地址是具有路由功能的设备的IP地址,具有路由功能的设备有路由器、启用了路由协议的服务器(实质上相当于一台路由器)、代理服务器(也相当于一台路由器)。
如何设置默认网关?
一台电脑的默认网关是不可以随随便便指定的,必须正确地指定,否则一台电脑就会将数据包发给不是网关的电脑,从而无法与其他网络的电脑通信。默认网关的设定有手动设置和自动设置两种方式。 手动设置:手动设置适用于电脑数量比较少、TCP/IP参数基本不变的情况,比如只有几台到十几台电脑。因为这种方法需要在联入网络的每台电脑上设置“默认网关”,非常费劲,一旦因为迁移等原因导致必须修改默认网关的IP地址,就会给网管带来很大的麻烦,所以不推荐使用。需要特别注意的是:默认网关必须是电脑自己所在的网段中的IP地址,而不能填写其他网段中的IP地址。 自动设置:自动设置就是利用DHCP服务器来自动给网络中的电脑分配IP地址、子网掩码和默认网关。这样做的好处是一旦网络的默认网关发生了变化时,只要更改了DHCP服务器中默认网关的设置,那么网络中所有的电脑均获得了新的默认网关的IP地址。这种方法适用于网络规模较大、TCP/IP参数有可能变动的网络。另外一种自动获得网关的办法是通过安装代理服务器软件(如MS Proxy)的客户端程序来自动获得,其原理和方法和DHCP有相似之处。由于篇幅所限,就不再详述了。
CDN
CDN的全称是Content Delivery Network,即内容分发网络。CDN是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。
分发内容:
内容主要分为:静态内容和动态内容,动态内容比如一些变化的数据,静态指的是长期不改变的数据。
静态内容分发过程:
一、源服务器发送静态内容的文件给CDN,这个过程也叫 PUSH,发送的时候,可以利用请求头 cache-control 设置缓存,这样 CDN 服务器就知道哪些文件需要缓存下来,过期时间等等。
二、用户访问静态内容的时候,就近的服务器就会把静态内容发送给用户。如果源服务器没有把 静态内容PUSH 到 CDN,那么CDN 就会从源服务器 PULL 静态内容,执行步骤和第一步一样
动态内容分发过程:
一、源服务器很难预测到动态内容,把动态内容的文件PUSH给CDN,如果每次都需要 CDN 去源服务器 PULL 的话,加速效果并不好,因此有的 CDN 也支持动态内容获取,如时间等。
优点:
- 减少源服务器压力
- 利用就近服务器,加速响应,提高用户体验
- 使用CDN 服务后,用户就不再直接访问源服务器,可以减少 DDos 攻击及减少源服务器的压力
VPN
VPN属于远程访问技术,简单地说就是利用公用网络架设专用网络。例如某公司员工出差到外地,他想访问企业内网的服务器资源,这种访问就属于远程访问。
在传统的企业网络配置中,要进行远程访问,传统的方法是租用DDN数字数据网专线或帧中继,这样的通讯方案必然导致高昂的网络通讯和维护费用。
让外地员工访问到内网资源,利用VPN的解决方法就是:
- 在内网中架设一台VPN服务器
- 外地员工在当地连上互联网后,通过互联网连接VPN服务器,然后通过VPN服务器进入企业内网。
为了保证数据安全,VPN服务器和客户机之间的通讯数据都进行了加密处理。有了数据加密,就可以认为数据是在一条专用的数据链路上进行安全传输,就如同专门架设了一个专用网络一样,但实际上VPN使用的是互联网上的公用链路,因此VPN称为虚拟专用网络,其实质上就是利用加密技术在公网上封装出一个[数据通讯隧道。有了VPN技术,用户无论是在外地出差还是在家中办公,只要能上互联网就能利用VPN访问内网资源,这就是VPN在企业中应用得如此广泛的原因。
核心:让数据在公用网络下是加密状态
VPN 职责
- 数据加密:SES,3DES 算法
- 数据完整:使用hash 来实现,利用算法比如MD5\SHA等将字符串生成唯一 hash 值,这样接收方可以根据hash 值判断是否数据被改变
- 认证:认证用户是否是员工本人,如RSA 算法。
VPN的基本处理过程如下:
①要保护主机发送明文信息到其他VPN设备。 [2]
②VPN设备根据网络管理员设置的规则,确定是对数据进行加密还是直接传输。 [2]
③对需要加密的数据,VPN设备将其整个数据包(包括要传输的数据、源IP地址和目的lP地址)进行加密并附上数据签名,加上新的数据报头(包括目的地VPN设备需要的安全信息和一些初始化参数)重新封装。 [2]
④将封装后的数据包通过隧道在公共网络上传输。 [2]
⑤数据包到达目的VPN设备后,将其解封,核对数字签名无误后,对数据包解密。
核心:数据在公用网络上是加密状态
网友评论