开场


本文是相应 YouTube 视频的文字稿,各位同学大家好,欢迎来到我的频道。经常折腾家里网络的你,一定经常遇到这些问题:

  1. 为什么明明插上了网线,却打不开路由器的后台?
  2. 为什么 NAS 的 IP 地址经常变化
  3. 为什么用上了高价的软路由,打开网页的速度反而变慢
  4. 为什么跟着大佬的视频一通配置,却还是玩不转旁路由

以上这些问题其实都和 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 等。