ICMP详解

ICMP简介

ICMP的全称是Internet Control Message Protocol。也就是网络控制报文协议。

ICMP是一个网络层协议。用来检测IP报文是否能够正常发送,以及出错原因,以及查询主机的信息。

也就是差错查询和信息查询。

我们经常使用的ping工具就是利用ICMP实现的。

ICMP详解

在这里插入图片描述

ICMP报文
在这里插入图片描述

在IP Header中有一个字段代表是否为ICMP包。

ICMP数据中 主要包括 以下字段:

1、Type
ICMP数据包的类别

2、Code
对Type的进一步说明

3、标识符
唯一表示一个会话

4、选项数据
用来携带查询的信息。

差错控制

1、主机可达
发送一个type = 8,code = 0的ICMP Request包,表示这是一个请求包,如果顺利的到达对应的主机,主机会发送一个type = 0,code = 0的ICMP Reply包。

如果发送方收到Reply包,就说明主机可达。

2、主机不可达
发送一个type = 8,code = 0的ICMP Request包,如果路由器中不存在到达目的IP的路由的时候,会返回一个type = 3,code = 1的ICMP包,表示主机不可达。

当发送方收到包后,发现type = 3, code = 1,说明主机不可达。

3、超时
当一个ICMP包中TTL等于0的时候,路由器会将其抛弃,然后给发送端发送一个ICMP包,对应的type = 11,code = 0。

信息查询

比如ICMP可以查询对应主机的时间戳

发送方发送一个type = 13,code = 0的ICMP请求包,当主机收到后,返回一个type = 14,code = 0的ICMP应答包,将时间戳保存在之前说的选项字段中。

ICMP报文类别

在这里插入图片描述

PING

ping就是利用 ICMP发送请求报文 来探测主机之间是否网络是否通畅

tracert

tracert用来获取主机之间的路由信息。依次发送ttl = 1,2,3…n的ICMP请求包。通过对应的路由器发送超时ICMP包来获取对应的路由信息。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值