TCP/IP——ICMP

1. 简介

ICMP 全称是 Internet Control Message Protocol,也就是互联网控制报文协议。

2. 功能

ICMP 主要的功能包括:

1)确认 IP 包是否成功送达目标地址

2)报告发送过程中 IP 包被废弃的原因

3)改善网络设置

在 IP 通信中如果某个 IP 包因为某种原因未能达到目标地址,那么这个具体的原因将由 ICMP 负责通知。

ICMP 目标不可达消息ICMP 目标不可达消息

如上图例子,主机 A 向主机 B 发送了数据包,由于某种原因,途中的路由器 2 未能发现主机 B 的存在,这时,路由器 2 就会向主机 A 发送一个 ICMP 目标不可达数据包,说明发往主机 B 的包未能成功。

ICMP 的这种通知消息会使用 IP 进行发送 。

因此,从路由器 2 返回的 ICMP 包会按照往常的路由控制先经过路由器 1 再转发给主机 A 。收到该 ICMP 包的主机 A 则分解 ICMP 的首部和数据域以后得知具体发生问题的原因。

3. ICMP数据包

字段说明:

类型说明
类型占一字节,标识ICMP报文的类型,从类型值来看ICMP报文可以分为两大类。第一类是取值为1~127的差错报文,第2类是取值128以上的信息报文
代码占一字节,标识对应ICMP报文的代码。它与类型字段一起共同标识了ICMP报文的详细类型
校验和这是对包括ICMP报文数据部分在内的整个ICMP数据报的校验和,以检验报文在传输过程中是否出现了差错(其计算方法与在我们介绍IP报头中的校验和计算方法是一样的)

抓包:

实验: 用110主机去ping107主机(ping命令是基于icmp,在网络层)

1)请求

包格式

2) 应答

包格式

4. ICMP类型

icmp大致分为两类报文:

1)通知出错原因

2)诊断查询

类型(十进制)内容
0回送应答
3目标不可达
4原点抑制
5重定向或改变路由
8回送请求
9路由器公告
10路由器请求
11超时
17地址子网请求
18地址子网应答

5. traceroute

traceroute也是基于ICMP协议实现的。
功能:
打印出可执行程序主机,一直到目标主机之前经历多少路由器。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值