网络程序设计讲义-ICMP协议.ppt

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
网络程序设计讲义-ICMP协议

第3章 ICMP协议 3.1 ICMP报文的封装与格式 3.2 ICMP差错报文 3.3 ICMP控制报文 3.4 ICMP请求与应答报文 3.1 ICMP报文的封装与格式 3.1.1 ICMP报文的封装 ICMP报文和其他协议的报文一样,也是由ICMP报文头区和数据区两部分组成的。ICMP报文封装在IP数据报中通过链路层在网络中进行传输。 3.1.2 ICMP报文的格式 ICMP报文的格式如下图所示,其中报文头分为三部分:类型、代码和校验和。 ICMP报文类型表 ICMP报文类型表 ICMP报文类型表 3.2 ICMP差错报文 3.2.1 ICMP差错报文的特点 报告IP数据报在传输中的差错是ICMP报文最基本的功能,ICMP差错报文有如下特点: (1)ICMP差错报文都是由路由器发送到源主机的,因为IP数据报中含有源主机的IP地址,报告给源主机是最可行的方案,另外,发出IP数据报的源主机最需要知道数据是否到达目标主机。 (2)ICMP差错报文只提供IP数据报在传输过程中的差错报告,并不规定对各类差错应采取什么样的处理措施。具体对差错的处理,由收到ICMP差错报文的源主机将相应的差错与应用程序联系起来才能进行相应的差错处理。 (3)ICMP差错报文不享受任何优先权,也没有特别的可靠性保证措施,与普通的IP数据报一样进行传输,传输过程中可能被丢失、损坏,甚至被抛弃。 (4)ICMP差错报文是伴随着抛弃出错的IP数据报而产生的。 (5)当路由器发送一份ICMP差错报文时,ICMP报文数据区始终包含产生ICMP差错报文的源IP数据报的头部和其数据区的前8个字节(64位)。 (6)有些情况下,为了防止在网络中产生大量的ICMP差错报文(广播风暴),影响网络的正常工作,即使发生差错,也不会产生ICMP差错报文,这些情况包括: ●ICMP报文发生差错。这是为了避免差错报文无休止产生而规定的(但ICMP查询报文可能会产生ICMP差错报文)。 ●目的地址是广播地址或多播地址(D类地址)的IP数据报。 ●作为链路层广播的数据报。 ● 不是IP分片的第一片。 ●源地址不是单个主机的数据报。这就是说,源地址不能为零地址、回送地址、广播地址或多播地址。 3.2.2 目标不可达ICMP报文 目标不可达是指当一个路由器检测出一个IP数据报不能发往它的目的地时,路由器发出一个目标不可达的ICMP差错报文 3.2.3 IP数据报超时ICMP报文 类似目标不可达ICMP报文,其中代码字段说明超时的原因。0为TTL值减为0,1表示分片重组超时。 3.2.4 参数错误ICMP报文 3.3 ICMP控制报文 3.3.1 拥塞控制与源站抑制报文 当一个路由器接收IP数据报的速度比其处理IP数据报的速度快,或一个路由器传入数据报的速率大于传出数据报的速率时,就会产生拥塞(Congestion)现象。这时路由器可以通过发送源站抑制(Source Quench)报文来抑制源主机发送IP数据报的速率,避免可能产生的差错。 源站抑制报文的格式与不可达ICMP报文格式完全一样。其类型字段为4,代码字段只能为0。 源站抑制技术进行拥塞控制的方法如下: (1)当路由器发生拥塞时,便发出ICMP源站抑制报文。拥塞的判别可以用三种方法:一是检查路由器缓存区是否已满;二是给缓存区输出队列设置一个阈值,判断队列中数据报的个数是否超过阈值;三是检测某输入线路的传输率是否过高。 (2)源主机收到抑制报文后,按一定的速率降低发往目标主机的数据报传输率。 (3)如果在一定的时间间隔内源主机没有收到抑制报文,便认为拥塞已解除,源主机可以逐渐恢复到原来数据报的流量。 3.3.2 路由控制与重定向报文 假如源主机要向目标主机发送IP数据报,源主机的默认路由是路由器1,则源主机先把IP数据报送到路由器1,再由路由器1进行路由选择。路由器1经过选路后,把IP数据报送到路由器2,同时路由器1也发现源主机要发送到目标主机的IP数据报以后可以直接发送到路由器2(因为路由器1和路由器2同在一个网络中),则路由器1向源主机发送一个ICMP重定向报文,告诉它可以直接把IP数据报送到路由器2。这样,就使源主机始终保持着一个动态的、既小且优的路径表。 3.4 ICMP请求与应答报文 3.4.1 回送请求与应答报文 回送请求报文由源主机发出,目标主机应答,用于测试另一台主机或路由器是否可达。其报文格式如下图所示: 3.4.2 地址掩码请求与应答报文 3.4.3 时间戳请求与应答报文

文档评论(0)

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

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

1亿VIP精品文档

相关文档