什么是ICMP数据包?TCP或UDP


23

ping数据包是ICMP数据包的一种类型.ICMP与TCP之间是否有任何关系?另外,我们是否可以保证它们到达网络我想知道网络中的ICMP数据包是tcp还是udp,或者其中一个或多个?

Answers:


20

ICMP与TCP之间是否有任何关系

不直接。ICMP是IP协议1,TCP是IP协议6。其他常见的IP协议是17(udp)和47(gre)。

另外我们可以保证他们到达网络

通常,ICMP不会在任何使用确认和超时的框架内发送,就像TCP一样。因此,答案是否定的。

我想知道网络中的ICMP数据包是tcp还是udp,或者是其中一个还是一个?

没有一个。它的行为与udp相似,但并非旨在传输数据。没有使用ICMP创建的“链接”或会话,如果这样的话,它通常是一个非常简单的请求-响应。如果您确实愿意,您可以“破解” ICMP以通过回显ICMP数据包交换数据。


因此,如果它不使用TCP,如果ICMP数据包丢失,您怎么知道?
起搏器

您只是假设在超时时间之后您将不会获得响应,并且另一端没有人。
LawrenceC

10

它们都不是-它们是直接通过IP发送的。ICMP数据包主要用于网络控制,即在路由器或ping之间以及许多其他用途之间。


有什么保证吗?假设您的ICMP数据包在链接中最后一个
Mohammad Reza Rezwani

没关系,因为它是完全不同的协议,大多数路由器和防火墙对它的处理方式也不同。在ICMP的Wikipedia文章中,您可以阅读以下内容:ICMP与TCP和UDP之类的传输协议不同,因为它通常不使用来在系统之间交换数据,最终用户网络应用程序也不会定期使用它(除了ping和traceroute等某些诊断工具之外)-> en.wikipedia.org/wiki/Internet_Control_Message_Protocol
noggerl

5
@alex:ICMP协议不提供保证的交付。考虑到它执行的任务的种类是不可能的(例如,将ICMP回显请求发送到已关闭的服务器的IP地址)
RedGrittyBrick
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.