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

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,以此类推;得到路由信息;

 

posted @ 2016-07-09 18:07  小春熙子  阅读(474)  评论(0编辑  收藏  举报