二层网络交换设备实现DHCPv6中继的方法及系统的制作方法

文档序号:7888711阅读:261来源:国知局
专利名称:二层网络交换设备实现DHCPv6中继的方法及系统的制作方法
技术领域
本发明涉及计算机网络的DHCPve地址分配技术,尤其涉及一种二层网络交换设备实现DHCPv6中继的方法及系统。
背景技术
DHCPv6 (Dynamic Host Configuration Protocol for IPv6)是动态主机配置协议的IPv6 (Internet Protocol Version 6,版本号为6的互联网协议)版本,协议基本规范由 RFC3315定义,DHCPv6服务端可以向DHCPv6客户端分配IPv6地址以及其它配置参数。相对于RFC2462定义的IPv6无状态地址自动配置协议,DHCPv6属于一种有状态地址自动配置协议;在无状态地址自动配置方式中,路由器只是把地址前缀通知给同一链路上的主机,主机把获得的地址前缀和本地接口 EUI-64 (64-bit extended unique identifier, 64位扩展唯一识别符)标识符组合生成一个IPv6地址,但路由器本身并不记录主机的具体IPv6地址;而在DHCPv6这种有状态地址自动配置方式中,DHCPv6服务器分配一个完整的IPv6地址给主机,并把分配的IPv6地址和客户端的绑定关系记录在案。当DHCPv6客户端希望从位于不同链路的DHCPv6服务器请求地址和配置参数时, 客户端需要通过DHCPv6 RELAY才能与服务器进行通信,其中,DHCPv6 RELAY即DHCPv6中继,也叫做DHCPv6中继代理。DHCPv6中继节点收到来自客户端的DHCPv6消息,将该消息重新封装成中继转发(RELAY-forward)报文后,转发给不在同一链路的DHCPv6服务器, DHCPv6服务器回应的DHCPv6消息被封装成中继回应(Relay-reply)报文后交给DHCPv6中继节点,然后DHCPv6中继节点拆除中继封装,将其还原成DHCPv6消息再转交给DHCPv6客户端,从而完成DHCPv6客户端与DHCPv6服务器之间的通信。DHCPv6 OPTION 37是DHCPv6报文中的中继代理远程标识号(Remote-ID)选项 (Relay Agent Remote-ID Option),其选项编号为 37,简称 OPTION 37。OPTION 37 是为了增强DHCPv6服务器的安全性,改善IPv6地址配置策略而提出的一种机制。通过在网络接入设备上配置DHCPv6中继代理功能,中继代理把从客户端接收到的DHCPv6请求报文添加 OPTION 37选项(其中包含了客户端的接入物理端口和接入设备标识等信息),然后再把该报文转发给DHCPv6服务器,支持OPTION 37功能的DHCPv6服务器接收到DHCPv6请求报文后,根据预先配置策略和DHCPv6请求报文中OPTION 37信息分配IPv6地址和其它配置信息给DHCPv6客户端,同时DHCPv6服务器也可以依据OPTION 37中的信息识别可能的DHCP 攻击报文并作出防范。OPTION 37是在DHCPv6中继代理中应用的,如果在接入环境中不配置DHCPv6中继代理,则无法利用OPTION 37的功能来规划和管理接入端用户IP的分配。但是,DHCPv6中继一般部署于路由器或三层交换机等具有IP转发能力的设备上,二层网络交换设备因缺乏IP转发能力而无法实现DHCPv6中继功能
发明内容
本发明技术方案的主要思想二层网络交换设备通过在DHCPv6请求报文的用户标识选项中添加中继代理远程标识号选项信息,从而DHCPv6服务器能够根据添加的所述中继代理远程标识号选项信息从相对应的IPv6地址池中分配出IPv6地址,同时,也可以根据所述中继代理远程标识号选项信息确定DHCPv6客户端的VLAN和端口,使二层交换设备能正确的将中继回应报文转发给DHCPv6客户端;有效解决了二层网络交换设备无法实现 DHCPv6中继功能的问题。为达到上述目的,本发明是通过以下技术方案来实现的一种二层网络交换设备实现DHCPv6中继的方法,包括如下步骤A、二层网络交换设备的DHCPv6中继单元在客户端传入的DHCPv6请求报文中添加定义或缺省设置的OPTION 37 ;B、所述DHCPve中继单元将所述请求报文封装成中继转发报文后,中继至DHCPve 服务器;C、DHCPV6服务器解析出中继转发报文中的DHCPV6请求报文,并分析所述请求报文,根据分析结果,驳回该请求报文,或将与该请求报文对应的IPv6地址加入中继回应报文中后,通过DHCPv6中继单元下发给客户端。特别的,所述步骤A中添加定义或缺省设置的OPTION 37具体包括将缺省情况下企业叫号设置为厂商的注册号,远程标识号设置为接入VLAN、接入端口以及二层网络交换设备处理器的介质访问控制地址;如果用户定义了 0PTI0N37的内容,则填入定义的OPTION 37信息。特别的,所述步骤B中DHCPv6中继单元将所述请求报文封装成中继转发报文之后还包括在中继转发报文的link-address字段中填入DHCPv6中继单元接收客户端报文接口的IPv6全球单播地址。特别的,所述步骤B中中继转发报文的IPv6首部源地址取自收包接口的IPv6全球单播地址,如果没有全球单播地址,则取自收包接口的链路本地地址;IPv6首部目的地址取自收包接口配置的DHCPv6中继单元的目的地址,DHCPv6中继单元根据该目的地址将中继转发报文中继至DHCPv6服务器。特别的,所述步骤C具体包括CU DHCPv6服务器解析出中继转发报文中的DHCPv6请求报文;C2、DHCPv6服务器将DHCPv6请求报文的OPTION 37信息与DHCPv6服务器中预存的OPTION 37信息进行对比;如果在DHCPv6服务器中存在与DHCPv6请求报文的OPTION 37 信息匹配的OPTION 37,则将此OPTION 37相应的地址池中的IPv6地址分配给DHCPv6请求报文,否则,驳回所述DHCPv6请求报文;C3、DHCPv6服务器将其分配给DHCPv6请求报文的IPv6地址和DHCPv6请求报文中的OPTION 37封装到中继回应报文中,并把中继转发报文的源地址作为回应中继回应报文的目的地址,单播发送给DHCPv6中继单元;C4、DHCPv6中继单元收到中继回应报文后,提取OPTION 37,并根据0PTI0N37中的 VLAN和端口信息,将中继回应报文转发客户端。本发明还公开了一种二层网络交换设备实现DHCPv6中继的系统,包括二层网络交换设备的DHCPv6中继单元,与客户端连接,用于在客户端传入的DHCPv6请求报文中添加定义或缺省设置的OPTION 37,并将所述请求报文封装成中继转发报文后,中继至DHCPv6服务器;DHCPv6服务器,与二层网络交换设备连接,解析出中继转发报文中的DHCPv6请求报文,并分析所述请求报文,根据分析结果,驳回该请求报文,或将与该请求报文对应的 IPv6地址加入中继回应报文中后,通过DHCPv6中继单元下发给客户端。特别的,所述添加定义或缺省设置的OPTION 37具体包括将缺省情况下企业叫号设置为厂商的注册号,远程标识号设置为接入VLAN、接入端口以及二层网络交换设备处理器的介质访问控制地址;如果用户定义了 OPTION 37的内容,则填入定义的OPTION 37信肩、O特别的,所述DHCP中继单元,具体还用于在中继转发报文的link-address字段中填入DHCPv6中继单元接收客户端报文接口的IPv6全球单播地址;其中,中继转发报文的IPv6首部源地址取自收包接口的IPv6全球单播地址,如果没有全球单播地址,则取自收包接口的链路本地地址;IPv6首部目的地址取自收包接口配置的DHCPv6中继单元的目的地址,DHCPv6中继单元根据该目的地址将中继转发报文中继至DHCPv6服务器。特别的,所述DHCP服务器,将DHCPv6请求报文的OPTION 37信息与DHCPv6服务器中预存的OPTION 37信息进行对比;如果在DHCPv6服务器中存在与DHCPv6请求报文的 OPTION 37信息匹配的OPTION 37,则将此OPTION 37相应的地址池中的IPv6地址分配给 DHCPv6请求报文,否则,驳回所述DHCPv6请求报文,并将所述IPv6地址和DHCPv6请求报文中的OPTION 37封装到中继回应报文中后,把中继转发报文的源地址作为回应中继回应报文的目的地址,单播发送给DHCPv6中继单元。特别的,所述DHCPv6中继单元,还用于提取中继回应报文中的OPTION 37,并根据OPTION 37中的VLAN和端口信息,将中继回应报文转发客户端。本发明的有益效果为,所述一种二层网络交换设备实现DHCPv6中继的方法及系统通过DHCPv6中继单元为收到的DHCPv6请求报文添定义或加缺省的OPTION 37,从而使二层网络交换设备无需复杂的配置就能实现DHCPv6中继功能,且实施简单,功能可靠。


图I为本发明实施例I提供的二层网络交换设备实现DHCPv6中继的方法流程图;图2为本发明实施例2提供的二层网络交换设备实现DHCPv6中继的系统框图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚,下面结合附图和实施例对本发明作进一步说明。实施例I本发明的原理DHCPv6中继一般部署于路由器或三层交换机等具有IP转发能力的设备上,二层网络交换设备定位于二层交换,因此在硬件上不具备IP转发能力,软件上也不去实现IP转发功能,因此,一般只配置一个软件三层接口并设置一个管理IP地址,作为一个终端结点 (End Node),做管理用。然而,实现DHCPv6中继的设备一般配置有多个三层接口,每一个接口下对应不同的网段(VLAN,虚拟局域网),每一个VLAN对应一个广播域,在三层接口上配置IPv6地址,该IP在报文中继时会填入中继转发报文的link-address字段,DHCPv6服务器将根据所述link-address来给用户分配同一网段的IP,这个DHCPv6服务器就能为不同网段的DHCPv6用户分配地址了,而且DHCPv6中继也需要根据link-address来匹配三层接口,将中继回应报文返回给对应VLAN的DHCPv6用户;因此,在现有技术中,缺乏多个三层接口使得二层网络交换设备不适合做DHCPv6中继代理。但是,二层网络交换设备可以通过option 37来携带VLAN和端口信息,DHCPv6服务器根据VLAN信息也能分配相应网段的Ipv6地址,同时,中继回应报文到达DHCPv6中继时,也可以根据OPTION 37 (DHCPv6服务器原封不动的将中继转发报文中的OPTION 37封装到中继回应报文中)来确定DHCPv6客户端的VLAN和端口,二层网络交换设备能正确的将中继回应报文转发给DHCPV6客户端。因此,本发明的OPTION 37类似于link-address的作用,适合于没有多个三层接口的二层网络交换设备。请参照图I所示,图I为本发明二层网络交换设备实现DHCPv6中继的方法流程图。本实施例中二层网络交换设备实现DHCPv6中继的方法包括如下步骤步骤101、二层网络交换设备启动DHCPv6中继单元,然后设置硬件表项,DHCPv6请求报文重定向到二层网络交换设备的处理器(CPU)。配置DHCPV60PTI0N 37的添加内容时, 可以指定一个特定的字符串和十六进制串,缺省情况下内容为二层网络交换设备处理器的介质访问控制(CPU MAC)地址、客户端(即DHCPv6客户端)虚拟局域网(Virtual Local Area Network, VLAN)和端口号。并配置需要中继到的DHCPv6服务器的地址。步骤102、二层网络交换设备的DHCPv6中继单元在客户端传入的DHCPv6请求报文中添加定义或缺省设置的OPTION 37。二层网络交换设备的DHCPv6中继单元收到客户端的DHCP请求报文后, 在DHCP请求报文中添加定义或缺省设置的OPTION 37,其中,缺省情况下企业叫号 (Enterprise-Number)设置为厂商的注册号,远程标识号(Remote-ID)设置为接入VLAN、 接入端口以及二层网络交换设备处理器的介质访问控制(CPUMAC)地址;如果用户定义了 OPTION 37的内容,则填入定义的OPTION 37信息。步骤103、DHCPv6中继单元将DHCPv6请求报文封装成中继转发报文后,中继至 DHCPv6服务器。DHCPv6中继单元将DHCPv6请求报文封装成中继转发报文,并在中继转发报文的 link-address字段中填入DHCPv6中继单元接收客户端报文接口的IPv6全球单播地址,其中,中继转发报文的IPv6首部源地址取自收包接口的IPv6全球单播地址,如果没有全球单播地址,则取自收包接口的链路本地地址;IPv6首部目的地址取自收包接口配置的DHCPv6 中继单元的目的地址,DHCPv6中继单元根据该目的地址将中继转发报文中继至DHCPv6服务器。所述link-address字段用于存储一个全球单播地址或链路本地地址,DHCPv6服务器用该地址来确定客户端所在链路。步骤104、DHCPv6服务器收到中继转发报文后,从中解析出客户端发出的DHCPv6
7请求报文。步骤105、DHCPv6服务器分析DHCPv6请求报文,并根据分析结果,驳回该请求报文,或将与该请求报文对应的IPv6地址加入中继回应报文中后,下发给DHCPv6中继单元。DHCPv6服务器将DHCPv6请求报文的OPTION 37信息与DHCPv6服务器中预存的 OPTION 37信息进行对比;如果在DHCPv6服务器中存在与DHCPv6请求报文的OPTION 37信息匹配的OPTION 37,则将此OPTION 37相应的地址池中的IPv6地址分配给DHCPv6请求报文,否则,驳回所述DHCPv6请求报文。然后,DHCPv6服务器将其分配给DHCPv6请求报文的IPv6地址和DHCPv6请求报文中的OPTION 37封装到中继回应报文中,并把中继转发报文的源地址作为回应中继回应报文的目的地址,根据此目的地址,将中继回应报文单播发送给DHCPv6中继单元。步骤106、DHCPv6中继单元收到中继回应报文后,提取OPTION 37,并根据OPTION 37中的虚拟局域网和端口信息,将中继回应报文转发客户端。DHCPv6中继单元收到中继回应报文后,提取其中的OPTION 37,然后从中继回应报文中解析出DHCPv6服务器的DHCPv6回应,并根据OPTION 37中的虚拟局域网和端口信息,将DHCPv6回应转发给客户端。实施例2如图2所示,图2为本发明二层网络交换设备实现DHCPv6中继的系统框图。本实施例中二层网络交换设备实现DHCPv6中继的系统包括DHCPv6服务器204 和已启动DHCPv6中继单元并设置完硬件表项的二层网络交换设备202。所述二层网络交换设备202的DHCPv6中继单元,与客户端(即DHCPv6客户端)201 连接,用于在客户端201传入的DHCPv6请求报文中添加定义或缺省设置的OPTION 37,并将所述请求报文封装成中继转发报文后,中继至DHCPv6服务器204。二层网络交换设备202启动DHCPv6中继单元后,设置硬件表项,DHCPv6请求报文重定向到二层网络交换设备202的处理器。配置DHCPv6 OPTION 37的添加内容时,可以指定一个特定的字符串和十六进制串,缺省情况下内容为二层网络交换设备202处理器的介质访问控制地址、客户端201的虚拟局域网和端口号。并配置需要中继到的DHCPv6服务器 204的地址。二层网络交换设备202的DHCPv6中继单元收到客户端201的DHCP请求报文后, 在DHCP请求报文中添加定义或缺省设置的OPTION 37,其中,缺省情况下OPTION 37的企业叫号设置为厂商的注册号,远程标识号设置为接入虚拟局域网、接入端口以及二层网络交换设备202处理器的介质访问控制地址;如果用户定义了 OPTION 37的内容,则填入定义的 OPTION 37 信息。DHCPv6中继单元将DHCPv6请求报文封装成中继转发报文,并在中继转发报文的 link-address字段中填入DHCPv6中继单元接收客户端201报文接口的IPv6全球单播地址,其中,中继转发报文的IPv6首部源地址取自收包接口的IPv6全球单播地址,如果没有全球单播地址,则取自收包接口的链路本地地址;IPv6首部目的地址取自收包接口配置的DHCPv6中继单元的目的地址,DHCPv6中继单元根据该目的地址将中继转发报文中继至 DHCPv6 服务器 204。所述DHCPv6服务器204,通过局域网203与二层网络交换设备202连接,解析出中继转发报文中的DHCPv6请求报文,并分析所述请求报文,根据分析结果,驳回该请求报文, 或将与该请求报文对应的IPv6地址加入中继回应报文中后,通过DHCPv6中继单元下发给客户端201。DHCPv6服务器204将DHCPv6请求报文的OPTION 37信息与DHCPv6服务器204 中预存的OPTION 37信息进行对比;如果在DHCPv6服务器204中存在与DHCPv6请求报文的OPTION 37信息匹配的OPTION 37,则将此OPTION 37相应的地址池中的IPv6地址分配给DHCPv6请求报文,否则,驳回所述DHCPv6请求报文。然后,DHCPv6服务器204将其分配给DHCPv6请求报文的IPv6地址和DHCPv6请求报文中的OPTION 37封装到中继回应报文中,并把中继转发报文的源地址作为回应中继回应报文的目的地址,根据此目的地址,将中继回应报文单播发送给DHCPv6中继单元。DHCPv6中继单元收到中继回应报文后,提取其中的OPTION 37,然后从中继回应报文中解析出DHCPv6服务器204的DHCPv6回应,并根据 OPTION 37中的虚拟局域网和端口信息,将DHCPv6回应转发给客户端201。本发明使二层网络交换设备无需复杂的配置,通过为接收到的DHCPv6请求报文添定义或加缺省的OPTION 37信息,实现了 DHCPv6中继功能,而且实施简单,功能可靠。上述仅为本发明的较佳实施例及所运用技术原理,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围内。
权利要求
1.一种二层网络交换设备实现DHCPv6中继的方法,其特征在于,包括如下步骤A、二层网络交换设备的DHCPv6中继单元在客户端传入的DHCPv6请求报文中添加定义或缺省设置的OPTION 37 ;B、所述DHCPv6中继单元将所述请求报文封装成中继转发(RELAY-forward)报文后,中继至DHCPv6服务器;C、DHCPv6服务器解析出中继转发报文中的DHCPv6请求报文,并分析所述请求报文,根据分析结果,驳回该请求报文,或将与该请求报文对应的IPv6地址加入中继回应 (Relay-reply)报文中后,通过DHCPv6中继单元下发给客户端。
2.根据权利要求I所述的二层网络交换设备实现DHCPv6中继的方法,其特征在于,所述步骤A中添加定义或缺省设置的OPTION 37具体包括将缺省情况下企业叫号(Enterprise-Number)设置为厂商的注册号,远程标识号 (Remote-ID)设置为接入VLAN、接入端口以及二层网络交换设备处理器的介质访问控制 (CPU MAC)地址;如果用户定义了 OPTION 37的内容,则填入定义的OPTION 37信息。
3.根据权利要求2所述的二层网络交换设备实现DHCPv6中继的方法,其特征在于,所述步骤B中DHCPv6中继单元将所述请求报文封装成中继转发报文之后还包括在中继转发报文的link-address字段中填入DHCPv6中继单元接收客户端报文接口的IPv6全球单播地址。
4.根据权利要求3所述的二层网络交换设备实现DHCPv6中继的方法,其特征在于,所述步骤B中中继转发报文的IPv6首部源地址取自收包接口的IPv6全球单播地址,如果没有全球单播地址,则取自收包接口的链路本地地址;IPv6首部目的地址取自收包接口配置的DHCPv6中继单元的目的地址,DHCPv6中继单元根据该目的地址将中继转发报文中继至 DHCPv6服务器。
5.根据权利要求4所述的二层网络交换设备实现DHCPv6中继的方法,其特征在于,所述步骤C具体包括CU DHCPV6服务器解析出中继转发报文中的DHCPV6请求报文;C2、DHCPv6服务器将DHCPv6请求报文的OPTION 37信息与DHCPv6服务器中预存的 OPTION 37信息进行对比;如果在DHCPv6服务器中存在与DHCPv6请求报文的OPTION 37信息匹配的OPTION 37,则将此OPTION 37相应的地址池中的IPv6地址分配给DHCPv6请求报文,否则,驳回所述DHCPv6请求报文;C3、DHCPv6服务器将其分配给DHCPv6请求报文的IPv6地址和DHCPv6请求报文中的 OPTION 37封装到中继回应报文中,并把中继转发报文的源地址作为回应中继回应报文的目的地址,单播发送给DHCPv6中继单元;C4、DHCPv6中继单元收到中继回应报文后,提取OPTION 37,并根据0PTI0N37中的VLAN 和端口信息,将中继回应报文转发客户端。
6.一种二层网络交换设备实现DHCPv6中继的系统,其特征在于,包括二层网络交换设备的DHCPv6中继单元,与客户端连接,用于在客户端传入的DHCPv6请求报文中添加定义或缺省设置的OPTION 37,并将所述请求报文封装成中继转发报文后,中继至DHCPv6服务器;DHCPv6服务器,与二层网络交换设备连接,解析出中继转发报文中的DHCPv6请求报文,并分析所述请求报文,根据分析结果,驳回该请求报文,或将与该请求报文对应的IPv6 地址加入中继回应报文中后,通过DHCPv6中继单元下发给客户端。
7.根据权利要求6所述的二层网络交换设备实现DHCPv6中继的系统,其特征在于,所述添加定义或缺省设置的OPTION 37具体包括将缺省情况下企业叫号设置为厂商的注册号,远程标识号设置为接入VLAN、接入端口以及二层网络交换设备处理器的介质访问控制地址;如果用户定义了 OPTION 37的内容, 则填入定义的OPTION 37信息。
8.根据权利要求7所述的二层网络交换设备实现DHCPv6中继的系统,其特征在于,所述DHCP中继单元,具体还用于在中继转发报文的link-address字段中填入DHCPv6中继单元接收客户端报文接口的 IPv6全球单播地址;其中,中继转发报文的IPv6首部源地址取自收包接口的IPv6全球单播地址,如果没有全球单播地址,则取自收包接口的链路本地地址;IPv6首部目的地址取自收包接口配置的DHCPv6中继单元的目的地址,DHCPv6中继单元根据该目的地址将中继转发报文中继至DHCPv6服务器。
9.根据权利要求8所述的二层网络交换设备实现DHCP中继的系统,其特征在于,所述 DHCP服务器,将DHCPv6请求报文的OPTION 37信息与DHCPv6服务器中预存的OPTION 37 信息进行对比;如果在DHCPv6服务器中存在与DHCPv6请求报文的OPTION 37信息匹配的 OPTION 37,则将此OPTION 37相应的地址池中的IPv6地址分配给DHCPv6请求报文,否则, 驳回所述DHCPv6请求报文,并将所述IPv6地址和DHCPv6请求报文中的OPTION 37封装到中继回应报文中后,把中继转发报文的源地址作为回应中继回应报文的目的地址,单播发送给DHCPv6中继单元。
10.根据权利要求9所述的二层网络交换设备实现DHCP中继的系统,其特征在于,所述 DHCPv6中继单元,还用于提取中继回应报文中的OPTION 37,并根据OPTION 37中的VLAN和端口信息,将中继回应报文转发客户端。
全文摘要
本发明公开一种二层网络交换设备实现DHCPv6中继的方法,包括如下步骤A、二层网络交换设备的DHCPv6中继单元在客户端传入的DHCPv6请求报文中添加定义或缺省设置的OPTION 37;B、DHCPv6中继单元将所述请求报文封装成中继转发报文后,中继至DHCPv6服务器;C、DHCPv6服务器解析出中继转发报文中的DHCPv6请求报文,并分析所述请求报文,根据分析结果,驳回该请求报文,或将与该请求报文对应的IPv6地址加入中继回应报文中后,通过DHCPv6中继单元下发给客户端。本发明使二层网络交换设备实现了DHCPv6中继功能,且实施简单,功能可靠。
文档编号H04L12/56GK102594936SQ20121002500
公开日2012年7月18日 申请日期2012年2月6日 优先权日2012年2月6日
发明者梁小冰 申请人:神州数码网络(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1