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

优质内容筛选与推荐>>
1、ARTS打卡计划第二周-Algorithm
2、基于screen.width的伪响应式开发
3、投票
4、分享一些有意思的东西
5、设计包含min函数的栈


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号