跨网段ping的过程
5703245978112824615.jpg过程:
- 首先PC1观察目的IP:192.168.2.1与本机IP:192.168.1.1是否在同一个网段
- 发现不在,因此看本机是否设置了网关,如果没有设置网关,目的不可达;发现设置了网关:192.168.1.254
- 因为不知道网关的MAC地址,
因此发送一个ARP包
获取网关MAC地址:
源IP为PC1 IP:192.168.1.1
目的IP为PC1网关IP: 192.168.1.254,
源MAC为PC1 MAC:11-11-11-11-11-11
目的MAC为广播MAC:ff-ff-ff-ff-ff-ff - 网关回应ARP包:源IP为PC1网关IP:192.168.1.254,目的IP为PC1 IP:192.168.1.1,源MAC为PC1网关MAC:33-33-33-33-33-33,目的MAC为PC1 MAC:11-11-11-11-11-11
- 路由器收到ICMP包,拆包,查IP-端口对照表,发现IP为192.168.2.0网段的数据,通过E2口发出,于是转发包给端口E2
- R1获取目标PC2的MAC,发送一个ARP包:
源IP为E2 IP:192.168.2.254,
目的IP为PC2 IP:192.168.2.1,
源MAC为E2的MAC:44-44-44-44-44-44
目的MAC为广播MAC:ff-ff-ff-ff-ff- ff - PC2发送ARP回应,R1得到目标MAC
- R1发送ICMP:源IP为PC1的IP:192.168.1.1,源MAC为E2的MAC:44-44-44-44-44-44,目的IP为PC2的IP:192.168.2.1,目的MAC为PC2的MAC:22-22-22-22-22-22
9.1 PC2收到该包后,判断源IP地址是否和自己在一个网段,如果不在,则判断ARP表是否有网关的MAC,如果没有再给网关发ARP请求获取网关MAC,然后再发ICMP回应包(回应包的目的IP为PC1的,而MAC却是网关的) - PC2回应ICMP, 源IP为PC2的IP:192.168.2.1,源MAC为PC2的MAC:22-22-22-22-22-22,目的IP为PC1的IP:192.168.1.1,目的MAC为E2的MAC:44-44-44-44-44-44
11.路由器转发ICMP,源IP为PC2的IP:192.168.2.1,源MAC为E1的MAC:33-33-33-33-33-33,目的IP为PC1的IP:192.168.1.1,目的MAC为PC1的MAC:11-11-11-11-11-11 - PC1收到回应。完成一次PING 命令。
网友评论