网络通信中的报文中带有对方主机的MAC地址,但是我们只知道对方主机的IP,对方的MAC地址是怎么获取到的呢?
如题,我知道MAC地址可以通过ARP协议广播来获取,但是ARP不是只在局域网内广播吗?比如我要给百度服务器发信息,百度服务器和我的PC并不在同一个局域网中,那是怎么获取到百度服务器的MAC地址的吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
ARP只在局域网内有效。
你根本不需要知道局域网外目的主机的MAC地址...你需要知道的是下一跳的MAC地址,比如在你的这种情况下就是局域网网关的MAC地址...
所以你发出报文的元组信息是
源MAC=你自己的MAC 目的MAC=网关MAC 源IP=你自己IP 目的IP=百度服务器IP
只有在你不知道网关的MAC时,才会用ARP去请求网关的MAC。
补充一下,当最后一跳的路由器到百度服务器时,路由器会发ARP包,获得百度服务器的MAC地址。