端口和它们的作用

6 networking unix apache-http-server hosts

我很好奇端口号的作用。是否有特定事物的特定端口号?

我知道有端口 80,我顺便听说了 8000。我不知道为什么要这样称呼它们以及它的实际含义。

我可以有一个网页,比如 example.com:10?我说 10 作为一个随机数。你称之为端口有关系吗?这些数字从何而来?我将如何使用端口号设置开发环境,为什么要这样做?在开发过程中,我会看到各种基于身份的端口号。我一直想知道这些数字来自哪里以及它们如何配置服务器以使其工作。

Tom*_*mmy 5

将您的网络接口想象成一个巨大的装货码头(如 UPS 集线器或其他东西)。每个货舱门都有一个编号。默认情况下,运载某些类型货物的卡车使用某些装卸码头。通过拥有多个装卸码头,集线器一次可以处理不止一辆卡车,并有助于保持货物类型的隔离。

现在您已经有了这个可视化,计算机上的端口号是相似的。您有 TCP 和 UDP,其中 TCP 的端口范围为 1-65535。那就是这些数字的来源。现在,其中一些端口是为常见流量类型保留的。例如,80 代表 HTTP,443 代表 HTTP-SSL,21 代表 FTP,25 代表 SMTP,110 代表 POP3。当然还有更多,但我希望这有助于总体思路。现在,您可以将非保留端口用于您想做的事情,但我不会使用像 10 这样的低端口。如果您想在备用端口上托管您的站点,请选择 8080 或 8443(备用 HTTP- SSL 端口),一些未被保留的数字或众所周知的 HTTP 流量备用端口。

使用备用端口是因为您一次只能让一个服务侦听特定端口。例如,您不能让 Apache 和 IIS 在同一台机器上同时在端口 80 上侦听 Web 请求。这是因为这些服务是不同的,他们将无法分辨谁应该获得什么流量。通过使用不同的端口,这些服务知道该端口上的流量是为它们准备的。

要进行设置,您的终端服务(网络服务器、电子邮件、VPN 等)需要知道要侦听的端口(哪个货舱站在旁边等待货物进出)。此外,您的防火墙也需要为该端口设置一个例外(您的集线器的保安检查是否允许您前往某些地方)。

常用端口列表