第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
具体步骤:
-
Discover (发现)
- 谁发出:客户端(你的电脑)
- 发给谁:网络中的所有人(广播)
- 核心内容:发送
DHCPDISCOVER
消息。 - 通俗讲:“我新来的,谁能给我一个IP地址?”
-
Offer (提供)
- 谁发出:DHCP服务器
- 发给谁:客户端
- 核心内容:回复
DHCPOFFER
消息。 - 通俗讲:“我这有个IP地址,你要不要? 这里有可用的IP地址、你可以使用这个地址多长时间(租期)、子网掩码以及默认网关(你连接到互联网的出口)的地址。”
-
Request (请求)
- 谁发出:客户端
- 发给谁:网络中的所有人(广播)
- 核心内容:发送
DHCPREQUEST
消息。 - 通俗讲:“我决定要用刚刚那台服务器给我的IP了!” (此广播也通知了其他服务器不必再等)
-
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
解析
-
Discover (发现)
- 源 (51)
0.0.0.0
: 客户端没有IP,只能用此地址作为“我是谁”的占位符。 - 目的 (52)
255.255.255.255
: 客户端不知道服务器在哪,必须用广播地址向全网喊话。
- 源 (51)
-
Offer (提供)
- 源 (53)
10.1.1.1
: DHCP服务器用自己的IP地址进行回复。 - 目的 (54)
255.255.255.255
: 客户端还没有正式获得IP,服务器的回复也必须是广播,确保客户端能收到。
- 源 (53)
-
Request (请求)
- 源 (55)
0.0.0.0
: 客户端仍未被授权使用IP,所以源地址依然是0.0.0.0
。 - 目的 (56)
255.255.255.255
: 请求依然是广播,为了正式告知被选中的服务器,并通知其他服务器可以收回它们的Offer了。
- 源 (55)
-
ACK (确认)
- 源 (57)
10.1.1.1
: 服务器用自己的IP地址发送最终确认。 - 目的 (58)
255.255.255.255
: 最后的确认包依然是广播,以完成整个IP地址的分配流程。
- 源 (57)
英文翻译
- Client address:客户端地址,就是IP地址
- Subnet musk:子网掩码
- Gateway address:网关地址 = 默认网关:Default Gateway
- Client hardware address:硬件/物理/Mac地址
续约¶
当IP租期过半时,客户端会进行续约,这是一个简化的两步过程:
核心特点:跳过 Discover 和 Offer,直接从 Request 开始。
-
续约请求 (DHCP Request)
- 方向: 客户端 -> 服务器
- 通信方式: 单播 (Unicast)
- 源IP地址: 客户端当前的IP地址。
- 目的IP地址: DHCP服务器的IP地址。
-
续约确认 (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