详细解析DHCP报文格式内容

前文分析了DHCP工作原理和背景,这篇文章将继续深入分析DHCP报文格式。
DHCP使用BOOTP的报文格式但修改了一些字段的内容和含义DHCP报文格式如下:
下面详细介绍DHCP报文内容:
(1)op 字段表示当前报文是client的请求还是server的应答为1时表示是client的请求,为2时表示是server的应答。和BOOTP兼容,只有BOOTREQUEST = 1和BOOTREPLY = 2两个取值,具体的消息类别在数据包的尾部的OPTIONS中。
(2)htype、hlen 字段分别表示client 的网络硬件地址类型、长度,如ethernet 为1,表示client 的网络硬件是10MB的以太网类型,hlen 为6,表示client 的网络硬件地址长度是6bytes(即以太网类型的6bytes的MAC地址)。
(3)跳数字段表示当前的DHCP报文经过的DHCP RELAY的数目,类似于IP头中的跳数字段,但含义完全不同,client或server发出DHCP报文时,此字段都初始化为0 ,每经过一个DHCP RELAY, 此字段就会加1 ,此字段的作用是限制DHCP报文不要经过太多的DHCP RELAY ,协议规定当hops大于4 (现在也有规定为16) 时,这个DHCP报文就不能再进行处理,而是丢弃。若数据包需经过router传送,每站加1,若在同一网内,为0;
(4)事务ID字段表示client每次发送DHCP请求报文时选择的随机数,用来匹配server的响应报文是对哪个请求报文的响应。client会丢弃“xid”不匹配的响应报文。
(5)秒数字段表示用来表示client开始DHCP请求后的时间流逝秒数,此字段一般没有意义,最初设计此字段是为了让DHCP SERVER 在繁忙时,优先处理此字段大的DHCP请求。客户进入IP地址申请进程的时间或者更新IP地址进程的时间;由客户端软件根据情况设定。
(6)标示 字段表示在BOOTP中此字段是保留不用的,在DHCP协议中也只使用了其左边的最高位。
整个字段占16bit,其中,最左边bit被解释为广播响应标识位,所有其它bit保留备用,必须被client置为0,server和DHCP relay忽略这些bit。当client不能接收单播的DHCP响应报文时,必须把广播响应标识位置1,否则置0。而DHCP server在回应响应报文是广播还是单播,就将根据此广播响应标识位是否置位来判断。目前client一般都能接收单播报文。
(7)客户机IP地址 字段表示client自己的IP地址。可以是server分配给client的IP地址,也可以是client已有的IP地址。此字段不为0的原则就是client能够使用此IP地址接收IP报文。DHCP SERVER发现此字段不为0时,可以直接将响应报文单播给client。客户的IP地址。只有在客户端处于BOUND,RENEW,REBINDING 的状态下发送消息的时候才设置。可以用来响应ARP协议。
(8)你的IP地址 字段表示server分配给client的IP地址。当DHCP SERVER响应client请求报文时,将把分配给client的IP地址填入此字段。
(9)中继代理IP地址 字段表示记录第一个DHCP RELAY AGENT的IP地址。当client发出DHCP请求时,如果网络中存在DHCP RELAY则第一个RELAY转发这个DHCP请求报文时就会把自己的IP填入此字段中。随后的RELAY就不会更改这个字段,只是把hops加1.DHCP SERVER将会根据此字段为用户分配IP地址,并把响应报文转发给DHCP RELAY AGENT,由DHCP RELAY AGENT再转发给client。
(10)客户机硬件地址 字段表示记录client实际硬件地址内容。当client发出DHCP请求报文时,将把自己网卡的硬件地址填入此字段中。DHCP SERVER一般会根据这个字段来唯一标识一个client。而此字段必须和前面的“htype” “hlen”字段一致。如当“htype” “hlen”分别为1和6时,此字段必须填入6bytes的以太网mac地址。
(11)服务器主机名 字段表示 记录client获取启动配置信息的服务器名称。此字段由DHCP SERVER 填写,而且是可选的。如果填写,必须是一个以O结尾的字符串。
(12)启动文件名 字段表示记录client启动配置文件名。此字段由DHCP SERVER填写,而且是可选的。如果填写,必须是一个以O结尾的字符串。
(13)选项 字段表示对于BOOTP,也称为“vendor”字段。此字段包含了大量可选的终端初始配置信息和网络配置信息。如决定终端的IP特性配置信息,域名信息,标识终端的特殊信息,网关IP,DNS服务器IP,WINS服务器IP,有效租期等信息。此字段采用“CLV”方式构成,即code:标识号,唯一标识后面的信息内容,占1bytes,lenth;长度,表示后面信息内容长度,占1bytes;value;信息内容,其长度lenth所指定,以bytes为单位。
本文详细介绍了DHCP报文格式内容,下一文将介绍DHCP交互过程的几种状态机。敬请关注!

weinxin
DC Farm小程序二维码
扫一扫添加博客小程序
Jim

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:4   其中:访客  3   博主  1

    • avatar tobi 0

      不错哦,一起学习

      • avatar Rampo 0

        技术流网站,内容都很详实,学习了。谢谢!

          • 激劉勇靖 激劉勇靖 Admin

            @Rampo 谢谢你们的支持,我还会继续写出自己的东西,分享给大家!!

          • avatar song 1

            写的还不错,支持原创