大多用户的上网方案:用路由器共享一个公网 IP 上网。(下有轻微排版,手机党横屏观看更加)
为此,路由器对数据包的地址字段做如下处理:
服务器地址 客户机地址
原数据包 <目的 IP+端口号> + <内网 IP+端口号> 路由器将其映射到
新数据包 <目的 IP+端口号> + <公网 IP+新的端口号> 然后把数据包发出去
在接收反馈时再进行相反的映射。
问题来了,当几十台(保守估计)电脑同时使用路由器,每台电脑有许多进程同时上网时,路由器一共才 65536 个端口号,怎么着也不够用啊。
如果说,路由器端在硬件上扩充端口数,比如扩充到 655360 个,那么处理后的新数据包到达服务器后,其端口号也是非法的,超过上限。
所以到底是如何解决的?(只学过教材上的计算机网络,水平太渣,望不吝赐教)
为此,路由器对数据包的地址字段做如下处理:
服务器地址 客户机地址
原数据包 <目的 IP+端口号> + <内网 IP+端口号> 路由器将其映射到
新数据包 <目的 IP+端口号> + <公网 IP+新的端口号> 然后把数据包发出去
在接收反馈时再进行相反的映射。
问题来了,当几十台(保守估计)电脑同时使用路由器,每台电脑有许多进程同时上网时,路由器一共才 65536 个端口号,怎么着也不够用啊。
如果说,路由器端在硬件上扩充端口数,比如扩充到 655360 个,那么处理后的新数据包到达服务器后,其端口号也是非法的,超过上限。
所以到底是如何解决的?(只学过教材上的计算机网络,水平太渣,望不吝赐教)