Skip to content

第7章 路由器配置及使用

路由器工作原理

路由器分组转发过程中,数据包中包含目的主机网络地址和下一跳路由物理地址(MAC地址),因此MAC地址是动态变化的。

DHCP报文分析

DHCP请求IP地址四过程(全程用UDP协议)

DHCP (动态主机配置协议):让设备自动获取IP地址上网的协议。

核心流程:

  • DHCP:Request, Type:DHCP Discover
  • DHCP:Reply, Type:DHCP Offer
  • DHCP:Request, Type:DHCP Request
  • DHCP:Reply, Type:DHCP ACK

具体步骤:

  1. Discover (发现)

    • 谁发出:客户端(你的电脑)
    • 发给谁:网络中的所有人(广播)
    • 核心内容:发送 DHCPDISCOVER 消息。
    • 通俗讲:“我新来的,谁能给我一个IP地址?”
  2. Offer (提供)

    • 谁发出:DHCP服务器
    • 发给谁:客户端
    • 核心内容:回复 DHCPOFFER 消息。
    • 通俗讲:“我这有个IP地址,你要不要? 这里有可用的IP地址、你可以使用这个地址多长时间(租期)、子网掩码以及默认网关(你连接到互联网的出口)的地址。”
  3. Request (请求)

    • 谁发出:客户端
    • 发给谁:网络中的所有人(广播)
    • 核心内容:发送 DHCPREQUEST 消息。
    • 通俗讲:“我决定要用刚刚那台服务器给我的IP了!” (此广播也通知了其他服务器不必再等)
  4. Acknowledge (确认)

    • 谁发出:被选中的DHCP服务器
    • 发给谁:客户端
    • 核心内容:发送最终的 DHCPACK 确认包。
    • 通俗讲:“交易完成!这个IP在租期内正式归你了。”

总结:通过这四步“对话”,客户端就成功、自动地获取了上网所需的网络配置。

在DHCP获取IP地址的四次报文交互过程中,请填写下表中空缺的源IP地址和目的IP地址。
* DHCP: Server IP Address = 10.1.1.1
| 序号 | 源IP地址 | 目的IP地址 | 报文摘要 |
| :-- | :----- | :----- | :------------------------------- |
| 1 | (51) | (52) | DHCP:Request, Type:DHCP discover |
| 2 | (53) | (54) | DHCP:Reply, Type:DHCP offer |
| 3 | (55) | (56) | DHCP:Request, Type:DHCP request |
| 4 | (57) | (58) | DHCP:Reply, Type:DHCP ack |
  • (51): 0.0.0.0
  • (52): 255.255.255.255
  • (53): 10.1.1.1
  • (54): 255.255.255.255
  • (55): 0.0.0.0
  • (56): 255.255.255.255
  • (57): 10.1.1.1
  • (58): 255.255.255.255

解析

  1. Discover (发现)

    • 源 (51) 0.0.0.0: 客户端没有IP,只能用此地址作为“我是谁”的占位符。
    • 目的 (52) 255.255.255.255: 客户端不知道服务器在哪,必须用广播地址向全网喊话。
  2. Offer (提供)

    • 源 (53) 10.1.1.1: DHCP服务器用自己的IP地址进行回复。
    • 目的 (54) 255.255.255.255: 客户端还没有正式获得IP,服务器的回复也必须是广播,确保客户端能收到。
  3. Request (请求)

    • 源 (55) 0.0.0.0: 客户端仍未被授权使用IP,所以源地址依然是 0.0.0.0
    • 目的 (56) 255.255.255.255: 请求依然是广播,为了正式告知被选中的服务器,并通知其他服务器可以收回它们的Offer了。
  4. ACK (确认)

    • 源 (57) 10.1.1.1: 服务器用自己的IP地址发送最终确认。
    • 目的 (58) 255.255.255.255: 最后的确认包依然是广播,以完成整个IP地址的分配流程。

英文翻译

  • Client address:客户端地址,就是IP地址
  • Subnet musk:子网掩码
  • Gateway address:网关地址 = 默认网关:Default Gateway
  • Client hardware address:硬件/物理/Mac地址

续约

当IP租期过半时,客户端会进行续约,这是一个简化的两步过程:

核心特点:跳过 DiscoverOffer,直接从 Request 开始。

  1. 续约请求 (DHCP Request)

    • 方向: 客户端 -> 服务器
    • 通信方式: 单播 (Unicast)
      • 源IP地址: 客户端当前的IP地址。
      • 目的IP地址: DHCP服务器的IP地址。
  2. 续约确认 (DHCP ACK)

    • 方向: 服务器 -> 客户端
    • 通信方式: 单播 (Unicast)
      • 源IP地址: DHCP服务器的IP地址。
      • 目的IP地址: 客户端当前的IP地址。

关键点: 在续约过程中,客户端和服务器都已经知道对方的IP地址,因此通信不再使用广播地址 (255.255.255.255) 或初始地址 (0.0.0.0)。

  • Cient self-assigned address 续约地址(保留地址)

释放已获得的地址租约

目的: 当客户端准备正常关机或断开网络时,主动通知服务器它不再需要这个IP地址了,以便服务器可以立即将该地址回收给其他设备使用。

  • 通信过程: 这是一个 单向 的通知过程。

释放通知 (DHCP Release)

  • 方向: 客户端 → 服务器
  • 通信方式: 单播 (Unicast)
    • 源IP地址: 客户端当前的IP地址。
    • 目的IP地址: DHCP服务器的IP地址。

注意: 而后可以正常执行 DHCP请求IP地址的四过程

表格解读

在某DHCP客户端上执行 ipconfig /all 命令,得到的部分信息如图(a)所示。该客户端在进行 地址续约 时,捕获到的其中一条报文的摘要

图(a) ipconfig /all 输出:

Physical Address. . . . . . . . . : 00-11-22-33-44-55
Dhcp Enabled. . . . . . . . . . . : Yes
IP Address. . . . . . . . . . . . : 192.168.0.1
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.0.100
DHCP Server . . . . . . . . . . . : 192.168.0.101
DNS Server. . . . . . . . . . . . : 192.168.0.102

捕获的报文摘要:

    DHCP:Reply, Type:DHCP (51)
    IP: ---- IP Header ----
    IP: Protocol = (52)
    IP: Source address = (53)
    IP: Destination address = (54)
    DHCP: Relay Agent = (55)

答案

  • (51): ACK (或 Acknowledge)
  • (52): UDP
  • (53): 192.168.0.101
  • (54): 192.168.0.1
  • (55): 0.0.0.0

报文类型 (51):

  • 题目明确指出这是 地址续约 过程,且报文是 DHCP:Reply (回复)。
  • DHCP续约只有两步:客户端的 Request 和服务器的 ACK。因此,服务器的回复必然是 ACK

消息中继代理 (55): 表格中没有就填 0.0.0.0

DHCP: Hardware address length 默认为 6 bytes

DHCP: Domain Name Server address = DNS地址

DLC: Destination(广播MAC地址) 默认为 12个f

Boot record type:

  • = 2 reply
  • = 1 request

Message Type:

  • 1 DHCP Discover
  • 2 DHCP Offer
  • 3 DHCP Request
  • 5 DHCP Ack