HTTP服务器通常在端口80上运行。然而,当今大多数NAT路由器都将端口分配给传出的请求,因此它们应该知道,当请求返回时,应该连接的是哪台计算机。他们这样做是因为即使路由器后面的所有计算机都被赋予了公共IP地址,而它们是本地IP地址,它们也只能使用一个公共IP。这意味着它们仅适用于该路由器后面的每个人。
那么服务器如何处理这个问题。它仅在端口80上工作,并且路由器根据可用端口和编程方式在其希望执行的任何端口上发送。
我的理解:
计算机A到路由器。22.22.22.22.22:80
通往世界的路由器:12.68.191.1.102:1-ISP给出了IP地址:用于区分与其连接的计算机的端口。
怎么办
也许端口和源端口之间存在差异。
您混淆了源端口和目标端口。当请求发送到HTTP服务器时,目标端口是80,因为这是Web服务器通常侦听的端口。NAT路由器可以选择所需的任何源端口。当他们收到答复时,他们将使用目标端口(和其他信息),该端口应与为出站数据包选择的源端口相匹配,以了解数据包与哪个连接相关联。
您的计算机必须执行相同的操作。假设您启动了两个不同的浏览器,并且每个都指向superuser.com
。您认为您的计算机如何判断传入数据包属于哪个TCP连接?
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句