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