IP 路由选择
当一个 IP 数据包准备好了的时候, IP 数据包 (或者说是路由器) 是如何将数据包送到目的地的呢? 它是怎么选择一个合适的路径来 "送货" 的呢?
最特殊的情况是目的主机和主机直连, 那么主机根本不用寻找路由, 直接把数据传递过去就可以了. 至于是怎么直接传递的, 这就要靠 ARP 协议了, 后面会讲到.
稍微一般一点的情况是, 主机通过若干个路由器 (router) 和目的主机连接. 那么路由器就要通过 ip 包的信息来为 ip 包寻找到一个合适的目标来进行传递, 比如合适的主机, 或者合适的路由.
路由器或者主机将会用如下的方式来处理某一个 IP 数据包
搜索路由表, 优先搜索匹配主机, 如果能找到和 IP 地址完全一致的目标主机, 则将该包发向目标主机
搜索路由表, 如果匹配主机失败, 则匹配同子网的路由器, 这需要 "子网掩码" 的协助. 如果找到路由器, 则将该包发向路由器.
搜索路由表, 如果匹配同子网路由器失败, 则匹配同网号路由器, 如果找到路由器, 则将该包发向路由器.
搜索陆游表, 如果以上都失败了, 就搜索默认路由, 如果默认路由存在, 则发包
如果都失败了, 就丢掉这个包.
这再一次证明了, ip 包是不可靠的. 因为它不保证送达.
来源: http://www.bubuko.com/infodetail-2666025.html