当前位置:   article > 正文

Ping的整个过程。ICMP报文是什么_icmp报文传输过程

icmp报文传输过程

为了提高IP数据报交付成功机会,在网络层使用过了网际控制报文协议(ICMP)来允许主机或路由器报告差错和异常情况。ICMP报文作为IP层数据报的数据,加上数据报首部,组成IP数据报发出去。ICMP协议是IP层协议。

假设有两台主机`PC1`和`PC2`,如下:

​```
         PC1------------PC2     
         IP:192.168.1.1      IP:192.168.1.2
​```

`Ping`的过程如下:
> - `PC1`在应用层发起个目标`IP`为`192.168.1.2`的`Ping`请求。
> - 直接使用网际层的`ICMP`协议,不经过传输层。
> - 网际层接收来处上层的数据后,根据`ICMP`协议进行封装,添加`PC1`的`IP`为源`IP`和`PC2`的`IP`为目标`IP`后封装成数据包。下传到网络接口层。
> - 网络接口层接收数据包后,进行封装,源`MAC`地址为`PC1`的`MAC`地址,目标`MAC`地址则查询自己的`ARP`缓存表获取。如果`PC1`的`ARP`缓存表中没有目标`IP`对应的`MAC`地址,则`PC1`发出一个`ARP`广播报文。`ARP`报文中源`MAC`地址为`PC1`的`MAC`地址,源`IP`地址为`PC1`的`IP`,所要请求的是`PC2`的`IP`对应的`MAC`地址。
> - `PC2`收到`ARP`广播后,进行解封装,发现所请求的`MAC`地址是自己的。则`PC2`将`PC1`的`MAC`地址写入`ARP`缓存表中。然后向`PC1`发送一个 `ARP`应答单播。该单播消息包括目标`IP`为`PC1`的`IP`,目标`MAC`为`PC1`的`MAC`地址,源`IP`为`PC2`的`IP`,源`MAC`为`PC2`的`MAC`。
> - `PC1`接收到`PC2`的`ARP`应答报文后,将`PC2`的`MAC`地址存入`ARP`缓存中,并将`PC2`的`MAC`地址作为目标地址封装到数据帧中。发给下层进行网络传输。
> - `PC2`接收这个帧后,在网络接口层查看目标`MAC`地址是否指向自己。是,`PC2`则将帧头去掉,向上层传输。
> - `PC2`网际层接收到这个信息包,查看包头,发现目标`IP`和自己匹配,则解封装,将数据向上层传输。
> - 传输层接收来自下层的`Ping`请求的`UDP`报文,则去掉`UDP`报头,向应用层传送。
> - 应用层收到`Ping`请求后,发送一个`Ping`回应报文给`PC1`。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/正经夜光杯/article/detail/819155
推荐阅读
相关标签
  

闽ICP备14008679号