IP路由选择是逐跳进行的。主要完成以下的这些功能:
1 搜索路由表,寻找能于目的IP地址完全匹配的表目(网络号和主机号都要匹配)。找到则把报文发送给该表目指定的下一站路由器或直接连接的网络接口。
2 搜素路由表,寻找能与目的网络号相匹配的表目。找到则把报文发送给该表目指定的下一站路由器或直接连接的网络接口。
3 搜索路由表,寻找标为默认的表目
完整主机地址匹配在网络号匹配之前执行,当它们都失败后才选择默认路由
看一个例子:
主机bsdi有一个IP数据报要传到一个IP地址为192.48.96.9 的主机上

首先主机bsdi搜索路由表,发现没有与目的主机地址或网络地址匹配的条目,所以使用默认条目将数据报传给下一站路由器也就是主机sun
数据报的目的IP地址还是最终的信宿机地址(192.48.96.9),但是链路层却是sun主机的以太网接口地址。
sun主机此刻收到数据报后起数据报转发的作用,设置成具有路由器的功能。当其发现数据报的目的IP地址不是本机的任一地址,就把数据报转发,依旧是通过搜索路由表,选择了默认条目,传给了下一站路由器netb
netb执行和sun主机相同的步骤,路由器gateway也执行相同步骤
关键点:
1 大多数主机和一些路由器都可以用默认路由器来处理任何目的,除非目的在本地局域网上。
2 数据报中的目的IP地址始终不发生任何变化,所有的路由选择决策都是基于这个目的IP地址
3 每个链路层可能有不同的数据帧首部,而且链路层的目的地址始终指向下一站的链路层地址。