1. 1、本文档共50页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章 ICMP协议 RFC792 TCP/IP详解卷1:CH6、CH7、CH8 主要内容 5.1 因特网控制报文协议ICMP 5.2 Ping程序 5.3 Traceroute(Tracert) 课下作业 5.1 因特网控制报文协议ICMP Internet Control Message Protocol ICMP的目的 ICMP的类型 ICMP数据报的格式 对I C M P差错报文有时需要作特殊处理 在对I C M P差错报文进行响应时,永远不会生成另一份I C M P差错报文 如果没有这个限制规则,可能会遇到一个差错产生另一个差错的情况,而差错再产生差错,这样会无休止地循环下去。 下面情况都不会导致产生I C M P差错报文 ICMP差错报文(但是,I C M P查询报文可能会产生I C M P差错报文)。 目的地址是广播地址或多播地址的I P数据报。 作为链路层广播的数据报 不是I P分片的第一片 源地址不是单个主机的数据报。这就是说,源地址不能为零地址、环回地址、广播地址或多播地址。 ICMP地址掩码请求和应答报文 ICMP时间戳请求与应答 I C M P时间戳请求允许系统向另一个系统查询当前的时间。 返回的建议值是自午夜开始计算的毫秒数,协调的统一时间( Coordinated Universal Time, UTC)。 这种I C M P报文的好处是它提供了毫秒级的分辨率,而利用其他方法从别的主机获取的时间(如某些U n i x系统提供的r d a t e命令)只能提供秒级的分辨率。 ICMP时间戳请求和应答报文 请求端填写发起时间戳,然后发送报文。 应答系统收到请求报文时填写接收时间戳 在发送应答时填写发送时间戳 但是,实际上,大多数的实现把后面两个字段都设成相同的值 提供三个字段的原因是可以让发送方分别计算发送请求的时间和发送应答的时间 计算出往返时间RTT 获得时间和日期的其他方法 日期服务程序和时间服务程序 网络时间协议( N T P) RFC 1305 开放软件基金会( O S F)的分布式计算环境( D C E)定义了分布式时间服务( D T S) 伯克利大学的U n i x系统提供守护程序t i m e d( 8 ),来同步局域网上的系统时钟 ICMP端口不可达差错 如果收到一份U D P数据报而目的端口与某个正在使用的进程不相符,那么U D P返回一个I C M P不可达报文。 可以用T F T P来强制生成一个端口不可达报文 一个I C M P端口不可达差错是立刻返回的 I C M P差错报文必须包括生成该差错报文的数据报I P首部(包含任何选项),还必须至少包括跟在该I P首部后面的前8个字节。 UDP端口不可达时返回的ICMP报文 ICMP不可达报文的类型 I C M P不可达报文的一般格式 尽管在I C M P报文中的第二个32 bit字必须为0 但是当代码为4时(“需要分片但设置了不分片比特”),路径M T U发现机制却允许路由器把外出接口的MTU填在这个32 bit字的低16 bit中。 5.2 Ping程序 Ping程序由Mike Muuss编写 目的是为了测试另一台主机是否可达。 该程序发送一份ICMP回显请求报文给主机,并等待返回ICMP回显应答。 Ping程序还能测出到两台主机间的往返时间 Ping还给我们提供了检测I P记录路由和时间戳选项的机会 大多数的T C P / I P实现都在内核中直接支持P i n g服务器 这种服务器不是一个用户进程 是直接在内核中进行处理的 I C M P回显请求和回显应答报文 标识符 U n i x系统在实现p i n g程序时是把 I C M P报文中的标识符字段置成发送进程的I D号。 序列号 序列号从0开始,每发送一次新的回显请求就加1。 IP时间戳选项 时间戳选项的操作根据标志字段来进行 Ping命令 影响Ping的因素 主机忙引起超时 路径长引起超时 访问列表引起超时 主机忙引起超时 如果有足够的时间和资源来进行响应,主机会立即响应的。 如果没有足够的时间或资源来响应,ping请求将被放在队列中,并在能够响应的时候再响应。 Ping请求的缺省超时时间为2秒 也许当主机有能力响应ping命令已经超时,虽然两站之间是可达的,但ping的反馈结果是不可达。 路径长引起超时 缺省情况下,ping将TTL设为32 ping每经过一个路由器TTL减1 如果路径特别长,还没有到达目的地时TTL已经变为0, 这时,最后一台路由器将发送回ICMP超时消息。 访问列表引起超时 在IP连接可用的情况下,ping总是显示连接不可用,最常见的原因是访问列表。假定访问列表中有下列行,并且

文档评论(0)

bm5044 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档