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

有帮助吗?

解决方案

端口号是无符号的16位整数,因此为65535。

其他提示

最大端口号是无符号短路2 ^ 16-1:65535

注册端口是由互联网名称与数字地址分配机构(ICANN)指定用于特定用途的端口。每个注册的端口都在1024– 49151范围内。

自2001年3月21日起,注册机构是ICANN;在此之前是IANA。

数字低于注册端口的端口称为众所周知的端口;数字大于已注册端口的端口称为动态和/或私有端口。

维基百科:注册港口

根据我的理解,你最多只能使用49151,因为从49152到65535只保留短暂的端口

smashery的后续跟进的回答。短暂的端口范围(至少在Linux上,我怀疑其他Unices)也不是固定的。这可以通过写入来控制 <代码>的/ proc / SYS /净/的IPv4 / ip_local_port_range

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

根据RFC 793,端口是16位无符号整数。

这意味着范围是0 - 65535。

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

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

因此,使用0-65535范围内的端口(包括0,短暂预留范围等)的任何限制都是实现(即OS /驱动程序)特定的,但是所有(包括0)都是有效的RFC 793中的端口。

这取决于您所讨论的范围,但动态范围最高可达65535或2 ^ 16-1(16位)。

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

应该是65535。

端口的有效数字为:0到2 ^ 16-1 = 0到65535
那是因为端口号是16位长。

但是端口分为:
众所周知的端口:0到1023(用于系统服务,例如HTTP,FTP,SSH,DHCP ...)
已注册/用户端口:1024到49151(您可以将它用于您的服务器,但要小心一些着名的应用程序:如Microsoft SQL Server数据库管理系统(MSSQL)服务器或Apache Derby Network Server已经在服用从这个范围,即不建议将MSSQL的端口分配给您的服务器,否则如果MSSQL正在运行,那么您的服务器很可能因为端口冲突而无法运行)
动态/私有端口:49152到65535.(不用于服务器而非用于客户端,例如在NATing服务中)

在编程中,您可以为服务器使用任何数字0到65535,但是您应该坚持上述范围,否则由于端口冲突,某些系统服务或某些应用程序将无法运行。
在此处查看大多数端口列表: https://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top