Skip to content

3.1 IP 地址分发:静态 vs 动态 (Static vs Dynamic)

在深入 DHCP 的技术细节之前,我们需要先退一步,思考一个根本问题:一台设备到底是如何获得 IP 地址的?

在网络世界中,主要有两种方式:静态手工配置动态自动分配

1. 静态 IP (Static IP) —— 手工时代的“刻舟求剑”

静态 IP 是最原始、最基础的配置方式。管理员需要亲自登录每一台设备,手动敲入 IP 地址、子网掩码、网关和 DNS。

  • 场景
    • 核心网络设备:路由器接口、交换机管理 IP、防火墙。
    • 服务器:Web 服务器、数据库服务器、打印机。(因为你希望它们像“灯塔”一样,位置永远不变)。
  • 优点
    • 稳定:IP 永远不会变,方便被其他设备访问。
    • 可控:管理员清楚知道每个 IP 对应哪台设备。
  • 缺点
    • :几百台 PC 让你配,手都废了。
    • 易错:容易配错(IP 冲突、掩码写错)。
    • 僵化:人员流动、设备搬迁时,维护成本极高。

2. 动态 IP (Dynamic IP) —— 自动化时代的“随需而变”

为了解决手工配置的痛点,工程师们发明了动态分配协议。设备连入网络后,会自动喊话:“谁能给我个 IP?”然后服务器自动下发配置。

  • 场景
    • 终端设备:PC、手机、平板、IP 电话。
    • 移动办公:星巴克 WiFi、酒店网络。
  • 优点
    • 省事:即插即用,用户无感知。
    • 高效:IP 地址可以回收再利用(地址池机制),节省 IP 资源。
    • 灵活:网络参数变更(如换了 DNS),只需改服务器,全网自动同步。

3. 进化之路:从 BOOTP 到 DHCP

动态分配技术并非一蹴而就,它经历了一个进化的过程。

3.1 前身:BOOTP (Bootstrap Protocol)

BOOTP 是 DHCP 的“老祖宗”(RFC 951,1985年)。它最初是为了解决无盘工作站(没有硬盘的电脑)启动时如何获取 IP 的问题。它使用 UDP 协议。

  • 特点
    • 能获取基本信息:IP 地址、掩码、网关信息。
    • 静态映射:管理员必须在服务器上预先写好一张表:“MAC A 对应 IP A,MAC B 对应 IP B”。
    • 永久分配:一旦分配,IP 就永久属于这个 MAC,没有“租期”的概念。
  • 局限
    • 信息有限:不能提供额外信息(如 DNS, WINS 等)。
    • 半自动:如果来了台新电脑,管理员不改配置表,它就拿不到 IP。而且它无法回收闲置 IP。

3.2 现代:DHCP (Dynamic Host Configuration Protocol)

DHCP 是在 BOOTP 的基础上发展而来的(RFC 2131,1993年)。它完美继承了 BOOTP 的优点,并引入了Option (选项) 机制,使得它可以下发更多自定义的信息。

  • 核心改进
    1. 动态获取 IP:通过租约 (Lease) 机制管理 IP。默认租期通常为 24 小时。
      • 你只能用一段时间。
      • 用完得续租。
      • 下线了会自动回收,给别人用。
    2. Option (选项) 机制:支持通过 TLV (Type-Length-Value) 格式下发各种配置信息。
      • T (Type):类型代码 (例如 43 代表厂商自定义选项)
      • L (Length):长度 (例如 4 字节)
      • V (Value):具体的值 (例如 1.2.3.4)
      • 这种格式既简约又灵活,方便扩展。

💡 借地址 (IP Unnumbered)
在某些特殊场景(如隧道接口 Tunnel),为了节省 IP 地址,我们可以配置接口**借用**另一个接口的 IP 地址。
interface Tunnel 0/0/0
ip unnumbered interface GigabitEthernet 0/0/0

💡 冷知识:兼容性
DHCP 报文格式设计时特意兼容了 BOOTP。这就是为什么你在抓包时,可能会看到 DHCP 报文依然使用 BOOTP 的头部字段(如 OpCode, HwType)。在某种意义上,DHCP 就是 "BOOTP v2.0"

3.3 对比总结

特性静态配置BOOTPDHCP
配置方式手工逐台配置自动下发自动下发
IP 管理人脑记忆静态 MAC-IP 绑定表动态地址池 (Pool)
时效性永久永久有租期 (可回收)
灵活性
适用场景服务器/核心设备无盘工作站(早期)PC/手机/移动终端