2025-11-20 07:25:35
端口号用16位二进制数表示,因为最大值是65535,等于2的16次方减一。传统端口0-1023占前10位,注册端口1024-49151占中间14位,动态端口49152-65535占后两位。每个二进制位对应0或1,组合起来就能表示65536种不同端口。
为啥是16位?因为网络协议规定IP地址用32位二进制,其中端口占16位。比如TCP协议栈处理数据时,会先看IP包里的端口号占16位。根据《TCP/IP详解》第五版数据,32位IP地址分成4个8位段,而端口单独占两个8位段,正好16位。这样设计能区分64K个端口,满足万维网、SSH等常用服务需求。比如80端口(HTTP)的二进制是0000,而443端口(HTTPS)是0000。16位足够覆盖所有实际使用的端口,既不会浪费资源,也不会超出硬件处理能力。
本题链接: