4.2.6 IP层转发分组的流程


4.2.6 IP层转发分组的流程

1.转发表存储的应该是主机的信息还是路由的信息?
应该存储路由的信息,存储主机信息的信息量太大,且不必要(路由信息+ARP协议能直接交付到同一网络中的任意一个主机)

因此,我们又将转发表称为路由表

2.路由表
路由表主要存储两个信息(目的网络地址,下一跳地址)

(1)IP数据报一定可以找到目的主机所在目的网络的路由器
(2)只有到达最后一个路由器才可以直接交付

3.默认路由
对于规模较小的网络,选取默认路由。只要目的网络是其他网络(不是本网络或指定网络),一概转发默认路由。

4.下一跳路由的地址填哪儿呢?
当路由器得到一个待转发的数据报,在从路由表得出下一跳的路由IP地址后,不是把这个地址填入IP数据报,而是交付数据链路层网络接口软件,将下一跳的路由IP地址转化为硬件地址,放入MAC帧的首部。

5.分组转发算法过程
(1)从数据报首部提取出目的主机IP D,得到目的主机所在网络IP地址N
(2)若N为本网络,直接交付,否则执行(3)
(3)若路由表中有D,交付下一跳路由,否则执行(4)
(4)若路由表中有E,交付下一跳路由,否则执行(5)
(5)若路由表中有默认路由,交付默认路由,否则执行(6)
(6)报告出错
书上有个有趣的例子,就是没有地图想到机场,每过一个路口向路口警察问一次路,警察分别告知左转,直行,右转,这样,即使没有地图,最终也能达到目的地。