IP数据报是如何在网络中转发的?

首先发送方抽取目的站的网络前缀,来判断是否目的站是否位于同一网络上,如果在二者有相同的网络前缀,则,直接使用直接交付的方式,

否则,使用由路由器互连的间接交付,这要借助IP路由表,采用表驱动法,路由表中只指明了通往目的站的下一跳转发;实际上,路由表中

的一个表项指明了数据报被转发的下一个路由器时所用的网络接口,以及已使用的时间计时之类的管理信息。

IP转发算法:

    从数据报中抽取目的IP地址D;

    if 表中含有D的一个特定路由

      把数据报发送到表中指明的下一跳,然后退出;

    计算地址D的网络前缀N;

    if N与任何一个直接相连的网络地址匹配

      通过该网络把数据报交付给目的站D;(包括把D解析成一个物理地址,封装数据报并发送帧)

    else if 表中包含一个针对网络N的路由

      把数据报发送到表中指明的下一跳;

    else if 表中包含一个默认路由

      把数据报发送到表中指明的默认路由器;

    else 声明一个转发差错;

    

原文地址:https://www.cnblogs.com/thinker-lj/p/3663699.html