当路由器用完端口号时会发生什么?

Sac*_*Red 5 networking router wireless-networking

我在查看站点 ipchicken ( http://www.ipchicken.com/ ) 时注意到,当我从桌面、手机或大学 wifi访问该站点时,它给了我一个“远程端口”。有一系列端口号(它似乎永远不会超过 65,000 左右)。但是如果我编写一个程序来监听每个端口呢?路由器会用完端口吗?它会阻止新人连接吗?当路由器用完内部端口号时会发生什么?

小智 3

TCP或UDP协议中的端口以16位整数存储,因此只能使用65535个端口。

如果您使用计算机上的每个端口,则任何需要套接字(连接)的应用程序都不会拥有它。在有可用端口之前,listen() 或 connect() 等函数将导致错误。

如果您使用路由器中的每个端口(带有 NAT),则每个新连接都将被缓冲或丢弃。如果路由器只是路由器,而不是带有NAT的网关,则不会存在端口问题,因为不分析传输层(ISO/OSI模型中的第四层)。