当一个路由器收到一个数据包后在路由器的网络层经过查找路由表已经知道该数据包应转发出去的下一跳及对应

当一个路由器收到一个数据包后在路由器的网络层经过查找路由表已经知道该数据包应转发出去的下一跳及对应接口(端口),为什么还要用ARP地址解析协议来将目的IP地址解析为MAC地址,如果不进行地址解析难道就不能通过在路由表中找到的对应接口(端口)将数据正确发到下一个路由或终端设备吗?

将目的IP地址解析为MAC是否仅仅(仅对于寻址传输这个过程)为了能在下一跳路由或终端设备中在数据链路层检查该数据包是否是发给自己的?

换句话说,假设路由表已经完整,如果不将目的IP地址解析为MAC地址,数据包可以正确发到下一个路由或终端设备,只是不能确定该数据包是否是发给自己的!?

不是的,你没理解tcp/ip协议里的一个基本概念,就是每次路由器数据传输,都是要进行一次三层到一层的过程,比如一个路由器到一个路由器,是要在这个路由器把数据从三层到一层,这样进入了线路,再在下一个路由器从一层到三层,不断的周而复始。所以路由器需要arp来进行一个二层的工作。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-11-17
呵呵 你所问的这个问题 我以前也想过, 说句实话,没有一个人可以回答你,比如hongyanyy的回答,他说必须经过这么一个过程 而你想问的是为什么一定要经过这么一个过程。

就像你所说,目的地址已经有了为什么要用MAC, S pine 的回答有问题,局域网也是通过IP的~虽然交换机只认MAC但是IP也是一个媒介,如果你的台式不设置IP地址的话而且没有路由器无法自动获取,你觉得你的电脑能连接到其他电脑吗?

楼主这个问题就不要纠结了,不是没有人能教你 而能说明白这个问题的人并不在这里,而且即使你有一天真碰到这么个人 他的解释未必是你能听明白的,国内未必有这样的人 因为这个答案课本上不会有的。本回答被提问者和网友采纳
第2个回答  2012-03-06
既然经过路由器的转发,说明通信的双方不在同一个子网内。不同子网之间的通信由IP地址来进行寻址。
当数据包到达对方子网后,寻址方式变为基于MAC方式寻找。即,同一子网内寻址方式是通过MAC地址来判断的。
至于为什么同一子网内寻址方式要基于MAC地址,这就是为什么有交换机和路由器的问题。
第3个回答  2012-11-16
最终的传输是依赖于底层的,你以为只要ip就可以完成信息传递吗?不,物理链路上传播的只是比特流,网络设备比如路由器收到后,必须“向上传递”,先变成帧,然后才是ip数据报,这样它才能被路由器cpu处理,处理完,“向下”发,转化成比特流,继续传输,这里的上和下都是在路由器里,你可以把他理解为逻辑上的上下。hongyanyy的回答挺有道理。
第4个回答  2010-11-16
局域网中数据传送依靠的是MAC地址,而不是IP地址,ARP是保证能够得到数据传送的最终MAC地址,只有得到MAC地址,才能将数据包装配成“帧”(帧头里含有源和目的MAC地址),数据才能发送。记住:数据的装配过程是从高到底,四层的“段”,三层的“包”,二层的“帧”。
相似回答