文本版|topic 高级搜索
   名人堂 帮助 论坛制度 意见反馈 | 首页 博客 周新贴 专题 求职 读书
RSS 底部
 
社区导航: 专家门诊   网络技术   操作系统   数据库   程序设计   系统应用   考试认证   CIO及信息化   站长交流   综合交流   下载基地  51CTO产品服务 设为首页 | 收藏本站
51CTO技术论坛» 网络管理 » 网络解决方案 » ICMP协议,ping和Traceroute       [ 打印]  [ 订阅]  [ 收藏]  [ 推荐给朋友]   [ 本帖文本页]

论坛跳转:
     
标题: ICMP协议,ping和Traceroute  ( 查看:542  回复:8 )   
 
panyifu
初级工程师  点击可查看详细



帖子 1323
精华 0
无忧币 14155
积分 3479
阅读权限 50
注册日期 2006-5-4
最后登录 2008-9-5 离线

[查看资料]  [发短消息]  [Blog
[个人主页]         
发表于:2007-3-29 11:16   标题:ICMP协议,ping和Traceroute
上一帖 |
1.IMCP协议介绍
IP协议并不是一个可靠的协议,它不保证数据被送达,那么,自然的,保证数据送达的工作应该由其他的模块来完成。其中一个重要的模块就是ICMP(网络控制报文)协议。
当传送IP数据包发生错误--比如主机不可达,路由不可达等等,ICMP协议将会把错误信息封包,然后传送回给主机。给主机一个处理错误的机会,这 也就是为什么说建立在IP层以上的协议是可能做到安全的原因。ICMP数据包由8bit的错误类型和8bit的代码和16bit的校验和组成。而前 16bit就组成了ICMP所要传递的信息。书上的图6-3清楚的给出了错误类型和代码的组合代表的意思。
尽管在大多数情况下,错误的包传送应该给出ICMP报文,但是在特殊情况下,是不产生ICMP错误报文的。如下
1.      ICMP差错报文不会产生ICMP差错报文(出IMCP查询报文)(防止IMCP的无限产生和传送)
2.      目的地址是广播地址或多播地址的IP数据报。
3.      作为链路层广播的数据报。
4.      不是IP分片的第一片。
5.      源地址不是单个主机的数据报。这就是说,源地址不能为零地址、环回地址、广播地 址或多播地址。
虽然里面的一些规定现在还不是很明白,但是所有的这一切规定,都是为了防止产生ICMP报文的无限传播而定义的。
ICMP协议大致分为两类,一种是查询报文,一种是差错报文。其中查询报文有以下几种用途:
1.      ping查询(不要告诉我你不知道ping程序)
2.      子网掩码查询(用于无盘工作站在初始化自身的时候初始化子网掩码)
3.      时间戳查询(可以用来同步时间)
而差错报文则产生在数据传送发生错误的时候。就不赘述了。
2.ICMP的应用--ping
ping可以说是ICMP的最著名的应用,当我们某一个网站上不去的时候。通常会ping一下这个网站。ping会回显出一些有用的信息。一般的信息如下:
Reply from 10.4.24.1: bytes=32 time
ping这个单词源自声纳定位,而这个程序的作用也确实如此,它利用ICMP协议包来侦测另一个主机是否可达。原理是用类型码为0的ICMP发请 求,受到请求的主机则用类型码为8的ICMP回应。ping程序来计算间隔时间,并计算有多少个包被送达。用户就可以判断网络大致的情况。我们可以看到, ping给出来了传送的时间和TTL的数据。我给的例子不太好,因为走的路由少,有兴趣地可以ping一下国外的网站比如sf.net,就可以观察到一些 丢包的现象,而程序运行的时间也会更加的长。
ping还给我们一个看主机到目的主机的路由的机会。这是因为,ICMP的ping请求数据报在每经过一个路由器的时候,路由器都会把自己的ip放到该数 据报中。而目的主机则会把这个ip列表复制到回应icmp数据包中发回给主机。但是,无论如何,ip头所能纪录的路由列表是非常的有限。如果要观察路由, 我们还是需要使用更好的工具,就是要讲到的Traceroute(windows下面的名字叫做tracert)。
3.ICMP的应用--Traceroute
Traceroute是用来侦测主机到目的主机之间所经路由情况的重要工具,也是最便利的工具。前面说到,尽管ping工具也可以进行侦测,但是,因为ip头的限制,ping不能完全的记录下所经过的路由器。所以Traceroute正好就填补了这个缺憾。
Traceroute的原理是非常非常的有意思,它受到目的主机的IP后,首先给目的主机发送一个TTL=1(还记得TTL是什么吗?)的UDP(后面就 知道UDP是什么了)数据包,而经过的第一个路由器收到这个数据包以后,就自动把TTL减1,而TTL变为0以后,路由器就把这个包给抛弃了,并同时产生 一个主机不可达的ICMP数据报给主机。主机收到这个数据报以后再发一个TTL=2的UDP数据报给目的主机,然后刺激第二个路由器给主机发ICMP数据 报。如此往复直到到达目的主机。这样,traceroute就拿到了所有的路由器ip。从而避开了ip头只能记录有限路由IP的问题。
有人要问,我怎么知道UDP到没到达目的主机呢?这就涉及一个技巧的问题,TCP和UDP协议有一个端口号定义,而普通的网络程序只监控少数的几个号码较 小的端口,比如说80,比如说23,等等。而traceroute发送的是端口号>30000(真变态)的UDP报,所以到达目的主机的时候,目的 主机只能发送一个端口不可达的ICMP数据报给主机。主机接到这个报告以后就知道,主机到了,所以,说Traceroute是一个骗子一点也不为过
Traceroute程序里面提供了一些很有用的选项,甚至包含了IP选路的选项。



网络虽虚拟,技术无边界,来看看大家“真面目”!
2007-3-29 11:161楼
[ 顶部 ]
 
cic168
新新人类  点击可查看详细



帖子 69
精华 0
无忧币 570
积分 109
阅读权限 20
注册日期 2007-3-12
最后登录 2008-3-26 离线

[查看资料]  [发短消息]  [Blog
       
发表于:2007-3-29 14:15 
看过
不错



网络虽虚拟,技术无边界,来看看大家“真面目”!
2007-3-29 14:152楼
[ 顶部 ]
 
sylzp
新新人类  点击可查看详细



帖子 116
精华 0
无忧币 3
积分 116
阅读权限 20
注册日期 2007-2-26
最后登录 2008-6-7 离线

[查看资料]  [发短消息]  [Blog
       
发表于:2007-3-29 18:35 
dddddddddddddddddddd



网络虽虚拟,技术无边界,来看看大家“真面目”!
2007-3-29 18:353楼
[ 顶部 ]
 
zs19896064
新新人类  点击可查看详细



帖子 7
精华 0
无忧币 13
积分 7
阅读权限 20
注册日期 2007-3-18
最后登录 2007-4-6 离线

[查看资料]  [发短消息]  [Blog
       
发表于:2007-4-1 08:40 
非常感谢!!!~~~~~



网络虽虚拟,技术无边界,来看看大家“真面目”!
2007-4-1 08:404楼
[ 顶部 ]
 
weifeng
新新人类  点击可查看详细



帖子 94
精华 0
无忧币 257
积分 187
阅读权限 20
注册日期 2007-2-23
最后登录 2008-7-4 离线

[查看资料]  [发短消息]  [Blog
       
发表于:2007-4-1 10:02   标题:谢谢





网络虽虚拟,技术无边界,来看看大家“真面目”!
2007-4-1 10:025楼
[ 顶部 ]
 
abc54288
新新人类  点击可查看详细



帖子 165
精华 0
无忧币 1079
积分 193
阅读权限 20
注册日期 2006-12-29
最后登录 2008-5-9 离线

[查看资料]  [发短消息]  [Blog
       
发表于:2007-4-1 17:54 




网络虽虚拟,技术无边界,来看看大家“真面目”!
2007-4-1 17:546楼
[ 顶部 ]
 
yuan-jiaojiao
技术员  点击可查看详细


十二生肖之龙   行业勋章   技术勋章   狮子座  
帖子 397
精华 0
无忧币 1203
积分 439
阅读权限 30
注册日期 2007-6-21
最后登录 2008-9-5 离线

[查看资料]  [发短消息]  [Blog
[个人主页]    QQ    ICQ 状态    Yahoo!   
发表于:2007-7-2 05:45 
嗯,写得够详细



网络虽虚拟,技术无边界,来看看大家“真面目”!
2007-7-2 05:457楼
[ 顶部 ]
 
hziee606
副版主  点击可查看详细


帖子 3012
精华 0
无忧币 2782
积分 3054
阅读权限 140
注册日期 2007-4-29
最后登录 2008-9-4 离线

[查看资料]  [发短消息]  [Blog
       
发表于:2007-7-2 06:22 
谢谢LZ 学习学习……



QQ:49664253 MSN:biwei_nb@hotmail.com E-mail:biwei_nb@163.com
2007-7-2 06:228楼
[ 顶部 ]
 
wsgwz
技术员  点击可查看详细



十二生肖之猪   天蝎座   行业勋章   技术勋章   诚信兄弟  
帖子 237
精华 0
无忧币 617
积分 267
阅读权限 30
注册日期 2008-3-18
最后登录 2008-8-27 离线

[查看资料]  [发短消息]  [Blog
       
发表于:2008-4-20 15:46 
好仔细的文章,学习。



网络虽虚拟,技术无边界,来看看大家“真面目”!
2008-4-20 15:469楼
[ 顶部 ]
     
论坛跳转:  

| | |

| | |

| | |

标记已读 · 删除论坛Cookies · 文本版 · WAP
 
| 诚征版主 | 版主堂 | 意见建议 | 大史记 | 论坛地图
Copyright©2005-2008 51CTO.COM  Powered by Discuz!
本论坛言论纯属发布者个人意见,不代表51CTO网站立场!如有疑义,请与管理员联系。
京ICP备05051492号