首页 > 代码库 > IP路由选择
IP路由选择
IP层在内存中有一个路由表,当有数据要发送或接收到的数据到达IP层时,都要在这个路由表中进行查找,具体查找过程如下:
- 搜索路由表,寻找能与目的IP地址完全匹配的表目。如果找到,则发送。否则,执行下一步。
- 搜索路由表,寻找能与目的网络号相匹配的表目。如果找到,则发送。否则,执行下一步。
- 搜索路由表,寻找标为“默认”的表目。如果找到,则发送。否则,执行下一步。
- 发送失败,则向应用层返回错误信息。
以下图为例,说明路由选择的具体流程。
主机bsdi要发送数据到外网的服务器192.48.96.9。首先主机搜索路由表,选择默认表目发送到主机sun。因为bsdi和sun在一个以太网内,所以发送之前先用ARP协议得到sun的MAC地址。接下来,sun继续选择默认表目发送到主机netb,这里不是使用的以太网,而是SLIP协议,所以数据报不包含链路层首部。netb同样选择默认表目发送到gateway。在这之前netb通过ARP协议获得gateway的MAC地址。gateway选择默认表目以类似的方式发送到外网。
注意到,数据报的目的IP始终指向最终的目的地址。但以太网帧首部的目的地址,也就是48位以太网地址始终指向下一站链路层地址,这个以太网地址是通过地址解析协议(ARP)来获得的。
参考:
《TCP/IP详解》 P27-P30.
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。