ICMP(协议)

wireshark抓包(ping包)

IP包-protocol:ICMP(1)

ICMP包

ICMP作用:

  1. 网络连通性检测:ICMP提供了Ping命令,用于测试主机之间的网络连通性,如果主机之间的网络连通性正常,则会返回Echo Reply消息。

  1. 网络不可达检测:ICMP提供了Destination Unreachable消息,用于报告目的地不可达的原因,如网络不存在或者被禁止访问。

  1. 路由重定向:ICMP提供了Redirect消息,用于告知主机应该更改其路由表以获得更佳的路径。

  1. 超时检测:ICMP提供了Time Exceeded消息,用于报告数据包在传输过程中超时

ICMP协议格式

字段名称

描述

大小

Type

用于标识ICMP消息的类型,如Echo Request、Echo Reply、Destination Unreachable、Redirect等。

8 bits

Code

用于更详细地描述ICMP消息的类型。

8 bits

Checksum

用于校验ICMP消息的完整性。

16 bits

Identifier

用于标识ICMP消息的发送者。

16 bits

Sequence Number

用于标识ICMP消息包的顺序。

16 bits

Data

用于存储ICMP消息的附加数据。

可变

Identifier(标识符)

ICMP字段Identifier(标识符)的作用是标识ICMP消息的发送者。当一个主机发送ICMP消息时,它会在消息中填充一个标识符,接收端收到消息后,会检查标识符是否正确。这样可以防止接收端误认为其他主机发送的消息是自己发送的。

标识符的作用主要体现在Ping命令上,当发送Ping命令时,发送端会在ICMP消息中填充标识符,接收端收到消息后,会返回一个Echo Reply消息,并在消息中填充与发送端相同的标识符。这样发送端就可以确定Echo Reply消息是属于自己发送的Ping命令的响应。

Checksum(校验)

ICMP的Checksum字段原理是使用校验和算法来确保ICMP消息在传输过程中的完整性。校验和算法是一种数据校验技术,可以检测数据在传输过程中是否被修改或者损坏。

具体实现方式是将ICMP消息中的所有字段进行二进制编码,将所有字段的二进制编码进行异或运算得到校验和。最后将得到的校验和填充在Checksum字段中。

在接收端收到消息后,对ICMP消息中的所有字段进行二进制编码,并进行异或运算得到校验和。接下来将得到的校验和与Checksum字段中的值进行比较。如果两者相同,说明ICMP消息在传输过程中没有被修改或者损坏,接收端就可以确定消息的完整性。

IP协议与ICMP协议关系

ICMP协议和IP协议是网络协议栈中的两种不同协议,它们之间有着紧密的关系。

ICMP协议是Internet Control Message Protocol的缩写,是IP协议的一个子协议。ICMP协议负责在网络上传输控制消息,如网络连通性检测、网络不可达检测、路由重定向、超时检测等。

IP协议则是Internet Protocol的缩写,是网络协议栈中最底层的协议。IP协议负责在网络上传输数据包,如确定数据包的目的地、路由选择等。

ICMP协议和IP协议之间的关系是,ICMP协议是在IP协议之上运行的,它是IP协议的子协议,用于在IP协议的基础上实现网络管

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值