IPv4允许的最大TCP/IP网络端口号是多少?

一个人可以使用的最高端口号是什么?

427382 次浏览

端口号是一个无符号16位整数,即65535。

最大端口号为无符号短2^16- 1,65535

一个注册端口是由Internet公司分配给 指定名称与数字地址分配机构(ICANN)。每一个注册 端口在1024-49151范围内

自2001年3月21日起,注册机构为ICANN;在那之前 IANA。< / p >

小于已注册端口号的端口号被调用 知名港口;端口的值大于 注册端口被称为动态和/或私有端口

Wikipedia: Registered Ports

这取决于你所谈论的范围,但动态范围会上升到65535或2^16-1(16位)。

http://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers

应该是65535。

根据我的理解,你应该只使用49151,因为49152到65535是为短暂的港口保留的

只是smashery的答案的后续。短暂的端口范围(至少在Linux上,我怀疑其他unix上也是如此)并不是固定的。这可以通过写入来控制 /proc/sys/net/ipv4/ip_local_port_range < / p >

唯一的限制(就IANA而言)是小于1024的端口被指定为已知端口。以上端口是免费使用的。 通常情况下,你会发现低于1024的端口被限制为超级用户访问,我相信正是出于这个原因

根据RFC 793,端口是一个16位无符号整型。

这意味着范围是0 - 65535。

但是,在该范围内,端口0 - 1023通常为特定目的保留。我说一般是因为,除了端口0之外,通常没有强制执行0-1023保留。TCP/UDP 实现通常不强制0之外的保留。如果您愿意,可以在80、25或65535端口上运行web服务器的TLS端口,而不是标准的443端口。同样地,即使SMTP服务器在端口25上监听是标准的,您也可以在80、443或其他端口上运行它。

大多数实现保留0用于特定目的-随机端口分配。所以在大多数实现中,说“监听端口0”实际上意味着“我不关心我使用什么端口,只是给我一些随机的未分配的端口来监听”。

因此,对使用0-65535范围内端口的任何限制,包括0,临时保留范围等,都是具体实现(即操作系统/驱动程序),然而,包括0在内的所有端口都是RFC 793中的有效端口。

端口的有效编号为:0 ~ 2^16-1 = 0 ~ 65535
因为端口号是16位长度

但是端口分为:
著名的港口: 0 to 1023(用于系统服务,如HTTP, FTP, SSH, DHCP…)
. 著名的港口: 0 to 1023(用于系统服务,如HTTP, FTP, SSH, DHCP… 注册/用户端口: 1024到49151(你可以为你的服务器使用它,但要小心一些著名的应用程序:像Microsoft SQL server数据库管理系统(MSSQL)服务器或Apache Derby网络服务器已经从这个范围,即不建议分配MSSQL端口到你的服务器,否则如果MSSQL正在运行,那么你的服务器很可能不会运行,因为端口冲突)
动态/私有端口: 49152 ~ 65535。(不用于服务器,而用于客户端,例如NATing服务)

在编程中,您可以为您的服务器使用任何数字0到65535,但是您应该坚持上面提到的范围,否则一些系统服务或一些应用程序将因为端口冲突而无法运行 检查这里的大多数端口列表:https://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers