首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在DHCPv4中使用的选项60 (供应商类标识符)是什么?

在DHCPv4中使用的选项60 (供应商类标识符)是什么?
EN

Server Fault用户
提问于 2023-05-02 23:34:40
回答 2查看 224关注 0票数 0

目前,我正在使用Wireshark来分析无线设备和我的DHCP服务器之间的DHCP进程(在本例中,DHCP是我的Wi路由器)。在我测试的所有设备上,我注意到每个设备都在其DHCP发现包中提供了“供应商类标识符”(或Wireshark上的选项60 )。我看到的供应商类标识符的一些示例如下:

  • udhcp 1.23.2
  • android-dhcp-13
  • MSFT5.0

“Androiddhcp-13”对应于我的Android手机(运行Android 13),而‘MSFT5.0’对应于我的Windows笔记本电脑。“udhcp 1.23.2”对应于智能家居设备。

我能够在android-dhcp-13和MSFT5.0上找到更多的信息,但是我没有找到多少关于'udhcp‘和版本号意味着什么的信息?另外,供应商类标识符是否是特定于模型的(例如,所有第2代Google将使用供应商类标识符x)?或者,制造商会通过将普通固件更新推送到设备上来改变这种情况吗?最重要的是,为什么设备会为DHCP服务器提供这个参数?DHCP服务器是否使用此供应商ID向设备提供特定参数?

EN

回答 2

Server Fault用户

回答已采纳

发布于 2023-05-03 00:25:24

基本上,供应商类标识符用于通知DHCP服务器特定供应商和/或模型信息。版本号没有任何特殊的含义,因为主要的DHCP服务器将匹配基于子字符串(或regex)的VCI类信息。

此匹配在DHCP服务器端执行,以:

  1. 从为此设备类设置的特定池中分配租约和租赁参数(路由器、名称服务器等)。
  2. 通过选项43供应商特定信息通知硬件设备(如接入点、IP电话等)特定配置选项。这些通常是用于AP的控制器IP地址、用于IP电话的SIP服务器地址以及其他类型的供应商定义的选项设备可能接受的地址。
  3. 在请求网络引导时提供适当的PXE环境设置,即根据模型/类型将它们定向到适当的TFTP服务器和引导映像。

所有这些都是可选的,因此默认情况下,DHCP服务器不会解释选项60的值,因此需要对其进行配置。

票数 1
EN

Server Fault用户

发布于 2023-05-04 21:38:04

我找不到多少关于'udhcp‘和版本号意味着什么的信息?

当然,这是一个实时Linux引导系统或类似的系统。当一个Linux启动时,它启动一个内核,内核加载一个包含最小Linux文件系统的initrd.gz。这通常是基于百事箱的,以节省空间和使事情更容易。Busybox提供了一个名为"udhcpc“的DHCP客户机。

看看udhcpc的代码,我们看到:

https://elixir.bootlin.com/busybox/1.23.2/source/networking/udhcp/dhcpc.c#L1266

str_V = "udhcp "BB_VER;

稍后,str_V作为“供应商类”的内容加载(选项60)。

https://elixir.bootlin.com/busybox/1.23.2/source/networking/udhcp/dhcpc.c#L1366

client_config.vendorclass = alloc_dhcp_option(DHCP_VENDOR, str_V, 0);

当使用busybox版本1.23.2时,您将得到

代码语言:javascript
复制
    BB_VER =  1.23.2 

然后,客户端将使用Vendor类字符串:

udhcp 1.23.2

这正是您在Wireshark捕获的DHCPDISCOVEY数据包中看到的,当客户端在引导时启动DORA序列时。

关于“供应商类”的含义,您可以看到

RFC2132 DHCP选项与BOOTP供应商扩展

9.13.供应商类标识符

DHCP客户端使用此选项可选择地标识DHCP客户端的供应商类型和配置。该信息是由服务器解释的n个八进制字符串。供应商可以选择定义特定的供应商类别标识符,以传递有关客户端的特定配置或其他标识信息。例如,标识符可以编码客户端的硬件配置。没有准备好解释客户端发送的类特定信息的服务器必须忽略它(尽管它可能会被报告)。响应的服务器应该只使用选项43将特定于供应商的信息返回给客户端。此选项的代码为60,最小长度为1。代码Len Vendor类标识符 +

其他标准,如PXE,定义了供应商类标识符的特定内容,在本例中,该标准告诉DHCP或proxyDHCP服务器,引导客户端不仅需要IP和相关选项,还需要网络引导,这需要额外的参数,如TFTP服务器的IP和NBP (网络启动程序)。

所有通过PXE标准v2.1引导客户端的PXE应该向供应商类标识符中添加一个表单的字符串:

“PXEClient:Arch:xxxxx:UNDI:yyyzzz”--用于客户端和服务器之间的事务。“PXEServer”-用于服务器之间的事务。(这些字符串区分大小写。此字段不能为null终止。)标记93和94中的信息嵌入到类标识符字符串xxxxx = Client Sys Architecture 0- 65535 yyy = UNDI主版本0- 255 zzz = UNDI次要版本0- 255分隔符是“:”(冒号)

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1130222

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档