计算机网络笔记21 划分子网、无分类编址

划分子网

三级IP地址

• 在 ARPANET 的早期,IP 地址的设计不够合理:
– (1) IP 地址空间的利用率有时很低。
– (2) 给每一个物理网络分配一个网络号会使路由表变得太大因而使网络性能变坏。
– (3) 两级的 IP 地址不够灵活。

• 从 1985 年起在 IP 地址中又增加了一个“子网号字段”,使两级的 IP 地址变成为三级的IP 地址
• 这种做法叫做划分子网 (subnetting) 。
• 划分子网是互联网的正式标准协议。

划分子网基本思路

• 划分子网纯属一个单位内部的事情。单位对外仍然表现为没有划分子网的网络。
• 从主机号借用若干个位作为子网号 subnet-id,而主机号 host-id 也就相应减少了若干个位。
在这里插入图片描述
• 凡是从其他网络发送给本单位某个主机的IP 数据报,仍然是根据 IP 数据报的目的网络号 net-id,先找到连接在本单位网络上的路由器
• 然后此路由器在收到 IP 数据报后,再按目的网络号 net-id子网号 subnet-id 找到目的子网。最后就将 IP 数据报直接交付目的主机。

划分子网举例

在这里插入图片描述
在这里插入图片描述

子网掩码

• 从一个 IP 数据报的首部并无法判断源主机或目的主机所连接的网络是否进行了子网划分。
• 使用子网掩码 (subnet mask) 可以找出 IP 地址中的子网部分。
规则:
• 子网掩码长度 = 32 位
某位 = 1:IP地址中的对应位为网络号或子网号
某位 = 0:IP地址中的对应位为主机号
在这里插入图片描述
在这里插入图片描述
默认子网掩码
在这里插入图片描述

例题

【例】已知 IP 地址是 141.14.72.24,子网掩码是 255.255.192.0。试求网络地址。
在这里插入图片描述
【例】上例中,若子网掩码改为 255.255.224.0,试求网络地址,讨论所得结果。
在这里插入图片描述
不同的子网掩码得出相同的网络地址。但不同的掩码的效果是不同的。

使用子网时分组的转发

在不划分子网的两级 IP 地址下,从 IP 地址得出网络地址是个很简单的事。
• 但在划分子网的情况下,从 IP 地址却不能唯一地得出网络地址来,这是因为网络地址取决于那个网络所采用的子网掩码,但数据报的首部并没有提供子网掩码的信息
• 因此分组转发的算法也必须做相应的改动。

(1) 从收到的分组的首部提取目的 IP 地址 D。
(2) 先用各相邻网络的子网掩码和 D 逐位相“与”,看是否和相应的网络地址匹配。若匹配,则将分组直接交付。否则就是间接交付,执行(3)。
(3) 若路由表中有目的地址为 D 的特定主机路由,则将分组传送给指明的下一跳路由器;否则,执行 (4)。
(4) 对路由表中的每一行,将子网掩码和 D 逐位相“与”。若结果与该行的目的网络地址匹配,则将分组传送给该行指明的下一跳路由器;否则,执行 (5)。
(5) 若路由表中有一个默认路由,则将分组传送给路由表中所指明的默认路由器;否则,执行 (6)。
(6) 报告转发分组出错。

无分类编址

1985年制定的标准——划分子网,由于它的灵活性,在一定程度上缓解了互联网在发展中遇到的困难。然而在 1992 年因特网仍然面临三个必须尽早解决的问题,这就是:
• B 类地址在 1992 年已分配了近一半,眼看就要在 1994 年 3 月全部分配完毕
• 互联网主干网上的路由表中的项目数急剧增长(从几千个增长到几万个)。
• 整个 IPv4 的地址空间最终将全部耗尽。

• 1987 年,RFC 1009 就指明了在一个划分子网的网络中可同时使用几个不同的子网掩码。
• 使用变长子网掩码 VLSM (Variable Length Subnet Mask)可进一步提高 IP 地址资源的利用率。
• 在 VLSM 的基础上又进一步研究出无分类编址方法,它的正式名字是无分类域间路由选择CIDR (Classless Inter-Domain Routing)。

网络前缀

• CIDR 消除了传统的 A 类、B 类和 C 类地址以及划分子网的概念,因而可以更加有效地分配IPv4 的地址空间。
• CIDR使用各种长度的“网络前缀”(network-prefix)来代替分类地址中的网络号和子网号。
IP 地址从三级编址(使用子网掩码)又回到了两级编址。

无分类的两级编址

无分类的两级编址的记法是:
在这里插入图片描述
• CIDR 使用“斜线记法”(slash notation),它又称为CIDR 记法,即在 IP 地址后面加上一个斜线“/”,然后写上网络前缀所占的位数(这个数值对应于三级编址中子网掩码中 1 的个数)。
• 例如: 220.78.168.0/24

CIDR地址块

• CIDR 把网络前缀都相同的连续的 IP 地址组成**“CIDR 地址块**”。
• 128.14.32.0/20 表示的地址块共有 212 个地址(因为斜线后面的 20 是网络前缀的位数,所以这个地址的主机号是 12 位)。
– 在不需要指出地址块的起始地址时,也可将这样的地址块简称为“/20 地址块”。
– 全 0 和全 1 的主机号地址一般不使用。

128.14.32.0/20 CIDR地址块 表示的地址( 212个地址)
在这里插入图片描述

路由聚合

• 一个 CIDR 地址块可以表示很多地址,这种地址的聚合常称为路由聚合 , 也称为构成超网(supernetting),它使得路由表中的一个项目可以表示很多个(例如上千个)原来传统分类地址的路由。
• 路由聚合有利于减少路由器之间的路由选择信息的交换,从而提高了整个互联网的性能。
• CIDR 虽然不使用子网了,但仍然使用“掩码”这一名词(但不叫子网掩码)。
• 例如对于/20地址块,它的掩码是20个连续的 1。

CIDR 记法的其他形式

• 10.0.0.0/10 可简写为 10/10,也就是把点分十进制中低位连续的 0 省略。
• 10.0.0.0/10 隐含地指出 IP 地址 10.0.0.0 的掩码是255.192.0.0。此掩码可表示为:
在这里插入图片描述
• 网络前缀的后面加一个星号 * 的表示方法,如00001010 00*,在星号 * 之前是网络前缀,而星号 * 表示 IP 地址中的主机号,可以是任意值。

CIDR地址块划分举例

在这里插入图片描述
这个 ISP 共有 64 个 C 类网络。如果不采用 CIDR 技术,则在与该 ISP 的路由器交换路由信息的每一个路由器的路由表中,就需要有 64 个项目。但采用地址聚合后,只需用路由聚合后的 1 个项目 206.0.64.0/18 就能找到该 ISP。

最长前缀匹配

• 使用 CIDR 时,路由表中的每个项目由“网络前缀”和“下一跳地址”组成。在查找路由表时可能会得到不止一个匹配结果
• 应当从匹配结果中选择具有最长网络前缀的路由:最长前缀匹配 (longest-prefix matching),又称为最长匹配或最佳匹配。
• 网络前缀越长,其地址块就越小,因而路由就越具体 (more specific) 。

举例:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

例题

• 假设下面有4个路由:172.18.129.0/24、172.18.130.0/24、172.18.132.0/24、172.18.133.0/24,
如果这四个进行路由汇聚,能覆盖这四个路由的是________?
• 172.18.128.0/21

在这里插入图片描述
在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章