服务器如何区分来自同一IP地址和端口的多个请求?

服务器如何区分来自同一IP地址和端口的多个请求?

当多个请求发送到同一个服务器时,端口号为 80 或其他来自同一个 IP 地址比如,来自 NAT 后面的计算机或来自同一台计算机但不同的浏览器或同一台计算机上的不同应用程序,服务器如何区分它们并能够答复?

答案1

客户端将对每个 TCP 会话(请求)使用不同的源端口,因此每个连接都有 4 个相关参数:

  • 源 IP
  • 源端口
  • 目标 IP
  • 目的端口

正如您在 netstat 输出中看到的,例如,我的 Web 浏览器在不同的源端口(40092、40094、40096)上与 StackExchange 网络有多个连接:

tcp        0      0 192.168.x.42:40092     151.101.129.69:80       TIME_WAIT  
tcp        0      0 192.168.x.42:40096     151.101.129.69:80       TIME_WAIT  
tcp        0      0 192.168.x.42:40094     151.101.129.69:80       TIME_WAIT  

服务器将能够根据客户端使用的源端口区分连接。

相关内容