|
|
发表于 2012-7-25 13:38:16
|
显示全部楼层
If the 'giaddr' field in a DHCP message from a client is non-zero,
the server sends any return messages to the 'DHCP server' port on the
BOOTP relay agent whose address appears in 'giaddr'. If the 'giaddr'
field is zero and the 'ciaddr' field is nonzero, then the server
unicasts DHCPOFFER and DHCPACK messages to the address in 'ciaddr'.
If 'giaddr' is zero and 'ciaddr' is zero, and the broadcast bit is
set, then the server broadcasts DHCPOFFER and DHCPACK messages to
0xffffffff. If the broadcast bit is not set and 'giaddr' is zero and
'ciaddr' is zero, then the server unicasts DHCPOFFER and DHCPACK
messages to the client's hardware address and 'yiaddr' address. In
all cases, when 'giaddr' is zero, the server broadcasts any DHCPNAK
messages to 0xffffffff.
giaddr就是客户端discover包bootp层“网关IP地址”;ciaddr是“客户端已知的IP地址”。你的discover包应该是这两个值和flag都是0,所以服务器用单播回应offer。客户机没有置位flag标识说明他的IP层能够在没有地址的时候处理这样单播。 |
|