-
划分子网后,
路由表
必须包含以下三项内容
:
目的网络地址
,子网掩码
和下一跳地址(形式是ip地址)
-
划分子网后,路由器转发分组的算法发生变化:
1、从收到的数据报的首部提取目的ip地址 D
2、判断是否为直接交付,对当前路由器直接相连的网络逐个进行检查:
用各网络的子网掩码
和D
逐位相与,判断结果是否和相应的网络地址匹配:
若匹配,则把分组进行直接交付,将D通过ARP转成mac地址,封装成mac帧发送出去
否则就是间接交付,执行3
3、若路由表中有目的地址为D的特定主机路由
,则把数据报传送给路由表所指明的下一跳路由器
(默认路由、主机路由、网络路由 概念)
否则执行4
4、对路由表中的每一行(目的网络地址,子网掩码,下一跳地址)
,用其中的子网掩码
和目的ip地址 D
逐位相与,结果为N
若N与该行的目的网络地址匹配,则把数据报传送给该行指明的下一跳路由器
否则,执行5
5、若路由表中有一个默认路由
,则把数据报传送给路由表中所指明的默认路由器
否则,执行6
6、报告转发分组出错
(如何查看本机路由表并进行分析) -
示例
源主机H1向目的主机H2发送的分组,目的地址是H2的ip地址128.30.33.138
1、H1首先判断:是在本子网上直接交付,还是要通过本子网上的路由器间接交付:
H1把本子网的子网掩码 255.255.255.128
与 目的主机H2的ip地址 128.30.33.138
按位与,结果是128.30.33.128
,不等于H1所在的网络地址128.30.33.0
,这说明 H2 和 H1 不在一个子网上,H1 不能把分组直接交付 H2,而必须要交给子网上的默认路由器R1,由 R1 来转发
2、路由器 R1 收到一个分组后,就在其路由表中逐行寻找有无匹配的网络地址
将分组目的ip地址
分别与每行的子网掩码
相与,再与目的ip地址(此时是子网地址)
相比,发现第二行匹配,说明目的网络
与接口1
相连,因此 R1将数据直接交付主机H2 -
注意此时路由表中的目的网络地址可以是子网地址
分组从路由器的某一个接口出发:
可以是直接交付该接口所连网络上的某个主机
;
也可以是间接交付给该接口所连网络上的某个路由器
,去往另一个网络。 -
同一个网络中的主机可以直接通信,这属于直接交付。
不同网络中的主机不能直接通信,需要路由器的中转,这属于间接交付。 -
转发表和路由表的区别?
1、路由表:其中包含三元素:目标地址,掩码,下一跳
,重点是从目的网络
到下一跳(用ip地址来表示)
的映射。
负责对网络拓补结构变化
的计算最优化。
路由表总是用软件来实现。
2、转发表:从路由表
得出的。
必须包含完成转发功能所必需的信息,转发表的每一行必须包含从目的网络
到输出端口 和 某些mac地址信息(如下一跳的以太网地址)
的映射,转发表应当使查找过程最优化,转发表可以用软件
也可以使用特殊的硬件
来实现。 -
windows下查看本机路由表
route print
4.3.2 使用子网时的分组转发
最新推荐文章于 2023-06-22 18:37:41 发布