掌桥专利:专业的专利平台
掌桥专利
首页

一种ipv6自适应组网方法、系统及PD客户端

文献发布时间:2023-06-19 18:46:07


一种ipv6自适应组网方法、系统及PD客户端

技术领域

本申请涉及无线通信技术领域,具体涉及一种ipv6自适应组网方法、系统及PD客户端。

背景技术

RFC3633标准中定义了一种DHCPV6-PD(Prefix Delegation,PD为前缀分配的简拼)模式,专门用于自动分配前缀。DHCPV6-PD是DHCPV6的扩展,传统的DHCPV6注重的是将地址等网络配置参数从服务器端传递给ipv6客户主机,而DHCPV6-PD注重的是前缀分配,即PD服务器端将一个子网范围的前缀地址段以及DNS等其他网络配置信息下发给PD客户端,这就意味PD服务器端下发的是一个子网地址段,而不是具体的可以直接供ipv6客户主机使用的ipv6地址。PD客户端根据配置的环境,例如有状态或无状态,将此子网地址段分配给ipv6客户主机(或称下挂终端)。

然而在RFC3633标准中,并没有明确指出,PD服务器端必须回复PD客户端的PD请求,因此,如图1所示,PD客户端在请求PD时,可能会出现如下3种问题:

1、PD客户端在DHCPV6报文中请求PD后,PD服务器端没有回复PD请求,导致下挂终端没有可用前缀。此为PD客户端没有收到PD服务器端下发的合法PD的情景之一。

2、PD服务器端在DHCPV6报文中请求PD后,PD服务器端回复PD请求,但回复内容中包含的64位前缀地址段与PD客户端wan侧连接ipv6网络的前缀相同,按照标准的协议流程,就会导致PD客户端的wan侧前缀与lan侧前缀相同,从而使得致lan-wan转发出现异常。此为PD客户端没有收到PD服务器端下发的合法PD的情景之二。

3、PD客户端在DHCPv6报文中请求PD后,PD服务器端回复了合法PD,但是部分下挂终端不按照协议标准流程处理RA报文,导致下挂终端在无状态的环境中,不使用无状态报文中的前缀计算出ipv6地址,从而导致无法访问ipv6网络。

发明内容

针对现有技术中存在的缺陷,本申请的目的在于提供一种ipv6自适应组网方法、系统及PD客户端,能够在PD服务器端没有向PD客户端回复合法的前缀地址段时,自适应调节路由策略并生成不同的前缀下发给下挂终端,并兼容下挂终端的异常行为,调整地址分配方式,保障自组网成功。

为达到以上目的,采取的技术方案是:

本申请第一方面提供一种ipv6自适应组网方法,包括:

PD客户端向PD服务器端发送PD请求报文,并接收PD服务器端回复的PD回复报文;

PD客户端在判定PD回复报文中不包含合法的前缀地址段时,向PD回复报文中的其他地址段添加128位子网掩码得到PD客户端wan侧的ipv6地址,根据该ipv6地址得到PD客户端wan侧和lan侧的前缀路由;

PD客户端根据其lan侧的前缀路由得到其lan侧的ipv6地址池;

PD客户端根据配置状态将其lan侧的前缀路由或所述ipv6地址池中的ipv6地址下发给下挂终端,以实现组网。

一些实施例中,所述PD回复报文中不包含合法的前缀地址段指,所述PD回复报文中不包含前缀地址段、或所述PD回复报文中的前缀地址段与所述PD客户端wan侧的前缀路由相同。

一些实施例中,所述PD客户端判断PD回复报文中是否包含合法的前缀地址段的具体步骤如下:

所述PD客户端判断PD回复报文中是否不包含前缀地址段,若是,则判定PD回复报文中不包含合法的前缀地址段;若否,则所述PD客户端向PD回复报文中的其他地址段添加64位子网掩码得到PD客户端wan侧的ipv6地址,根据该ipv6地址得到PD客户端wan侧的前缀路由,所述PD客户端将其wan侧的前缀路由与PD回复报文中的前缀地址段进行比对,并在对比结果为相同时,判定PD回复报文中不包含合法的前缀地址段,在比对结果为不同时,判定PD回复报文中包含合法的前缀地址段。

一些实施例中,所述PD客户端在判定PD回复报文中包含前缀地址段、且前缀地址段与PD客户端wan侧的前缀路由相同后,向PD回复报文中的其他地址段添加所述128位子网掩码,以更新PD客户端wan侧的ipv6地址,并根据更新后的ipv6地址更新PD客户端wan侧的前缀路由。

一些实施例中,所述方法还包括:

PD客户端在通过PD回复报文得到其wan侧的前缀路由后,根据用户输入在其wan侧添加多个默认路由。

一些实施例中,所述PD客户端根据其wan侧的ipv6地址得到其lan侧的前缀路由的具体步骤如下:

所述PD客户端利用nat(网络地址转换)规则,从其wan侧的ipv6地址中提取64位作为其lan侧的前缀路由。

一些实施例中,所述PD客户端在配置为无状态时,接收下挂终端发送的RS(路由请求)报文,并在向下挂终端回复RA(路由通告)报文后,监听是否接收到请求有状态地址的ipv6报文请求。

一些实施例中,所述PD客户端根据配置状态将其lan侧的前缀路由或所述ipv6地址池中的ipv6地址下发给下挂终端,以实现组网,具体包括如下步骤:

所述PD客户端接收下挂终端发送的RS报文,并向下挂终端回复RA报文;

所述PD客户端在判定当前配置为无状态、且接收到下挂终端发送的请求有状态地址的ipv6报文请求时,从所述ipv6地址池中选取ipv6地址下发给下挂终端,以实现组网。

本申请第二方面提供一种PD客户端,基于所述的ipv6自适应组网方法。

本申请第三方面提供一种ipv6自适应组网系统,基于所述的ipv6自适应组网方法,包括PD服务器端、PD客户端、以及下挂终端,PD客户端用于向PD服务器端发送PD请求报文,并接收PD服务器端回复的PD回复报文,所述系统还包括设置在PD客户端中的自适应控制模块;

所述自适应控制模块用于在判定PD回复报文中不包含合法的前缀地址段时,向PD回复报文中的其他地址段添加128位子网掩码得到PD客户端wan侧的ipv6地址,根据该ipv6地址得到PD客户端wan侧和lan侧的前缀路由,并根据PD客户端lan侧的前缀路由得到PD客户端lan侧的ipv6地址池;

所述自适应控制模块还用于根据配置状态将PD客户端lan侧的前缀路由或ipv6地址池中的ipv6地址下发给下挂终端,以实现组网。

本申请提供的技术方案带来的有益效果包括:

当PD客户端判断PD回复报文中不包含合法的前缀地址段时,通过向所述其他地址段添加128位子网掩码,得到所述wan侧的ipv6地址,根据该ipv6地址得到lan侧的前缀路由,基于PD客户端lan侧的前缀路由即可实现向下挂终端下发可用前缀或可用地址的目的,使下挂终端能够处理得到合适的ipv6地址实现组网,避免在PD客户端没有收到合法的前缀地址段时,无法向下挂终端下发可用前缀或可用地址的问题。

当PD客户端检测到当前配置为无状态环境但仍然接收到下挂终端发送的请求有状态地址的ipv6报文请求时,不再按照无状态环境的地址下发策略,而是按照有状态环境的地址下发策略,从ipv6地址池中选取ipv6地址下发给下挂终端,使下挂终端实现组网,从而实现兼容下挂终端的异常行为,灵活调整地址分配方式,保障自组网成功的目的。

附图说明

图1为现有技术中PD客户端在请求PD时的流程示意图。

图2为本发明实施例中ipv6自适应组网方法的流程示意图。

图3为步骤S2中PD客户端判断PD回复报文中是否包含合法的前缀地址段的流程示意图。

图4为步骤S4的流程示意图。

具体实施方式

以下结合附图及实施例对本申请作进一步详细说明。

在正常情况下,PD回复报文中应当包含前缀地址段和其他地址段。但在一些异常情况下,PD回报报文中包含其他地址段,但是可能不会包含前缀地址段、或包含的前缀地址段异常。

在正常情况下,PD客户端可以按照常规方法,根据PD回复报文中包含的其他地址段得到PD客户端wan侧的ipv6地址,并进一步根据该ipv6地址得到PD客户端wan侧的前缀路由。PD客户端还可以按照常规方法,根据PD回复报文中包含的前缀地址段得到PD客户端lan侧的前缀路由,并根据其lan侧的前缀路由得到其lan侧的ipv6地址池,当有下挂终端想要接入ipv6网络也即与PD客户端建立通信连接时,PD客户端可以在配置环境为无状态时将其lan侧的前缀路由作为可用前缀或在配置环境为有状态时将ipv6地址池中的ipv6地址作为可用地址下发给下挂终端,以使下挂终端接入ipv6网络,实现组网。

但在PD回复报文中不包含前缀地址段时,PD客户端无法从PD回复报文中得到其他地址段,导致无法生成PD客户端lan侧的前缀路由,下挂终端也就无法获得可用前缀或可用地址,无法实现组网。在PD回复报文中包含的前缀地址段异常时,PD客户端根据前缀地址段得到的PD客户端lan侧的前缀路由也会异常,下挂终端得到的可用前缀或可用地址也会异常,无法实现组网。

因此,本发明实施例提供一种ipv6自适应组网方法,在PD客户端判断PD回复报文中不包含合法的前缀地址段时,向PD回复报文中包含的其他地址段添加128位子网掩码得到PD客户端wan侧的ipv6地址,根据该ipv6地址得到PD客户端wan侧和lan侧的前缀路由,并根据PD客户端lan侧的前缀路由得到PD客户端lan侧的ipv6地址池。PD客户端根据配置状态将其lan侧的前缀路由或上述ipv6地址池中的ipv6地址下发给下挂终端,以实现组网。

在本实施例中,当PD客户端判断PD回复报文中不包含合法的前缀地址段时,通过向其他地址段添加128位子网掩码得到PD客户端wan侧的ipv6地址,根据该ipv6地址得到PD客户端wan侧的前缀路由的同时得到PD客户端lan侧的前缀路由(而非按照常规方法向其他地址段添加64为子网掩码得到PD客户端wan侧的ipv6地址,根据该ipv6地址只得到PD客户端wan侧的前缀路由),通过上述方法得到PD客户端lan侧的前缀路由,或进一步根据PD客户端lan侧的前缀路由得到的PD客户端lan侧的ipv6地址池,可以保证下挂终端能够得到可用前缀或可用地址,从而保证下挂终端可以成功接入PD客户端,避免在PD客户端没有收到合法的前缀地址段时,无法向下挂终端下发可用前缀或可用地址的问题。

如图2所示,在一个具体实施例中,ipv6自适应组网方法包括:

步骤S1、PD客户端向PD服务器端发送PD请求报文,并接收PD服务器端回复的PD回复报文。

步骤S2、PD客户端在判定PD回复报文中不包含合法的前缀地址段时,向PD回复报文中的其他地址段添加128位子网掩码得到PD客户端wan侧的ipv6地址,根据该ipv6地址得到PD客户端wan侧和lan侧的前缀路由。

步骤S3、PD客户端根据其lan侧的前缀路由得到其lan侧的ipv6地址池。

步骤S4、PD客户端根据配置状态将其lan侧的前缀路由或ipv6地址池中的ipv6地址下发给下挂终端,以实现组网。

在本实施例中,PD客户端在向PD服务器端发送PD请求报文后,接收PD服务器端回复的PD回复报文。PD回复报文中可能包含合法的前缀地址段也可能不包含合法的前缀地址段,但PD回复报文中始终会包含其他地址段,按照常规方法对其他地址段进行处理可得到PD客户端wan侧的ipv6地址,根据PD客户端wan侧的ipv6地址可进一步处理得到PD客户端wan侧的前缀路由,按照常规方法得到的PD客户端wan侧的前缀路由可用来判断PD回复报文中的前缀地址段是否合法。

基于上述实施例,PD回复报文中不包含合法的前缀地址段指,PD回复报文中不包含前缀地址段、或PD回复报文中的前缀地址段与PD客户端wan侧的前缀路由相同。

具体的,如图3所示,在步骤S2中,PD客户端判断PD回复报文中是否包含合法的前缀地址段的具体步骤如下:

步骤S21a、PD客户端判断PD回复报文中是否不包含前缀地址段:

若是,转步骤S25a。

若否,转步骤S22a。

步骤S22a、PD客户端向PD回复报文中的其他地址段添加64位子网掩码得到PD客户端wan侧的ipv6地址,根据该ipv6地址得到PD客户端wan侧的前缀路由。

步骤S23a、PD客户端判断其wan侧的前缀路由与PD回复报文中的前缀地址段是否相同:

若是,转步骤S25a。

若否,转步骤S24a。

步骤S24a、PD客户端判定PD回复报文中包含合法的前缀地址段。

步骤S25a、PD客户端判定PD回复报文中不包含合法的前缀地址段。

进一步的,PD客户端在判定PD回复报文中包含前缀地址段、且前缀地址段与PD客户端wan侧的前缀路由相同后,向PD回复报文中的其他地址段添加128位子网掩码,以更新PD客户端wan侧的ipv6地址,并根据更新后的ipv6地址更新PD客户端wan侧的前缀路由。

在本实施例中,如果PD客户端判断PD回复报文中不包含前缀地址段,则PD客户端直接判断PD回复报文中不包含合法的前缀地址段,后续,PD客户端按照PD回复报文中不包含合法的前缀地址段自适应调节路由策略,即向PD回复报文中的其他地址段添加128位子网掩码得到PD客户端wan侧的ipv6地址,根据该ipv6地址得到PD客户端wan侧和lan侧的前缀路由。PD客户端根据其lan侧的前缀路由得到其lan侧的ipv6地址池。PD客户端根据配置状态将其lan侧的前缀路由或ipv6地址池中的ipv6地址下发给下挂终端,以实现组网。

如果PD客户端判断PD回复报文中包含的前缀地址段,但该前缀地址段与PD客户端按照常规方法得到PD客户端wan侧的前缀路由相同,则PD客户端判断PD回复报文中不包含合法的前缀地址段,后续,PD客户端按照PD回复报文中不包含合法的前缀地址段自适应调节路由策略,即PD客户端可向PD回复报文中的其他地址段添加128位子网掩码得到新的PD客户端wan侧的ipv6地址,根据该ipv6地址更新按照常规方法得到的PD客户端wan侧的ipv6地址,进一步的,根据更新后的ipv6地址更新PD客户端wan侧的前缀路由,并根据更新后的ipv6地址得到PD客户端lan侧的前缀路由,基于PD客户端lan侧的前缀路由即可实现向下挂终端下发可用前缀或可用地址的目的,使下挂终端能够处理得到合适的ipv6地址实现组网。

在另一个具体实施例中,PD客户端在判定PD回复报文中包含合法的前缀地址段时,将PD回复报文中的前缀地址段作为PD客户端lan侧的前缀路由,并根据PD客户端lan侧的前缀路由得到PD客户端lan侧的ipv6地址池。

在本实施例中,在正常情况下,PD客户端可以按照常规方法,根据PD回复报文中包含的其他地址段得到PD客户端wan侧的ipv6地址,并进一步根据该ipv6地址得到PD客户端wan侧的前缀路由。PD客户端还可以按照常规方法,根据PD回复报文中包含的前缀地址段得到PD客户端lan侧的前缀路由,并根据其lan侧的前缀路由得到其lan侧的ipv6地址池,当有下挂终端想要接入ipv6网络也即与PD客户端建立通信连接时,PD客户端可以在配置环境为无状态时将其lan侧的前缀路由作为可用前缀或在配置环境为有状态时将ipv6地址池中的ipv6地址作为可用地址下发给下挂终端,以使下挂终端接入ipv6网络,实现组网。

在另一个具体实施例中,方法还包括PD客户端在通过PD回复报文得到其wan侧的前缀路由后,根据用户输入在其wan侧添加多个默认路由。

在本实施例中,通过在wan侧添加默认路由可以提高PD客户端可转发的报文数量。

在另一个具体实施例中,PD客户端根据其wan侧的ipv6地址得到其lan侧的前缀路由具体是指PD客户端利用nat(网络地址转换)规则,从其wan侧的ipv6地址中提取64位作为其lan侧的前缀路由。

在本实施例中,当PD客户端判断PD回复报文中不包含合法的前缀地址段时,通过向其他地址段添加128位子网掩码,得到wan侧的ipv6地址,利用nat(网络地址转换)规则,从wan侧的ipv6地址中提取64位作为lan侧的前缀路由,根据lan侧的前缀路由即可实现向下挂终端下发可用前缀(即lan侧的前缀路由)或可用地址(即ipv6地址池中的ipv6地址)的目的,使下挂终端能够处理得到合适的ipv6地址实现自组网,避免在PD客户端没有收到合法的前缀地址段时,无法向下挂终端下发可用前缀或可用地址的问题。

基于上述实施例,如图4所示,步骤S4,具体包括如下步骤:

步骤S41、PD客户端接收下挂终端发送的RS(Router Solicitation,路由请求)报文,并向下挂终端回复RA报文;

步骤S42、PD客户端判断配置状态是否为有状态:

若是,转步骤S44。

若否,转步骤S43。

步骤S43、PD客户端监听是否接收到请求有状态地址的ipv6报文请求:

若是,转步骤S44。

若否,转步骤S45。

步骤S44、PD客户端从ipv6地址池中选取ipv6地址下发给下挂终端,以实现组网。

步骤S45、由下挂终端根据RA报文中的PD客户端lan侧的前缀路由,结合自身地址信息处理得到pv6地址,以实现组网。

在本实施例中,RA报文里的M标志位为1时,说明当前环境为有状态环境,PD客户端可以回复下挂终端请求有状态地址的ipv6报文请求(例如solicit报文),RA报文里的M标志位为0时,说明当前环境为无状态环境,PD客户端可以回复下挂终端请求无状态地址的ipv6报文请求。

通过RA报文,PD客户端可以告知下挂终端当前环境是有状态还是无状态,如果是无状态环境下还继续收到请求有状态地址的ipv6报文则说明发送该报文的下挂终端出现问题,如果按照常规流程,则PD客户端不会回复有问题的下挂终端,该下挂终端将无法获取可用的地址,导致无法实现自组网。

PD客户端在PD请求报文中请求PD后,PD服务器端回复了包含合法PD的PD回复报文。组网时,下挂终端向PD客户端发送RS报文,之后会接收到PD客户端回复的RA报文,RA报文中包含有lan侧的前缀路由,且PD客户端可在RA报文中配置当前环境是有状态还是无状态,即PD客户端可以通过RA报文告知下挂终端当前环境是有状态还是无状态。

下挂终端正常的情况下,可以识别RA报文中包含的环境状态是有状态还是无状态,并且可以针对不同的环境状态选择不同的处理方式以获得可以接入PD客户端的ipv6地址。具体的,如果下挂终端识别到RA报文中的当前配置为有状态环境,则在正常情况下按照标准流程,下挂终端需再次向PD客户端发送请求有状态地址的ipv6报文请求,PD客户端从ipv6地址池中选取ipv6地址下发给下挂终端,下挂终端利用该ipv6地址接入PD客户端实现组网。如果下挂终端识别到RA报文中的当前配置为无状态环境,则在正常情况下按按照标准流程,下挂终端利用RA报文中包含的lan侧前缀路由作为可用前缀,结合该可用前缀和下挂终端自身地址信息计算生成ipv6地址,下挂终端利用该ipv6地址接入PD客户端实现组网。

但是,部分下挂终端出现异常时,无法识别RA报文中的当前配置为无状态环境,而是继续按照当前配置为有状态环境的操作步骤,向PD客户端发送请求有状态地址的ipv6报文请求,PD客户端接收到此请求后,可知该下挂终端出现故障,在现有技术中,PD客户端不会继续回复故障终端,就会导致故障终端无法接入PD客户端无法组网,而通过上述步骤S61-步骤S64,当PD客户端检测到当前配置为无状态环境但仍然接收到下挂终端发送的请求有状态地址的ipv6报文请求时,不再按照无状态环境的地址下发策略,而是按照有状态环境的地址下发策略,从ipv6地址池中选取ipv6地址下发给下挂终端,使下挂终端实现组网,能够兼容下挂终端的异常行为,调整地址分配方式,保障自组网成功。

本发明还提供一种ipv6自适应组网系统的实施例,系统的PD客户端中设置有自适应控制模块,自适应控制模块用于在判定PD回复报文中不包含合法的前缀地址段时,向PD回复报文中的其他地址段添加128位子网掩码得到PD客户端wan侧的ipv6地址,根据该ipv6地址得到PD客户端wan侧和lan侧的前缀路由,并根据PD客户端lan侧的前缀路由得到PD客户端lan侧的ipv6地址池。

自适应控制模块还用于根据配置状态将PD客户端lan侧的前缀路由或ipv6地址池中的ipv6地址下发给下挂终端,以实现组网。

在本实施例中,通过添加自适应控制模块,在不新增配置命令和功能开关前提下,自适应适配环境,做到与原有现网环境部署相兼容,减少运维成本。解决了因现网环境的特殊性,导致PD出现不同的配置,从而使下挂终端没有ipv6地址的问题。解决了部分终端行为不符合协议规范,导致无法获取ipv6地址的问题。

本申请不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本申请的保护范围之内。

技术分类

06120115686229