7、ping程序
引言
Ping程序用以测试另一台主机是否可达。该程序发送一份ICMP回显请求报文给主机,并等待返回ICMP回显应答。
ping程序
大多数的TCP/IP实现都在内核中直接支持Ping服务器。

ping程序会把标识符字段设置为发送进程的PID,这样回显请求报文就可以区分多个ping程序了。
IP记录路由选项
-R选项提供记录路由的功能,它使得ping程序在发送出去的IP数据报中设置IP RR选项(该IP数据报包含ICMP回显请求报文),会记录发送与返回过程中经过的路由IP。缺陷在于,IP首部中只有有限的空间存放IP地址(最长60(首部最多字节数)-20(首部固定字段部分)-3(RR选项)=37,37 / 4 = 9个IP)。

code:指明IP选项的类型,对于RR选项,值是7
len:RR选项总字节长度,此处为39(最大)
ptr:指针字段,最小值为4,指向下一个存放IP地址的位置
当路由器(根据定义应该是多穴的)在清单中记录IP地址时,它应该记录出口IP地址。当原始主机(运行ping程序的主机)收到带有RR选项的ICMP回显应答时,它也要把它的入口IP地址放入清单中。
IP时间戳选项

时间戳选项的代码为0x44。其他两个字段len和ptr与记录路由选项相同:选项的总长度(一般为36或40)和指向下一个可用空间的指针(5,9,13等)。OF表示溢出字段,FL表示标志字段,都是4bit,其中标志字段FL决定了如何操作。如果路由器由于没有空间而不能增加时间戳选项,那么它将增加溢出字段的值。时间戳的取值一般为自UTC午夜开始计的毫秒数,与ICMP时间戳请求和应答相类似。

浙公网安备 33010602011771号