文章目录
  1. 划分子网
  2. 子网掩码
  3. 使用子网时的分组转发
  4. 无分类编址CIDR
    1. 网络前缀
    2. 最长前缀匹配
    3. 二叉线索查找路由

划分子网

基本思路如下:

  • 一个拥有多个物理网络的单位,将所属的物理网络划分为若干子网,但该单位对外仍表现为一个网络。
  • 从网络的主机号借用若干位作为子网号,两级IP地址在本单位内部变成三级IP地址{<网络号><子网号><主机号>}。
  • 发送给本单位某台主机的网络包到达本单位网络上的路由器后,路由器根据目的网络号与子网号找到目的子网,再将网络包发送给目的子网。

子网掩码

 

目的IP与子网掩码按位与得到子网地址。网络的默认子网掩码中1的位置与网络中主机IP地址的网络号字段对应。

使用子网时的分组转发

在划分子网的情形下,路由表的每条路由主要包含三项:目的网络地址、子网掩码、下一跳IP地址,分组转发算法也要做出相应改变。

  • 路由器从网络包的IP头部提取目的IP;将目的IP与各子网掩码按位与,若计算结果等于路由器所在子网地址,则路由器直接将网络包交付目的主机;否则,执行下一步。
  • 若路由器的路由表中有目的IP的特定路由,则路由器将网络包发给路由表所指明的下一跳路由器。否则,执行下一步。
  • 对路由表的每一行<目的网络地址, 子网掩码, 下一跳IP地址>,用其子网掩码与网络包的目的IP按位与,若计算结果等于其目的网络地址,则将数据传递给该路由的下一跳IP地址。否则,执行下一步。
  • 若路由器中有一个默认路由,则路由器将网络包发给路由表所指明的默认路由器。否则,执行下一步。
  • 报告分组转发出错。

无分类编址CIDR

网络前缀

无分类域间路由选择。CIDR将32位的IP地址划分为前后两个部分,前面部分指明网络,后面部分指明主机。消除了传统的A类、B类、C类地址与划分子网概念。如下是一个CIDR地址划分的例子。

 

最长前缀匹配

根据上节的例子可以看到,在查找路由表时可能会得到不止一个匹配结果,此时应该选择匹配长度最长的路由。这称为最长前缀匹配。

二叉线索查找路由

为进行有效查找,无分类编址的路由表存放在二叉线索树中。在查找前,找出对应每个IP地址在表中的唯一前缀,接下来以这些前缀构造二叉线索,查找时,只要可以与唯一前缀匹配即可。