我了解每个IP地址具有65,535个端口的背后的原始原因:这是可以由16位或2字节数字表示的最高数字,并且无法想象计算机能够再保留更多的空间而不是像端口之类的琐事或类似的东西。实际上,每个端口可能需要超过1位,因为每个端口都可以打开,阻塞,“隐身”或其他,但是出于某些原因,人们总是说端口以16位数字运行。如果我有任何此错误的部分,一定要告诉我。
但是,在当今大多数计算机都是32位且具有足够的内存/空间可用来容纳更多端口的世界中,为什么我们仍然有这么多端口?我们正在过渡到HTML5,HTTP2.0,IPv6和其他绝对不同的版本,那么为什么端口不一样?其中许多允许超过16位。实际上,IPv6允许16 个字节!我知道其中许多距离还需要数年甚至数十年,但是为什么所有这些升级问题都the之以鼻,而不是窥视更多的端口(我,一个业余爱好者已经听说过)?
我看到保留65,535个端口的唯一两个原因是让大企业保留其旧的旧系统,这并不是一个好理由,而嵌入式系统的兴起(其中许多系统很小,占用的空间,内存等却很少)。很快就进入了互联网,其中许多是物联网的一部分。使用这些嵌入式系统,也许我们可以让它们具有更少的端口,并且当一台大型台式计算机尝试连接一个端口时,由于婴儿嵌入式系统只能使用约65,000个端口,因此可以说它很温和。
另一方面,我可以想到一些充分的理由来拥有更多的端口,其中大部分与NAT和其他系统有关,在这些系统中,不止一个私有IP地址必须使用相同的公共IP地址与Internet的其余部分进行通信,例如虚拟机在同一台计算机上的兴起,它们都使用相同的IP地址。从技术上讲,每个VM IP地址都有65,535个端口,但实际上它们都使用主机的端口。在这种情况下,这些系统可能会很快耗尽端口。另一特定情况是运营商级NAT,其中一个公用IP地址被转换为几个专用IP地址,而这些专用地址中的至少一个被转换为另一组甚至更多的专用地址。同样,每个私有IP地址从技术上来说都有自己的65,535个端口集,但这只是一种幻想,当数据发送到公共Internet时,它们正在使用公共IP的端口。我不确定我们本身是否一定需要NAT,但是即使IPv6会给我们带来大量费用,我们也需要类似的东西来保存地址。当我们遇到这样的情况时,我们能负担不起不超过65,535个端口的费用吗?
那么,为什么我们仍然只有65,535个端口,并且有任何计划允许更多?
PS我知道每个IP地址在技术上有65,536个端口,但是端口0通常不用于任何用途。