CN101873320B - 一种基于DHCPv6中继的客户端信息确认方法及其装置 - Google Patents
一种基于DHCPv6中继的客户端信息确认方法及其装置 Download PDFInfo
- Publication number
- CN101873320B CN101873320B CN201010201693.2A CN201010201693A CN101873320B CN 101873320 B CN101873320 B CN 101873320B CN 201010201693 A CN201010201693 A CN 201010201693A CN 101873320 B CN101873320 B CN 101873320B
- Authority
- CN
- China
- Prior art keywords
- message
- server
- client
- address
- dhcpv6
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Abstract
本发明公开了一种基于DHCPv6中继的客户端信息确认方法,应用于包含有DHCPv6中继、客户端和服务器的通信系统。该方法包括:DHCPv6中继接收客户端发送的用于请求确认客户端IPv6地址/前缀是否继续有效的报文,将其转换为用于请求获取客户端租约信息的报文并发送给服务器;DHCPv6中继接收服务器返回的应答报文,在其中添加用于确认客户端IPv6地址/前缀是否有效的信息后发送给所述客户端。采用本发明解决了现有技术中存在的客户端发送CONFIRM报文无法获取IPv6地址或者前缀租约的问题,同时又符合DHCPv6协议所规定的在客户端链路状态变更的情况下需要使用CONFIRM/REPLY报文进行交互。
Description
技术领域
本发明涉及通信技术领域,特别是涉及一种基于DHCPv6中继的客户端信息确认方法及其装置。
背景技术
DHCPv6(Dynamic Host Configuration Protocol for IPv6,支持IPv6的动态主机配置协议)是基于IPv6的DHCP协议,它依赖客户端/服务器模式来管理设备的配置。它同DHCPv4(DHCP for IPv4,基于IPv4的DHCP)协议一样,既能给设备分配IPv6地址,又能给设备分配其他配置信息。
与DHCPv4不同,DHCPv6协议提供三种分配方式,包括无状态分配、有状态地址分配和前缀分配。其中,无状态分配可以分配除IPv6地址或者前缀以外的其他配置选项,有状态地址分配能够分配IPv6地址和其他配置选项,前缀分配则可以分配IPv6前缀和其他配置选项。
为了支持灵活多变的组网环境,DHCPv6支持更多的报文类型,包括SOLICIT,ADVERTISE,REQUEST,CONFIRM,RENEW,REBIND,REPLY,RELEASE,DECLINE,RECONFIGURE,INFORMATION-REQUEST,RELAY-FORW,RELAY-REPL等类型。
图1示出了通过4个DHCPv6报文交互过程所实现的DHCPv6地址/前缀分配过程。
DHCPv6中继是连接不同网段的客户端和服务器的网关设备,它将一个网段内的客户端的报文,转发给另一个网段内的服务器。出于应用的考虑,DHCPv6中继可以通过记录客户端和服务器的交互报文,来生成标记客户端的表项。这些表项可以包含客户端的MAC(MediaAccess Control,媒体访问控制)地址、客户端标识、IPv6地址或者前缀信息、租约,服务器的MAC地址、服务器标识,以及相关VLAN(Virtual Local Area Network,虚拟局域网)等信息。
图2示出了DHCPv6中继工作原理。
DHCPv6协议中有一种叫做CONFIRM的报文类型,它的应用环境是在客户端的一个接口迁移了链路以后,客户端设备可以利用CONFIRM报文来询问服务器是否该接口IPv6地址或者前缀继续有效,以确保客户端的该接口可以继续进行网络通讯。
客户端链路变化的情况包括但不限于:
客户端设备重新启动;
客户端连接线路被插拔;
客户端的状态迁移,例如从睡眠状态迁移到工作状态;
客户端在无线网络中,更换连接点。
在以上任何一种情况下,客户端都会发生链路改变,客户端此时需要进行CONFIRM/REPLY报文交互过程,以保证自己的网络配置信息可以在新网络中正常工作。图3示出了基于DHCPv6中继的CONFIRM/REPLY报文的交互过程。
客户端可通过组播方式发送CONFIRM报文,此时客户端可以在CONFIRM报文中携带自己接口上任意个IA(Identity Association,身份关联关系)信息,同时不携带服务器标识。相应的,任何DHCPv6服务器可以响应这个CONFIRM报文,它们通过在REPLY报文中携带status(状态)域来告诉客户端是否这些IA信息中的IPv6前缀/地址可继续使用。所谓IA信息,是服务器分配给客户端的一组IPv6地址信息,每一组都携带有唯一的标识,每一个客户端可以有多组IA信息,分别作用于不同的设备接口。
发明人在实现本发明的过程中,发现现有技术至少存在以下缺陷:
针对上述客户端发生链路改变,需要进行CONFIRM/REPLY报文交互,以保证自己的网络配置信息可以在新网络中正常工作的场景,现有CONFIRM/REPLY交互机制,只能保证DHCPv6服务器回应客户端请求的IPv6前缀/地址是否继续生效,而客户端无法确认租约长度,所以会导致客户端即使知道请求的IPv6前缀/地址可继续使用,但无法知道可继续使用多长时间。
考虑到客户端无法确认租约长度,就会发生客户端默认租约为0,不再生效地址,或者按照原有分配的租约去生效地址,从而发生实际运行时间超过服务器允许租约时间的问题。
发明内容
本发明提供了一种基于DHCPv6中继的客户端信息确认方法及其装置,用以解决现有技术中,客户端通过发起用于请求确认客户端网络配置信息是否有效的过程中,无法获取IPv6地址/前缀的租约的问题。
本发明提供的基于DHCPv6中继的客户端信息确认方法,应用于包含有DHCPv6中继、客户端和服务器的通信系统,该方案包括:
DHCPv6中继接收客户端发送的用于请求确认客户端IPv6地址或前缀是否继续有效的报文,将其转换为用于请求获取客户端IPv6地址或前缀的租约信息的报文,并将转换后的报文发送给服务器;
DHCPv6中继接收服务器返回的应答报文,并在其中添加用于确认客户端IPv6地址或前缀是否有效的信息后发送给所述客户端。
上述方法中,所述用于请求确认客户端IPv6地址或前缀是否继续有效的报文为组播报文;将其转换为所述用于请求获取客户端IPv6地址或前缀的租约信息的报文,并将转换后的报文发送给服务器,包括:
将所述组播报文转换为用于请求获取客户端IPv6地址或前缀的租约信息的单播报文,并采用单播方式将转换后的报文发送给该报文中携带的服务器标识对应的服务器,其中,所述服务器标识是所述DHCPv6中继在获取到服务器标识后将其添加到转换前或转换后的报文中的;或者,
将所述组播报文转换为用于请求获取客户端IPv6地址或前缀的租约信息的组播报文,并采用组播方式将转换后的报文发送给服务器。
上述方法中,所述DHCPv6中继获取服务器标识的过程,包括:
所述DHCPv6中继从其上记录的所述客户端的表项中获取曾经与所述客户端交互过的服务器的标识;或者,所述DHCPv6中继根据其上配置的服务器地址获取对应的服务器标识。
上述方法中,所述DHCPv6中继根据其上配置的服务器地址获取对应的服务器标识,包括:
如果所述DHCPv6中继上配置的服务器地址是直连网段地址,则获取与所述服务器地址对应的媒体访问控制MAC地址,并根据该MAC地址生成服务器标识;
如果所述DHCPv6中继上配置的服务器地址不是直连网段地址,则所述DHCPv6中继通过模拟客户端发起获取服务器标识的请求来获取与所述服务器地址对应的服务器标识。
上述方法中,采用单播方式将转换后的报文发送给该报文中携带的服务器标识对应的服务器,具体为:所述DHCPv6中继在设定长时间内获取到服务器标识后,将其添加到相应的报文中,并将转换后的携带有服务器标识的报文发送给该报文中携带的服务器标识对应的服务器;
采用组播方式将转换后的报文发送给服务器,具体为:如果所述DHCPv6中继在设定长时间内未获取到服务器标识,采用组播方式将转换后的报文发送给服务器。
根据本发明的上述方法,所述DHCPv6中继在所述应答报文中添加用于确认客户端IPv6地址或前缀是否有效的信息,具体为:
所述DHCPv6中继在设定长时间内接收到所述服务器返回的应答报文后,在其中添加用于确认客户端IPv6地址或前缀是否有效的信息。
根据本发明的上述方法,所述应答报文中包括服务器为所述客户端分配的客户端IPv6地址或前缀的租约信息,所述DHCPv6中继在所述应答报文中添加的信息为用于确认所述客户端的IPv6地址或前缀有效的信息。
根据本发明的上述方法,所述DHCPv6中继接收到所述服务器返回的应答报文之后,还包括:将所述DHCPv6中继上的该应答报文的目标客户端的表项中的服务器标识更新为返回该应答报文的服务器的标识。
本发明实施例提供的DHCPv6中继设备,包括报文收发模块,还包括:
第一报文处理模块,用于在所述报文收发模块接收到客户端发送的用于请求确认客户端IPv6地址或前缀是否继续有效的报文后,将其转换为用于请求获取客户端IPv6地址或前缀租约信息的报文,并发送给所述报文收发模块;
第二报文处理模块,用于在所述报文收发模块接收到服务器返回的应答报文后,在所述应答报文中添加用于确认客户端IPv6地址或前缀是否有效的信息后发送给所述报文收发模块;
所述报文收发模块,用于将从所述第一报文处理模块接收到的报文发送给服务器,将从所述第二报文处理模块接收到的报文发送给所述客户端。
上述DHCPv6中继设备中,所述第一报文处理模块具体用于,获取服务器标识,并在报文转换前或转换后将获取到的服务器标识添加到报文中,其中,所述转换前的报文为用于请求确认客户端IPv6地址或前缀是否继续有效的组播报文,转换后的报文为用于请求获取客户端IPv6地址或前缀租约信息的单播报文;或者,用于将请求确认客户端IPv6地址或前缀是否继续有效的组播报文转换为请求获取客户端IPv6地址或前缀的租约信息的组播报文;
所述报文收发模块具体用于,采用单播方式将转换后的携带有服务器标识的单播报文发送给报文中携带的服务器标识对应的服务器;或者,采用组播方式发送转换后的组播报文给服务器。
上述DHCPv6中继设备中,所述第一报文处理模块,包括:第一获取单元和第二获取单元,其中:
第一获取单元,用于从所述DHCPv6中继设备上记录的所述客户端的表项中获取曾经与所述客户端交互的服务器的标识;
第二获取单元,用于在所述第一获取单元未获取到服务器标识时,根据所述DHCPv6中继设备上配置的服务器地址获取对应的服务器标识。
上述DHCPv6中继设备中,所述第二获取单元具体用于,当所述DHCPv6中继上配置的服务器地址是直连网段地址时,获取与所述服务器地址对应的MAC地址,并根据该MAC地址生成服务器标识;当所述DHCPv6中继上配置的服务器地址不是直连网段地址时,通过模拟客户端发起获取服务器标识的请求来获取与所述服务器地址对应的服务器标识。
上述DHCPv6中继设备中,所述第二获取单元具体用于,在根据其上配置的服务器地址获取对应的服务器标识时,如果所述DHCPv6中继上配置的服务器地址是直连网段地址,则获取与所述服务器地址对应的媒体访问控制MAC地址,并根据该MAC地址生成服务器标识;
如果所述DHCPv6中继上配置的服务器地址不是直连网段地址,则所述DHCPv6中继通过模拟客户端发起获取服务器标识的请求来获取与所述服务器地址对应的服务器标识。
上述DHCPv6中继设备中,所述报文收发模块具体用于,在采用单播方式发送转换后的报文时,如果在设定长时间内获取到服务器标识,则将其添加到相应的报文中,并将转换后的携带有服务器标识的报文发送给该报文中携带的服务器标识对应的服务器;
在采用组播方式发送转换后的报文时,如果在设定长时间内未获取到服务器标识,则采用组播方式将转换后的报文发送给服务器。
上述DHCPv6中继设备中,所述应答报文中包括服务器为所述客户端分配的客户端IPv6地址或前缀的租约信息;
所述第二报文处理模块具体用于,在所述应答报文中添加用于确认所述客户端的IPv6地址或前缀有效的信息。
上述DHCPv6中继设备中,还包括:
表项更新模块,用于在所述报文收发模块接收到所述服务器返回的应答报文之后,将所述DHCPv6中继上的该应答报文的目标客户端的表项中的服务器标识更新为返回该应答报文的服务器的标识。
本发明的有益技术效果包括:
通过DHCPv6中继在接收到客户端发送的用于请求确认客户端IPv6地址或前缀是否继续有效的报文后,将其转换为用于请求获取客户端IPv6地址或前缀租约信息的报文后发送给服务器,以及在接收所述服务器返回的应答报文后,在其中添加用于确认客户端IPv6地址或前缀是否有效的信息后发送给所述客户端,从而一方面,由于客户端发送的是用于请求确认客户端IPv6地址或前缀是否继续有效的报文,保证了客户端IPv6地址或前缀不变;另一方面,由于DHCPv6中继进行了报文转换,因此可通过转换后的报文从服务器获取到针对该客户端的IPv6地址或前缀的租约信息。
附图说明
图1为现有技术中通过DHCPv6报文交互进行DHCPv6地址/前缀分配的示意图;
图2为现有技术中DHCPv6中继工作原理示意图;
图3为现有技术中基于DHCPv6中继的CONFIRM/REPLY报文交互示意图;
图4为本发明实施例中基于DHCPv6中继的CONFIRM/REPLY报文交互流程图;
图5为本发明实施例提供的DHCPv6中继设备的结构示意图。
具体实施方式
针对上述客户端发生链路改变,需要进行CONFIRM/REPLY报文交互,以保证自己的网络配置信息可以在新网络中正常工作的场景,可以按照现有DHCPv6协议,客户端重新发起IPv6地址申请流程。但是,如果客户端重新申请地址,服务器可能会分配另外的IPv6地址或者前缀给客户端,而与客户端之前使用的IPv6地址或者前缀不同,这样导致客户端的一些应用业务中断。
为了使客户端使用原有的IPv6地址或者前缀,客户端可以用原有IPv6地址或者前缀发送RENEW或者REBIND报文,在接收到服务器回应的REPLY报文之后,就能直接使用相关的IPv6地址或者前缀。但是,根据现有DHCP协议对于客户端链路状态变更的描述,约定需要使用CONFIRM报文进行确认,如果客户端直接发出RENEW或者REBIND报文,则与DHCPv6协议不一致,会使得某些情况下设备接口链路变化信息无法被网关统计,且大多数厂家都会严格按照协议实现客户端的功能。
考虑到DHCPv6中继一般是客户端连接外网的网关设备,它可以截获并且修改客户端的报文,从而达到组网的需求,本发明实施例通过DHCPv6中继将客户端发送的CONFIRM报文进行类型转换,转换为能够用来获取客户端IPv6地址或前缀租约的报文,如REQUEST报文、RENEW报文或REBIND报文,进而从服务器端获取客户端的IPv6租约信息,解决了现有技术中存在的客户端发送CONFIRM报文无法获取IPv6地址或者前缀租约的问题,同时又符合DHCPv6协议所规定的在客户端链路状态变更的情况下需要使用CONFIRM/REPLY报文进行交互的相关描述。
下面结合附图对本发明实施例进行详细描述。
参见图4,为本发明实施例中基于DHCPv6中继的CONFIRM/REPLY报文交互流程图,该流程描述了在客户端发生链路改变,需要进行CONFIRM/REPLY报文交互,以保证自己的网络配置信息可以在新网络中正常工作的场景下,基于DHCPv6中继的CONFIRM/REPLY报文交互过程。
该流程涉及的网络实体可包括:DHCPv6客户端、DHCPv6中继和DHCPv6服务器,其中:
DHCPv6客户端是可动态获取IPv6地址、IPv6前缀或其他网络配置参数的设备;
DHCPv6服务器是负责为DHCPv6客户端分配IPv6地址、IPv6前缀和其他网络配置参数的设备;
DHCPv6中继负责转发DHCPv6客户端和DHCPv6服务器之间的报文。DHCPv6客户端通过本地链路范围的组播地址与DHCPv6服务器通信,以获取IPv6地址和其他网络配置参数。如果DHCPv6服务器和DHCPv6客户端不在同一个链路范围内,则需要通过DHCPv6中继来转发报文,这样可以避免在每个链路范围内都部署DHCPv6服务器。
当DHCPv6客户端发生链路改变而需要进行CONFIRM/REPLY报文交互以确保IPv6地址或前缀是否可以继续使用时,如图4所示,该过程可包括:
步骤101、DHCPv6中继截获来自DHCPv6客户端(以下简称客户端)的CONFIRM报文。客户端通常以组播方式发送CONFIRM报文,并且其中不携带服务器标识。本实施例中,以客户端以组播方式发送CONFIRM报文为例描述。
步骤102、DHCPv6中继根据CONFIRM报文信息查找自己记录的客户端表项,如果查找到与该CONFIRM报文中的客户端信息相匹配的客户端表项,则执行步骤103;否则,执行步骤104。
该步骤中,客户端发送的CONFIRM报文中携带有客户端标识和IA信息,以请求DHCPv6服务器(以下简称服务器)确认IA信息中的IPv6地址或前缀是否可以继续使用。DHCPv6中继可以根据CONFIRM报文中携带的客户端标识和IA信息,查找自己之前记录的客户端表项,如果能够查找到包含有相同的客户端标识和IA信息的客户端表项,则认为两者匹配,否则不匹配。
本实施例中,DHCPv6中继可以通过截获客户端与服务器之间交互的报文,为客户端建立相应的表项,客户端表项中可包括客户端MAC地址和客户端标识、IA信息、与客户端交互过的服务器的MAC地址和服务器标识,还可进一步包括客户端的IPv6地址或前缀的租约信息。
通常,CONFIRM报文中包括一个IA,也可以包括多个IA。当CONFIRM报文中包括多个IA时,DHCPv6中继可以取其中的一个IA进行客户端表项的匹配,优选地,可取其中的第一个IA,以简化匹配客户端表项的复杂度。
步骤103、DHCPv6中继根据查找到的客户端表项获取其中包含的服务器标识,将CONFIRM报文转换为REQUEST报文、RENEW报文或REBIND报文,以用来针对该报文中的IA所携带的客户端IPv6地址或前缀,请求服务器分配或更新租约,转换后的报文中包含获取到的服务器标识(即根据客户端表项获取到的服务器标识),然后执行步骤105。
该步骤中,DHCPv6中继可首先将服务器标识填充到CONFIRM报文中,再对该CONFIRM报文进行转换。DHCPv6中继也可以先将CONFIRM报文进行转换,再将服务器标识填充到转换后的报文中。
步骤104、DHCPv6中继可根据其上配置的服务器地址获得服务器标识,将CONFIRM报文转换为REQUEST报文、RENEW报文或REBIND报文,以用来针对该报文中的IA所携带的客户端IPv6地址或前缀,请求服务器分配或更新租约,转换后的报文中包含该已获得到的服务器标识,然后执行步骤105。
该步骤中,DHCPv6中继上可预先配置有各服务器的地址信息,DHCPv6中继可根据其上配置的服务器地址构造服务器标识,以用来填充新报文,如,可采用如下方式:
查看服务器地址是否是直连网段地址,如果是,则DHCPv6中继通过发送ND报文或其他报文,用来获取直连服务器的MAC地址,从而根据获取到的MAC地址生成服务器标识(如根据设定算法生成服务器标识);如果服务器地址不是直连网段地址,则DHCPv6中继可构造一个临时DHCPv6客户端来获取相关服务器的标识,即模拟DHCPv6客户端发起获取相关服务器标识的请求来获取相关服务器的标识。
DHCPv6中继可以将服务器标识先填充到CONFIRM报文中,再对该CONFIRM报文进行转换;也可以先对CONFIRM报文进行转换,再在转换后的报文中添加服务器标识。
步骤105、DHCPv6中继发送转换后的报文,该报文被路由到相应的服务器,然后转入步骤106。
该步骤中,DHCPv6中继可通过单播方式发送转换后的报文,该报文将被路由到与该报文中携带的服务器标识对应的服务器。当服务器接收到DHCPv6中继发送的REQUEST报文、RENEW报文或REBIND报文后,可按照现有机制,对报文中的IA所携带的客户端IPv6地址或前缀分配或更新租约,并将分配或更新后的租约信息携带于REPLY报文返回。
步骤106、DHCPv6中继接收服务器返回的REPLY报文,转入步骤107。
该步骤中,DHCPv6中继查看从服务器接收到的REPLY报文中携带的客户端标识,如果该客户端标识与上述CONFIRM报文中携带的客户端标识一致,则可进一步在该REPLY报文中添加status域。进一步的,如果服务器返回的REPLY报文中携带有为客户端分配的租约信息,则在该status域中添加表示允许继续使用客户端IPv6地址或前缀的信息;如果服务器返回的REPLY报文中未携带为客户端分配的租约信息,则在该status域中添加表示不允许继续使用客户端IPv6地址或前缀的信息。
较佳地,DHCPv6中继在接收到服务器返回的REPLY报文后,可进一步根据该REPLY报文更新相应客户端的表项,如更新客户端表项中的租约信息,或者将服务器MAC地址和/或标识更新为该返回REPLY报文的服务器的MAC地址和/或标识。
步骤107、DHCPv6中继发送REPLY报文给客户端。
至此,当客户端在发生链路改变,需要进行CONFIRM/REPLY报文交互时,通过DHCPv6中继在服务器返回给该客户端的REPLY报文中添加客户端IPv6地址或前缀的租约信息,使客户端能够在不改变其IPv6地址或前缀的情况下,获得其租约,从而解决了现有CONFIRM/REPLY交互机制中,客户端发送CONFIRM报文无法获取IPv6地址或者前缀租约的问题。
另外,客户端通常以组播方式发送CONFIRM报文,该报文中通常不携带服务器标识。为了将报文发送到曾与客户端交互过的服务器,该服务器通常也是为该客户端分配IPv6地址或者前缀的服务器,以请求该服务器根据其策略为客户端分配IPv6地址或者前缀的的租约,本发明实施例中,DHCPv6中继可根据其记录客户端表项(其中包括服务器标识),在发送给服务器的报文中添加相应的服务器标识,以便通过单播方式将报文发送到与该服务器标识对应的服务器。在DHCPv6中继未能根据其记录客户端表项获取到服务器标识时,也可根据其配置的服务器地址生成或获取服务器标识,并将其添加到发送给服务器的报文中,以便通过单播方式将报文发送到与该服务器标识对应的服务器,从而也可以达到请求该服务器根据其策略为客户端分配IPv6地址或者前缀的的租约的目的。
为了进一步提高系统效率,在本发明的另一实施例中,对图4所示的流程进行了改进,主要是增加了一个定时器,用于对DHCPv6中继模拟客户端获取服务器标识的过程进行计时,如果在设定长时间内获取到服务器标识,则将获取到的服务器标识添加到转换后的报文中,将该报文发送给相应服务器;如果在设定长时间内没有获取到服务器标识,则直接将转换后的报文发送给服务器。
具体的,可在图4所示流程的步骤104中,可首先启动一个临时定时器,时间长度为MRT,然后执行生成或获取服务器标识的操作。如果在MRT时间内,获取到服务器标识则转换CONFIRM报文为REQUEST报文、RENEW报文或REBIND报文,然后用客户端表项中的服务器标识填充进报文,并删除该定时器;如果在MRT时间内,如果没有获取到服务器标识,则删除该定时器,并可通过组播方式将转换后的报文发送给服务器。相应的,DHCPv6中继可以将其接收到的第一个REPLY报文进行如图4所示流程的步骤107的处理后转发给客户端。
为了进一步提高系统效率,在本发明的另一实施例中,对图4所示的流程进行了改进,主要是增加了一个定时器,用于对DHCPv6中继等待服务器返回REPLY报文的时间进行计时,如果在设定时长内DHCPv6中继接收到了服务器返回的REPLY报文,则按照图4所示的步骤106~107执行;如果在设定时长内DHCPv6中继没有接收到服务器返回的REPLY报文,则不再等待接收REPLY报文,而是结束本次CONFIRM/REPLY报文交互流程。
具体的,可在DHCPv6中继将转换后的报文发送出去后开启一个定时器,计时时间长度为MRD。如果在MRD时间内接收到服务器回应的REPLY报文,则删除该定时器,在该REPLY报文中添加status域,并将该添加了status域的REPLY报文发送给客户端;在MRD时间内如果没有接收到服务器回应的REPLY报文,则删除该定时器,并结束本次CONFIRM/REPLY报文交互流程。
上述两个阶段的定时操作也可结合使用,即在一次CONFIRM/REPLY报文交互流程中,可根据需要在不同阶段开启相应的定时器,并根据定时器是否超时来决定下一步的操作,从而进一步提高系统效率。
在本发明的另一实施例提供的基于DHCPv6中继的CONFIRM/REPLY报文交互流程中,与图1所示流程相比不同的是:当DHCPv6中继接收到客户端发送的CONFIRM报文后,不执行获取服务器标识的相关操作,而是将该CONGFIRM报文转换为REQUEST报文、RENEW报文或REBIND报文后,将转换后的报文以组播方式发送给服务器,同样也可以达到通过报文转换以获取服务器为客户端分配IPv6地址或者前缀的的租约并发送给客户端的目的。
基于相同的技术构思,本发明实施例还提供了一种DHCPv6中继设备,该DHCPv6中继设备可应用于上述各实施例的CONFIRM/REPLY报文交互流程。
如图5所示,本发明实施例提供的DHCPv6中继设备可包括:
报文收发模块51,用于收发报文,可以是DHCPv6中继设备的常规模块;
第一报文处理模块50,用于在报文收发模块51接收到客户端发送的用于请求确认客户端IPv6地址或前缀是否继续有效的报文后,将其转换为用于请求获取客户端IPv6地址或前缀租约信息的报文,并发送给报文收发模块51,由报文收发模块51发送给服务器;其中,所述用于请求确认客户端IPv6地址或前缀是否继续有效的报文可以是上述的CONFIRM报文,所述用于请求获取客户端IPv6地址或前缀租约信息的报文可以是REQUEST报文、RENEW报文或REBIND报文;
第二报文处理模块53,用于在报文收发模块51接收到服务器返回的应答报文后,在所述应答报文中添加用于确认客户端IPv6地址或前缀是否有效的信息后发送给报文收发模块51,由报文收发模块51发送给客户端;其中,所述应答报文可以是REPLY报文。
上述DHCPv6中继设备中,第一报文处理模块50可获取服务器标识,并在报文转换前或转换后将获取到的服务器标识添加到报文中,其中,所述转换前的报文为用于请求确认客户端IPv6地址或前缀是否继续有效的组播报文,转换后的报文为用于请求获取客户端IPv6地址或前缀租约信息的单播报文;或者,用于将请求确认客户端IPv6地址或前缀是否继续有效的组播报文转换为请求获取客户端IPv6地址或前缀的租约信息的组播报文;
相应的,报文收发模块51可采用单播方式将转换后的携带有服务器标识的单播报文发送给报文中携带的服务器标识对应的服务器;或者,采用组播方式发送转换后的组播报文给服务器。
上述DHCPv6中继设备中,第一报文处理模块52还可用于获取服务器标识,并在报文转换前或转换后将获取到的服务器标识添加到报文中。根据获取方式的不同,第一报文处理模块52可包括:第一获取单元521和/或第二获取单元522,其中:
第一获取单元521,用于从所述DHCPv6中继设备上记录的所述客户端的表项中获取曾经与所述客户端交互的服务器的标识;
第二获取单元522,用于根据所述DHCPv6中继设备上配置的服务器地址获取对应的服务器标识,优选地,可在第一获取单元521未获取到服务器标识时,根据所述DHCPv6中继设备上配置的服务器地址获取对应的服务器标识。具体的,第二获取单元522可用于:当所述DHCPv6中继上配置的服务器地址是直连网段地址时,获取与所述服务器地址对应的MAC地址,并根据该MAC地址生成服务器标识;当所述DHCPv6中继上配置的服务器地址不是直连网段地址时,通过模拟客户端发起获取服务器标识的请求来获取与所述服务器地址对应的服务器标识。第二获取单元522可在设定长时间内获取到服务器标识后,将其添加到相应的报文中;如果第二获取单元在设定长时间内未获取到服务器标识,则报文收发模块53可采用组播方式将转换后的报文发送给服务器。其具体实现过程与前述流程的相应步骤相似,在此不再赘述。
上述DHCPv6中继设备中,第二报文处理单元53可在设定长时间内接收到所述服务器返回的应答报文后,在其中添加用于确认客户端IPv6地址或前缀是否有效的信息。
上述DHCPv6中继设备中,当所述应答报文中包括服务器为所述客户端分配的客户端IPv6地址或前缀的租约信息是时,第二报文处理模块53可在所述应答报文中添加用于确认所述客户端的IPv6地址或前缀有效的信息。
上述DHCPv6中继设备还可包括:
表项更新模块54,用于在报文收发模块51接收到所述服务器返回的应答报文之后,将所述DHCPv6中继上的该应答报文的目标客户端的表项中的服务器标识更新为返回该应答报文的服务器的标识。
综上所述,本发明实施例可以很好的解决CONFIRM报文无法保证获取服务器有效租约的问题,同时客户端和服务器也感知不到DHCPv6中继所做的报文变更操作。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。
Claims (16)
1.一种基于DHCPv6中继的客户端信息确认方法,应用于包含有DHCPv6中继、客户端和服务器的通信系统,其特征在于,包括:
DHCPv6中继接收客户端发送的用于请求确认客户端IPv6地址或前缀是否继续有效的报文,将其转换为用于请求获取客户端IPv6地址或前缀的租约信息的报文,并将转换后的报文发送给服务器;
DHCPv6中继接收服务器返回的应答报文,并在其中添加用于确认客户端IPv6地址或前缀是否有效的信息后发送给所述客户端。
2.如权利要求1所述的方法,其特征在于,所述用于请求确认客户端IPv6地址或前缀是否继续有效的报文为组播报文;
将其转换为所述用于请求获取客户端IPv6地址或前缀的租约信息的报文,并将转换后的报文发送给服务器,包括:
将所述组播报文转换为用于请求获取客户端IPv6地址或前缀的租约信息的单播报文,并采用单播方式将转换后的报文发送给该报文中携带的服务器标识对应的服务器,其中,所述服务器标识是所述DHCPv6中继在获取到服务器标识后将其添加到转换前或转换后的报文中的;或者,
将所述组播报文转换为用于请求获取客户端IPv6地址或前缀的租约信息的组播报文,并采用组播方式将转换后的报文发送给服务器。
3.如权利要求2所述的方法,其特征在于,所述DHCPv6中继获取服务器标识的过程,包括:
所述DHCPv6中继从其上记录的所述客户端的表项中获取曾经与所述客户端交互过的服务器的标识;或者,
所述DHCPv6中继根据其上配置的服务器地址获取对应的服务器标识。
4.如权利要求3所述的方法,其特征在于,所述DHCPv6中继根据其上配置的服务器地址获取对应的服务器标识,包括:
如果所述DHCPv6中继上配置的服务器地址是直连网段地址,则获取与所述服务器地址对应的媒体访问控制MAC地址,并根据该MAC地址生成服务器标识;
如果所述DHCPv6中继上配置的服务器地址不是直连网段地址,则所述DHCPv6中继通过模拟客户端发起获取服务器标识的请求来获取与所述服务器地址对应的服务器标识。
5.如权利要求2所述的方法,其特征在于,采用单播方式将转换后的报文发送给该报文中携带的服务器标识对应的服务器,具体为:所述DHCPv6中继在设定长时间内获取到服务器标识后,将其添加到相应的报文中,并将转换后的携带有服务器标识的报文发送给该报文中携带的服务器标识对应的服务器;
采用组播方式将转换后的报文发送给服务器,具体为:如果所述DHCPv6中继在设定长时间内未获取到服务器标识,采用组播方式将转换后的报文发送给服务器。
6.如权利要求1所述的方法,其特征在于,所述DHCPv6中继在所述应答报文中添加用于确认客户端IPv6地址或前缀是否有效的信息,具体为:
所述DHCPv6中继在设定长时间内接收到所述服务器返回的应答报文后,在其中添加用于确认客户端IPv6地址或前缀是否有效的信息。
7.如权利要求1所述的方法,其特征在于,所述应答报文中包括服务器为所述客户端分配的客户端IPv6地址或前缀的租约信息,所述DHCPv6中继在所述应答报文中添加的信息为用于确认所述客户端的IPv6地址或前缀有效的信息。
8.如权利要求1所述的方法,其特征在于,所述DHCPv6中继接收到所述服务器返回的应答报文之后,还包括:
将所述DHCPv6中继上的该应答报文的目标客户端的表项中的服务器标识更新为返回该应答报文的服务器的标识。
9.一种DHCPv6中继设备,包括报文收发模块,其特征在于,还包括:
第一报文处理模块,用于在所述报文收发模块接收到客户端发送的用于请求确认客户端IPv6地址或前缀是否继续有效的报文后,将其转换为用于请求获取客户端IPv6地址或前缀租约信息的报文,并发送给所述报文收发模块;
第二报文处理模块,用于在所述报文收发模块接收到服务器返回的应答报文后,在所述应答报文中添加用于确认客户端IPv6地址或前缀是否有效的信息后发送给所述报文收发模块;
所述报文收发模块,用于将从所述第一报文处理模块接收到的报文发送给服务器,将从所述第二报文处理模块接收到的报文发送给所述客户端。
10.如权利要求9所述的DHCPv6中继设备,其特征在于,所述第一报文处理模块具体用于,获取服务器标识,并在报文转换前或转换后将获取到的服务器标识添加到报文中,其中,所述转换前的报文为用于请求确认客户端IPv6地址或前缀是否继续有效的组播报文,转换后的报文为用于请求获取客户端IPv6地址或前缀租约信息的单播报文;或者,用于将请求确认客户端IPv6地址或前缀是否继续有效的组播报文转换为请求获取客户端IPv6地址或前缀的租约信息的组播报文;
所述报文收发模块具体用于,采用单播方式将转换后的携带有服务器标识的单播报文发送给报文中携带的服务器标识对应的服务器;或者,采用组播方式发送转换后的组播报文给服务器。
11.如权利要求10所述的DHCPv6中继设备,其特征在于,所述第一报文处理模块,包括:第一获取单元和第二获取单元,其中:
第一获取单元,用于从所述DHCPv6中继设备上记录的所述客户端的表项中获取曾经与所述客户端交互的服务器的标识;
第二获取单元,用于在所述第一获取单元未获取到服务器标识时,根据所述DHCPv6中继设备上配置的服务器地址获取对应的服务器标识。
12.如权利要求11所述的DHCPv6中继设备,其特征在于,所述第二获取单元具体用于,当所述DHCPv6中继上配置的服务器地址是直连网段地址时,获取与所述服务器地址对应的MAC地址,并根据该MAC地址生成服务器标识;当所述DHCPv6中继上配置的服务器地址不是直连网段地址时,通过模拟客户端发起获取服务器标识的请求来获取与所述服务器地址对应的服务器标识。
13.如权利要求12所述的DHCPv6中继设备,其特征在于,所述第二获取单元具体用于,在根据其上配置的服务器地址获取对应的服务器标识时,如果所述DHCPv6中继上配置的服务器地址是直连网段地址,则获取与所述服务器地址对应的媒体访问控制MAC地址,并根据该MAC地址生成服务器标识;
如果所述DHCPv6中继上配置的服务器地址不是直连网段地址,则所述DHCPv6中继通过模拟客户端发起获取服务器标识的请求来获取与所述服务器地址对应的服务器标识。
14.如权利要求12所述的DHCPv6中继设备,其特征在于,所述第二获取单元具体用于,如果在设定长时间内获取到服务器标识,则将其添加到相应的报文中,并将转换后的携带有服务器标识的报文发送给该报文中携带的服务器标识对应的服务器;
所述报文收发模块具体用于,在采用组播方式发送转换后的报文时,如果所述第二获取单元在设定长时间内未获取到服务器标识,则采用组播方式将转换后的报文发送给服务器。
15.如权利要求9所述的DHCPv6中继设备,其特征在于,所述应答报文中包括服务器为所述客户端分配的客户端IPv6地址或前缀的租约信息;
所述第二报文处理模块具体用于,在所述应答报文中添加用于确认所述客户端的IPv6地址或前缀有效的信息。
16.如权利要求9所述的DHCPv6中继设备,其特征在于,还包括:
表项更新模块,用于在所述报文收发模块接收到所述服务器返回的应答报文之后,将所述DHCPv6中继上的该应答报文的目标客户端的表项中的服务器标识更新为返回该应答报文的服务器的标识。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010201693.2A CN101873320B (zh) | 2010-06-17 | 2010-06-17 | 一种基于DHCPv6中继的客户端信息确认方法及其装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010201693.2A CN101873320B (zh) | 2010-06-17 | 2010-06-17 | 一种基于DHCPv6中继的客户端信息确认方法及其装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101873320A CN101873320A (zh) | 2010-10-27 |
CN101873320B true CN101873320B (zh) | 2014-02-12 |
Family
ID=42997980
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010201693.2A Active CN101873320B (zh) | 2010-06-17 | 2010-06-17 | 一种基于DHCPv6中继的客户端信息确认方法及其装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101873320B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102325200A (zh) * | 2011-09-22 | 2012-01-18 | 杭州华三通信技术有限公司 | 一种快速获取IPv6地址的方法和DHCP侦听设备 |
CN102752414B (zh) * | 2012-07-16 | 2015-03-18 | 杭州华三通信技术有限公司 | 释放IPv6地址的实现方法及设备 |
CN103795581B (zh) * | 2012-10-29 | 2018-05-11 | 新华三技术有限公司 | 地址处理方法和设备 |
CN105187230B (zh) * | 2015-06-25 | 2018-09-07 | 走遍世界(北京)信息技术有限公司 | 服务器的切换方法及装置 |
CN106878479B (zh) * | 2016-12-23 | 2020-07-07 | 新华三技术有限公司 | 一种地址分配方法及装置 |
CN108632400B (zh) * | 2017-08-31 | 2021-07-23 | 新华三技术有限公司 | 一种IPv6地址分配方法和Leaf节点设备 |
CN110730254B (zh) * | 2019-10-14 | 2022-06-21 | 新华三信息安全技术有限公司 | 一种地址分配的方法、装置、中继设备及介质 |
CN112272244B (zh) * | 2020-10-22 | 2023-02-17 | 北京自如信息科技有限公司 | 一种路由器WAN端IPv6上网模式配置方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101262384A (zh) * | 2007-03-05 | 2008-09-10 | 中兴通讯股份有限公司 | 宽带接入系统及使用其的ip地址分配、续租和释放方法 |
CN101330531A (zh) * | 2008-07-31 | 2008-12-24 | 杭州华三通信技术有限公司 | Dhcp地址分配处理方法和dhcp中继 |
CN101572712A (zh) * | 2009-06-09 | 2009-11-04 | 杭州华三通信技术有限公司 | 一种防止伪造报文攻击的方法和中继设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1184776C (zh) * | 2002-02-07 | 2005-01-12 | 华为技术有限公司 | 通过点对点协议上网的用户获取互联网协议地址的方法 |
-
2010
- 2010-06-17 CN CN201010201693.2A patent/CN101873320B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101262384A (zh) * | 2007-03-05 | 2008-09-10 | 中兴通讯股份有限公司 | 宽带接入系统及使用其的ip地址分配、续租和释放方法 |
CN101330531A (zh) * | 2008-07-31 | 2008-12-24 | 杭州华三通信技术有限公司 | Dhcp地址分配处理方法和dhcp中继 |
CN101572712A (zh) * | 2009-06-09 | 2009-11-04 | 杭州华三通信技术有限公司 | 一种防止伪造报文攻击的方法和中继设备 |
Also Published As
Publication number | Publication date |
---|---|
CN101873320A (zh) | 2010-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101873320B (zh) | 一种基于DHCPv6中继的客户端信息确认方法及其装置 | |
US20120324063A1 (en) | Method, network device, and system for automatically configuring network device in ipv6 network | |
CN101741702B (zh) | 实现arp请求广播限制的方法和装置 | |
CN102710509B (zh) | 一种数据中心自动配置方法及其设备 | |
JP6816152B2 (ja) | M2mデバイスを構成するための方法および装置 | |
CN102497378B (zh) | 为客户端动态选择dhcp服务器的方法和装置 | |
CN102752413B (zh) | Dhcp服务器选择方法和网络设备 | |
CN106559292A (zh) | 一种宽带接入方法和装置 | |
CN102170395A (zh) | 数据的传输方法及网络设备 | |
CN101867625B (zh) | 一种分配IPv6地址的方法以及家庭网关 | |
US10965640B2 (en) | Configuration of an M2M device | |
JP5459809B2 (ja) | 動的ホスト構成プロトコルバージョン6サーバのipアドレスを取得するための方法、動的ホスト構成プロトコルバージョン6サーバ、および動的ホスト構成プロトコルバージョン6通信システム | |
CN103384282B (zh) | 一种获取ipv6nd地址的方法及bras | |
CN101188514A (zh) | 自动发现网元设备的方法、装置及系统 | |
CN105245629A (zh) | 基于dhcp的主机通信方法及装置 | |
CN102394948B (zh) | Dhcp地址分配方法及dhcp服务器 | |
WO2014056441A1 (zh) | 一种在CPE上配置IPv6过渡技术的方法及设备 | |
CN104519097A (zh) | 端口块资源的获取、端口块资源的分配方法及装置 | |
CN103561122B (zh) | IPv6地址配置方法、IPv6客户端及服务器 | |
CN106878481B (zh) | 一种网络互连协议ip地址获取方法、装置和系统 | |
CN102420748B (zh) | 防止arp报文攻击的方法和路由设备 | |
JP2009529257A (ja) | IPv6アドレス取得装置、方法、及びシステム | |
CN105634805A (zh) | 一种无线组网环境下主控设备对附加设备统一配置的方法 | |
CN104104749A (zh) | 一种隧道ip地址的分配方法及装置 | |
CN106375489B (zh) | 媒体访问控制mac地址的处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Patentee after: Xinhua three Technology Co., Ltd. Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base Patentee before: Huasan Communication Technology Co., Ltd. |