当前课程知识点:计算机网络 >  第四章 网络层 >  4.3 ICMP协议 >  ICMP协议

返回《计算机网络》慕课在线视频课程列表

ICMP协议在线视频

下一节:路由器结构

返回《计算机网络》慕课在线视频列表

ICMP协议课程教案、知识点、字幕

你好

为了提高IP数据报交付成功的机会

在网际层使用了

网际控制报文协议ICMP

ICMP允许主机或路由器报告差错情况

和提供有关差异情况的报告

ICMP是一个非常重要的协议

它对于网络安全具有极其重要的意义

ICMP不是高层协议

而是IP层的协议

ICMP报文

作为IP层数据报的数据部分

加上数据报的首部

组成IP数据报发送出去

我们首先来看一下ICMP报文的格式

ICMP报文的前4个字节是统一的格式

共有三个字段

分别是1个字节的类型号字段

1个字节代码字段

2字节的校验和字段

请注意

这里是整个ICMP报文的校验和

而不仅仅是首部校验和

接着的4个字节

取决于ICMP报文的类型

最后是数据字段

其长度取决于ICMP的类型

ICMP报文的一共有两大类

即ICMP差错报告报文

和ICMP询问报文

下面分别进行介绍

ICMP差错报告报文共有5种

第一种终点不可达

当路由器或主机不能交付数据报时

就向源点发送终点不可达报文

类型字段为3

第二种是源点抑制

当路由器或主机由于拥塞

而丢弃数据报时

就向源点发送源点抑制报文

使源点知道要把数据报的发送速率放慢

第三种是超时

当路由器收到一个IP数据报时

若目的地址不是自己

就会将其TTL减1再转发出去

但当TTL减1后变为0时

除丢弃该数据报外

还要向源点发送超时差错报告报文

类型值为11

第4种是参数问题

当路由器或目的主机

收到的数据报的首部中

有的字段的值不正确时

就丢弃该数据报

并向源点发送参数问题报文

类型值是12

第5种是改变路由

或者叫重定向

当路由器发现更好的路由时

把改变路由报文发送给源主机

类型值是5

所有的ICMP差错报告报文中的

数据字段都具有同样的格式

具体见图

把收到的需要进行差错报告的

IP数据报的首部

和数据字段的前八个字节提取出来

作为ICMP报文的数据字段

再加上相应的ICMP差错报告报文的

前8个字节

就构成了ICMP差错报告报文

为什么要提取数据报的数据部分的

前8个字节呢

这样做的目的是为了得到运输层的端口号

对于TCP和UDP而言

以及运输层报文的发送序号

对于TCP而言

这些信息对源点通知高层协议是有用的

为了使ICMP差错报告报文的发送

不致于产生大量的通信量

以下几种情况

不发送ICMP差错报告报文

对ICMP差错报告报文

不再发送ICMP差错报告报文

对第一个分片的数据报片的

所有后续数据报片

都不发送ICMP差错报告报文

第一个分片已经将差错情况报告给源站

其他分片就没必要重复发送了

对具有多播地址的数据报

都不发送ICMP差错报告报文

这样做的目的

也是为了减少不必要的通信量

对具有特殊地址

如127.0.0.0或0.0.0.0的数据报

不发送ICMP差错报告报文

127.0.0.0是环回测试地址

而0.0.0.0是指本网络本主机

ICMP询问报文有两种

第一种是回送请求和回答报文

ICMP回送请求报文

是由主机或路由器

向一个特定的目的主机发出的询问

收到此报文的主机

必须向源主机或路由器

发送ICMP回送回答报文

这种询问报文用来

测试目的站是否可达及了解其状态

其类型值分别是8和0

第二种是时间戳请求和回答报文

ICMP时间戳请求报文

是请某个主机或路由器

回答当前的日期和时间

在ICMP时间戳回答报文中

有一个32位的字段

其中写入的整数代表

从1900年1月1日起

到当前时刻一共有多少秒

时间戳请求和回答报文

可以来进行时钟同步和测量时间

类型值分别为13和14

ICMP一个重要应用

就是分组网间探测

简称PING

用来测试两个主机之间的连通性

PING使用了

ICMP回送请求与回答报文

PING是应用层

直接使用网络层ICMP的例子

它没有通过运输层的TCP或UDP

Windows操作系统的用户

可以在接入因特网后

通过点击“开始”“运行”

再键入“cmd”

进入命令行窗口

看见屏幕提示符后

键入ping hostname

这里的hostname

就是要测试连通性的主机名

或它的IP地址

按回车键后就可以看到结果

图中如果键入的是

ping mail.sina.com.cn

这显示了

本主机到新浪邮箱的邮件服务器的

连通性的测试结果

从测试的结果看

PC一共发送了4个ICMP回送请求分组

1个分组丢失

丢包率为25%

往返时延的最小值是368ms

最大值是374ms

平均372ms

另一个非常有用的应用是traceroute

这是unix操作系统中的名字

在windows操作系统中

它的命令是tracert

它用来跟踪一个分组

从源点到终点的路径

下面我们简单介绍其工作原理

traceroute从源主机向目的主机

发送一连串IP数据报

数据报中封装的是

无法交付的UDP用户数据报

端口号错

非法端口号

第一个数据报P1的TTL置为1

P1到达第一个路由器R1

TTL由1减为0

R1丢弃数据报

并向源主机发送ICMP超时差错报文

源主机接着发送第二个报文P2

TTL置为2

P2先到达路由器R1

R1收下报文后将TTL减1

再转发给R2

R2收到P2时TTL为1

但减1后TTL变为0了

R2就丢弃P2

并向源主机发送ICMP超时差错报文

这样一直继续下去

当最后一个报文到达目的主机时

TTL等于1

主机不转发数据报

也不把TTL减为0

但因IP数据报中封装的

是无法交付的运输层的UDP用户数据报

目的主机向源主机

发送ICMP终点不可达差错报告报文

这样

源主机由这些ICMP报文

获得了到达目的主机

所经过路由器的IP地址

及到达每个路由器的往返时间

如图是向新浪网的邮件服务器

mail.sina.com.cn

发出的tracert命令后所获得的结果

图中给出了到达该邮件服务器

所经过的每一路由器的IP地址

以及达到其中每一个路由器的往返时延

计算机网络课程列表:

第一章 概述

-1.1 计算机网络的发展历程及其在信息时代中的作用

--计算机网络的发展历程及其在信息时代中的作用

-1.2 互联网的组成

--互联网的组成

-1.3 电路交换和分组交换

--电路交换和分组交换

-1.4 计算机网络的性能

--计算机网络的性能

-1.5 计算机网络体系结构和层次划分

--计算机网络体系结构和层次划分

-第一章

第二章 物理层

-2.1 数据通信系统模型

--数据通信系统模型

-2.2 导向型传输媒体

--导向型传输媒体

-2.3 光导纤维

--光导纤维

-2.4 非导向型传输媒体

--非导向型传输媒体

-2.5 信道的极限容量

--信道的极限容量

-2.6 信道复用技术

--信道复用技术

-2.7 ADSL

--ADSL

-第二章

第三章 数据链路层

-3.1 数据链路层的三个基本问题

--数据链路层的三个基本问题

-3.2 CSMA/CD协议

--CSMA/CD协议

-3.3 虚拟局域网

--虚拟局域网

-3.4 扩展的以太网

--扩展的以太网

-3.5 高速以太网

--高速以太网

-第三章

第四章 网络层

-4.1 分类的IP地址-划分子网

--分类的IP地址-划分子网

-4.2 无分类编址-构造超网

--无分类编址-构造超网

-4.3 ICMP协议

--ICMP协议

-4.4 路由器结构

--路由器结构

-4.5 RIP协议

--RIP协议

-4.6 IP多播

--IP多播

-第四章

第五章 运输层

-5.1 用户数据报协议UDP

--用户数据报协议UDP

-5.2 TCP报文段首部格式

--TCP报文段首部格式

-5.3 可靠传输工作原理

--可靠传输工作原理

-5.4 字节为单位的滑动窗口实现

--字节为单位的滑动窗口实现

-第五章

第六章 应用层

-6.1 网络应用层

--网络应用层

-6.2 DNS

--DNS

-6.3 FTP

--FTP

-6.4 HTTP

--HTTP

-6.5 P2P

--P2P

-6.6 计算机网络面临的安全性威胁

--计算机网络面临的安全性威胁

-6.7 防火墙

--防火墙

--第六章

第七章 网络实验

-7.1 交换机基本配置

--交换机基本配置

-7.2 路由器基本配置

--路由器基本配置

-7.3 交换机端口隔离

--交换机端口隔离

-7.4 跨交换机实现相同VLAN通信

--跨交换机实现相同VLAN通信

-7.5 动态路由

--动态路由

-7.6 静态路由

--静态路由

ICMP协议笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。