路由器的分组转发算法

路由器的分组转发算法:
1.从数据报的首部提取目的主机的IP地址D,得出目的网络地址为N。
2.若N就是与此路由器直接相连的某个网络地址,则进行直接交付,不需要再经过其他的路由器,直接把数据报交付目的主机(这里包括把目的主机地址D转换为具体的硬件地址,把数据报封装为MAC帧,再发送此帧);否则就是间接交付,执行3。
3.若路由表中有目的地址为D的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器;否则,执行4。
4.若路由表中有到达网络N的路由,则把数据报传送给路由表中所指明的下一跳路由器;否则,执行5。
5.若路由表中有一个默认路由,则把数据报传送给路由器中所指明的默认路由器;否则,执行6。
6.报告转发分组出错。
路由表并没有给分组指明到某个网络的完整路径(即先经过哪一个路由器,然后再经过哪一个路由器,等等)。路由表指出,到某个网络应当先到某个路由器(即下一跳路由器),在到达下一跳路由器后,再继续查找其路由表,知道再下一步应当到哪一个路由器。这样一步一步地查找下去,直到最后到达目的网络。

在划分子网的情况下,分组转发的算法必须做相应的改动。使用子网划分后,路由表必须包含以下三项内容:目的网络地址、子网掩码和下一跳地址。
在划分子网的情况下,路由器转发分组的算法如下:
1.从收到的数据报的首部提取目的IP地址D。
2.先判断是否为直接交付。对路由器直接相连的网络诸葛进行检查:用各网络的子网掩码和D逐位相“与”,看结果是否和相应的网络地址匹配。若匹配,则把分组进行直接交付(还需要把D转换成物理地址,把数据报封装成帧发送出去),转发任务结束。否则就是间接交付,执行(3)。
3.若路由表中有目的地址为D的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器;否则,执行(4)。
4.对路由表中的每一行(目的网络地址,子网掩码,下一跳地址),用其中的子网掩码和D逐位相“与”,其结果为N。若N与该行的目的网络地址匹配,则把数据报传送给改行指明的下一跳路由器;否则,执行5。
5.若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器;否则,执行6。
6.报告转发分组出错。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值