ARP和IP路由选择的疑惑

Mark31 2009-04-05 12:08:27
假设主机对 (1)以太网内部不存在的ip (2)外网的ip 发送数据报,会是下面哪一种情况呢?
A)主机搜索arp高速缓存,找不到关于目的ip的记录,于是向以太网中广播一个对该目的ip的arp请求,可是显然没有任何主机会回应这个arp请求,于是数据报就一直搁置着。
B)主机搜索ip路由表,找不到关于目的ip的记录,选择“默认路由”,将数据报发送出去。
...全文
119 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ibican 2009-04-24
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 tuyah 的回复:]
我觉得是这样的,协议栈生成一个ip包,先对这个包和自己的掩码做and操作,如果得到的网络号是一致的,则认为这个包和自己的网卡是同一个网段于是
1)查询arp缓存,如果有,则单播目的ip对应的mac地址;如果查询不到,则进行arp广播查询网内有没有主机,timeout以后丢弃报文;
如果ip包和自己不在同一网段,那么
2)查询网关mac,单播给网关,网关把目的地址和自己的掩码做and操作,发现不在同一网段内,则查询路由表,进行…
[/Quote]

非常同意
tuyah 2009-04-24
  • 打赏
  • 举报
回复
我觉得是这样的,协议栈生成一个ip包,先对这个包和自己的掩码做and操作,如果得到的网络号是一致的,则认为这个包和自己的网卡是同一个网段于是
1)查询arp缓存,如果有,则单播目的ip对应的mac地址;如果查询不到,则进行arp广播查询网内有没有主机,timeout以后丢弃报文;
如果ip包和自己不在同一网段,那么
2)查询网关mac,单播给网关,网关把目的地址和自己的掩码做and操作,发现不在同一网段内,则查询路由表,进行三层转发
ransiee918 2009-04-23
  • 打赏
  • 举报
回复
你的两个选项都不准确,如果这个IP是内网的,主机会发广播,自然没有相应的主机对其响应,这个数据报无法完成帧的封装。程序会抛异常。
如果是一外网IP,路由就会响应,并转发出去,经过多次转了后终被丢弃。
shabimnhjk 2009-04-23
  • 打赏
  • 举报
回复
关注中
hnw_ah 2009-04-06
  • 打赏
  • 举报
回复
首先是网络层寻址,如果成功,数据包转发到相应网络接口,此时在链路层上对下一跳的网络层地址再次寻址,这次找的是链路层地址,如果成功,就转发链路帧。
如果网络层寻址失败,则丢弃数据包。

6,185

社区成员

发帖
与我相关
我的任务
社区描述
windows网络管理与配置
社区管理员
  • 网络管理与配置社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧