默认端口号是否总是4位数?

3

在Windows/Linux/Mac中,默认的端口号总是四位数吗?

既然我们可以自定义端口号,那为什么所有应用程序都提供4位数字的默认端口号?


2
不是真的。例如25、80、443。 - Nguyen Tuan Anh
1
什么是“默认端口”?TCP/UDP端口号范围为1到65535。其中大多数都是五位数。 - Ryan Bemrose
1个回答

7
网络端口号是2字节无符号整数,因此可以是从0到65535范围内的任何数字。0被保留,但除此之外,理论上您可以使用任何数字,只是某些端口与特定含义相关联。您可以在维基百科上查看这些常见端口的列表。虽然您也可以将它们用于应用程序,但很可能它们已经被占用了。
对于自定义应用程序,通常使用“知名”范围之外的一个端口,即四位或五位数字。通常,甚至应该超过49152进入“短暂”空间。这样,冲突的机会就不太常见,您也不会尝试使用常用于特定类型应用程序的端口。随机化端口(如果您的应用程序允许)以减少冲突的机会也很常见。

使用大端口号的另一个原因是操作系统可能会限制打开较低的端口号。例如,在Linux上,您需要root权限才能打开1024以下的端口。但打开比1024更高的端口号不需要root权限。这就是为什么许多开发Web服务器使用像8080、8000或3000这样的端口号。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接