《TCP/IP详解 卷一:协议》读书笔记--Ping程序

7.2、Ping程序

大多数的TCP/IP实现都在内核中直接支持Ping服务器——这种服务器不是一个用户进程。

ICMP回显请求和回显应答报文如图:


7.3、IP记录路由选项

最大的问题是IP首部中只有有限的空间来存放IP地址。IP首部中的首部长度字段只有4 bit,因此整个IP首部最长只能包括15个32 bit的字(即60个字节)。由于IP首部固定长度为20字节,RR选项用去3个字节,这样只剩下37(60-20-3)个字节来存放IP地址清单,也就是说只能存放9个IP地址。

IP数据报中的RR选项的一般格式如图:

code是一个字节,指明IP选项的类型。对于RR选项来说,它的值为7.

len是RR选项总字节长度,在这种情况下为39(尽管可以为RR选项社会比最大长度小的长度,但是ping程序总是提供39字节的选项字段,最多可以记录9个IP地址)。

ptr称作指针字段。它是一个基于1的指针,指向存放下一个IP地址的位置。

RFC指定路由器记录出口IP地址。

当原始主机(运行ping程序的主机)收到带有RR选项的ICMP回显应答时,我们也要把它的入口IP地址放入清单中。


例子:

如果在IP首部中的选项字段由多个选项,在开始下一个选项之前必须填入空白字符,另外还可以用一个值为1的特殊字符NOP。


7.4、IP时间戳选项

时间戳选项的代码为0x44.其他两个字段len和ptr与记录路由选项相同:选项的总长度(一般为36或40)和指向下一个可用空间的指针。

接下来的两个字段是4 bit的值:OF表示溢出字段,FL表示标志字段。时间戳选项的操作根据标志字段来进行。

如果路由器由于没有空间而不能增加时间戳选项,那么它讲增加溢出字段的值。

时间戳的取值一般为自UTC午夜开始计的毫秒数,与ICMP时间戳请求和应答相类似。如果路由器不使用这种格式,它就可以插入任何它使用的时间表示格式,但是必须打开时间戳中的高位以表明为非标准值。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值