- UID
- 1029342
- 性别
- 男
|
前面反复提到DHCP Message Type项,这里列出所有DHCP协议报文的种类。DHCP协议采用CLIENT-SERVER方式进行交互,其报文格式共有8种,具体含义如下:
1:DHCPDISCOVER(0x01),此为Client开始DHCP过程的第一个报文
2:DHCPOFFER(0x02),此为Server对DHCPDISCOVER报文的响应
3:DHCPREQUEST(0x03),此报文是Slient开始DHCP过程中对server的DHCPOFFER报文的回应,或者是client续延IP地址租期时发出的报文
4:DHCPDECLINE(0x04),当Client发现Server分配给它的IP地址无法使用,如IP地址冲突时,将发出此报文,通知Server禁止使用IP地址
5:DHCPACK(0x05),Server对Client的DHCPREQUEST报文的确认响应报文,Client收到此报文后,才真正获得了IP地址和相关的配置信息。
6:DHCPNAK(0x06),Server对Client的DHCPREQUEST报文的拒绝响应报文,Client收到此报文后,一般会重新开始新的DHCP过程。
7:DHCPRELEASE(0x07),Client主动释放server分配给它的IP地址的报文,当Server收到此报文后,就可以回收这个IP地址,能够分配给其他的Client。
8:DHCPINFORM(0x08),Client已经获得了IP地址,发送此报文,只是为了从DHCP SERVER处获取其他的一些网络配置信息,如route ip,DNS Ip等,这种报文的应用非常少见。
是一个运行IPCONFIG/RELEASE后释放IP的报文,从图中可以看出DHCP Message Type是7,他的作用是主动释放server分配给它的IP地址的报文,Server收到此报文后,就可以回收这个IP地址,能够分配给其他的Client。
上面提到的都是在已经开机的情况下获得的报文,如果计算机重新启动,是不是完全按照文章提到的四步得到IP参数。
其中包含关机前获得的IP=192.168.0.22,这是不同与前面提到的 10.177.124.X段的IP。原来客户机保留了上一次获得的地址,客户机在重新启动时,如果租用期未超过50%,它就会认为它已经知道该与哪台 DHCP服务器进行联系,于是就跳过前两步,并发送另一个DhcpRequest报文给同一个服务器。如果该IP地址仍然可用的话,该DHCP服务器将给 这台客户机返回另一个确认消息。 同样,DHCP服务器上也会保留(在租用期内的)客户机的地址。如果你的DHCP服务器中的租用期设的足够长,你就会发现,重启一台客户机后,客户机总是 得到同一个地址。这正是由于客户机、服务器能保存已分配地址所造成的。
如果一台客户机未从该DHCP服务器获取过地址,或者它获得的地址已过期,那么它将需要经过全部四个步骤才能得到一个IP地址。
由于图太多没有将图上传。
###################################################################
DHCP RFC
2009-09-02 13:26
有幸拜读了DHCP RFC文档,只有一句话,真不是写个人看得.飘忽不定,像做广告般的参考xxx参考xxx.无语.
DHCP的报文格式 尝试的翻译了点,实在头大.能懒就懒,这是我一贯的风格,没办法大多数就都还是copy的e文,当做是学英语喽^_^
DHCP的报文格式,如图1,
OP(1) | Htype(1) | Hlen(1) | Hops(1) | Transaction ID(4) | Seconds(2) | Flags(2) | Ciaddr(4) | Yiaddr(4) | Siaddr(4) | Giaddr(4) | Chaddr(16) | Sname(64) | File(128) | Options(variable) |
(图1 DHCP的 报文格式) - OP:若是client送给server的封包,设为1,反向为2;
- Htype:硬件类别,ethernet为1;
- Hlen:硬件长度,ethernet为6;
- Hops:若数据包需经过router传送,每站加1,若在同一网内,为0;
- Transaction ID:事务ID,是个随机数,用于客户和服务器之间匹配请求和相应消息;
- Seconds:由用户指定的时间,指开始地址获取和更新进行后的时间;
- Flags:从0-15bits,最左一bit为1时表示server将以广播方式传送封包给 client,其余尚未使用;
- Ciaddr:用户IP地址;
- Yiaddr:客户IP地址;
- Siaddr:用于bootstrap过程中的IP地址;
- Giaddr:转发代理(网关)IP地址;
- Chaddr:client的硬件地址;
- Sname:可选server的名称,以0x00结尾;
- File:启动文件名;
- Options:,厂商标识,可选的参数字段
|
|