aurain
技术文摘
posts - 137,  comments - 268,  trackbacks - 0

   Ping程序由Mike Muuss编写,目的是为了测试另一台主机是否可达。该程序发送一份ICMP回显请求报文给主机,并等待返回ICMP回显应答。

Ping程序

    我们称发送回显请求的Ping程序为客户,而称被Ping的主机为服务器。大多数的TCP/IP

实现都在内核中直接支持Ping服务器,这种服务器不是一个用户进程。

    ICMP回显请求和回显应答报文如图1所示。

1ICMP回显请求和回显应答报文格式

Unix系统在实现ping程序时是把ICMP报文中的标识符字段置成发送进程的ID号。这样即使在同一台主机上同时运行了多个ping程序实例, ping程序也可以识别出返回的信息。

序列号从0开始,每发送一次新的回显请求就加1ping程序打印出返回的每个分组的序

列号,允许我们查看是否有分组丢失、失序或重复。IP是一种最好的数据报传递服务,因此这三个条件都有可能发生。

 

IP记录路由选项

ping程序为我们提供了查看IP记录路由(RR)选项的机会。大多数不同版本的ping程序都提供-R选项,以提供记录路由的功能。它使得ping程序在发送出去的IP数据报中设置IP

RR选项(该IP数据报包含ICMP回显请求报文)。这样,每个处理该数据报的路由器都把它的

IP地址放入选项字段中。当数据报到达目的端时, IP地址清单应该复制到ICMP回显应答中,

这样返回途中所经过的路由器地址也被加入清单中。当ping程序收到回显应答时,它就打印

出这份IP地址清单。

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

IP数据报中的RR选项的一般格式如图2所示。

2IP首部中的记录路由选项的一般格式

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

节长度,在这种情况下为39(尽管可以为RR选项设置比最大长度小的长度,但是ping程序

总是提供39字节的选项字段,最多可以记录9IP地址。由于IP首部中留给选项的空间有限,

它一般情况都设置成最大长度)。

ptr称作指针字段。它是一个基于1的指针,指向存放下一个IP地址的位置。它的最小值为4,指向存放第一个IP地址的位置。随着每个IP地址存入清单, ptr的值分别为81 21 6,最大到36。当记录下9IP地址后,ptr的值为40,表示清单已满。

 

IP时间戳选项

    IP时间戳选项与记录路由选项类似。IP时间戳选项的格式如图3所示。

3IP首部中时间戳选项的一般格式

时间戳选项的代码为0x44。其他两个字段lenptr与记录路由选项相同:选项的总长度

(一般为3640)和指向下一个可用空间的指针( 5913等)。接下来的两个字段是4 bit的值:OF表示溢出字段,FL表示标志字段。

posted on 2008-06-10 23:17 阅读(2786) 评论(5)  编辑 收藏 引用 所属分类: tcp/ip

FeedBack:
# re: TCP/IP详解读书笔记(第七章 Ping程序)
2008-06-11 10:58 | daisy
原来Ping IP是这样工作的呀...学习了...  回复  更多评论
  
# re: TCP/IP详解读书笔记(第七章 Ping程序)
2008-06-11 22:25 |
@daisy
稍后给出代码实现  回复  更多评论
  
# re: TCP/IP详解读书笔记(第七章 Ping程序)
2008-06-13 10:48 | yxcwf
我碰到这样一种现象,即ping a.b.c.d 时,ICMP回显却是另一个IP

不知道这是什么原因造成的?  回复  更多评论
  
# re: TCP/IP详解读书笔记(第七章 Ping程序)
2008-06-13 18:16 |
应该是那个网站采用了cdn技术  回复  更多评论
  
# re: TCP/IP详解读书笔记(第七章 Ping程序)
2008-08-07 08:53 | AlexEric
真是一笔财富.留下记号好学习.  回复  更多评论
  

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理



<2014年11月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

常用链接

留言簿(17)

随笔分类(138)

随笔档案(137)

网络开发

最新随笔

搜索

  •  

积分与排名

  • 积分 - 493814
  • 排名 - 36

最新随笔

最新评论

阅读排行榜

评论排行榜