接着上一讲。
一、网络层
划分子网和构造超网
划分子网 :从两级 IP 地址到三级 IP 地址
划分子网的方法是从网络的主机号借用若干位作为子网号,当然主机号也就相应减少了同样的位数。于是两级 IP 地址就变成三级 IP 地址:网络号、子网号和主机号
IP 地址 ::={<网络号>,<子网号>,<主机号>}
凡是从其他网络发送给本单位某台主机的 IP 数据报,仍然是根据 IP 数据报的目的网络号找到连接在本单位网络上的路由器。此路由器在收到 IP 数据报后,再按目的网络号和子网号找到目的子网,把 IP 数据报交付目的主机。
子网掩码(长度为 32 位)
将 IP 地址的网络号,子网号全写成 1,主机号全写成 0。
如何通过子网掩码得出子网的网络地址?
将 IP 地址的二进制与子网掩码的二进制进行逐位相“与”,得出的就是子网的网络地址。
例如:
一个 IP 地址为 145.13.3.10,子网掩码是 255.255.255.0,都转成二进制
IP 地址: 10010001.00001101.00000011.00001010
子网掩码:11111111.11111111.11111111.00000000
子网的网络地址:10010001.00001101.00000011.00000000(145.13.3.0)
从网络地址 145.13.0.0 来看,这就是一个普通的 B 类地址,但进入这个网络后,就看到了许多网络(地址是 145.13.x.0)。从网络的外面和里面,看到的网络是不一样的。
计算:例题。
无分类编址 CIDR(构造超网)
延迟IP地址的用完。
IP 地址 ::={<网络前缀>,<主机号>}
128.14.35.7/20 = 10000000.00001110.00100011.00000111
CIDR把网络前缀计算都相同的连续的IP地址组成一个“.CIDR地址块”。
只要知道CIDR地址块中的任何一个地址,就可以知道这地址块的起始地址(即最小地址)和最大地址,以及地址块中的地址数。
例子:已知IP地址为128.14.35.7/20是某CIDR地址块中的一个地址,求这个地址所在的地址块中的最小地址和最大地址
*IP地址: 128.14.35.7/20 = 10000000 00001110 00100011 00000111
*最小地址:128.14.32.0 = 10000000 00001110 00100000 00000000
*最大地址:128.14.47.255 = 10000000 00001110 00101111 11111111
注:为了方便地进行路由选择,CIDR使用32位的地址编码(address mask),地址编码是一串1和1串0组成的,而1的个数就是网络前缀的长度。例如,/20地址块的地址掩码是:11111111 11111111 11110000 00000000(20个连续的1),斜线记法中,斜线后面的数字就是地址掩码中1的个数。
路由查找最长前缀匹配
路由掩码最长匹配原则是指IP网络中当路由表中有多条条目可以匹配目的ip时,一般就采用掩码最长的一条作为匹配项并确定下一跳。(也叫最长前缀匹配,是路由器在查找路由表进行选路的算法)
例如,考虑下面这个IPV4的路由表:
192.168.20.16/28 e0
192.168.0.0/16 s0
在要查找地址192.168.20.19时,不难发现上述两条都“匹配”,即这两条都包含要查找的目的地址。此时就应该根据最长掩码匹配原则,选择第一条进行匹配(更明确),所以数据包将通过e0发送出去。
网际控制报文协议 ICMP
网际层使用了网际控制报文协议 ICMP, CMP 差错报告报文 ICMP 询问报文
参考:https://blog.csdn.net/swpu_ocean/article/details/80307461