ping发出的是什么报文?ping是什么协议?对于大部分的人来说,很多其实是不知道的,下面小编就给大家详细的解答下这个问题。
ping命令使用的是ICMP协议,它发送icmp回送请求消息给目的主机。ICMP协议规定:目的主机必须返回ICMP回送应答消息给源主机。如果源主机在一定时间内收到应答,则认为主机可达。 Ping位于用户层,一般用来测试一台主机是否可达,该程序发送一份ICMP回显请求报文给主机,并等待返回ICMP回显应答。
1、确认IP包是否成功到达目标地址;
2、通知在发送过程中IP包被丢弃的原因。
ICMP是基于IP协议工作的,但是它并不是传输层的功能,因此仍然把它归结为网络层协议。ICMP只能搭配IPv4使用,如果是IPv6的情况下, 需要是用ICMPv6。ICMP大概分为两类报文:一类是通知出错原因 ;一类是用于诊断查询。
响应请求
我们用的ping操作中就包括了响应请求(类型字段值为8)和应答(类型字段值为0)ICMP报文。
过程:
一台主机向一个节点发送一个类型字段值为8的ICMP报文,如果途中没有异常(如果没有被路由丢弃,目标不回应ICMP或者传输失败),则目标返回类型字段值为0的ICMP报文,说明这台主机存在。
时间戳请求
时间戳请求报文(类型值字段13)和时间戳应答报文(类型值字段14)用于测试两台主机之间数据报来回一次的传输时间。
传输时,主机填充原始时间戳,接受方收到请求后填充接受时间戳后以类型值字段14的报文格式返回,发送方计算这个时间差。