路由器转发IP报文的依据是路由表,通过匹配路由表里的路由项来实现对IP报文的转发。 如图1所示,当路由器收到一个IP报文的时候,将报文中的目的IP地址提取出来,然后与路由表中路由表项包含的目的地址进行比较。如果与某路由项中的目的地址相同,则认为与此路由项匹配;如果没有路由项能够匹配,则丢弃该IP报文。


由以上的过程可知,路由表中路由项数量越多,所需查找及匹配的次数就越多,所以很多路由器都会有相应的算法来优化查找速度,加快转发。 2. 路由迭代查找 如果所匹配的路由项的下一跳地址不在直连链路上,路由器还需要对路由表进行迭代查找,找出最终的下一跳。路由迭代的过程就是通过路由的下一跳信息来找到直连出接口的过程。 如图3所示,路由器接收到目的地址为50.0.0.2的报文后,经查找路由表,发现与路由表中的路由项50.0.0.0/24匹配,但此路由项的下一跳40.0.0.2并不在此路由器的直连链路上,所以路由器还需要在路由表中以40.0.0.2为目的地址查找下一跳;经查找,到达40.0.0.2的下一跳是20.0.0.2,此地址在该路由器的直连链路上,则路由器将按照该路由项转发数据包。


(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)