• 网际控制报文协议---ICMP


      我们知道,在网际层,我们是不进行错误检查的,在网际层,我们主要进行快速的数据传输,但是,互联网在设计时候,也是要尽可能的提高交付成功的机会:

      我们知道,在网际层传输的是IP数据报,IP数据报的协议我们前面说过了,在将地址解析协议ARP的时候,当时我们说IP数据报的数据部分,数据部分就是ICMP的报文。

      ICMP报文通过ip报文发送,ICMP报文当做是ip数据包的数据部分,而IP数据包又被放倒了以太网的数据帧中的数据区。

      我们知道ip数据报的首部有一个协议类型的字段,这个部分封装的是传输层的协议的类型,当ip数据部分为ICMP报文时,这里的首部协议类型字段也将改为1,表示为ICMP报文。

     

      那么,ICMP到底是什么样的报文,它有什么用处吗?

      首先,ICMP报文分为了两类:

      (1)差错控制类 (2)询问报文

      我们先看看ICMP报文的结构:

                                                      

      ICMP的不同的报文的类型中,首部的结构是确定的。其中校验和部分和IP首部的校验和的计算方法相同,并且这个计算方法贯穿于整个的ICMP报文中。

      

    ICMP报文种类 类型的值 ICMP报文的类型
    差错报告报文 3 终点不可达
    11 时间超过
    12 参数问题
    5 改变路由
    询问报文 8或者0 回送请求或回答 
    13或14 时间戳请求或者回答

      1、差错控制类报文

      ICMP差错控制报文共有四种:

      (1)目的站不可达:当路由器无法转发或者交付数据时,使用icmp报文通知数据包的发送者,并且告诉不可达的原因。

      (2)超时报文:发送超时报文的两种情况:TTL值为0或者数据报分片重组超时。

      (3)参数错误报告:不是以上两种情况的错误时,就会向源主机报告此报文。

      (4)改变路由:路由器把改变路由报文发送给主机,让主机知道下次应将数据报发送给另外的路由器。

      2、ICMP询问报文:

      (1)回送请求和回答:ICMP回送请求报文是请某台主机或者路由器向一个特定的目的主机发出的询问,收到此报文的主机必须给源主机或者路由器发送一个ICMP回送回答报文

      (2)时间戳请求和回答:ICMP时间戳请求报文是请某台主机或者路由器回答当前的日期和时间。

  • 相关阅读:
    前端设计网站收藏
    JAVA的StringBuffer类
    JDBC连接数据库
    JSP中request属性的用法
    jquery学习
    servlet学习(一)
    javascript 计算器
    xml学习(一)
    网站之单点登录简单思路
    关于ASP.NET中Menu控件在浏览器中不正常显示解决方法
  • 原文地址:https://www.cnblogs.com/PIRATE-JFZHOU/p/7923063.html
Copyright © 2020-2023  润新知