开场
本文是相应 YouTube 视频的文字稿,各位同学大家好,欢迎来到我的频道。经常折腾家里网络的你,一定经常遇到这些问题:
- 为什么明明插上了网线,却打不开路由器的后台?
- 为什么 NAS 的 IP 地址经常变化?
- 为什么用上了高价的软路由,打开网页的速度反而变慢?
- 为什么跟着大佬的视频一通配置,却还是玩不转旁路由?
以上这些问题其实都和 DHCP 有关。
什么是 DHCP?
参考文章)
DHCP 是 Dynamic Host Configuration Protocol 的缩写,意思是动态主机配置协议。它的作用,是为每一个接入局域网的设备自动分配一个 IP 地址,并为这些设备自动配置默认网关和 DNS 服务器。
名词解释
如果你不理解网关和 DNS 是什么意思,也不要紧。你可以把网关理解成一个中转站,局域网内的所有设备都要通过这个中转站来与外界联系,而家用网络的网关通常只有一个,那就是路由器。DNS 则要更加复杂一点,我后面会单独制作一期视频来讲解。这里你只要把它理解成一个“电话簿”就可以了。
DHCP 的工作原理
DHCP 协议由一个服务端,和多个客户端组成。服务端一般就是你的路由器,而客户端就是你用来上网的设备。
Discoer
每当一个新设备初次连入局域网,它就会向整个网络广播自己的 MAC 地址。所谓的 MAC 地址,是每个设备的硬件地址,它被写在设备的网卡上,一般情况下无法更改,相当于设备的“身份证号码”。当新设备初次连入,它会向局域网广播自己的 MAC 地址,相当于新员工的自我介绍。这段自我介绍有一个很洋气的名字,叫做 Discover。
Offer
当路由器接收到新设备的广播,就会在现有的 IP 地址中,挑选一个还没有被其他设备占用的空缺地址,并将这个地址和其他配置信息(比如默认网关和 DNS)打包发给这个设备,相当于领导给新员工安排工位。这段安排也有一个非常洋气的名字,叫做 Offer。
Request
接下来的事情就非常简单了,当设备收到路由器发出的配置信息,并且决定套用这些配置,会再次答复路由器,相当于接受领导的安排。这段答复同样有一个很洋气的名字,叫做 Request。
这里要注意一点,如果局域网内有两个以上路由器,并且这些路由都开启了 DHCP 服务,那么它们在收到新设备的广播后,会同时给这个设备发送配置信息。当设备同时收到多个配置信息,会优先回复最先收到的那个。因此,为了避免网络混乱,即使你家里有多个路由器,也最好只开启一个 DHCP 服务。
ACK
回到正题,当路由器收到设备的肯定答复后,就会再给设备回个话,表示占位成功。这时,设备会根据路由器下发的 IP 地址、默认网关和 DNS 服务器,自动配置自己的网络,实现成功联网。路由器的这个回话,叫做 ACK。
解答问题一
说到这里,我们就解决了视频开头提到的第一个问题:
- 为什么明明插上了网线,却打不开路由器的后台?
这里有两种可能: 1. 你的路由器没有开启 DHCP 服务,你的电脑没有收到路由器下发的 IP 地址。 2. 你的路由器开启了 DHCP 服务,但你的电脑之前设置了静态 IP 地址,而这个静态地址和路由器的地址,不在同一个网段。
要解决”打不开后台“的问题,方法也很简单: 1. 如果是第一种情况,那么我们就要先在电脑上手动配置一个静态 IP 地址,并且这个地址要和路由器在同一个网段。比如路由器的 IP 地址是 192.168.31.1,那么电脑的静态地址就要设置成 192.168.31.x,这里的 x 可以是 2~255中的任何一个数字,但要注意不能和其他设备重合。 2. 如果是第二种情况,那么我们就要清除电脑的静态 IP 地址,并将 IP 地址的获取方式改为”自动获得 IP 地址“。这样,我们的电脑就会重新接受 DHCP 服务的分配。
NAK 报文
再次回到正题,上面提到的这一整个流程,都是新设备初次连入局域网的流程。如果不是初次连入的新设备,而是之前连过的老设备,断开后重新连入,就会跳过前两个步骤,直接从 Request 切入,相当于老员工离职后又重新回归,直接省略客套的过程,让领导给个工位。
这时,路由器会检查之前的 DHCP 租约表。如果设备之前对应的 IP 地址仍然空缺,则照旧返回一个 ACK。租约继续有效,设备继续沿用之前的 IP 地址。如果设备之前对应的 IP 地址已被其他设备占用,则只能拒绝设备的这次请求。那么这个拒绝的动作,叫做 NAK。
解答问题二
说到这里,我们又解决了视频开头提到的第二个问题:
- 为什么 NAS 的 IP 地址经常发生变化?
原因就是,NAS 关机下线期间,原本占用的 IP 地址空缺出来,并被其他设备占用,当 NAS 重新开机上线时,路由器只能为它重新分配一个新的 IP 地址。这时候我们就会找不到 NAS 的后台,而要借用 Synology finder 这类软件才能重新搜索到 NAS 的新地址。
要解决这个问题也很简单,那就是开启路由器的 IP/MAC 绑定,将某个固定的 IP 地址分配给特定的 MAC 地址,做到”一个萝卜一个坑“,这样就不会发生混乱了。
DHCP 的应用
知道了 DHCP 的工作原理,我们就可以解决上网过程中的很多问题。
解答问题三
- 为什么用上了高价的软路由,打开网页的速度反而变慢?
打开网页的速度很慢,或者明明 QQ 可以联网,但网页却死活打不开,多半是因为 DNS 服务器出了问题。我们家用网络的 DNS 服务器,一般是通过光猫从运营商处获得,再经过路由器的 DHCP 服务层层下发。如果我们在路由器的 DHCP 服务里没有指定 DNS 服务器,那么路由器就会默认适用运营商的 DNS,众所周知,运营商的 DNS 经常被劫持,用起来既不安全也不稳定。
所以,要解决”浏览网页慢“的问题,我们可以在路由器的 DHCP 服务里,手动指定一个稳定的 DNS 服务器地址,让局域网里的所有设备,都套用路由器 DHCP 下发的 DNS。至于有哪些好用的公共 DNS 服务器,网上一搜一大堆,比较常见的,国外的有著名的谷歌 8.8.8.8,国内的有阿里 223.5.5.5 等。