小编try*_*sis的帖子

为什么只有 65,535 个端口,我们还会有更多吗?

我理解每个 IP 地址有 65,535 个端口背后的最初原因:这是 16 位或 2 字节数字可以表示的最高数字,而且无法想象计算机能够节省更多而不是像端口这样微不足道的东西,或者类似的东西。实际上,每个端口可能需要超过 1 位,因为每个端口都可以打开、阻止、“隐藏”或其他,但出于某种原因,人们总是说端口以 16 位数字运行。如果我有这方面的任何错误,请务必告诉我。

然而,在一个大多数计算机都是 32 位的世界,并且有足够的内存/空间来腾出几个端口,为什么我们仍然有这么多端口?我们正在迁移到 HTML5、HTTP2.0、IPv6 和其他绝对不同的版本,那么为什么端口不一样呢?其中许多允许超过 16 位;事实上,IPv6 允许 16个字节!我知道其中许多需要几年甚至几十年的时间,但是为什么所有关于这些升级的喋喋不休,甚至没有看到更多端口(我,一个业余爱好者,听说过)?

我能看到的保留 65,535 个端口的唯一两个原因是让大企业保留他们旧的遗留系统,这几乎不是一个很好的理由,以及嵌入式系统的兴起,其中许多很小,空间、内存等都很少。 ,很快就会进入互联网,很多都是物联网的一部分。有了这些嵌入式系统,也许我们可以让它们少一些端口,当一台大型台式电脑尝试连接时,可以说是温和的,因为婴儿嵌入式系统只能使用~65,000个端口。

另一方面,我可以想到一些拥有更多端口的好理由,其中大部分与 NAT 和其他系统有关,其中多个私有 IP 地址必须使用相同的公共 IP 地址与 Internet 的其余部分通信,就像 VM 在同一台计算机上的兴起一样,都使用相同的 IP 地址。从技术上讲,每个 VM IP 地址有 65,535 个端口,但实际上它们都使用主机的端口。在这种情况下,这些系统可能会很快耗尽端口。另一种特殊情况是运营商级 NAT,其中一个公共 IP 地址被转换为多个私有 IP 地址,并且这些私有地址中的至少一个被转换为另一组甚至更多的私有地址。同样,每个私有 IP 地址在技术上都有自己的一组 65,535 个端口,但这是一种错觉,当数据传到公共互联网时,他们正在使用公共 IP 的端口。我不确定我们是否一定需要 NAT 本身,但我们将需要类似的东西来保存地址,即使 IPv6 会给我们提供大量的地址。当我们有这样的情况时,我们甚至能承受不超过 65,535 个端口吗?

那么,为什么我们仍然只有 65,535 个端口,是否有计划允许更多?

PS 我知道技术上每个 IP 地址有 65,536 个端口,但端口 0 通常不用于任何事情。

nat ip virtual-machines port

23
推荐指数
1
解决办法
5万
查看次数

标签 统计

ip ×1

nat ×1

port ×1

virtual-machines ×1