ping命令的处理过程

2024-11-06 20:37:20

#ping xxx.垓矗梅吒xxx.xxx.xxx(A到B)

A:构建icmp数据包data,用icmp协议把data 连同A的IP交给朐袁噙岿IP层

IP层把B的IP作为目的地址,A的IP作为源地址,加上其他的控制信息构建IP数据包

获取B的mac地址:

根据B的ip地址和子网掩码,检测是否属于同一子网:

属于同一子网,直接在本网络查找

查找本机的ARP的缓存,找到B对应的MAC地址

缓存中找不到,则应该是之前没有通信过,就发一个ARP请求广播,得到B的MAC地址

不属于同一个子网,则直接交给路由器处理,就是获取路由器的MAC(步骤同上)

交给数据链路层,构建数据帧,发送B

B收到数据帧后,检测数据帧的目的地址,若不是发给本机的数据帧则丢弃。若是,则接收,然后提取处IP数据包给IP层处理,然后提取数据给icmp协议处理,处理后,构建icmp应答包,发送给A,过程同上。

猜你喜欢