前阵子聊家庭网络,聊的主要是硬件:光猫、路由器、Mesh、AC+AP,这些设备怎么选、怎么搭。
但很多人有一个体验,跟硬件关系不大:
宽带测速完全正常,打开网页就是感觉慢。
页面加载起来很迟钝,不是一直加载不出来,就是每次打开新页面,都要等那么一会儿,感觉哪里卡了一下。
如果你有这个感受,很可能不是宽带有问题,而是 DNS 在拖后腿。
你打开一个网页时,中间发生了什么
我们平时打开网页,习惯直接输入网址,比如 baidu.com,然后页面就出来了。
但在这之间,有一步你平时感知不到:
你的电脑不认识 baidu.com 是哪台服务器。
它认识的是 IP 地址,一串数字。网址只是一个对人友好的名字,计算机之间实际上是用 IP 地址来找对方的。
所以每次你打开一个网页,设备其实要先问一句:"baidu.com 对应的 IP 地址是多少?"
这个问的过程,就叫 DNS 解析。负责回答这个问题的,叫 DNS 服务器。
DNS 像一本电话本
你可以把 DNS 理解成一本电话本。
你知道一家公司叫"某某餐厅",但你不知道他们的电话号码。你要先去翻电话本,查到号码,才能打过去。
DNS 干的就是这件事:你告诉它一个域名,它告诉你一个 IP 地址,然后你的电脑才能真正发起连接。
这个查询过程,通常几十毫秒内完成,快的时候你感觉不到。
但如果它慢,每次打开一个新网页,你就要等一会儿,才能看到页面开始加载。
那种感觉就是:网速明明很快,但网页就是"迟迟不动"。
为什么 DNS 会慢
大多数人用的 DNS,是运营商默认分配的。你装宽带的时候,运营商给你配了网络,也顺带告诉你的路由器:"以后问 DNS,去问这个地址。"这件事路由器默默帮你处理了,你通常不知道。
问题在于,运营商的 DNS 不一定是最快的。它可能稳定性一般,负载重的时候响应慢;也可能因为你所在的地区和这个 DNS 服务器的距离比较远,每次查询都要多花一些时间。
对单次查询来说,多几十毫秒感觉不明显。但如果你打开一个页面,里面有几十个不同的域名需要解析(广告、字体、脚本、图片,来自不同的服务器),每一个都要去查一次,叠加起来就明显了。
那种感觉不是一直卡,而是起步慢:每次打开新页面,总要先顿一下,然后才开始快速加载。
多说一句:DNS 给你的,不一定是"最近"的那台
你以为 DNS 会把离你最近的服务器给你,其实不一定。很多域名背后有一套调度机制,回给你的往往是它判断"当前最快"的那台------受负载、线路、地区各种因素影响,不一定是地理上最近的。所以有时候换个 DNS,拿到的服务器 IP 就变了,快慢也跟着不一样。
测一下你的 DNS 响应速度
最直观的感知方式:注意一下打开新页面时,页面是立刻开始有反应,还是先等了一两秒、然后才开始加载。如果是后者,大概率是 DNS 的问题。
你也可以在电脑命令行里跑一下这个命令:
text
nslookup baidu.com
它会告诉你查询用了多久、问的是哪个 DNS 服务器。
如果时间超过 100ms,DNS 响应已经偏慢了。
换一个更快的公共 DNS
解决这件事很简单:换一个公共 DNS。
国内比较常用的几个:
| DNS 服务商 | 首选地址 | 备选地址 |
|---|---|---|
| 阿里 DNS | 223.5.5.5 | 223.6.6.6 |
| 腾讯 DNS | 119.29.29.29 | 182.254.116.116 |
| 114 DNS | 114.114.114.114 | 114.114.115.115 |
这些公共 DNS 的服务器分布更广,响应速度通常比运营商的快,稳定性也更好。
换的方式有两种:
一种是在路由器上换。 进入路由器管理页面(通常地址是 192.168.1.1 或 192.168.0.1),找到 DNS 设置,把默认的 DNS 改成上面的地址。好处是一改全家生效。
一种是在单台设备上换。 在电脑或手机的网络设置里,找到当前连接的 Wi-Fi,手动指定 DNS 地址。只影响这一台设备。
两种方式都可以,一般建议改路由器,省事。
顺带说一个坑:DNS 污染
有时候你莫名其妙看到一些广告,或者点开某个网站被导到奇怪的页面,背后可能是 DNS 被"污染"了------你问域名要 IP,回来的却是被人篡改过的地址,把你导去广告页或者山寨站。换一个靠谱的公共 DNS,也能避开不少这类劫持。
有一件事可以顺手做
路由器通常有 DNS 缓存功能。第一次查询某个域名,结果会暂时存下来,下次访问同一个网站,不需要再问 DNS 服务器,直接用缓存的结果。
这个功能大多数路由器默认开着,你不需要特别设置。但如果你路由器里有这个选项,确认一下它是开的,不要关掉。
缓存配合好的 DNS,能明显减少"打开页面时等待的那一下"。
最后
家庭网络里,很多人关注带宽,关注信号强度,关注覆盖范围。这些都重要。
但 DNS 这件事,很多时候被忽略了。
明明宽带够快、信号够好,但每次打开页面都要等一会儿------不少人就这么用了很久,没意识到只是 DNS 太慢了。
换一个公共 DNS,通常五分钟能搞定,不需要花钱,效果立竿见影。
如果你最近有"宽带看起来没问题,但上网感觉慢"的困扰,不妨先从这里试试。