DHCP 报文结构和类型

DHCP报文的结构如下图:

DHCP 报文结构和类型_第1张图片

其中:

  • op,报文类型,1表示请求报文,2表示回应报文。
  • htype,硬件地址类型,1表示10Mb/s的以太网的硬件地址。
  • hlen,硬件地址长度,以太网中该值为6
  • hops,跳数。客户端设置为0,也能被一个代理服务器设置。
  • xid,事务ID,由客户端选择的一个随机数,被服务器和客户端用来在它们之间交流请求和响应,客户端用它对请求和应答进行匹配。该ID由客户端设置并由服务器返回,为32位整数。
  • secs,由客户端填充,表示从客户端开始获得IP地址或IP地址续借后所使用了的秒数。
  • flags,标志字段。这个16比特的字段,目前只有最左边的一个比特有用,该位为0,表示单播,为1表示广播。
  • ciaddr,客户端的IP地址。只有客户端是BoundRenewRebinding状态,并且能响应ARP请求时,才能被填充。
  • yiaddr"你自己的"或客户端的IP地址。
  • siaddr,表明DHCP协议流程的下一个阶段要使用的服务器的IP地址。
  • giaddrDHCP中继器的IP地址。//注意:不是地址池中定义的网关
  • chaddr,客户端硬件地址。客户端必须设置它的"chaddr"字段。UDP数据包中的以太网帧首部也有该字段,但通常通过查看UDP数据包来确定以太网帧首部中的该字段获取该值比较困难或者说不可能,而在UDP协议承载的DHCP报文中设置该字段,用户进程就可以很容易地获取该值。
  • sname,可选的服务器主机名,该字段是空结尾的字符串,由服务器填写。
  • file,启动文件名,是一个空结尾的字符串。DHCP Discover报文中是"generic"名字或空字符,DHCP Offer报文中提供有效的目录路径全名。
  • options,可选参数域,格式为"代码+长度+数据"

常见的option主要如下表:

DHCP 报文结构和类型_第2张图片


其中对于熟悉dhcp流程比较重要的是53,即消息类型:

DHCP 报文结构和类型_第3张图片


60选项(option60)也比较常用,用来完成基于标准DHCP协议,以在客户端输入用户名和密码的方式进行的地址鉴权。主要用在按用户认证收费场合,与之对应的是pppoe认证计费


参见:http://www.ietf.org/rfc/rfc1541.txt

你可能感兴趣的:(网络)