首先发送方抽取目的站的网络前缀,来判断是否目的站是否位于同一网络上,如果在二者有相同的网络前缀,则,直接使用直接交付的方式,
否则,使用由路由器互连的间接交付,这要借助IP路由表,采用表驱动法,路由表中只指明了通往目的站的下一跳转发;实际上,路由表中
的一个表项指明了数据报被转发的下一个路由器时所用的网络接口,以及已使用的时间计时之类的管理信息。
IP转发算法:
从数据报中抽取目的IP地址D;
if 表中含有D的一个特定路由
把数据报发送到表中指明的下一跳,然后退出;
计算地址D的网络前缀N;
if N与任何一个直接相连的网络地址匹配
通过该网络把数据报交付给目的站D;(包括把D解析成一个物理地址,封装数据报并发送帧)
else if 表中包含一个针对网络N的路由
把数据报发送到表中指明的下一跳;
else if 表中包含一个默认路由
把数据报发送到表中指明的默认路由器;
else 声明一个转发差错;
IP数据报是如何在网络中转发的?,布布扣,bubuko.com
原文:http://www.cnblogs.com/thinker-lj/p/3663699.html