1.ICMP允许主机或路由器报告差错情况和提交有关异常情况的报告;为了更有效地转发IP数据报和提高交付成功的机会;

2.ICMP不是高层协议,因为ICMP报文是装在IP数据报中的,作为其中数据部分,所以是IP层的协议;

3.ICMP报文的种类:

(1)ICMP差错报告报文

(2)ICMP询问报文

4.ICMP报文的格式:

(1)前4个字节是统一的格式,共有三个字段:类型,代码,检验和;

(2)接着的4字节,与ICMP的类型有关,最后是数据字段,其长度取决于ICMP的类型;

5.几种常用的ICMP报文类型:

**差错报告报文:

①终点不可达:类型值3,当路由器或主机不能交付数据报时就向源点发送终点不可达报文;

②源点抑制:类型值4,当路由器或主机由于拥塞而丢弃数据报时,就向源点发送源点抑制报文,使源点知道应当把数据报的发送速率放慢;

③时间超过:类型值11,当路由器收到生存时间为零的数据报,除了丢弃该数据报之外,还要向源点发送时间超过报文;当终点在预先规定的时间内不能收到一个数据报的全部数据报片时,就把已收到的数据报片丢弃,并向源点发送时间超过报文;

④参数问题:类型值12,当路由器或目的主机收到的数据报的首部中有的字段的值不正确时,就丢弃该数据报,并向源点发送参数问题报文;

⑤改变路由(重定向):类型值5,路由器把改变路由报文发送给主机,让主机知道下次应将数据报发送给另一个路由器;

⑥所有的ICMP差错报告报文中的数据字段都具有同样的格式,把收到的需要进行差错报告的IP数据报的首部和数据字段的前8个字节提取出来,作为ICMP报文的数据字段,再加上相应的ICMP差错报告报文的8个字节,就构成了ICMP差错报告报文

**不应发送ICMP差错报告报文的几种情况:

①对ICMP差错报告报文不再发送ICMP差错报告报文;

②对第一分片的数据报片的所有后续数据报片都不发送ICMP差错报告报文;

③对具有多播地址的数据报不发送,ICMP差错报告报文;

④对具有特殊地址(如127.0.0.0或0.0.0.0)的数据报不发送ICMP差错报告报文;

**询问报文:

①回送请求或回答:类型值8或10,ICMP回送请求报文是由路由器或主机向一个特定的目的发出的询问,收到此报文的主机必须给源主机或路由器发送ICMP回送回答报文;这种询问报文用来测试目的站是否可达以及了解其有关状态;

②时间戳请求或回答:类型值13或14,ICMP时间戳请求报文是请某个主机或路由器回答当前的日期和时间;

6.ICMP的应用:

(1)分组网间检测PING:用来测试两个主机之间的连通性;PING使用了ICMP回送请求与回送回答报文;PING是应用层直接使用网络层ICMP的一个例子;

(2)另一个非常有用的应用是traceroute:用来跟踪一个分组从源点到终点的路径;traceroute从源主机向目的发送一连串的IP数据报,数据报中封装的是无法交付的UDP用户数据;第一个数据报的生存时间TTL设置为,第二个设置为2,以此类推;得到路由信息;

2016.7.9 计算机网络复习要点第四章之网际控制报文协议ICMP的更多相关文章

  1. 2016.7.7 计算机网络复习要点第四章之网际协议IP

    1.与IP协议配套使用的还有三个协议: **地址解析协议ARP: **网际控制报文协议ICMP: **网际组管理协议IGMP: 2.虚拟互连网络: **没有一种单一的网络能够适应所有用户的需求: ** ...

  2. 2016.7.9 计算机网络复习要点第四章之虚拟专用网VPN和网络地址转换NAT

    1.虚拟专用网VPN (1)一个机构内,对于那些仅在本机构内部使用的计算机就可以由本季候自行分配其IP地址,让这些计算机使用仅在本机构有效的IP地址(本地地址),不需要申请全球唯一的IP地址(全球地址 ...

  3. 2016.7.8 计算机网络复习要点第四章之地址解析协议ARP

    1.地址解析协议ARP:知道一个机器的IP地址,需要找到其相应的硬件地址:ARP协议的用途是为了从网络层使用的IP地址解析出在链路层使用的硬件地址: 2.由于是IP协议使用了ARP协议,因此通常就把A ...

  4. 2016.6.20 计算机网络复习要点第三章之CSMA/CD协议

    1.最早的以太网是将许多计算机都连接到一根总线上: (1)总线的特点是:当一台计算机发送数据时,总线上的所有计算机都检测到这个数据,这种就是广播通信方式: (2)为了实现在总线上的一对一通信,可以使每 ...

  5. 2016.6.17 计算机网络复习要点之PPP协议

    点对点协议PPP是目前使用最广泛的数据链路层协议. 1.PPP协议的特点: **我们知道因特网用户通常需要连接到某个ISP才能接入到因特网,PPP协议就是用计算机和ISP进行通信时所使用的数据链路层协 ...

  6. jQuery复习:第四章

    一.jQuery中的事件 1.加载DOM $(document).ready()和window.onload方法具有类似功能,但是执行时机不同.window.onload方法是在网页中所有的元素都加载 ...

  7. 《计算机网络》谢希仁(第7版) 第四章 c语言http://c.biancheng.net/cpp/html/3137.html

    第四章 网络层 电信网使用面向连接的通信方式,使电信网络能够向用户提供可靠传输的服务. 互联网设计思路:网络层向上只提供简单灵活的.无连接的.尽最大努力交付的数据报(分组)服务. 网络层不提供可靠传输 ...

  8. OpenGL复习要点II

    [OpenGL复习要点II] 1.视图变换必须出现在模型变换之前. 2.glMatrixMode()参数有三个,GL_MODELVIEW,GL_PROJECTION,GL_TEXTURE. 3.变换顺 ...

  9. 老李分享:《Linux Shell脚本攻略》 要点(四)

    老李分享:<Linux Shell脚本攻略> 要点(四)   1.IP地址的正则表达式: [0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3} 2. ...

随机推荐

  1. 畅通工程再续(MST)

    畅通工程再续 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Statu ...

  2. C语言内存对齐详解(2)

    接上一篇:C语言内存对齐详解(1) VC对结构的存储的特殊处理确实提高CPU存储变量的速度,但是有时候也带来了一些麻烦,我们也屏蔽掉变量默认的对齐方式,自己可以设定变量的对齐方式.VC 中提供了#pr ...

  3. HTTP HSTS协议和 nginx

    导读 Netcraft 公司最近公布了他们检测SSL/TLS网站的研究,并指出只有仅仅5%的用户正确执行了HTTP严格传输安全HSTS.本文介绍nginx如何配置HSTS. 什么是HSTS HTTPS ...

  4. opencv中,c和c++版本区别体验

    参考:http://www.cnblogs.com/tornadomeet/archive/2012/04/29/2476277.html

  5. Delphi开发Windows服务程序

    开发步骤: 1.New->Other->Service Application 2.现在一个服务程序的框架已经搭起来了 打开Service1窗口,有几个属性说明一下: AllowPause ...

  6. poj1258 Agri-Net 最小生成树

    Agri-Net Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 44032   Accepted: 18001 Descri ...

  7. log2取整效率测试

    RMQ问题中有个ST算法,当然还有个标准算法.LCA问题可以转化为带限制的RMQ(RMQ+-1)问题来解决.我们姑且认为这些问题的时间复杂度是查询$O(1)$的.但是,注意到对于RMQ(/+-1)问题 ...

  8. Python之property装饰器

    参考: http://www.cnblogs.com/lovemo1314/archive/2011/05/03/2035600.html http://joy2everyone.iteye.com/ ...

  9. 【python】linux将python改为默认3.4版本

    Python3.4默认是安装在/usr/local/lib/python3.4目录下,需要删除默认python link文件,重新建立连接关系. 使用ln -s命令来修改,命令如下: sudo rm ...

  10. 使用osgconv工具对模型进行旋转

    osgconv -o 90-1,0,0 --use-world-frame src.3ds dst.3ds 视线方向沿X轴正方向,将src.3ds顺时针旋转90度,保存为dst.3ds