三种端口类型(知名、注册和动态)之间有什么区别?即与每个类别相关的用途和端口号之间的区别。
目前我了解每个类别的端口范围如下:
知名:最多 1023。
已注册:1024 至 49151 之间。
动态:49152 至 65535 之间。
答案1
存在一些实际的和一些常规的差异。
实际的:
- 在 Unix 和类 Unix 系统上,只有超级用户才能将服务绑定到 <1024 的端口。这些端口由因特网工程任务组[1](IANA 表示 [2] 它们是由 IETF 分配的,并且 IETF 表示 [1] 它们是由 IANA 分配的,但它们意味着 IETF建议分配,IANA 保存权威列表)。
传统的:
- 端口 1024--49151 可供注册互联网号码分配机构用于更常见的目的,因为它们可供普通用户绑定。这就是为什么它们用于游戏服务器的原因。注册是为了避免端口冲突(无论如何都会发生,因为不是每个人都认为注册是值得的)。
- 端口 49152--65535 明确不是可供注册 [2] 确保它们可以被任何应用程序使用,在确认它们尚未被使用后。由于可以注册 1024-49151 范围,如果某个应用程序占用该范围内的第一个可用端口,则注册的应用程序稍后启动时可能会发生冲突。同样,能够“确定”(理论上)某个端口对应于某个服务也具有优势。
所有这些提到的差异都是通过 [2],但实际上,正如我所提到的,并不是每个人都遵守已注册的端口分配。您会发现几乎没有列出任何常见的游戏服务器端口(例如,反恐精英的 27015、星际争霸的 6889),并且实际上还有常规系统端口(Direct Connect 的 411)也未注册。端口 <1024 上的超级用户绑定要求也只是操作系统的限制。
IANA 保存有关端口号分配的权威列表 [2]。