ip时间戳选项与记录路由选项类似。IP时间戳选项的格式如图7-7所示(请与图7-3进行比较)。
图7-7IP首部中时间戳选项的一般格式
时间戳选项的代码为0x44。其他两个字段len和ptr与记录路由选项相同:选项的总长度(一般为36或40)和指向下一个可用空间的指针(5,9,13等)。接下来的两个字段是4bit的值:OF表示溢出字段,FL表示标志字段。时间戳选项的操作根据标志字段来进行,如图7-8所示。
标
志
描
述
0
只记录时间戳,正如我们在图7 - 7看到的那样
1
每台路由器都记录它的I P地址和时间戳。
3
发送端对列表进行初始化,存放了4个I P地址和取值为0的时间戳值。假如路由器由于没有空间而不能增加时间戳选项,那么它将增加溢出字段的值。
时间戳的取值一般为自UTC午夜开始计的毫秒数,与ICMP时间戳请求和应答相类似。假如路由器不使用这种格式,它就可以插入任何它使用的时间表示格式,但是必须打开时间戳中的高位以表明为非标准值。
与我们碰到的记录路由选项所受到的限制相比,时间戳选项碰到情况要更坏一些。假如我们要同时记录IP地址和时间戳(标志位为1),那么就可以同时存入其中的四对值。只记录时间戳是没有用处的,因为我们没有标明时间戳与路由器之间的对应关系(除非有一个永远不变的拓扑结构)。标志值取3会更好一些,因为我们可以插入时间戳的路由器。一个更为基本的问题是,很可能无法控制任何给定路由器上时间戳的正确性。这使得试图用IP选项来计算路由器之间的跳站数是徒劳的。我们将看到traceroute程序可以提供一种更好的方法来计算路由器之间的跳站数。