1 DHCPv4 Option的分类
前文只是简单介绍了,DHCP的报文在不同场景中的交互过程。但DHCP报文的精髓还在于DHCP Option,我们知道DHCP报文主要作用是,服务器给客户端分配IP。
但如果只是简简单单的分配IP,这也大材小用了。服务器给客户端分配的信息可以有很多很多,比如服务器通过DHCP报文告诉客户端网关是谁、子网掩码是多少、DNS服务器是谁、NTP服务器是谁等等。而这些信息都是通过DHCP Option告诉给客户端。
DHCPv4 Option分为standard class、vendor class、user class等三类,区别如下。
standard class:为RFC定义的,任何客户端请求到达服务器时,服务器根据请求中的paremeter request list,在standard-class下查找对应option回复给客户端
vendor class:为厂商定义的,当客户端的option 60值(即厂商特定设备标识符),匹配服务器定义vendor-class时,才给客户端响应此vendor-class下的option。
user class:为用户定义的,当客户端的option 77值(即用户设备标识符),匹配服务器定义user-class时,才给客户端响应此user-class下的option。
2 特殊的DHCPv4 Option
(1)DHCPv4 Option 55
我们知道,服务器收到客户端请求后,就把自己所配置的option给客户端,那是不是要把所有配置的option都给客户端呢?如果这样,当客户端只需要其中一两个Option时,服务器回来一堆,不是浪费网络带宽、浪费各自的资源吗?
因此DHCP协议定义了一个字段,专门给客户端使用,当客户端发起请求时,就得带上。该字段里面包含了客户端需要服务器提供哪些Option,注意该字段本身也是一种Option。
这个字段就是Option 55:Parameter Request List,不同厂商、不同设备型号的Option 55内容不同。
option type | 举例(wireshark解析后数据) | Option Value |
55: Parameter Request List | Cisco ATA IP Phone | |
55: Parameter Request List | Cisco MPP IP Phone | |
55: Parameter Req |