写点什么

Ping 和 ARP 流程解析

作者:王玉川
  • 2023-11-01
    上海
  • 本文字数:475 字

    阅读完需:约 2 分钟

Ping和ARP流程解析

Ping 在计算机网络里,属于非常基础、常用的功能。每逢疑似网络问题时,经常的反应就是:ping 对方看看。


ARP 协议用来根据 IP 地址获取 MAC 地址。在链路层传输报文时,依据的就是 MAC 地址。如果没有对方的 MAC 地址,那么一个报文是无法从一端传到另一端的。


这两个非常常见的功能,里面的细节真要抠起来其实也不少。今天正好在整理里面的步骤,所以顺便分享一下。如果内容有什么不准确的地方,欢迎指正。


文中假设的网络拓扑如下所示,两个计算机属于不同的网段、通过交换机、路由器进行连接。PC1 的默认路由指向路由器的 eth0,PC2 的默认路由指向路由器的 eth1。



那么,在这个拓扑下,从 PC1 发送 ping 报文到 PC2,它们之间会经过哪些步骤呢?


简单的回答是,PC1 构造一个 ICMP 报文,目标是 PC2,然后就这么发出去了。


复杂的回答则如下图所示:



具体的文字,我就不从流程图里 copy 出来了。只能说,流程其实还是挺复杂的,里面涉及到 ARP 表、交换机上的 MAC 地址表、路由表这计算机网络的三大表格;以及在报文传输过程中,源 MAC 地址、目的 MAC 地址一直在变化,而源 IP、目的 IP 不变的过程。


有兴趣的同学,可以仔细看看上面的流程图,文字不再赘述。谢谢。


用户头像

王玉川

关注

https://yuchuanwang.github.io/ 2018-11-13 加入

https://www.linkedin.com/in/yuchuan-wang/

评论

发布
暂无评论
Ping和ARP流程解析_router_王玉川_InfoQ写作社区