将MAC地址嵌入DHCPv6有状态地址分配的方法技术

技术编号:27358220 阅读:60 留言:0更新日期:2021-02-19 13:39
本发明专利技术公开一种将MAC地址嵌入DHCPv6有状态地址分配的方法,步骤为:开启设备;启动本算法的DHCP客户端,生成本机DUID;在DUID类型为DUID

【技术实现步骤摘要】
将MAC地址嵌入DHCPv6有状态地址分配的方法


[0001]本专利技术涉及一种智能通讯技术,具体为一种将MAC地址嵌入DHCPv6 有状态地址分配的方法。

技术介绍

[0002]目前,网络技术中进行IPv6地址自动分配流程中,通过DUID以及IAID 的方式来确定客户端特定接口的的地址分配。通过接口的不同IAID来为不同接口分配相应的IPv6地址。但是在实际情况中,无法准确获取该接口的链路层地址(MAC),在一些需要MAC地址的情况下并不是很方便使用,列如主机预留等情况或者很多网管软件是基于MAC地址进行资产或设备管理。
[0003]当前定义了四种DUID类型,其中两种(默认的DUID-LLT和DUID-LL) 传达MAC地址信息。可以解析这些DUID并从中提取必要的信息。此方法并不完全可靠,当设备有多个接口时,获取的MAC地址可能并不是真实的,并且客户端可能会使用其他DUID类型,即DUID-EN或DUID-UUID。
[0004]现有的四种DUID类型格式,其中,1类DUID类型由2个字节的类型字段组成,该字段包含类型值1,一个2字节的硬件类型代码,以及4个字节,其中包含一个时间戳值,后跟任意一个网络的链路层地址。DUID-LLT 的格式图1所示。
[0005]2类DUID类型
[0006]供应商将这种形式的DUID分配给设备。这个DUID由四位字节的供应商注册的私有企业编号组成由,这个企业编号由IANA[IANA-PEN]维护,后跟唯一标识符由供应商分配;DUID-EN的格式如图2所示。
[0007]3类DUID类型
[0008]此DUID类型由2个八位字节组成,其中DUID类型为3和一个2字节的网络硬件类型代码,然后是链路层永久连接到的任何一个网络接口的物理地址。DUID-LL的结构如图3所示。
[0009]4类DUID类型
[0010]这种DUID由16个八位字节组成,包含一个128位UUID。DUID-UUID 的格式如图4所示。
[0011]上述的四种DUID都不可以根据其获取到请求接口的链路层地址 (MAC地址),虽然在RFC 6939中定义了一种获取客户端链路层地址的办法但是这种办法需要通过交换机的协同才能实现,所以并不方便实现。

技术实现思路

[0012]针对现有技术中IPv6地址自动分配,当设备有多个接口时,获取的 MAC地址可能不真实以及实现不方便等不足,本专利技术要解决的问题是提供一种可提高地址真实性的将MAC地址嵌入DHCPv6有状态地址分配的方法。
[0013]为解决上述技术问题,本专利技术采用的技术方案是:
[0014]本专利技术提供一种将MAC地址嵌入DHCPv6有状态地址分配的方法,包括以下步骤:
[0015]开启设备;启动本算法的DHCP客户端,生成本机DUID;
[0016]在DUID类型为DUID-UUID类型下,经过扫描本机网口的MAC地址,提取设备的DUID的前80字节位;与各接口的MAC地址进行拼接成该接口的DUID-MAC;同时定义DUID类型为DUID-MAC且进行永久化保存,除非接口硬件设备的变更,否则该网络接口将永久使用拼接生成的 DUID-MAC;
[0017]设备使用DUID-MAC作为DUID字段发起DHCPv6请求。
[0018]如果不是DUID-UUID类型,则DHCP客户端自动生成80为字节位的 UUID,接续与各接口的MAC地址进行拼接成该接口的DUID-MAC步骤。
[0019]DHCP客户端请求通过以下方式实现:
[0020]由DHCP客户端生成相应网口的DUID-MAC的值;
[0021]封装DHCPv6请求包,其中DUID选项值插入DUID-IM;
[0022]向DHCP服务器发送DHCPv6包;
[0023]服务器根据相应的请求包进行处理。
[0024]定义新的DUID类型为DUID-IM。
[0025]本专利技术具有以下有益效果及优点:
[0026]1.本专利技术提供一种将MAC地址嵌入DHCPv6有状态地址分配的方法,通过DHCP客户端为每个接口都生成一个相应的DUID,该DUID包含了接口相应的MAC地址,可以实现在服务端获取到准确的接口链路层地址 (MAC地址),这样为一些需要MAC地址的IPv6地址场景提供了解决方案。
[0027]2.本专利技术提出了为设备单个接口生成一个DUID值进行DHCP请求,来解决目前使用中DHCPv6的链路层地址获取问题,其使用与本机设备的唯一DUID并不冲突,提交到服务端的MAC地址真实准确且方便实现。
附图说明
[0028]图1为现有技术中的DUID-LLT格式示意图;
[0029]图2为现有技术中的DUID-EN格式示意图;
[0030]图3为现有技术中的DUID-LL格式示意图;
[0031]图4为现有技术中的DUID-UUID格式示意图;
[0032]图5为专利技术将MAC地址嵌入DHCPv6有状态地址分配的方法流程图;
[0033]图6为本专利技术中DUID-IM格式示意图;
[0034]图7为案例中DHCP客户端请求过程流程图。
具体实施方式
[0035]下面结合说明书附图对本专利技术作进一步阐述。
[0036]如图5所示,本专利技术提供一种将MAC地址嵌入DHCPv6有状态地址分配的方法,包括以下步骤:
[0037]开启设备;读取本机DUID;
[0038]启动DHCP客户端;
[0039]通DHCP客户端的算法机制进行DUIID类型的判断;
[0040]在DUID类型为DUID-UUID类型下,经过扫描本机网口的MAC地址,提取设备的DUID的前80字节位;
[0041]与各接口的MAC地址进行拼接成该接口的DUID-IM并修改DUID类型。
[0042]进行永久化保存,除非接口硬件设备的变更,否则该接口的DUID-IM 将永久使用拼接生成的DUID-IM;
[0043]设备使用DUID-IM作为DUID字段发起DHCPv6请求。
[0044]如果不是DUID-UUID类型,则DHCP客户端自动生成80为字节位的 UUID,接续与各接口的MAC地址进行拼接成该接口的DUID-IM步骤。
[0045]本专利技术在通用DUID定义基础上,提供一种在Pv6情况下通过专用算法生成新的接口DUID用来获取当前接口上的真实的MAC地址的方法。通过对现有DUID的弊端从分析,通过DHCP客户端为每个接口都生成一个相应的DUID,该DUID包含了接口相应的MAC地址,称之为DUID-IM。
[0046]本专利技术将本方法定义为5类DUID。DUID-IM格式示意图如图6所示。
[0047]DHCP客户端请求通过以下方式实现,如图7所示:
[0048]由dhcp客户端读取相应网口的DUID-IM的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种将MAC地址嵌入DHCPv6有状态地址分配的方法,其特征在于包括以下步骤:开启设备;启动本算法的DHCP客户端,生成本机DUID;在DUID类型为DUID-UUID类型下,经过扫描本机网口的MAC地址,提取设备的DUID的前80字节位;与各接口的MAC地址进行拼接成该接口的DUID-MAC;同时定义DUID类型为DUID-MAC且进行永久化保存,除非接口硬件设备的变更,否则该网络接口将永久使用拼接生成的DUID-MAC;设备使用DUID-MAC作为DUID字段发起DHCPv6请求。2.根据权利要求1所述的将MAC地址嵌入DHCPv6有状态地址分配的方法,其特征在于:如...

【专利技术属性】
技术研发人员:王旸薛丽峰蒋驰闫海伟
申请(专利权)人:易讯科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1