地址怎样自动获得
复习
- IPv4 数据包:提供跨网络的统一信封,首部含地址、协议、长度与 TTL
- IP 地址:由 32 位组成,点分十进制只是它的显示形式
- 子网与 CIDR:CIDR 用前缀长度表示地址范围
TL;DR
- DHCP 自动提供地址、前缀、网关和 DNS 等网络配置
- 新设备甚至还没有可用地址,因此通常先广播寻找服务器
- 租期让地址可以被回收,也让网络能调整配置
正文
我们已经知道,一台主机需要一个 IP 地址、一个前缀、一个默认网关,可能还需要 DNS 服务器地址。可问题是:一台新接入的设备,此刻什么都还没有,它怎么开口要这些东西?
让它自己喊,显然不行——它连“自己是谁”都不知道。所以这套配置需要有人主动派发。负责派发的协议,叫 DHCP(动态主机配置协议)。
先广播,找到服务器
新设备接入网络后,还没有正式可用的 IP 地址,也不知道 DHCP 服务器在哪。于是它采取一个很直接的办法:广播。它向整个本地网络喊一句:“有没有 DHCP 服务器?请给我一套配置!”
之所以用广播,正是因为此时它还无法精准定位服务器。这就像刚到一个陌生城市,你还没有地址簿,只好先向四周大声询问。
服务器收到后,会分配一个地址,连同前缀、默认网关和 DNS 服务器等信息一起回应。设备拿到这些,就能顺利上网了。
为什么要有“租期”
DHCP 分配的地址,通常不是永久归你,而是有一个租期。到期前需要续租。
为什么这么设计?有两个好处:
- 地址不会被永远占住,设备离开后可以回收给其他设备用
- 网络可以借续租的机会调整配置,适应变化
这在设备频繁进出的网络里尤其重要。想象一个公共 Wi-Fi:如果每台来过的设备都永久占着一个地址,地址池很快就会耗尽。租期,让地址变成一种可以循环使用的公共资源。
那么,当我们知道目标就在本地或需要交给网关之后,帧究竟该送去哪个 MAC 地址?最后一章揭晓。
思考题 1
为什么 DHCP 初始请求常用广播?
思考题 2
如果去掉租期、让地址永久分配给设备,会带来什么麻烦?
小结
知识点
- DHCP 让主机不必手工配置基本网络参数
- 初始请求常用广播,因为此时还不知服务器在哪
- 租期带来地址回收与配置调整的灵活性
参考资料
- Wikipedia(zh):动态主机配置协议:自动分配网络配置的协议
- Wikipedia(zh):IP地址:主机赖以联网的逻辑地址
思考题答案(仅供参考)
思考题 1
新主机还不知道服务器地址,也可能尚未拥有正式可用的 IP 地址,因此无法精准发送。广播能触达本地网络里的所有设备,其中若存在 DHCP 服务器,就会做出回应。
思考题 2
地址会被永久占住,离开的设备也不释放,地址池很快耗尽,新设备接入时可能拿不到地址。网络也无法借续租调整配置,灵活性大大降低。租期让地址可以循环使用,正是为了解决这些问题。
协议
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。
封面图
设计师 | 南国微雪