在互联网络层,把将要传递的数据信息(网络层PDU)称为IP数据报。IP数据报中包含有IP地址,IP协议根据IP地址把数据报安全方便地从源端发送到目的端,从而实现多个网络的互联。那么数据报在互联网络层如何选择从出发地到目的地的行动路线呢?这就涉及IP路由选择的问题了。
为了实现路由选择,每个端系统和路由器上都维护一张路由表。路由器中的路由表的表项一般为<目的IP地址,下一跳路由器的IP地址,标志>,目的IP地址可以是完整的主机IP地址,也可以是网络地址,标志用来指明是主机地址还是网络地址、是真正的下一跳路由器还是接口等。IP路由选择是逐跳地进行的,“跳(Hop)”指的就是路由器。IP并不知道到达任何目的的完整路径。所有的IP路由器只负责把数据报发送给下一个路由器。
路由表可能是静态的,也可能是动态的。动态路由表会更加灵活,可以更好地处理差错和拥塞等可能出现的状况。
IP路由选择的步骤如下:首先,搜索路由表,寻找能与目的IP地址完全匹配的表项,即网络号和主机号都要匹配。如果找到,则把数据发送给该表项指定的下一站路由器。否则,继续搜索路由表,寻找能与目的网络号相匹配的表项。如果找到,则把数据报发送给该表项指定的下一站路由器,因此,相同目的网络上的所有主机都可以通过这个表项来寻址。完整主机地址匹配在网络号匹配之前执行,只有当它们都失败后才会继续搜索路由表,寻找标为“默认”的表项。如果找到,则发送给该表项指定的下一站路由器。当然,如果上面这些步骤都没有成功(连默认表项都没有),那么该数据报就不能被传送。
举例而言,端系统A(IP地址为10.20.13.5)有一个数据报要发送到端系统B(10.20.13.126),如图5-2所示。A首先搜索自己的路由表,发现存在与目的地址相匹配的表项,也就是说端系统B与自己在同一个网络上,于是直接将数据报发送给端系统B。(www.daowen.com)
图5-2 一个IP路由的例子
如果端系统A有一个数据报要发送给端系统C(194.4.29.123),A首先搜索路由表,发现路由表中没有与目的地址的主机号或是网络号相匹配的表项,也就是说端系统C与自己并不在一个网络上,于是根据默认路由发送给路由器RA。路由器RA将数据报发送给外部网络N3,通过逐跳地发送,最终到达了路由器RB。路由器RB同样搜索自己的路由表,发现数据报的目的地址(194.4.29.123)存在于自己的路由表目中,于是将数据报直接发送到端系统C。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。