1、简述路由分组转发算法?
1)从数据报的首部提取目的主机的IP地址D,得到目的网络地址N。
2)若N就是与此路由器直接相连的目的网络地址,则进行直接交付,不需要经过其他的路由器,直接把数据报交付 到目的主机(这里包括把具体的目的地址D转换为硬件地址,把数据报封装为MAC帧,再发送此帧);否则间接交付,执行3)。
3)若路由表中有目的地址为D的特定主机路由,则把数据报转发给路由表中指明的下一跳路由,否则,执行4)。
4)若路由表中有到达网络N的路由,则把数据报传送给路由表中知名的下一跳路由器,否则,执行5)。
5)若路由表中有一个默认路由,则把数据报传送给路由表中指明的默认路由器;否则,执行6)。
6)报告转发分组出错。
2、在划分子网的情况下,路由器转发分组的算法如下:
(1)从收到的数据报首部提取Ip地址D。
(2)先判断是否为直接交付。对路由器直接相连的网络逐个进行检查:用各网络的子网掩码与D进行与(AND)操作,看结果是否和相应的网络地址匹配。若匹配,则把分组直接交付,转发任务结束,否则间接交付,执行(3)。
(3)若路由表中有目的地址为D的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器;否则执行 (4)。
(4)对路由表中的每一行(目的网络地址,子网掩码,下一跳地址),用其中的子网掩码和D逐位相与,其结果为N,若N与该行的目的网络地址匹配,则把数据报传送给改行指明的下一跳路由器;否则,执行(5)。
(5)若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器;否则,执行(6)。
(6)报告转发分组出错。