计算机网络 网络层 划分子网与构造超网
划分子网的由来
主要是分类IP地址存在诸多缺点,不满足实际需求
划分子网的方法
IP地址=网络号+主机号
现实中往往主机号过多,故可在主机号借若干位作为子网号
此时IP地址=网络号+子网号+主机号
从其他网络发来的IP数据报,仍然根据IP数据报的目的网络号net-id,找到本网络的路由器,此路由器收到IP数据报后,再按目的网络号net-id和子网号subnet-id找到目的子网
子网的识别:子网掩码
数据包到达主网后,需要识别子网,此时单独依靠原IP地址已经无法完成工作,故有子网掩码,如下:
使用子网掩码的分组转发过程
- 收到分组P,依据其首部提取目的IP地址D
- 利用与该路由器直接相连的所有子网的子网掩码依次计算对应子网号
- 若存在匹配,则直接交付,否则转4
- 查询路由表,若存在D的特定路由,则转发给指定的下一跳路由,否则转5
- 对路由表中的每行子网掩码和 D 逐位相“与”,若其结果与该行的目的网络地址匹配,则将分组传送给该行指明的下一跳路由器;否则执行6
- 转发给默认路由,否则报错
CIDR构造超网
CIDR(Classless Inter-Domain Routing) 无分类域间路由
CIDR编址方法示例:128.14.35.7/20 表示该地址的高20位是网络前缀
CIDR的主要特点: 消除传统A类、B类和C类地址以及划分子网的概念 使用各种长度的网络前缀来代替分类地址中的网络号和子网号 IP地址从三级编址(使用子网掩码)又回到了两级编址 网络前缀都相同的连续的 IP 地址组成CIDR地址块
CIDR的进一步说明
CIDR不使用子网,但仍使用地址掩码这一名词
例:/20的地址掩码是:11111111 11111111 11110000 00000000
一个 CIDR 地址块可以表示很多地址,这种地址的聚合称为路由聚合,也称构造超网
路由聚合的好处:路由表中的一个项目可以表示很多个(例如上千个)原来传统分类地址的路由,可以减少路由表中表项个数,并减少路由器间交换的路由信息量
其他记法:网络前缀后跟星号 * 的表示方法,如 0000101000*
CIDR路由查找
使用CIDR时,路由表中的表项中的目的网络地址由固定长度变成了变长的网络前缀
最长前缀匹配原则
在查找路由表时可能会得到不止一个匹配结果,从匹配结果中选择具有最长网络前缀的路由,因为网络前缀越长,其地址块就越小,因而路由就越具体