一、介绍
Ping 程序是一个诊断工具:
- 诊断网络是否可达
- 诊断网络有何问题
- 计算 RTT 时间
二、Ping program
大部分 TCP/IP 实现都在内核中内置 Ping Server 服务端,且这种服务端不是一个用户进程。 Ping 程序:
- 客户端:发送 echo requests
- 服务端:发送 echo reply
2.1 报文
Ping 报文属于网络层,使用时,需要增加IP头部:
字段 | 长度 byte | 说明 |
---|---|---|
type | 1 | type 0, code 0,表示 echo reply 报文 |
code | 1 | type 8, code 0,表示 echo request 报文 |
checksum | 2 | 校验和,包括整个ICMP报文的校验 |
identifier | 2 | 标识符,用于区分不同主机、同一台主机的不同进程 |
sequence number | 2 | 序列号,用于区分数据包是否 |