一台电脑的端口是0-65535,端口在使用时不能重复。那么电脑会怎么分配这些端口呢?
一、端口分成两大块
1. 知名端口(0 ~ 1023)
固定给服务器用的,比如:
- 80 = HTTP
- 443 = HTTPS
- 22 = SSH
- 21 = FTP
- 53 = DNS
这些是固定死的,除非自己修改服务器端口,否则不会变。
2. 动态端口 / 临时端口(1024 ~ 50175 或 1024 ~ 65535)
给客户端上网用,比如打开浏览器、微信、游戏时,系统自动分配。
这个 “或” 字,指的是不同操作系统 / 环境下,动态端口(临时端口)的取值范围不一样,二选一,不是说端口会同时属于两个区间!
1024 ~ 50175:这是传统的临时端口范围,常见于早期 Windows、部分 Linux 发行版,是历史上常用的标准区间。1024 ~ 65535:这是现代的临时端口范围,比如新版 Linux、Windows Server、macOS 等系统,默认都把临时端口扩展到了整个非特权端口区间,也就是 1024 以上的所有端口都可以用。
二、电脑到底怎么分配端口呢?
打开一个网页:
- 浏览器需要一个临时端口
- 系统从 1024 以上随便挑一个没人用的
- 分配给浏览器
- 用完关闭浏览器,端口自动回收
三、为什么不会重复?
因为系统内部有一张端口占用表:
- 哪个程序用了哪个端口
- 哪个端口正在被占用
- 哪个端口空闲