TCP(传输控制协议)

更新时间:2023-07-30

TCP定义

TCP代表 传输控制协议。它是一种传输层协议,有助于将数据包从源传输到目标。它是一种面向连接的协议,这意味着它在网络中的计算设备之间发生通信之前建立连接。此协议与IP协议一起使用,因此它们一起称为 TCP/IP。

TCP的主要功能是从应用层获取数据。然后,它将数据分成几个数据包,为这些数据包提供编号,最后将这些数据包传输到目的地。另一方面,TCP将重新组装数据包并将其传输到应用层。众所周知,TCP是一种面向连接的协议,因此连接将保持建立状态,直到发送方和接收方之间的通信未完成。

TCP的工作原理

为了确保每条消息完好无损地到达其目标位置,TCP/IP 模型将数据分解成小包,然后在另一端将这些包重新组装成原始消息。与一次性发送所有内容相比,以小块信息的形式发送信息可以更轻松地保持效率。 

将特定消息分解为数据包后,如果一条路线堵塞但目的地保持不变,则这些数据包可能会沿多条路线传输。

TCP的工作原理
我们可以看到消息被分解,然后在目的地以不同的顺序重新组装

例如,当用户在世界某个地方的互联网上请求网页时,服务器会处理该请求并将 HTML 页面发送回该用户。服务器使用称为 HTTP 协议的协议。然后 HTTP 请求 TCP 层设置所需的连接并发送 HTML 文件。

TCP协议的特点

以下是TCP协议的功能:
  • 传输层协议
TCP是一种传输层协议,因为它用于将数据从发送方传输到接收方。
  • 可靠
TCP是一种可靠的协议,因为它遵循流和错误控制机制。它还支持确认机制,该机制检查数据的状态和声音到达。在确认机制中,接收方向发送方发送正确认或负确认,以便发送方可以了解数据包是否已收到或需要重新发送。
  • 维护数据的顺序
此协议确保数据以发送的相同顺序到达预期的接收器。它对每个段进行排序和编号,以便目标端的TCP层可以根据它们的顺序重新组装它们。
  • 面向连接
它是一种面向连接的服务,这意味着数据交换仅在连接建立后发生。数据传输完成后,连接将终止。
  • 全双工
它是全双工意味着数据可以同时在两个方向上传输。
  • 面向流
TCP是一种面向流的协议,因为它允许发送方以字节流的形式发送数据,也允许接收方以字节流的形式接受数据。TCP创建了一个环境,其中发送方和接收方都通过称为虚拟电路的假想管连接。这个虚拟电路在互联网上传输字节流。

需要传输控制协议

在网络模型的分层架构中,整个任务被划分为较小的任务。每个任务都分配给处理该任务的特定层。在 TCP/IP模型中,有五层是应用层、传输层、网络层、数据链路层和物理层。传输层在为直接应用程序进程提供端到端通信方面起着关键作用。它创建65,000个端口,以便可以同时访问多个应用程序。它从上层获取数据,并将数据分成较小的数据包,然后将它们传输到网络层。
技术合作计划(TCP

技术合作计划的工作

在TCP中,连接是使用三次握手建立的。客户端发送带有序列号的段。作为回报,服务器使用自己的序列号以及确认序列发送其段,确认序列比客户端序列号多一个。当客户端收到其段的确认时,它会将确认发送到服务器。这样,在客户端和服务器之间建立了连接。
技术合作计划(TCP

技术合作计划的优势

  • 它提供面向连接的可靠服务,这意味着它保证了数据包的传递。如果数据包在网络上丢失,则TCP将重新发送丢失的数据包。
  • 它提供了一种使用滑动窗口协议的流控制机制。
  • 它通过使用校验和提供错误检测,并使用返回或ARP协议提供错误控制。
  • 它通过使用网络拥塞避免算法来消除拥塞,该算法包括各种方案,例如加性增加/乘法减少(AIMD)、慢启动和拥塞窗口。

TCP的缺点

它增加了大量的开销,因为每个分段都有自己的TCP标头,因此路由器的分段会增加开销。

TCP标头格式

技术合作计划(TCP
  • 源端口:它定义发送数据的应用程序的端口。因此,此字段包含源端口地址,即16位。
  • 目标端口:它定义接收端应用程序端口。因此,此字段包含目标端口地址,即16位。
  • 序列号:此字段包含特定会话中数据字节的序列号。
  • 确认编号:设置ACK标志后,它包含数据字节的下一个序列号,并用作对先前接收数据的确认。例如,如果接收方收到段号“x”,则它会响应“x+1”作为确认号。
  • 赫伦:它指定标头中4字节字指示的标头的长度。标头的大小介于20到60字节之间。因此,此字段的值将介于5和15之间。
  • 保留:它是一个保留供将来使用的4位字段,默认情况下,所有字段都设置为零。
  • 标志 有六个控制位或标志:
    1. URG:它代表一个紧急指针。如果已设置,则紧急处理数据。
    2. ACK:如果ACK设置为0,则表示数据包不包含确认。
    3. PSH:如果设置了此字段,则它请求接收设备将数据推送到接收应用程序,而不对其进行缓冲。
    4. RST:如果已设置,则它请求重新启动连接。
    5. SYN:它用于在主机之间建立连接。
    6. FIN:它用于释放连接,不会发生进一步的数据交换。
  • WINDOW大小
    这是一个16位字段。它包含接收器可以接受的数据大小。此字段用于发送方和接收方之间的流量控制,还确定接收方为段分配的缓冲区量。此字段的值由接收方确定。
  • 校验和
    这是一个16位字段。此字段在UDP中是可选的,但在TCP/IP的情况下,此字段是必填字段。
  • 紧急指针它是指向紧急数据字节的指针
    (如果URG标志设置为1)。它定义一个值,该值将添加到序列号中,以获取最后一个紧急字节的序列号。
  • 选项它提供了其他选项。可选字段以32位表示。如果此字段包含的数据小于32位,则需要填充才能获取剩余位。

下一篇

SBC是什么-企业为什么需要SB以及应用场景

通信百科

SBC是什么-企业为什么需要SB以及应用场景

sbc一种NAT穿透的方式。SBC可确保VoIP 安全,又可提供媒体代理服务器的套件。SBC架构于IMS网络之上,可作为IMS网络的SIP和RTSP的 Proxy Server,所有的SIP与RTSP讯息都会透过SBC来处理,SBC更具备N... ...

相关内容

TCP与UDP区别

TCP与UDP区别

您可能已经看到了这些术语:TCP和UDP。TCP代表传输控制协议,UDP或用户数......

通信百科

2023-10-13

实时传输协议(RTP)和实时控制协议(RTCP)功能

实时传输协议(RTP)和实时控制协议(RTCP)功能

利用RTP可提供大量的实时业务,特别是语声业务和视频业务。RTP主......

通信百科

2022-04-11

TCP/IP协议组

TCP/IP协议组

路由信息可通过于工方式或许多为此目的而设计的公共协议来传播,例如:选路信息协议(......

通信百科

2022-04-02