【发布时间】:2016-01-18 01:04:57
【问题描述】:
我在我的电脑中打开 IE 浏览器和 Chrome 并输入 localhost:80 并获得索引页面。
在这里,我认为我的机器的 IP 与两个连接(IE 资源管理器和 Chrome)相同,端口也相同(80)。 注意:源端口会不同(因为目标端口相同:localhost IP),这是我的第二个问题。
那么网络服务器(比如说 apache)如何处理这个端口 80 连接而不会失败?端口转发吗?在操作系统级别,即使我尝试使用 addr 重用、端口重用参数,但都是一样的,我们无法使用相同的 IP 和端口建立多个连接。
现在,您可能想出了一个解决方案:虽然源端口和 IP 相同,但目标端口在包中不同:
<protocol>, <src addr>, <src port>, <dest addr>, <dest port>。 A. 如图所示,我有 49483~50004 个端口。客户端如何知道 webserver 绑定了哪个目的端口(49483~50004)?如果它在 0 到 65355 之间是随机的,那么网络服务器总是绑定所有端口,这是非常消耗资源的。网络服务器如何避免这种情况?
Look at this image: command prompt-> netstat
如果这个问题与底层资源有关,那没关系,我了解嵌入式 TCP/IP/UDP、Phy MAC 通信和包结构。
【问题讨论】:
标签: apache sockets networking tcp webserver