同一台电脑65535个端口真的够用了吗?

发布于 2022-09-04 11:33:41 字数 29 浏览 18 评论 0

未来有没有可能改进协议,让端口大于这个数字。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

就此别过 2022-09-11 11:33:41

65535个端口还不够?
全球现有的IPv4地址一共有2的32次方个。

理论上:

两台互联的电脑之间,使用不同端口,最多可以建立 65535*65535 个TCP/IP连接。
同1个端口(例如都使用80),一台电脑最多可以和全世界所有联网设备建立 2的32次方 个TCP/IP连接。

你要说IP不够用,现在有IPv6了,端口什么的,真心够用了。
监听一个端口,至少需要1个线程吧。
一般的电脑,据说几千个线程,操作系统连线程的调度都会很卡,根本用不到这么多端口。

Update at 20170620:
来来来,不服就踩,毕竟只敢匿名玩的辣鸡。

总结答案,别说65535个端口,即使只有1个端口也够了。
在协议完善,复用充分的情况下,可以实现无限量的通信需求。
同理,你要觉得操作系统1个进程不够用,用一个进程开个虚拟机,爱怎么玩怎么玩。

回复评论:
Q1 监听1个端口(服务方),你连一个线程都不给?怎么做到即时的响应?
Q2 客户端需要一个临时端口,这总得给一个线程吧?先去百度下操作系统能跑多少个线程再说?

最后总结:
考虑端口不够用的,都是设计有问题!
线程比端口,资源紧缺的多,线程数目太多的,也都是设计有问题!
栈深度、栈内存大小、文件路径长度,各种隐含的限制,多了去了,但是你要是遇到了,基本都是设计有问题!

﹉夏雨初晴づ 2022-09-11 11:33:41

其实这就是「多路复用」的概念 —— 在一个信道上传输不同的数据流。其实 TCP/UDP 就是在 IP 上的多路复用协议,当然 TCP 还提供了其他很多功能,UDP 则基本上就只是为了多路复用了。UDP 就是在 IP 的基础上加上了一个「头」,其中有端口号等信息,让原本的 IP 协议可以分成 65535 个端口。

理解了这个概念,当然你就可以在 TCP/UDP 的基础上承载一个新的协议,来提供更多数量的数据流了。例如 HTTP2 就引入了类似的技术来允许在同一个连接上 同时 传输多个请求。但遗憾的是现在互联网上绝大部分应用是直接基于 TCP/UDP 的,因此你只能在自己的应用中去拓展端口数量,而不能轻易地改变已有的基础设施了。

悲喜皆因你 2022-09-11 11:33:41

有,但是没这个需求

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文