局域网网络地址转换( 二 )
普通的NAT,也就是一个外网地址对应一个内网地址NAPT,一个外网地址可以对应多个内网地址,利用端口号Easy IP ,工作原理和NAPT相同,是一种NAPT的特例收工!睡觉~ 啊~既然 @肖宏辉 老师提到了网络审查,我也说一句,的确有这个东西。很正常。。甚至你在宾馆上网都会有记录敏感行为的记录器,无论是旁挂还是串联,都能做到对个人流量的审计,所以在互联网中,还是我的一句话,找到某个人做了什么事只是取决于找到这个人所花费的时间和精力成不成正比。所以,大家还是乖乖的好~ 木马~
■网友
NAT/PAT。@Nero Tian 的解释到位。网络数据包经过路由器或者NAT设备时,NAT设备把私网的IP换成公网的IP,但是把当前请求映射在公网IP的某一端口上。这样从外面看来,整个校园的网络数据包都是从有限的几个公网IP的各个端口出来的。这个场景让我想到了这面这个图,到了外网,我们都是V。
但是你的数据包不仅要发出去,还要接回来。那怎么接回来?NAT设备会登记相应的端口映射关系,即会记录你的私网IP。这样当数据包回来了之后,就能发回到私网IP设备。所以,在带上面具前,还要在NAT设备上登记一下。
曾经听说,某学生在外网论坛发表反动言论,第二天派出所就来人把机箱和人给没收了。所以,各位在学校的同学,玩键盘的时候也悠着点。
■网友
一家人都需要出门,可是只有一条裤子,怎么办?谁出门谁穿!
一样的道理,有限的公网IP,谁上公网分配一个公网IP给谁,不用了就收回。这也就是所谓的Basic NAT。
但是公网IP资源少的情况下,很容易就不够用了,怎么办?TCP/UDP协议使用端口来区分不同的会话,TCP报文中端口使用2个字节来记录,也就是最多65536个,一个用户通常都使用不到那么多的会话,所以在公网出口,谁需要发起一个访问公网的会话就分配一个公网-IP端口给他,会话结束了就收回这个公网IP-端口对。这就是所谓的NAT-overload或者NAPT。实现了地址的复用后,资源的局限不再是IP的数量,而是会话的数量,不管内网有多少用户上网,只要同时发起的会话数不超过公网IP数*65536就行了。
好吧,65536个端口只是理论值,通常网络设备都有一些保留,一些linux发行版本默认使用1025~65535,但是做上网代理,一般的企业网、校园网都足够用。
那么公网地址实在少而内网用户又很多,端口复用都不够怎么办?一些网络设备推出了port extend的功能。一个会话可以用源地址-源端口-目的地址-目的端口四元组表示,只要访问的目的地址和端口不一样,源地址和端口可以共用,这样就实现了端口的复用,只有在极少数极端的情况下,才可能出现公网IP-端口不够用的情况。
一些反向代理/负载均衡设备也采用的是这种办法。
但是nginx,haproxy之类软代理做不到端口复用。通常情况下linux不允许一个tcp端口在释放前被不同的socket bind(),但是可以通过setsockopt()修改SO_REUSEADDR/SO_REUSEPORT的值来实现复用,一些基于linux核心的网络设备就是用这样的办法结合hash表、多进程来实现port extend的。当然udp不存在这个问题。
■网友
没人说大型互联网公司网站,并发连接超过65535,怎么办?
■网友
其实就是nat,napt的啦,如果题主用的是linux,并且拥有root权限的话,可以输入
cat /proc/net/nf_conntrack
【局域网网络地址转换】 里面可以看到一条“会话”的转化,其中就包括了往返的内网 ip,port 和 外网 ip,port.
推荐阅读
- 郑州警方查获一盘踞境外网络赌博犯罪集团冻结资金逾5亿元
- 『徐州』徐州这群留守儿童的纯净声音抚慰人心 “6秒童声合唱团”走红网络
- 长春评选“网络奋斗者”:互联网成更多普通人创业工具
- 西藏首台5G网络车载移动CT仪器投用
- 用EagleGet下载时总提示无效URL地址,无法下载,而用迅雷、QQ旋风则可以,咋回事~
- 诈骗钱财|冒充专家高价兜售“特效药”、谎称卖口罩骗定金……警惕这些网络诈骗
- |龙城高级中学建校地址确定 总用地面积8.24万平
- 媒体聚焦网络知产保护:强化企业社会责任,完善行业监管体系
- 网关地址为10.28.23.254 怎样知道它的子网掩码与ip地址
- 京东的客服+网络安全啥水平
