家庭宽带网络优化指南:提升NAT类型,降低游戏延迟、提高下载速度
大家办理了宽带后一般会习惯测个速,看下网速有多少,没有达标,喜欢折腾路由器的网友知道除了网速,还有延时、抖动这些指标来衡量网络质量怎么样,延时高了玩游戏就卡,抖动就是指网络的稳定性,还有一个NAT类型,可能知道的人就少了,今天我们就主要分析一下NAT类型对上网的影响。
什么是NAT?
NAT 代表网络地址转换(Network Address Translation),允许多个内网设备共享一个公网IP地址,使内部网络设备能够与外部互联网通信,主要是为了解决IPV4地址不足的问题;NAT通常部署在路由器上。
举个栗子:比如手机访问xzb.cc这个网站,我们手机的ip是192.168.x.x
这种内网的ip是无法在互联网使用的,路由器收到这个访问请求后会把192.168.x.x请求上下载帮
这个IP转换成117.151.x.x请求上下载帮
(路由器外网IP获取的是公网IP的情况)这种请求,服务器收到请求返回数据包,路由器收到网站数据后把这个数据包117.151.x.x下载帮首页数据
转发给手机的ip192.168.x.x
,虽然不严谨、大概是这么个过程,就叫NAT。
通常来说,NAT有四种核心类型:
家庭网络都是使用NAT技术的,一般划分NAT4个类型:NAT1、NAT2、NAT3、NAT4,具体如下:
Full Cone NAT(全锥形):
-
内网主机使用一个固定的公网IP和端口进行所有外部通信。 -
任何外部主机只要知道这个公网IP和端口,就能向内网主机发送数据。
Restricted Cone NAT(IP限制锥形):
-
内网主机使用一个固定的公网IP和端口进行所有外部通信。 -
只有内网主机曾向某外部主机发送过数据,该外部主机才能向内网主机发送数据。
Port Restricted Cone NAT(端口限制锥形):
-
内网主机使用一个固定的公网IP和端口进行所有外部通信。 -
只有内网主机曾向某外部主机的特定IP和端口发送过数据,该外部主机才能向内网主机发送数据。
Symmetric NAT(对称形):
-
内网主机与每个外部主机通信时,会分配不同的公网IP和端口。 -
外部主机只能在收到内网主机的数据后才能回传数据,在安全性上最为严格,但也最容易导致连接问题。
玩过网心云、甜糖、京东云这些PCDN的服务,对NAT类型肯定不陌生了,它们都要求你的网络类型达到:NAT1收益才能最大化,分跑没跑到多少先不说,网络优化可学会了不少知识呢,这波不亏!
NAT类型有哪些影响?
NAT类型主要影响UDP协议的通信性能和稳定性。特别是在需要低延迟和高实时性的应用中,例如在线游戏、VoIP和视频通话。
游戏的影响:玩主机游戏的影响很大,如果你有PS、Xbox、NS 等主机,可以在网络状态里看到 NAT类型;对网络游戏会影响延迟和丢包率,以及匹配系统的效率和成功率。
语音视频的影响:你可能遇到过微信视频提示网络质量不好,但WiFi信号满格的状况,这种情况很有可能是NAT4类型,导致无法P2P连接成功导致的。
BT下载的影响:P2P下载等应用,最为开放的NAT类型,可以连接到更多的资源数,加快下载的速度。
开放性:NAT1>NAT2>NAT3>NAT4
安全性:NAT1<NAT2<NAT3< NAT4
家庭宽带一般是NAT3,Port Restricted Cone NAT(端口限制锥形)。
NAT打洞
NAT 打洞技术基本都是基于UDP协议的,STUN协议是一个专门帮助位于NAT后的网络设备进行点对点连接(打洞)的,要求如下:
NAT1 | NAT2 | NAT3 | NAT4 | |
---|---|---|---|---|
NAT1 | ✅ | ✅ | ✅ | ✅ |
NAT2 | ✅ | ✅ | ✅ | ✅ |
NAT3 | ✅ | ✅ | ✅ | ❌ |
NAT4 | ✅ | ✅ | ❌ | ❌ |
简单总结能实现点对点通信的条件:位于NAT后的设备,NAT类型要:A+B ≤ 6 才可以实现NAT穿越。
NAT类型如何优化?
宽松的NAT环境可以建立直接P2P连接,尽可能避免经过中继服务器,实现更好的网络性能。那么问题来了,如何提升你的家庭宽带NAT类型?这才是重点。
光猫改桥接(建议):路由器拨号+开启Upnp+开启Full Cone网络(如果有此设置,华硕、锐捷可设置)。
光猫路由模式:进入光猫后台开启Upnp,路由器设置成AP模式(有线中继),减少一层NAT设备更容易达到NAT2以上。
注意:路由器DMZ会暴露一个指定的主机IP,和Upnp有冲突,不建议开启。
具体优化步骤如下:
第一种网络拓扑
大部分家庭都是光纤入户→光猫有网了→接入路由器的WAN口,路由器有无线网了,电脑、电视等有线设备接入路由器或者交换机,那么就是下面这种网络架构:
这种架构其实光猫才是家里的主路由,我们买的路由器被当做了二级路由,家庭内网IP情况如下:
-
光猫:192.168.1.1
-
路由器:192.168.10.1
连接路由器的设备:电脑、手机等就是192.168.10.X 这样的IP了,手机通过路由器上网会经过两层NAT,效率大大降低。
第二种网络拓扑
也就是光猫改桥接,路由器拨号上网,这一步做完,减少一层NAT,是大家最推荐的做法,完全掌控家庭网络,随机折腾。
第三种网络拓扑
这种网络结构使用的人数是最少的,适合于光猫无法改桥接,没有超级密码的情况
和第一种网络结构一样,光猫当主路由进行上网,区别是路由器不当做二级路由了,直接设置为AP模式,只提供无线功能,网络层级减少一个NAT
优化家庭网络重点:路由器能少一个层级就少一个层级,这样可以减少一个NAT设备,最后才有可能达到NAT1类型
-
有条件给光猫改桥接
-
光猫不能改桥接
下面分两种情况来优化家庭网络
第一种:光猫改桥接
现在的光猫早已不是当初单纯的小猫了,变身:光猫+路由器+AP接入点,我们第一步就要恢复光猫的本职工作,光电转换调制解调的工作。路由这种脏活、累活关我小猫什么事?
办理宽带的时候直接跟运维师傅说、一般都会给你改桥接。办理好了的可以找运维师傅直接要超级密码自己改,默认不给桥接的原因无非是怕麻烦、大部分用户只需要插上就能上网、少一个环节少出错。
这一步做完,减少一层NAT,家庭网络的拓扑结构变成了:
▲ 路由器外网IP:100.64.x.x 虽然还是内网IP,但不是192.168.1.2这样的了
只是路由器拨号,网络只优化了一半,还是不够,端口转发这个功能也同样重要
什么是端口转发?
端口转发是一种网络技术,它允许从互联网上的一个端口的数据传输被重定向到另一个端口,通常是从公共IP地址的端口转发到局域网内部的私有IP地址的端口。这样做可以让外部设备通过互联网访问您家庭网络中的特定服务,如文件服务器、游戏服务器或其他在线服务。
路由器开启UPnP
UPnP简单来说是自动的端口转发,某些有需求的应用可以直接穿透到因特网,不需要做复杂的端口映射设置,开启后可以提升p2p连接的成功率,对远程桌面应用也有帮助。
DMZ也可以,是把一个内网设备的IP直接暴露在公网上,只能暴露一个,一般不会同时用这两个功能。
▲ 现在路由器都有这个功能,建议打开,图上是京东云路由器自己映射的一些端口,不知道是什么服务
光猫改桥接路由器拨号+路由器开启UPnP功能
光猫有条件改桥接的情况,家庭宽带能做的优化就完成了!
光猫无法改桥接
这种情况为什么会出现?不明但有,运维师傅不配合之类的,或者自己不想太折腾,那么也有方法,先看拓扑图:
路由+UPnP让光猫来提供,这样整个家庭网络内部的IP统一,如果有NAS之类的设备,也可以实现局域网互相访问,不会出现两个网段的情况。
噢!懂了,但怎么做?
有些路由器如padavan系统
有AP模式、华硕、TP应该也有,这种情况上网方式直接设置为AP模式即可。
大部分路由器没有这个模式的,上网模式只有几种,还是京东云举例:
少年,这道题,点解?
▲ 这里我用红米ax3000的LAN口接入京东云BE6500的LAN口(实际接入光猫LAN口),路由器当了无线交换机,相当于AP模式了,WAN口不使用即可,记得关闭DHCP服务。
光猫开启UPnP
▲ 这个不需要超级密码,光猫背面的普通用户就可以修改!
光猫无超级密码优化的方式:路由器LAN口接入光猫LAN口+光猫开启UPnP功能
NAT类型检测工具
假如你上面步骤都做了,感觉好像也没啥提升啊,那我折腾了个寂寞,网速还能跑个分,这啥也没有,多不甘心啊!咱可是为家庭网络的稳定、快速、玩游戏不卡顿做了贡献的
别急!以下是经过我无数次折腾,总结的能探测NAT类型的方式:
NatTypeTester
Win系统有一款软件NatTypeTester
可以测试你优化的成果的!
NatTypeTester网盘备份:
夸克链接:https://pan.quark.cn/s/ac23ed2052be 提取码:f4h8
使用方法很简单,服务器建议选择小米的,点Test
等一会即有检测结果,如果你是NAT4要等大概5秒出结果,如果你是NAT1,秒出结果!
▲ 移动宽带没有优化直接是对称性网络(NAT4)、不愧是你,大内网!
▲ 光猫改桥接+路由器拨号+开启UPnP,成功变成了全锥形网络(NAT1类型),舒服了。
Python方法
人生苦短,我用Python!万能的python当然能实现这个小功能,PyStun3是一个开源的Python STUN客户端,旨在帮助用户获取NAT类型和外部IP地址。
pip install pystun3
然后终端里输入:
pystun3
稍等一会,就会出结果,python结果很准确。
▲ 通过pystun3测试出来的全锥形
手机端
iOS系统没有相关的APP,安卓系统可以安装STUNner
这款应用,但不好下载,一般的应用商店都没有。
▲ 通过STUNner测试出来的,全锥形
网心云小程序可以测网速以及NAT类型,但需要WiFi环境,以及登录网心云账号。
▲ 通过网心云小程序测出的全锥形
但是,这都太不优雅了!
就没有一款能全平台直接测试NAT类型的程序吗?还真没有找到,没有大佬愿意做,那只能自己研究写一个在线小工具了。
▲ 本站新上线的在线检查NAT功能(https://mao.fan/mynat),检测出来的全锥形,简单优雅。
Windows系统设置
如果Windows系统以上都设置了,但NAT类型没有提升,那么在Windows上把以下三个服务设置为自动启动:
-
Function Discovery Provider Host
-
Function Discovery Resource Publication
-
SSDP Discovery
方法同时按下win+r
键,在运行窗口中输入services.msc
,然后找到这三个服务更改一下设置即可!
为什么我没有提公网IP?
不是我忘记了,公网IP对网络类型很有帮助,但不是我们优化光猫+路由器的部分,有条件就要,但公网IP不是我们能强求的,电信一般是没问题,联通不太清楚、好像是不行,移动用户?你大胆!
看到这里,并且也做了以上设置,恭喜你,家庭网络优化通关!