ps4吧 关注:1,871,312贴子:51,869,907

【科普】NAT类型详细科普及提升NAT类型的方法

只看楼主收藏回复

NAT可以说是被各路大佬科普过了,今天我从一名程序员的角度来讲解一下什么是NAT,为什么NAT会有各种类型,又如何改变我的NAT类型。而关于大家最感兴趣的提升NAT类型的部分我可以保证,只要操作没有问题,最后的效果和你的网络没有任何关联,就算你是城中村亦或者是辣鸡校园网,都是完全可以通过软件层面上改写数据包来实现full cone(nat中最高级别,对应ns的natA,ps4的nat2中最好的),甚至可以享受公网ip的待遇(nat中最高级别,对应ns的natA,ps4的nat1)
同时本帖也用于记录我终于成功完成了路由器稳定的full cone nat以及不稳定到ping命令跑不过但是就是能上网而我也懒得知道为什么的公网ip映射


IP属地:北京1楼2018-12-10 23:58回复
    第二楼用于解答问题


    IP属地:北京2楼2018-12-10 23:59
    收起回复
      首先在看本篇文章之前你需要明白,现在的加速器在很多时候已经能满足大多数的玩家的需求,不管是nat类型改变还是说网络线路的选择,网络加速器可以说是比自己搭建的灵活性和效果好得多,而且面向主机的加速器也逐渐增加,支持多种路由器的加速器插件也逐渐出现,本文中的方法比较复杂并且需要一定的计算机知识,相比之下网游加速器可以说是更好的选择,如果你只是轻度游戏玩家,那么我推荐了解完NAT以及NAT类型相关的知识,就可以看兴趣品读一下我的解决思路而不要去实际操作(会自闭的)


      IP属地:北京3楼2018-12-10 23:59
      收起回复
        NAT简介
        首先现在的大多数设备的网络采用的ipv4网络,ipv4中ip的定义为x.x.x.x,其中每一位为0-255,所以全球的ip总数256^4,这个数量是不足够全球使用的,为了保证每个人都能有ip使用,NAT技术诞生了。
        NAT的思路很简单,将一个公网ip下的子网ip发送的数据包转换成自身的数据包进行发送,然后再把收到的数据包还给子网ip。
        打个比方就像是大学宿舍4个人,选出来一个人去上课,不管是签到还是通知都由这个人来负责,这样一来,可能教室中只有一小半人,但是签到一个不少,这个被选出来的人就是那个公网ip,其余的3人就是下面的子网ip,这样就解决了ip不够的情况。
        由此可见产生nat的直接原因就是你的电脑并没有真正的公网ip,你的电脑只是运营商手中的那个公网ip下面的众多电脑中的一台,所以如果能向运营商获得公网ip就可以实现ps4的nat1(无nat),但是这并不容易,因为有可能你的运营商甚至都没有公网ip而是从别的运营商手里拿到的一堆子网ip再分给你的,或者说你不可能找校长给你分配个公网ip


        IP属地:北京4楼2018-12-10 23:59
        收起回复
          NAT类型简介
          那么知道了什么是NAT那么为什么NAT还分成好几种类型呢?这是因为出于安全考虑,NAT类型越封闭你的计算机越安全,甚至在windows上,就算你外面是公网ip,出于安全考虑防火墙都能把你的NAT类型降低不少
          NAT一共分为2大类
          第一类是克隆(cone)类型,而克隆又分成
          全克隆(Full Cone)
          ip地址限制型(AddressRestricted Cone)
          端口限制型(Port Restricted Cone)
          第二类是对称(Symmetric)类型
          在ps4上这4中都是nat2,而对称性如果端口无法转发则是nat3(可以理解成纯正的对称,尝试拯救失败的那种),而ps4上的nat1则是无nat(ps4上的ip就是公网ip)
          对于ns则能确定的是全克隆是a,中间两种应该是b,对称型是c,至于那些f都出来的我实在不知道是咋分出来的


          IP属地:北京5楼2018-12-10 23:59
          收起回复


            IP属地:湖南来自iPhone客户端6楼2018-12-11 00:00
            回复
              在讲这几种NAT分类之间的区别之前我首先先科普一下ip和端口之间的关系,对于每个ip它都有0~65535共65536个端口,端口的作用是用来区分数据包,同一台电脑上有很多应用在上网,为了区分数据包是给哪个应用的我需要给每个应用分配一个端口,每个端口就像是银行的服务台,不同的窗口不同的业务,只有去对应的窗口才能办对应的业务,如果我想让别人能在我这里办理业务,我也需要打开我这个窗口,这样别人看到窗口打开了才能把单子递进来。
              对于NAT则是同时还要用于区分不同的电脑,老师发文件,如果不说明是发给谁的,那么这个代表也不知道是给自己的还是给寝室里面别人的,所以寝室里面的人在不同作业上写上编号然后给代表,和代表说老师发回来的评语上也写相同的编号这样我就知道这个评语是我哪份作业的了,代表就在跟老师这么说,但是同时如果3个人的语文都用的1编号,那么代表可能会把这3份作业分到123这3个编号上,这样一来给回来1就知道是第一个人的语文作业的评语了,然后再把评语写上1给第一个人,而如果老师给了一个4过来,代表就知道了,这个文件是给我的不是给那三个人的,不过在实际中端口是双方的,老师发送评语过来也是有一个端口的,代表会把作业给老师的3号窗口,然后3号窗口再返回给代表,也就是 甲:1发送给 代表 ,代表:1 发送给 老师:3 , 老师:3 发送给 代表:1 ,代表 发送给 甲:1 这样的一个通信过程,其中两个没有冒号的代表是因为在这个过程中我只是转发了数据包并不是要交给代表的某个应用处理,我只是给你让你帮我交作业而已


              IP属地:北京7楼2018-12-11 00:00
              回复
                通过这个过程就可以发现NAT最大的问题就是NAT这边的电脑如果想让外面的人访问进来就必须我访问过外面的人,这样,才会有给代表1的文件都给我的1这样的一个映射,否则所有的文件都会变成给代表的而不是给我的了,所以在p2p联机中,能够通过一定的手段让外界的人访问到我就很关键了,而在不同的NAT类型中则还会有一定的不同


                IP属地:北京8楼2018-12-11 00:00
                回复
                  该楼层疑似违规已被系统折叠 查看此楼


                  IP属地:北京9楼2018-12-11 00:00
                  回复(1)
                    总结下来,在B:b和A:a在与C:c通信的过程中建立过关系后对于接收的时候D:d向B:b发送数据包,如果无条件把文件给A:a就是全克隆,如果B:b(注意要求端口)之前给D发送过数据包的情况下才转发给A:a否则阻止那么就是ip地址限制型,如果如果B:b(注意要求端口)之前给D:d发送过数据包的情况下才转发给A:a否则阻止那么就是端口限制型,如果直接丢弃则是对称型


                    IP属地:北京10楼2018-12-11 00:01
                    回复
                      该楼层疑似违规已被系统折叠 查看此楼


                      IP属地:北京11楼2018-12-11 00:01
                      回复(1)
                        技术贴,资瓷


                        IP属地:贵州来自iPhone客户端12楼2018-12-11 00:02
                        回复
                          干货啊,不错


                          IP属地:安徽来自Android客户端13楼2018-12-11 00:05
                          回复
                            写的好,mark了


                            IP属地:新疆来自iPhone客户端14楼2018-12-11 00:06
                            回复
                              收藏


                              IP属地:上海来自Android客户端15楼2018-12-11 00:11
                              回复