| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2032 人关注过本帖
标题:简述 ping 程序中的 -R 选项
只看楼主 加入收藏
madfrogme
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:21
帖 子:1160
专家分:1106
注 册:2009-6-24
结帖率:98.63%
收藏
 问题点数:0 回复次数:0 
简述 ping 程序中的 -R 选项
IPv4 header 中的第二个字段是4 bit 的header length

所以最大可以表示1111, 也就是15个32 bit ,即60字节

因为IPv4有20 字节的固定长, 所心说IP option中最长就可以为40字节

IPv4 的option字段有10种, 其中一种就是Record route

就是每个中间路由把自己的IP地址写入包中

其中一例就是ping 程序的-R 选项, $ ping -R 192.168.1.1

看一下record route 是怎样消耗掉这40字节的,

首先RR 选项要3个字节的overhead, 分别是code, length, ptr

RR 选项的code 为 7, length 为 39,

39 是因为40 -3 = 37, 37 可以容纳9个地址, 9个地址为 9*4 = 36 字节

所以是36+3 = 39。

$ ping -R 192.168.1.1

PING 192.168.1.1 (192.168.1.1) 56(124) bytes of data.
64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=0.472 ms
RR:     192.168.1.105
        192.168.1.1
        192.168.1.1
        192.168.1.105

基本上就是这样的格式,不同平台可以格式不同



[ 本帖最后由 madfrogme 于 2012-11-11 00:57 编辑 ]
搜索更多相关主题的帖子: IP地址 option record 
2012-11-10 23:56
快速回复:简述 ping 程序中的 -R 选项
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.040762 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved