• TCP/IP学习20180630-数据链路层-router choose


    IP路由选择

    当一个IP数据包准备好了的时候,IP数据包(或者说是路由器)是如何将数据包送到目的地的呢?它是怎么选择一个合适的路径来"送货"的呢?

    最特殊的情况是目的主机和主机直连,那么主机根本不用寻找路由,直接把数据传递过去就可以了。至于是怎么直接传递的,这就要靠ARP协议了,后面会讲到。

    稍微一般一点的情况是,主机通过若干个路由器(router)和目的主机连接。那么路由器就要通过ip包的信息来为ip包寻找到一个合适的目标来进行传递,比如合适的主机,或者合适的路由。

    路由器或者主机将会用如下的方式来处理某一个IP数据包
        搜索路由表,优先搜索匹配主机,如果能找到和IP地址完全一致的目标主机,则将该包发向目标主机
        搜索路由表,如果匹配主机失败,则匹配同子网的路由器,这需要“子网掩码”的协助。如果找到路由器,则将该包发向路由器。
        搜索路由表,如果匹配同子网路由器失败,则匹配同网号路由器,如果找到路由器,则将该包发向路由器。
        搜索陆游表,如果以上都失败了,就搜索默认路由,如果默认路由存在,则发包
        如果都失败了,就丢掉这个包。

    这再一次证明了,ip包是不可靠的。因为它不保证送达。

  • 相关阅读:
    Install wget in Mac OS X Without Homebrew or MacPorts
    Embedding Lua in C: Using Lua from inside C.
    Lua 的数据结构
    Maintainable HashCode and Equals Using Apache Commons
    Multiples of 3 and 5
    Even Fibonacci numbers
    Eclipse Error: Unable to set localhost. This prevents creation of a GUID.
    Oracle中merge into的使用
    MERGE
    pl/sql tutorial
  • 原文地址:https://www.cnblogs.com/lsjava/p/9248651.html
Copyright © 2020-2023  润新知