好的,计算机具有用于应用程序的端口,用于将数据从外界传输到防火墙,然后再传输到计算机。
那么,Firefox和Internet Explorer如何在同一台计算机上使用同一端口?
为什么我们不能使用端口80将所有位置的所有流量传递到计算机。
那么为什么我们需要特定的端口?
通常,重要的不是本地端口。这是远程端口。
因此,当您打开浏览器并转到站点时,您正在建立从一端的(某种)随机端口到服务器端的端口80的连接。服务器在同一连接上回复您。Web服务器使用TCP / IP,因此这就是所谓的建立的连接。如果您要查看网络流量期间连接到的服务器上的netstat -an,那么您将看到的正是:
tcp 0 0 ::ffff:192.168.1.223:22 ::ffff:192.168.1.230:2369 ESTABLISHED
该行表明我的本地计算机已在端口22上建立了到远程计算机的连接。我的本地计算机选择了2369的随机传出端口进行此连接。在这种情况下,这是到我地下室Web服务器的SSH连接。
此处列出了服务器应用于特定服务的端口,但是,如果您要控制连接的两端,则没有什么可以阻止您在端口8383上运行Web服务器。只是不要期望其他人在不告诉他们的情况下接触它。(或者在端口扫描中找到它)。
如果您在计算机上运行网络服务器,它将打开端口80并监听连接。每个IP地址只能监听一个服务,因此您不能一次运行两个Web服务器。如果您随后连接到本地Web服务器,则同样。您将打开一个随机的本地端口,并在同一IP上连接到本地端口80。
打开随机本地端口可以使您与已知的远程端口(例如80)建立多个本地连接。
有65536个可用端口,因此不太可能用完,但是许多端口具有“众所周知”的用法,因此在连接结束时避免使用。通常,高于1023的一切都是公平的游戏。(所有需要任何特权的服务都在1023以下的端口上运行)
这是一个TCP / IP连接。TCP / IP具有内部语言以确保信息的可靠传递,并在每个连接打开时进行握手以确保可以传输数据。
另一种常见的连接类型是UDP。UDP无法建立连接,因此速度稍快且延迟较低,但是使用它的程序必须能够释放信息并仍能正常工作。基本上,这是发送数据和祈祷协议。许多在线游戏都以这种方式工作。