计算机网络(4.10)网络层- 使用子网时分组的转发

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

在划分子网情况下路由器 转发分组的算法

(1) 从收到的分组的首部提取目的IP地址D。

(2) 先用各网络的子网掩码和D逐位相“与”,看是否和相应的网络地址匹配。若匹配,则将分组直接交付。否则就是间接交付, 执行(3)。

(3) 若路由表中有目的地址为D 的特定主机路由,则将分组传送给指明的下一跳路由器;否则,执行(4)。

(4) 对路由表中的每一行,将子网掩码和D 逐位相“与”。若结果 与该行的目的网络地址匹配,则将分组传送给该行指明的下 一跳路由器;否则,执行(5)。

(5) 若路由表中有一个默认路由,则将分组传送给路由表中所指明 的默认路由器;否则,执行(6)。

(6) 报告转发分组出错。

【例】已知互联网和路由器R1 中的路由表。 主机H1 向H2 发送分组。 试讨论R1 收到H1 向H2 发送的分组后查找路由表的过程。
 

计算机网络(4.10)网络层- 使用子网时分组的转发_第1张图片

主机H1 要发送分组给H2,要发送的分组的目的 IP 地址:128.30.33.138。

因此 H1首先检查主机 128.30.33.138 是否连接在本网络上如果是,则直接交付; 否则,就送交路由器 R1,并逐项查找路由表。

主机H1 首先将本子网的子网掩码255.255.255.128与分组的IP地址128.30.33.138 逐比特相“与”(AND 操作) 

计算机网络(4.10)网络层- 使用子网时分组的转发_第2张图片

因此H1 必须把分组传送到路由器R1 然后逐项查找路由表。

路由器R1收到分组后就用路由表中第1个项目的子网掩码和128.30.33.138 逐比特AND操作。

计算机网络(4.10)网络层- 使用子网时分组的转发_第3张图片

路由器R1 收到分组后就用路由表中第1 个项目的 子网掩码和128.30.33.138 逐比特AND 操作。

计算机网络(4.10)网络层- 使用子网时分组的转发_第4张图片

你可能感兴趣的:(network)