1024端口以下和1024以上端口的区别是否只存在于TCP和UDP协议中?
我想知道在其他协议(即不是 TCP 和 UDP)中是否存在“root”和“非 root”用户之间的这种区别,分别对应于端口 1024 之下和之上的端口。
1024端口以下和1024以上端口的区别是否只存在于TCP和UDP协议中?
我想知道在其他协议(即不是 TCP 和 UDP)中是否存在“root”和“非 root”用户之间的这种区别,分别对应于端口 1024 之下和之上的端口。
即使是 TCP 和 UDP 也没有这样的区别。阅读这些协议的 RFC,这里没有提及。IANA 分配端口号,并决定 1024 以下的端口是众所周知的端口号。请参阅服务名称和传输协议端口号注册表,其中 IANA 为不同的功能选择了不同的端口范围:
端口号以多种方式分配,基于三个范围:系统端口 (0-1023)、用户端口 (1024-49151) 和动态和/或专用端口 (49152-65535);[RFC6335] 中描述了这些范围的不同用途。根据 [RFC6335] 的第 8.1.2 节,系统端口由 [RFC8126] 中描述的“IETF 审查”或“IESG 批准”程序分配。根据 [RFC6335],IANA 使用“IETF 审核”流程、“IESG 批准”流程或“专家审核”流程分配用户端口。未分配动态端口。
碰巧的是,操作系统制造商决定限制某些端口号,但这在这里是题外话。即使是不同的操作系统供应商也不同意所有的端口分配。IANA 所谓的动态或私有端口(临时端口)实际上是不同操作系统上的不同范围。
您看到的区别不是协议的一部分,它是操作系统制造商根据 IANA 分配区别实施的。