端口如何工作
IP 地址负责将流量送到主机或网络接口。TCP 或 UDP 报头中的目标端口会告诉操作系统,应由哪个正在监听的应用程序接收流量。TCP 和 UDP 各自拥有独立的端口号空间,因此 TCP 端口 53 和 UDP 端口 53 是两个不同的端点。
客户端 192.0.2.24:53014 → 代理 198.51.100.8:8080 → example.com:443
这里,53014 是客户端操作系统选择的临时源端口。代理监听 8080 端口,目标网站则通过 443 端口接收 HTTPS 流量。
端口号范围
- **端口 0:**保留端口,通常不作为服务端口使用。
- **知名端口,1–1023:**供常见服务使用,例如 HTTP 使用 80,HTTPS 使用 443。
- **注册端口,1024–49151:**与已注册的应用程序和服务相关,但注册并不妨碍这些端口用于其他用途。
- **动态或私有端口,49152–65535:**可用于客户端临时连接或私有应用程序。
不同操作系统使用的临时端口范围可能不同。常见端口号也只是一种惯例:软件可以在 8080 或其他可用端口上提供 HTTP 服务。
IP 地址与端口的区别
| IP 地址 | 端口 | |
|---|---|---|
| 标识对象 | 主机或网络接口 | 服务或应用程序 |
| 用途 | 在网络之间路由流量 | 将流量送到主机内的相应服务 |
| 示例 | 198.51.100.8 |
8080 |
地址与端口共同组成端点,例如 198.51.100.8:8080。防火墙不仅可以根据 IP 地址允许或拒绝流量,还可以根据传输协议和端口作出判断。
代理设置中的端口
配置代理服务器时,通常需要填写主机名或 IP 地址,以及准确的监听端口。这些信息用于标识代理网关,而不是目标网站的端口。
例如,客户端可以连接到监听 8080 端口的代理,并要求代理连接 example.com:443。代理端口填写错误可能导致连接被拒绝、超时或协议错误。仅凭端口号无法确定所用的代理协议或加密方式,因此应按照提供的连接设置进行配置。
常见问题
代理应该使用哪个端口?
使用与代理主机名或 IP 地址一同提供的指定端口。代理没有通用端口,尽管 8080 和 1080 等端口号常用于代理服务。
端口 8080 一定是 HTTP 代理吗?
不一定。8080 常用于非标准端口上的 HTTP 服务和代理,但任何应用程序都可以监听该端口。必须查看服务配置才能确定。
TCP 和 UDP 可以使用相同的端口号吗?
可以。TCP 和 UDP 各自维护独立的端口号空间,因此应用程序可以同时通过两种协议监听相同的端口号,但必须分别打开并处理每种协议。