TCP/IP系列之网络层IP协议
当数据要在网际直接传输的时候,路由器根据IP数据报进行路由.
当一台主机要发送数据的时候,其目的主机一般为局域网内的主机或者网外的主机.
如果是局域网内的主机,主机发送的以太网帧的头部目的mac地址为目的主机的mac地址,不需要路由.
如果是网外的主机,则将数据发到默认的网关,由网关路由器进行路由到目的主机,主机发送的以太网帧
头部的目的mac地址为网关的mac地址.
IP数据报的协议规定的数据报格式如下图:
IP协议不保证送达,不保证顺序.可靠性由上层协议保证.上层协议如TCP,UDP的信息在IP数据报的数据部分.
下图是通过Wireshark抓取的一个数据包:
路由器就要通过ip包的信息来为ip包寻找到一个合适的目标来进行传递,比如合适的主机,或者合适的路由.路由器或者主机将会用如下的方式来处理某一个IP数据包
如果IP数据包的TTL(生命周期)以到,则该IP数据包就被抛弃.
搜索路由表,优先搜索匹配主机,如果能找到和IP地址完全一致的目标主机,则将该包发向目标主机 搜索路由表,如果匹配主机失败,则匹配同子网的路由器,这需要“子网掩码(1.3.)”的协助.
如果找到路由器,则将该包发向路由器. 搜索路由表,如果匹配同子网路由器失败,则匹配同网号路由器,如果找到路由器,则将该包发向路由器.
搜索路由表,如果以上都失败了,就搜索默认路由,如果默认路由存在,则发包
如果都失败了,就丢掉这个包.
作者 kkdelta
(文章内容如有侵权,敬请来信告知,我们将及时撤销)