半夜三更打游戏,突然卡成PPT?聊聊DNS丢包那点事儿和解决方案
你有没有遇到过这样的情况:晚上兴致勃勃打开电脑,想和好友开黑几局,结果游戏一开始,画面就开始“精致”地、有规律地卡顿,人物瞬移、技能放不出,仿佛一个“行走的PPT”,你以为是电脑配置不行,关掉所有后台软件,重启游戏,没用;你以为是网络太渣,打电话骂了运营商,对方说一切正常,这时候,有没有想过,罪魁祸首可能是一个你平时不注意,但每天都在打交道的东西——DNS。
特别是当问题被精准地描述为“DNS丢包”时,很多人的第一反应是:“DNS还能丢包?那不是个地址簿吗?”是的,它不仅能,而且一旦出现这个问题,你的上网体验会变得非常“诡异”,我就以一个普通玩家的视角,跟大家聊聊这个烦人的“DNS丢包”到底是什么,以及我们普通人能怎么去排查和解决它。
搞明白什么是“DNS丢包”?
要理解这个问题,咱们得先简单说说DNS是干嘛的,它英文全称是Domain Name System,中文叫域名系统,你可以把它想象成手机里的通讯录,你脑子里记不住一串串的IP地址(比如192.168.1.1),但你记得住百度、微博、B站的网址,当你输入网址时,DNS服务器就在后台帮你“翻通讯录”,把域名翻译成计算机能懂的IP地址,然后你的浏览器才能连上服务器,把内容加载出来。
那什么是“丢包”?网络数据就像一个个小包裹,从你的电脑出发,经过无数个“车站”(路由器、交换机),到达目标服务器,如果某些包裹在中途丢失了,或者没有被目的地成功签收,这种现象就叫“丢包”。
“DNS丢包”就很好理解了:当你的电脑向DNS服务器发出查询“这个网址对应的IP是多少?”的请求时,这个请求的“包裹”在半路上丢掉了,或者DNS服务器回复给你的“包裹”在半路上弄丢了。 结果就是:你的浏览器一直在那儿“解析中”、“转圈圈”,或者直接报错“无法访问此网站”。
注意,这和单纯的“网速慢”是两码事。 满速下载电影的时候,也可能DNS丢包,表现为每隔十几秒网页就断一下,它更像是一种间歇性的“抽风”,而不是一直“跑不动”。
为什么我的DNS会丢包?
知道了症状,我们来看看“病因”,导致DNS丢包的原因比较复杂,但通常逃不出下面这几个“嫌疑人”:
1、本地网络环境恶化: 这是最常见的原因,比如你的无线路由器太老、发热严重、信道拥堵(邻居家的信号干扰太多),或者连接路由器的网线水晶头接触不良,这些硬件层面的不稳定,会导致所有类型的数据包(包括DNS查询包)都有概率丢失。
2、运营商或公共DNS服务器不稳定: 很多人图省事,或者压根不知道,用的都是电信、联通、移动自动分配的DNS,说实话,有些地方的运营商DNS服务器性能堪忧,本身就是“带病上岗”,特别是在网络高峰期,服务器过载,响应缓慢甚至无响应,丢包率就上来了,像国外的谷歌DNS (8.8.8.8) 虽然速度快,但在国内访问延迟高且受网络波动影响大,也容易丢包。
3、中间网络设备或节点的干扰: 你的数据包要经过很多“路口”,某个路由器的路由规则配置错误,或者链路中某段光纤损耗过大,都可能造成数据包被误判或丢弃。
4、安全软件或防火墙的“误杀”: 有些“过度保护”的安全软件,可能会把合法的DNS查询请求当作潜在的网络攻击给拦截了,或者导致协议冲突,从而引发丢包。
5、ISP(网络服务提供商)的限制或劫持: 极少数情况下,一些运营商会为了节省成本或进行广告推送,偷偷地对DNS查询进行“劫持”或限制,这虽然比较少见,但也不是不可能。
没完没了的排错?不如按这个顺序来试试!
知道了原因,我们就对症下药,下面是一套从简单到复杂的排查步骤,推荐大家按这个顺序来,别一上来就搞大动作。
第一步:简易“急救”,重启与更换
重启大法 别笑,这是最经典也最有效的方法。把你的无线路由器、光猫(如果有)全部断电,等个一两分钟,再重新插电启动。 这个过程能清除掉设备里累积的错误数据缓存,重置网络连接,做完这一步,很多临时的DNS丢包问题就解决了。
换个DNS试试看 这是最核心、最立竿见影的方法,手动给电脑或路由器设置一个“名声在外”的公共DNS。
国内推荐 阿里DNS(223.5.5.5 和 223.6.6.6)、114DNS(114.114.114.114 和 114.114.115.115),这两个在国内访问速度极快,稳定性也很好。
国际推荐(慎用) 谷歌DNS(8.8.8.8 和 8.8.4.4)、Cloudflare DNS(1.1.1.1 和 1.0.0.1),优点是全球最快,但缺点是国内延迟高,且偶尔会被墙,不推荐作为主力。
怎么改?
1.只改电脑: 适合临时测试,右键点击网络图标 -> 打开“网络和Internet设置” -> 更改适配器选项 -> 右键你的网卡(以太网或WLAN)-> 属性 -> 双击“Internet协议版本4(TCP/IPv4)” -> 选择“使用下面的DNS服务器地址”,填入你选的DNS,比如首选223.5.5.5,备选223.6.6.6。
2.改路由器(推荐): 一劳永逸,登录你的路由器管理后台(通常是192.168.1.1或192.168.0.1),找到“网络设置”或“WAN口设置”里的DNS选项,同样手动填写,这样你家里所有连接这个路由器的设备就都受益了。
如果改完DNS后,游戏还是卡,但浏览网页流畅了,那基本就锁定是原DNS服务器的问题。
第二步:深度“体检”,检查你的本地网络
如果换了DNS还不行,那问题可能更根深蒂固。
检查网线 如果你用的是有线,仔细检查网线两端的插头,看看水晶头的金属片有没有氧化或歪斜,试着换一根质量好、双屏蔽的六类网线,很多时候,劣质网线就是罪魁祸首。
检查无线 如果你用Wi-Fi,打开手机上一个叫“Wi-Fi魔盒”或类似功能的APP,看看你路由器的信道周围是不是有七八个信号在“打架”,如果是,登录路由器后台,手动修改无线信道到一个人少的(比如1、6、11中信号最弱的一个),尽量让你的电脑和路由器之间没有厚承重墙阻隔。
关闭杀毒软件/防火墙 临时退出你安装的360、腾讯管家、火绒等安全软件,如果问题消失,说明是它们“想多了”,可以进入软件的设置,找到“网络防护”或“DNS防护”相关选项,把它关闭或设为“信任”。
更新网卡驱动 去你的电脑主板或笔记本官网,下载并更新最新的有线/无线网卡驱动,有些老驱动存在已知的兼容性bug。
第三步:终极“专家”,调用命令与联系外援
都搞不定?说明你的网络环境可能比较复杂,或者问题出在运营商端。
使用“网络排查三件套”命令
* 按下Win+R,输入cmd,打开黑色的命令提示符窗口。
ping 8.8.8.8 -t这个命令会持续向8.8.8.8这个IP地址发送数据包,注意看“丢包率”,如果这个也丢包,说明问题出在网络连接本身,而不仅仅是DNS,你需要检查网络硬件或联系运营商。
ping baidu.com -t这个命令是测试解析域名时的情况,如果这个命令间歇性无法ping通,但ping 8.8.8.8没有问题,那恭喜你,基本实锤是DNS解析环节出的问题。
nslookup baidu.com这个命令会直接告诉你当前使用的DNS服务器是什么,以及它返回的IP地址,如果解析出来的IP不对(比如解析到某个国外的奇怪的IP),或者查询过程非常慢,那就能进一步确认是DNS服务器的问题。
最后的“大招”联系运营商
如果你用ping命令测试公共DNS(比如114.114.114.114)发现持续丢包,且换路由器、换网线都没用,致电你的宽带运营商客服(电信10000,联通10010,移动10086),直接告诉他:“我电脑直连光猫,ping 114.114.114.114 有持续丢包,怀疑是我家到你们局的线路有问题,或者你们局的DNS设备有问题。” 专业、清晰的描述,能帮你更快地解决问题,而不是被客服转接三次。
给你一个“懒人版”行动清单:
1、关掉电脑,拔掉路由器和光猫电源,等2分钟再插上。
2、登录路由器后台,把DNS改成223.5.5.5和223.6.6.6。
3、检查并更新网卡驱动,暂时退出安全软件。
4、用ping命令分别测试IP和域名,判断问题是在网络层还是DNS解析层。
5、都试了还不行,给宽带客服打电话,记得把ping命令的结果告诉他。
最后说点题外话: 很多时候,DNS丢包带来的体验非常“玄学”,它不像断网那样让人崩溃,而是像有个“隐形人”在你玩游戏或看视频时,每隔几十秒就掐一下你的网线,希望这篇啰嗦的长文能帮你揪出这个“隐形人”,99%的家庭网络疑难杂症,“手动换个靠谱的DNS + 重启路由器” 这两个组合拳,能解决掉80%的问题,剩下的20%,就交给专业的客服和技术支持吧,祝大家上网愉快,永不掉线!
文章摘自:https://idc.huochengrm.cn/dns/27515.html
评论