一、题目
一台windows主机初次启动,如果采用DHCP的方式获取IP地址,那么此主机发送的第一个数据包的源IP地址是?
A. 127.0.0.1
B. 255.255.255.255
C. 0.0.0.0
D. 169.254.2.33
二、答案
C
三、解析
A、127.0.0.1
127.0.0.1 是回环地址,用于主机内部通信,而不是用于网络通信。在主机尚未获得IP地址时,不会使用这个地址作为源地址。
B:255.255.255.255
255.255.255.255 是广播地址,用于向网络中的所有设备发送广播消息。虽然主机在发送DHCP Discover时会使用这个地址作为目的地址,但源地址不会是广播地址。
C、0.0.0.0
0.0.0.0 是一个特殊的IP地址,表示“无地址”。在主机尚未获得IP地址时,它会使用 0.0.0.0 作为源地址发送DHCP Discover请求。
D:169.254.2.33
169.254.x.x 是APIPA(自动私有IP寻址)地址,是Windows主机在无法通过DHCP获取IP地址时自动分配的本地链路地址。然而,在主机初次启动并尝试获取IP地址时,它尚未分配APIPA地址,因此不会使用这个地址作为源地址。
四、扩展——DHCP报文的类型
DHCP协议使用UDP协议进行通信,主要涉及以下几种报文类型:
| 报文名称 | 说明 |
|---|---|
| DHCP DISCOVER | DHCP客户端首次登录网络时进行DHCP交互过程发送的第一个报文,用来寻找DHCP服务器。 |
| DHCP OFFER | DHCP服务器用来响应DHCP DISCOVER报文,此报文携带了各种配置信息。 |
| DHCP REQUEST | 此报文用于以下三种用途。客户端初始化后,发送广播的DHCP REQUEST报文来回应服务器的DHCP OFFER报文。客户端重启后,发送广播的DHCP REQUEST报文来确认先前被分配的IP地址等配置信息。当客户端已经和某个IP地址绑定后,发送DHCP REQUEST单播或广播报文来更新IP地址的租约。 |
| DHCP ACK | 服务器对客户端的DHCP REQUEST报文的确认响应报文,客户端收到此报文后,才真正获得了IP地址和相关的配置信息。 |
| DHCP NAK | 服务器对客户端的DHCP REQUEST报文的拒绝响应报文,例如DHCP服务器收到DHCP-REQUEST报文后,没有找到相应的租约记录,则发送DHCP-NAK报文作为应答,告知DHCP客户端无法分配合适IP地址。 |
| DHCP DECLINE | 当客户端发现服务器分配给它的IP地址发生冲突时会通过发送此报文来通知服务器,并且会重新向服务器申请地址。 |
| DHCP RELEASE | 客户端可通过发送此报文主动释放服务器分配给它的IP地址,当服务器收到此报文后,可将这个IP地址分配给其它的客户端。 |
| DHCP INFORM | DHCP客户端获取IP地址后,如果需要向DHCP服务器获取更为详细的配置信息(网关地址、DNS服务器地址),则向DHCP服务器发送DHCP-INFORM请求报文。 |
