实验五 ICMP互联控制报文协议分析 下载本文

内容发布更新时间 : 2024/4/20 10:15:19星期一 下面是文章的全部内容请认真阅读。

实验五 ICMP互连控制报文协议

一 实验目的

1、 了解 ICMP 协议的格式和响应方式及作用; 2、 了解常见的网络故障。

二 实验内容

1、 学习和掌握 ICMP 协议的基本作用; 2、 掌握 ICMP 报文的格式;

3、 理解 ICMP 协议与 IP 协议的封装关系; 4、 学会根据各种响应信息进行出错分析的方法; 5、 学会使用 ping、netstat 和 tracert 命令。

三 实验环境

四 实验流程

五 实验原理

该协议是 TCP/IP 协议集中的一个子协议,属于网络层协议,主要用于在主机与路由器之间传递控制信息,包括报告错误、交换受限控制和状态信息等。当遇到 IP 数据无法访问目标、IP 路由器无法按当前的传输速率转发数据包等情况时,会自动发送 ICMP 消息。 IP 协议是一种不可靠无连接的包传输,当数据包经过多个网络传输后,可能出现错误、目的主机不响应、包拥塞和包丢失等。为了处理这些问题,在 IP 层引入了一个子协议 ICMP (Inlernet Control Messa.ge Protocol)。ICMP 数据报有两种形式:差错数据报和查询数据报。 ICMP 数据报封装在 IP 数据报里传输。ICMP 报文可以被 IP 协议层、传输层协议(TCP 或 UDP)和用户进程使用。ICMP 与 IP 一

样,都是不可靠传输,ICMP 的信息也可能丢失。为了防止 ICMP 信息无限制的连续发送,对 ICMP数据报传输中问题不能再使用 ICMP 传输。

1、 ICMP 报文的封装

ICMP 有两种报文:差错报文和查询报文。两种报文都是封装在 IP 报文中进行传输的,具体的封装格式如图

IP首部 2、 ICMP 报文的格式

8位类型 8位代码 16位校验和 ICMP报文 根据类型和代码有不同的格式 字段说明:8位的类型字段有15个不同的值,它与8位的代码字段共同决定了各种类型的ICMP报文;校验和:对ICMP整个报文中每个16bit进行二进制反码求和。 3、 ICMP报文的主要类型

类型 0 3 3 3 3 3 代码 0 0 1 2 3 4 描述 回显应答 网络不可达 主机不可达 协议不可用 端口不可达 需要进行分片 查询 √ 差错 √ √ √ √ √