赞
踩
目录
作用:IP地址是IP协议提供的一种统一的地址格式。为互联网上每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。
格式:
IP地址是一个32位的二进制数,通常被分割为4个“8位二进制数”(也就是4个字节),如:
01100100.00000100.00000101.00000110。
通常用“点分十进制”的方式来表示,即 a.b.c.d 的形式(a,b,c,d都是0~255之间的十进制整数)。如:100.4.5.6。
IP协议有两个版本,IPV4和IPV6。IP地址默认指IPV4。IPV4的数量为2^32,IPV6的数量是2^128(长度是IPV4的四倍)。
组成:
- 网络号:标识网段,一个大型网络是由多个小型网络组成的,不同的网络有不同的编号;
- 主机号:标识主机。
一个IP地址,包含网络号和主机号,整个用于标识主机,先通过网络号找到网络,然后再找网络内的主机。
分类:
MAC地址,用来标识网络设备的硬件物理设备。
- 主机具有一个或多个网卡,路由器具有两个或两个以上网卡,每一个网卡都有唯一的IP地址;
- 网络数据传输,本质上是网络硬件设备,将数据发送到网卡上,或从网卡上接收数据;
- MAC地址长度为48位,一般用16进制的数字加上冒号的形式来表示。
特殊的MAC地址(广播数据报的MAC地址):对同网段的所有主机发送数据报。FF:FF:FF;FF:FF:FF
以下为主机B传输数据到主机C经过的网络设备:
主机:具有IP地址,但是不进行路由控制;
路由器:配有IP地址,也能进行路由的控制;
网络节点:主机和路由器的统称。(主机和路由器由IP地址,交换机和路由器没有IP地址)
对于数据传输,数据不是直接从源主机到目的主机,而是需要在如图的路径中,一步一步的前进。
- IP地址是网络逻辑地址,MAC地址是物理地址;
- IP地址是整个路途的起点和终点,MAC地址描述的是路途上每一个区间的起点和终点。
解决IP地址浪费的问题。
作用:
- 划分子网:将A~C类IP地址再次划分为更小的网络(划分的方式是将主机号的一部分作为内部的一个网络号);
- 子网掩码可以基于IP地址计算出网络号和主机号:
子网掩码计算网络号和主机号:
- IP地址与子网掩码进行按位与操作,得到网络号;
- 子网掩码进行按位取反操作后,再与IP地址就行按位与,得到的就是主机号。
工作在物理层的网络设备,发送到集线器的任何数据,都只是简单的将数据复制并转发到其他所有端口。
交换机工作在数据链路层,内部会记录并维护一张MAC地址转换表:
- MAC地址转换表:记录MAC地址与端口之间的映射关系;
- 主机连接交换机,及发送数据的时候,交换机会记录该主机的MAC地址与端口信息;
- 交换机接收到数据报后,通过目的MAC在MAC地址交换表中找到对应端口,将数据报转发到对应端口即可;
- 如果MAC地址转换表中没有找到对应端口的信息,交换机发送广播到其它所有的端口,等到目的主机返回响应后,再转发数据报到对应端口,同时记录该主机MAC地址和端口之间的映射关系。
根据源主机和目的主机是否在同一个网段,来设置不同的下一跳设备:
- 同一个网段,下一跳设备就是目的主机;
- 不同网段,设置下一跳设备为网关设备。
APR协议:通过IP地址找MAC地址(介于数据链路层和网络层之间的一个协议)
ARP缓存表:主机或路由器,内部维护的一组数据(类似hash表,通过IP找MAC)
ARP寻址:(在数据链路层封装数据报时,需要设置目的主机的MAC地址,寻址就是查找下一跳MAC地址的过程)
- 主机和路由器都保存了一张ARP缓存表,根据下一跳设备的IP地址,如果在ARP缓存表中可能找到MAC地址,则直接设置并发送数据报;
- 如果找不到,发送ARP广播数据报(目的IP为广播地址)。
网关:
路由器作为网关,可以划分公网和局域网,还可以将局域网划分为多个子网(不同网段)
- 公网端口即WAN口,为单独的网卡,具有公网IP地址和MAC地址;
- 划分的多个子网,有局域网端口即LAN口划分,每个端口都有独立的网卡,具有该网段的IP地址和MAC地址。
NAPT协议:将子网的IP地址和MAC地址转换为公网的IP地址和MAC地址。
局域网从主机发送数据报到公网的主机时:
- 先从主机发送到路由器(此时需要基于NAPT协议将子网的主机IP地址和MAC地址转换为公网的IP地址和MAC地址【由于目的主机需要返回响应数据,此时目的IP和MAC需要设置为公网的IP和MAC】);
- 然后再从路由器发送数据报到下一跳的设备。
路由:
在复杂的网络结构中找到一条通往终点的路线。网络通信路由器中的路由功能,就是进行路线规划,找到通往目的地的最佳路径。
路由器中存在一个路由表,保存有IP地址的信息(类似于地图中的坐标点)
主机之间通过网络设备的物理端口、网线相连时,两个主机同时发送数据报,如果存在冲突,该网络范围为一个冲突域(冲突与在物理层)。
- 集线器:所有端口为一个冲突域;
- 交换机:交换机可以分割冲突域,及一个端口为一个冲突域;
某个网络中的主机向网络中其他所有的主机发送数据,这个数据所能传输到的范围为广播域。
- 集线器:所有端口为一个广播域;
- 交换机:接收到广播数据报时,会转发到其它所有的端口;
- 路由器:可以隔离广播域,广播的范围是同网段。
使用集线器网络互联的情况下,发送数据报时,需要先从上到下封装数据报。封装时,目的MAC可能不知道,需要先进行ARP寻址:
- 发送端在本机ARP缓存表中,根据目的IP查找对应的MAC地址;
- 如果找到,在数据链路层以太网帧头中设置目的MAC并发送数据包;
- 如果没有找到,先发送ARP广播,让目的主机回复自己的MAC地址;
- 发送端更新本机的ARP缓存表(保存目的IP和MAC的映射);
- 然后发送数据报。
本机缓存表可以找到目的MAC的流程:
如果本机ARP缓存表中找不到目的MAC,需要先发送广播,流程如下:
交换机MAC地址转换表
子网掩码和网关。
具体流程如下:
从主机一发送数据到主机六:
- 先在主机一对数据进行封装,封装到数据链路层时,需要目的MAC;
- 通过子网掩码的按位与运算计算出源主机和目的主机的网段,判断是否为同一个网段。如果是,则和之前交换机的流程一样;
- 如果不是同一个网段,交给网关处理,即找到路由器的IP地址,再根据ARP寻址找到其MAC地址,发送数据报到网关设备;
- 发送的数据经过交换机,交换机在MAC地址转换表中,根据目的MAC找到其对应端口,并发送数据到相连的设备;
- 此时数据报发送到路由器中,路由器对数据进行分用,进行ARP寻址后找到目的MAC,此时修改源MAC为路由器的MAC地址,目的MAC为目的主机主机六的MAC地址,封装后将数据发送到目的主机;
- 此时数据报再次经过交换机,交换机通过MAC地址转换表找到其对应的端口,并发送数据报到目的主机;
- 目的主机接收到数据报后,进行分用;同时返回响应数据报,源IP和目的IP、源MAC和目的MAC交换即可。
DNS(域名系统)一整套从域名映射到IP的系统:
使用IP地址来确定一个网络中的主机,但IP地址不方便记忆,且不能方便的表达地址组织信息,于是有了域名,通过域名系统来映射域名和IP地址。
可以通过域名查找该网站的IP地址(以百度网站为例):
网络通信发送数据时,如果使用目的主机的域名,需要先通过域名解析找到其IP地址;
- 域名解析:可以简单地理解为发送端主机作为域名系统树形结构的一个子结点,通过域名信息,自下而上查找对应IP地址的过程。
- 域名解析使用DNS协议来传输数据。(DNS协议是应用层的协议,基于传输层UDP和TCP协议来实现)。
具体流程如下:
以访问百度网站为例:
发送http请求到百度服务器:http://www.baidu.com,根据DNS协议将域名转换为IP地址。http协议不带端口默认端口值为80.
- 首先对数据进行封装,封装到数据链路层时需要设置目的MAC,根据子网掩码计算源IP和目的IP的网段,如果相等,和交换机的流程一样;
- 如果不相等,需要交给网关处理,也就是交给路由器处理,通过ARP寻址,查找路由器IP地址对应的MAC地址;
- 接下来到交换机,交换机保存有MAC地址转换表,读取数据后,通过mudiMAC查找对应的端口:如果找到,直接将数据报转发到对应的端口;如果没有找到,进行广播,目的主机进行响应,记录目的主机MAC和端口,将数据转发到相应端口;
- 此时数据报传输到路由器,分用解析数据报:
【1】基于NAPT协议,转换源IP为路由器公网的IP,源MAC为路由器公网的MAC;
【2】基于路由技术,通过路由表计算路线,找到下一个设备的IP;
【3】通过ARP寻址,找到下一个设备的MAC,封装数据报发送给下一个设备;- 重复上面的步骤,直到将数据发送到百度服务器,此时服务器对数据报进行接收分用:
【1】数据链路层:目的MAC和我一样,进行接收;
【2】网络层:目的IP和我一样,进行处理;
【3】传输层:根据端口找对应的进程;
【4】应用层:将数据交给应用层,有应用程序根据应用层协议进行解析。- 最后,百度服务器返回响应数据报,和请求流程一样,知识交换目的IP和源IP、目的端口和源端口。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。