什么是TCP和ICMP?

2023-02-02 07:18:22 发布:网友投稿 作者:网友投稿
热度:23

TCP:传输控制协议(英语:TransmissionControlProtocol,缩写:TCP)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC793定义。 在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能。

TCP旨在适应支持多网络应用的分层协议层次结构。 连接到不同但互连的计算机通信网络的主计算机中的成对进程之间依靠TCP提供可靠的通信服务。

TCP假设它可以从较低级别的协议获得简单的,可能不可靠的数据报服务。 原则上,TCP应该能够在从硬线连接到分组交换或电路交换网络的各种通信系统之上操作。

ICMP:互联网控制消息协议(英语:InternetControlMessageProtocol,缩写:ICMP)是互联网协议族的核心协议之一。

它用于网际协议(IP)中发送控制消息,提供可能发生在通信环境中的各种问题反馈。 通过这些信息,使管理者可以对所发生的问题作出诊断,然后采取适当的措施解决。

ICMP 协议应用在许多网络管理命令中,下面以 ping 和 tracert 命令为例详细介绍 ICMP 协议的应用。

(1) ping 命令使用 ICMP 回送请求和应答报文

在网络可达性测试中使用的分组网间探测命令 ping 能产生 ICMP 回送请求和应答报文。 目的主机收到 ICMP 回送请求报文后立刻回送应答报文,若源主机能收到 ICMP 回送应答报文,则说明到达该主机的网络正常。

(2)路由分析诊断程序 tracert 使用了 ICMP时间超过报文

tracert 命令主要用来显示数据包到达目的主机所经过的路径。 通过执行一个 tracert 到对方主机的命令,返回数据包到达目的主机所经历的路径详细信息,并显示每个路径所消耗的时间。

扩展资料:

ICMP是在RFC 792中定义的互联网协议族之一。 通常用于返回的错误信息或是分析路由。 ICMP错误消息总是包括了源数据并返回给发送者。 ICMP错误消息的例子之一是TTL值过期。 每个路由器在转发数据报的时候都会把IP包头中的TTL值减1。

如果TTL值为0,“TTL在传输中过期”的消息将会回报给源地址。 每个ICMP消息都是直接封装在一个IP数据包中的,因此,和UDP一样,ICMP是不可靠的。

虽然ICMP是包含在IP数据包中的,但是对ICMP消息通常会特殊处理,会和一般IP数据包的处理不同,而不是作为IP的一个子协议来处理。 在很多时候,需要去查看ICMP消息的内容,然后发送适当的错误消息到那个原来产生IP数据包的程序,即那个导致ICMP消息被发送的IP数据包。

很多常用的工具是基于ICMP消息的。 traceroute是通过发送包含有特殊的TTL的包,然后接收ICMP超时消息和目标不可达消息来实现的。

ping则是用ICMP的"Echo request"(类别代码:8)和"Echo reply"(类别代码:0)消息来实现的。

参考资料来源:百度百科-TCP

参考资料来源:百度百科-ICMP

本文到此结束,希望对大家有所帮助。

下一篇:中央财政分三批支持中小企业数字化转型试点,将打造4000-6000家“转型样本”
上一篇:一年有24个节气.(一年有24个节气分别是什么)