首页 > 编程知识 正文

icmp协议位于哪一层,icmp下的两种协议

时间:2023-05-06 01:26:59 阅读:120341 作者:4805

IMP协议详细信息

ICMP协议是网络层协议。

新建立的网络通常需要进行简单的测试才能验证网络是否顺畅,但IP协议并不提供可靠的传输。 如果发生丢包,IP协议将无法通知传输层有无丢包和丢包的原因。

因此,需要-ICMP协议来实现这种功能。

IMP协议的功能

ICMP协议的功能主要包括:

检查IP包是否成功到达目标地址,并通知IP包在发送过程中被丢弃的原因

如下图所示。

有几点需要注意:

1.ICMP基于IP协议进行操作,但不是传输层功能,因此网络层协议ICMP仍然只能与IPv4结合使用,对于IPv6,需要使用ICMPv6 ICMP消息格式

ICMP消息包含在IP数据报中,并且IP报头位于该消息的开头。 一条ICMP消息包括IP报头(至少20字节)、ICMP报头(至少字节)、ICMP消息(属于ICMP消息的数据部分)。 如果IP标头中的协议字段值为1,则表示这是ICMP消息。 ICMP标头如下图所示。

下图:

字段说明:

ICMP大致分为两种消息。

一个是导致通知错误的原因一个用于诊断查询

类型和含义如下

常见的ICMP消息

适当的要求

我们使用的ping操作包含相应的请求(类型字段值8 )和响应)类型字段值0 ) ICMP消息。

流程:

主机向节点发送类型字段值为8的ICMP消息。 如果中途没有例外,则如果目标没有对ICMP作出响应,或者传输失败,则目标将返回类型字段值为0的ICMP消息,指示主机存在。

不可实现目标、源抑制和超时消息

这三种消息的格式是相同的。

)1)无法到达目的地的消息)类型值3 )路由器或主机无法传递数据时使用。

例如,如果尝试连接到对方不存在的系统端口(端口号小于1024 ),则会返回类型字段值为3、代码字段值为3的ICMP消息。

常见的不可达类型包括网络不可达(代码字段值0 )、主机不可达(代码字段值1 )和协议不可达(代码字段值2 )。

)2)源抑制消息)类型字段的值为4,代码字段的值为0 ) )起到控制流量的作用,并通知主机数据报流量的减少。 因为ICMP没有响应转发的消息,所以停止该消息后,主机会逐渐恢复传输率。

)3)没有连接方式的网络问题是在数据报丢失、长时间在网络上徘徊找不到目标、拥塞导致主机无法在规定的时间内重组数据报段的情况下,ICMP超时

超时信息(类型字段的值为11 )的代码字段有两种类型的值。 代码字段值为0表示传输超时,代码字段值为1表示分段重组超时。

时间戳请求

时间戳请求消息(类型值字段13 )和时间戳响应消息(类型值字段14 )用于测试两台主机之间数据报的往返传输时间。

在传输时,主机填充原始时间戳,接收方在接受并填充接收时间戳之后,以类型值字段14的消息格式返回,发送方计算这个时间差。

(某些系统不响应此消息)

平钉命令

使用方法如下。

请注意,在此ping的是域名,而不是url。 域名可以通过DNS解析为IP地址

关于DNS,可以在这里写链接的内容

ping命令的功能

)1)可以验证网络的连接性

)2)响应时间和TTL )统计IP数据包中的时间到生命周期、生存周期)

那我们是怎么验证的呢?

(1) ping命令首先向对方发送ICMP Echo Request

)2)对方接收到后,返回ICMP Echo Reply

)3)如果没有返回,则认为是超时,指定的网络地址不存在。

问题:

telnet有23个端口,ssh有22个端口,ping有多少个端口?

ping命令基于ICMP,位于网络层。

端口号是传输层的内容。 因此,ICMP完全不关注端口号这样的信息。

跟踪路径

跟踪也是基于ICMP协议实现的。

功能:

在到达目标主机之前要经过多少台路由器,或者打印可执行的主机。

以下是示例。

————————————————

这是CSDN博客“honeyRJ”的原创文章,符合CC 4.0 BY-SA版权协议。 请附上原文来源的链接和本声明。

原文链接: https://blog.csdn.net/Baidu _ 37964071/article/details/80514340

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。