TCP 套接字响应标识

网络工程 通讯协议
2021-07-06 18:43:32

我的理解是 tcp 套接字由元组 src ip:port 和 dst ip:port 唯一标识。

想象一下,我有一个简单的客户端/服务器应用程序,客户端可以在其中发送一些数据请求消息,服务器通过一个 tcp 套接字唯一地响应该请求。

假设客户端在服务器可以响应其中任何一个之前异步地连续触发一堆请求。客户端稍后会收到一堆响应;每个请求一个。

tcp/ip 堆栈中是否有某种机制可以让您将一个数据包与另一个数据包(即请求和响应)相关联?识别任务是否是数据有效载荷本身中协议的责任?或者这根本就不是 TCP 的工作方式?

2个回答

TCP/IP 将重新组装被分解为 IP 数据包的 TCP 段。从单独的 TCP 段重新组装其他数据报留给上层协议。

TCP 不会盲目地向服务器发送一堆请求;除了最初的三向握手之外,还有一些流量控制机制。

给定一个建立连接并且客户端向服务器发送数据的场景,服务器的响应将包含序列号,以便客户端可以在将数据交给应用程序之前将数据重新组合在一起。