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


当前回答

应该是65535。

其他回答

根据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,临时保留范围等,都是具体实现(即OS/驱动程序)特定的,然而,包括0在内的所有端口在RFC 793中都是有效的端口。

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

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

根据我的理解,你应该只使用49151,因为49152到65535是为临时端口保留的

应该是65535。

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

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