我对tcp多路分解感到困惑?

时间:2015-11-14 13:20:14

标签: sockets tcp

我研究过服务器进程有“欢迎套接字”,等待tcp客户端建立连接。 建立连接后,服务器进程将创建一个新套接字,以便为新客户端保持欢迎套接字打开。 当tcp服务器收到段时,它会记录连接请求段中的以下四个值:

  1. 段中的源端口号
  2. 源主机的IP地址
  3. 细分中的目标端口号,
  4. 自己的IP地址。
  5. 我很困惑,当tcp客户端在启动时发送连接建立请求时,它会附加服务器的欢迎套接字的目标端口号。 然后在建立连接后,在其标题,新创建的套接字的端口号或欢迎套接字的端口号中传送数据时它将发送什么? 客户端进程将如何了解新创建的套接字端口号?

1 个答案:

答案 0 :(得分:0)

  

建立连接后,在传递数据时会发送什么   在其标题中,新创建的套接字的端口号或欢迎套接字   端口号?

新创建的套接字端口号将与原始套接字的端口号相同。也就是说,两个套接字将共享原始端口号。这不会导致任何问题,因为TCP连接由5元组值(协议号,源IP,源端口,目标IP,目标端口)唯一标识,并且此5元组对于新的TCP连接将是唯一的即使它的目标端口子集不是。