划分子网
划分子网的基本思路如下:
一个拥有许多物理网络的单位,可将所属的物理网络划分为若干个子网(subnet)。
划分子网纯属一个单位内部的事情,本单位以外的网络看不见这个网络是由多少个子网组成,这个单位对外仍然表现为一个网络。
划分子网的方法是从网络的主机号借用若干位作为子网号(subnet-id),当然主机号也就相应减少了同样的位数。
于是两级 IP 地址在本单位内部就变为三级 IP 地址:网络号、子网号和主机号。
凡是从其他网络发送给本单位某台主机的 IP 数据报,仍然是根据 IP 数据报的目的网络号找到连接在本单位网络上的路由器。但此路由器在收到 IP 数据报后,再按目的网络号和子网号找到目的子网,把 IP 数据报交付目的主机。
使用子网时分组的转发
使用子网划分后,路由表必须包含以下三项内容:目的网络地址、子网掩码和下一跳地址。
在划分子网的情况下,路由器转发分组的算法如下:
从收到的数据报的首部提取目的 IP 地址 D 。
先判断是否为直接交付。
对路由器直接相连的网络逐个进行检查:用各网络的子网掩码和 D 逐位相“与 ”(AND 操作),看结果是否和相应的网络地址匹配。
若匹配,则把分组进行直接交付,转发任务结束。
否则就是间接交付,执行 3。
若路由表中有目的地址为 D 的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器;否则,执行 4。
对路由表中的每一行(目的网络地址,子网掩码,下一跳地址),用其中的子网掩码和 D 逐位相“与”(AND 操作),其结果为 N。
若 N 与该行的目的网络地址匹配,则把数据报传送给该行指明的下一跳路由器;
否则,执行 5。
若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器;否则,执行 6。
报告转发分组出错。
当路由器收到一个待转发的数据报,在从路由表得出下一跳路由器的 IP 地址后,不是把这个地址填入 IP 数据报,而是送交数据链路层的网络接口软件。
网络接口软件负责把下一跳路由器的 IP 地址转换成硬件地址(必须使用 ARP),并将此硬件地址放在链路层的 MAC 帧的首部,然后根据这个硬件地址找到下一跳路由器。
Last updated