一种路由器和路由器ipv6自适应方法、装置

阅读: 评论:0

著录项
  • CN202110153628.5
  • 20210204
  • CN114938347A
  • 20220823
  • 青岛海信宽带多媒体技术有限公司
  • 徐清华
  • H04L45/741
  • H04L45/741 H04L41/0803 H04L41/12 H04L61/5014 H04L101/659

  • 山东省青岛市经济技术开发区前湾港路218号
  • 山东(37)
  • 北京弘权知识产权代理有限公司
  • 逯长明;许伟
摘要
本申请公开了一种路由器和路由器ipv6自适应方法、装置,本申请实施例提供的路由器能自动探测上级设备的ipv6地址分配能力,进行模式切换。且通过对路由器进行桥BR0和wan接口设置,并将所有LAN加入桥ipv6自适应方法,创建桥子接口与WAN子接口连接,并加入桥BR0。创建路由子接口,允许桥接口BR0和路由子接口可以路由,以实现路由器自动支持ipv6转发。
权利要求

1.一种路由器ipv6自适应方法,其特征在于,包括:对路由器状态和路由器使用模式进行初始化设置;

向服务器发送SLAAC方式的RS报文申请获取WAN地址,并根据获取WAN地址的结果记录路由器WAN状态;

向所述服务器发送DHCPv6-PD请求申请获取LAN前缀,并根据获取LAN前缀的结果记录路由器LAN状态;

根据所述路由器WAN状态和所述路由器LAN状态,配置路由器使用模式。

2.根据权利要求1所述的路由器ipv6自适应方法,其特征在于,所述路由器的初始状态为[WAN ipv6地址正在获取]、[LAN ipv6前缀正在获取],所述路由器的初始使用模式为[ipv4路由+ipv6路由]模式。

3.根据权利要求1所述的路由器ipv6自适应方法,其特征在于,在所述对路由器状态和路由器使用模式进行初始化设置前,还包括:探测路由器当前使用模式是否为路由模式,如果路由器当前使用模式是路由模式,则进行下一步。

4.根据权利要求1所述的路由器ipv6自适应方法,其特征在于,向服务器发送SLAAC方式的RS报文申请获取WAN地址,并根据获取WAN地址的结果记录路由器WAN状态,包括:

向服务器发送SLAAC方式的RS报文;

如果接收到所述服务器响应报文,并根据所述响应报文的M-FLAG标记判断是否需要转为有状态方式获取地址;

如果M-FLAG为0,则从所述响应报文中直接取得wan地址前缀,并自动生成合法的Ipv6全球单播地址,则记录路由器WAN状态为[WAN ipv6地址获取成功];

如果M-FLAG为1,则路由器向服务器发送dhcpv6 NA地址请求,如果服务器向路由器下发响应报文,路由器从响应报文中获取合法地址,则记录路由器WAN状态为[WAN ipv6地址获取成功];

如果路由器未接收到服务器响应报文,则记录路由器WAN状态为[WAN ipv6地址正在获取];

否则,记录路由器WAN状态为[WAN ipv6地址获取失败]。

5.根据权利要求4所述的路由器ipv6自适应方法,其特征在于,所述向所述服务器发送DHCPv6-PD请求申请获取LAN前缀,并根据获取LAN前缀的结果记录路由器LAN状态;包括:

向服务器发送DHCPv6-PD请求;

如果服务器未响应,则记录路由器LAN状态为[LAN ipv6前缀正在获取];

如果服务器有响应,路由器与服务器继续进行交互DHCPv6-PD;

交互完成后,如果从服务器报文中成功获取到合法ipv6全球单播前缀,则记录路由器LAN状态为[LAN ipv6前缀获取成功];

如果服务器响应报文中不支持或者分配前缀非法,则记录路由器LAN状态为[LAN ipv6前缀获取失败]。

6.根据权利要求5所述的路由器ipv6自适应方法,其特征在于,根据所述路由器WAN状态和所述路由器LAN状态,配置路由器使用模式;包括:

如果所述路由器WAN状态为[WAN ipv6地址获取成功],且所述路由器LAN状态为[LANipv6前缀获取失败],则配置路由器使用[ipv4路由+ipv6桥]模式;

否则,维持当前配置。

7.根据权利要求6所述的路由器ipv6自适应方法,其特征在于,所述配置路由器使用[ipv4路由+ipv6桥]模式后,还包括:对路由器进行配置:

WAN子接口,被配置为根据接收到的外网的报文类型和路由器当前模式,选择转发路径;

桥BR0,其下挂载至少一个内网接口;

桥接口BR0,挂载到所述桥BR0下,参与桥转发;

桥WAN子接口,挂载到所述桥BR0下,可参与桥转发;路由WAN子接口;

其中:所述桥接口BR0与路由WAN子接口可用于路由转发;

所述路由WAN子接口和所述桥WAN子接口向WAN侧发送的报文,直接转为所述WAN子接口发包;所述WAN子接口收到的报文,根据所述报文内容和路由器模式选择所述路由WAN子接口或所述桥WAN子接口进行报文转发。

8.一种ipv6自适应装置,其特征在于,包括:初始化模块,用于对路由器状态和路由器使用模式进行初始化设置;

WAN地址获取模块,用于向服务器发送SLAAC方式的RS报文申请获取WAN地址,并根据获取WAN地址的结果记录路由器WAN状态;

LAN前缀获取模块,用于向所述服务器发送DHCPv6-PD请求申请获取LAN前缀,并根据获取LAN前缀的结果记录路由器LAN状态;

模式配置模块,用于根据所述路由器WAN状态和所述路由器LAN状态,配置路由器使用模式。

9.根据权利要求8所述的ipv6自适应装置,其特征在于,还包括:模式探测模块,用于探测路由器当前使用模式是否为路由模式。

10.一种路由器,其特征在于,包括:WAN子接口,被配置为根据接收到的外网的报文类型和路由器当前模式,选择转发路径;

桥BR0,其下挂载至少一个内网接口;

桥接口BR0,挂载到所述桥BR0下,参与桥转发;

桥WAN子接口,挂载到所述桥BR0下,可参与桥转发;路由WAN子接口;

其中:所述桥接口BR0与路由WAN子接口可用于路由转发;

所述路由WAN子接口和所述桥WAN子接口向WAN侧发送的报文,直接转为所述WAN子接口发包;所述WAN子接口收到的报文,根据所述报文内容和路由器模式选择所述路由WAN子接口或所述桥WAN子接口进行报文转发。

说明书
技术领域

本申请涉及通信技术领域,尤其涉及一种路由器和路由器ipv6自适应方法、装置。

ipv6(Internet Protocol Version 6,互联网协议第6版)具有集成安全功能,地址数量又非常庞大,又没有ipv4(Internet Protocol Version 4,互联网协议第4版)nat(Network Address Translation,网络地址转换)一样的诸多问题,因此实际应用中,ipv6一般不使用nat技术。相对于ipv4而言,对于路由器设备路由模式下,使用ipv4时,运营商只需要分配一个ipv4网段地址即可访问外网,而使用ipv6则需要分配两个网段(按ipv6规范应该称为前缀,下文中直接用前缀描述ipv6的网段)分别用于局域网和外网路由。

当前运营商在FTTH网络中普遍使用HGU设备作为终端连接外网的网关设备,也对其分配两个网段的ipv6前缀,当用户终端设备直接连接到HGU设备上时,可以满足ipv6上网需求。随着WIFI的发展,以及人们对终端无线能力要求的提高,当前及之前很长一段时间内布局的HGU设备受能力限制,已经不能满足用户需求,因此用户一般会在HGU下,挂载一个路由器设备,用于提高性能。

但由于HGU设备不支持二次分配两个ipv6前缀,因此路由器直接挂到HGU设备上时,仅在路由器设备为桥模式+HGU设备为路由模式,或者路由器设备为桥模式+HGU设备为路由模式下支持ipv6。由于当前ipv4向ipv6的演变过渡期,一般需要同时支持ipv4和ipv6双栈,ipv6和ipv4共用路由/桥模式配置,因此ipv6的配置会影响ipv4的使用场景。

本申请提供了一种路由器和路由器ipv6自适应方法,以实现路由器ipv6自适应。

为了解决上述技术问题,本申请实施例公开了如下技术方案:

第一方面,本申请实施例公开了一种路由器ipv6自适应方法,包括:

对路由器状态和路由器使用模式进行初始化设置;

向服务器发送SLAAC方式的RS报文申请获取WAN地址,并根据获取WAN地址的结果记录路由器WAN状态;

向所述服务器发送DHCPv6-PD请求申请获取LAN前缀,并根据获取LAN前缀的结果记录路由器LAN状态;

根据所述路由器WAN状态和所述路由器LAN状态,配置路由器使用模式。

与现有技术相比,本申请的有益效果为:

本申请提供了一种路由器ipv6自适应方法,对路由器状态和路由器使用模式进行初始化设置,使得路由器初始适应常见的路由模式。所述路由器向服务器申请WAN地址和LAN前缀,并根据获取结果更新路由器状态,探测服务器的pd支持能力。再根据路由器的所述当前状态配置所述路由器使用模式,使之适应不同的环境。本申请提供的路由器ipv6自适应方法通过探测服务器的pd支持能力,判断其是否支持分配二个前缀,进而选择合适的路由器转发模式,实现路由器ipv6自适应,提高了路由器的性能。

第二方面,本申请实施例公开了一种ipv6自适应装置,包括:初始化模块,用于对路由器状态和路由器使用模式进行初始化设置;

WAN地址获取模块,用于向服务器发送SLAAC方式的RS报文申请获取WAN地址,并根据获取WAN地址的结果记录路由器WAN状态;

LAN前缀获取模块,用于向所述服务器发送DHCPv6-PD请求申请获取LAN前缀,并根据获取LAN前缀的结果记录路由器LAN状态;

模式配置模块,用于根据所述路由器WAN状态和所述路由器LAN状态,配置路由器使用模式。

与现有技术相比,本申请的有益效果为:

本申请还提供了一种ipv6自适应装置,包括:初始化模块,用于对路由器状态和路由器使用模式进行初始化设置。WAN地址获取模块,用于向服务器发送SLAAC方式的RS报文申请获取WAN地址,并根据获取WAN地址的结果记录路由器WAN状态。LAN前缀获取模块,用于向所述服务器发送DHCPv6-PD请求申请获取LAN前缀,并根据获取LAN前缀的结果记录路由器LAN状态。模式配置模块,用于根据所述路由器WAN状态和所述路由器LAN状态,配置路由器使用模式。本申请提供的ipv6自适应装置通过探测服务器的pd支持能力,判断其是否支持分配二个前缀,进而选择合适的路由器转发模式,实现路由器ipv6自适应,提高了路由器的性能。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。

为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的一种路由器应用场景示意图;

图2为本申请实施例提供的一种路由器状态获取流程示意图;

图3为本申请实施例提供的一种路由器根据路由器状态配置使用模式流程示意图;

图4为本申请实施例提供的一种路由器ipv6和ipv4共用路由/桥模式配置结构示意图;

图5为本申请实施例提供的路由器中报文上行转发路径示意图;

图6为本申请实施例提供的路由器中报文下行转发路径示意图。

为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

图1为本申请实施例提供的一种路由器应用场景。如图1所示,当前运营商在网络中普遍使用HGU(Home Gateway Unit,家庭网关单元)设备作为终端连接外网的网关设备,也对其分配两个网段的ipv6前缀,当用户终端设备直接连接到HGU设备上时,可以满足ipv6上网需求。随着WIFI的发展,以及人们对终端无线能力要求的提高,当前及之前很长一段时间内布局的HGU设备受能力限制,已经不能满足用户需求,因此用户一般会在HGU下,挂载一个路由器,用于提高性能。

但由于HGU设备不支持二次分配两个ipv6前缀,因此路由器直接挂到HGU设备上时,仅在路由器为桥模式+HGU设备为路由模式,或者路由器为桥模式+HGU设备为路由模式下支持ipv6。由于当前ipv4向ipv6的演变过渡期,一般需要同时支持ipv4和ipv6双栈,ipv6和ipv4共用路由/桥模式配置,因此路由器ipv6的配置会影响ipv4的使用场景。

ipv6分配前缀和地址的方式有两种,一种是无状态配置前缀,使用icmpv6(Internet Control Managemet Protocol Version 6,互联网控制信息协议版本六)的ra(Router Advertisment)报文携带前缀信息,另一种是有状态配置前缀,使用dhcpv6(Dynamic Host Configuration Protocol for IPv6,动态主机配置协议)NA选项直接分配地址,或者使用dhcpv6 pd分配前缀。当前运营商配置HGU时,使用无状态配置或dhcpv6 na给HGU wan(Wide Area Network,广域网)侧分配地址,使用dhcpv6 PD选项给LAN(LocalArea Network,局域网)侧分配前缀,此前缀最终会分配给用户上网设备。而HGU向用户上网设备分配前缀时,仅支持无状态配置和dhcpv6 na。

图2为本申请实施例提供的一种路由器状态获取流程示意图,图3为本申请实施例提供的一种路由器根据路由器状态配置使用模式流程示意图。结合图2和图3所示,本申请实施例提供的路由器模式自动匹配流程包括:

S0:对路由器当前使用状态进行探测,探测路由器当前使用模式是否为路由模式。如果路由器当前使用模式是路由模式,则进行下一步。如果探测结果为否,则路由器当前设置为[ipv4桥+ipv6桥]模式。

S1:对路由器状态进行初始化配置。初始化状态为[WAN ipv6地址正在获取]、[LANipv6前缀正在获取],设置本路由器为[ipv4路由+ipv6路由]模式。

S2:同时进行WAN地址获取流程和LAN前缀获取流程,并根据获取结果记录路由器状态。

S20:获取WAN地址,并根据获取WAN地址的结果并进行路由器WAN状态记录。

S201:路由器向服务器发送无状态地址自动配置(Stateless addressautoconfiguration,slaac)报文。

S202:如果路由器未能接收到服务器的响应报文,则随机延时周期发送请求,请求期间路由器维持当前状态不变,即此时WAN状态为[WAN ipv6地址正在获取]。此处的周期时间可根据实际场景需要进行设置,一般设置为3~6s。

S203:如果路由器接收到服务器响应报文,根据响应报文的M-FLAG标记判断是否需要转为有状态方式获取地址。

S2031:如果M-FLAG为0,则从响应报文中直接取得wan地址前缀,并自动生成合法的Ipv6全球单播地址,记录路由器WAN状态为[WAN ipv6地址获取成功]。如果响应报文中未携带或者携带前缀非法,则记录路由器WAN状态为[WAN ipv6地址获取失败]。

S2032:如果M-FLAG为1,则路由器向服务器发送dhcpv6 NA地址请求。

S20321:如果服务器没有响应dhcpv6 NA请求,则5s+随机延时周期发送dhcpv6 NA请求,请求期间维持当前状态不变,即记录路由器WAN状态为[WAN ipv6地址正在获取]。

S20322:如果,服务器响应dhcpv6 NA请求,路由器与服务器完成DHCPv6-NA的所有交互后,服务器向路由器下发响应报文,路由器从响应报文中获取地址。

如果路由器能够从响应报文中成功获取到合法ipv6全球单播地址,则记录路由器WAN状态为[WAN ipv6地址获取成功]。

如果服务器响应报文中不支持或者分配地址非法,则记录路由器WAN状态为[WANipv6地址获取失败]。

S21:获取LAN地址,并根据获取LAN地址的结果并进行路由器LAN状态记录。

S211:路由器向服务器发送DHCPv6-PD请求。

S212:如果服务器没有响应,则5s+随机延时周期发送DHCPv6-PD请求,请求期间当前模式不变,即记录路由器LAN状态为[LAN ipv6前缀正在获取]。

S213:如果服务器有响应,路由器与服务器继续进行交互DHCPv6-PD。

交互完成后,如果路由器从服务器报文中成功获取到合法ipv6全球单播前缀,则记录路由器状态为[LAN ipv6前缀获取成功]。

如果服务器响应报文中不支持或者分配前缀非法,则记录路由器状态为[LANipv6前缀获取失败]。

S3:根据路由器状态配置路由器使用模式。

如果路由器WAN状态为[LAN ipv6前缀正在获取]或路由器LAN状态为[WAN ipv6地址正在获取],维持路由器当前模式不变,即本路由器模式为[ipv4路由+ipv6路由]模式。

如果路由器WAN状态为[WAN ipv6地址获取成功]且路由器LAN状态为[LAN ipv6前缀获取成功],则配置路由器使用[ipv4路由+ipv6路由]模式。

如果路由器WAN状态为[WAN ipv6地址获取成功]且路由器LAN状态为[LAN ipv6前缀获取失败],则配置路由器使用[ipv4路由+ipv6桥]模式。

如果路由器WAN状态为[WAN ipv6地址获取失败],则维持路由器模式不变。

本申请实施例通过对路由器状态进行初始化设置,进行服务器WAN地址和LAN前缀的获取,根据获取结果记录路由器当前状态,并根据路由器当前状态进行路由器模式配置。通过探测服务器的pd支持能力,判断其是否支持分配二个前缀,进而决定使用哪种路由器模式。如果路由器使用模式为[ipv4路由+ipv6桥]模式,则对路由器进行ipv4/ipv6的路由桥模式隔离配置。

本申请提供了一种路由器ipv6自适应方法,对路由器状态和路由器使用模式进行初始化设置,使得路由器初始适应常见的路由模式。向服务器发送SLAAC方式的RS报文申请获取WAN地址,并根据获取WAN地址的结果记录路由器WAN状态;向所述服务器发送DHCPv6-PD请求申请获取LAN前缀,并根据获取LAN前缀的结果记录路由器LAN状态,从而探测服务器的pd支持能力。再根据路由器的所述当前状态配置所述路由器使用模式,使之适应不同的环境。本申请提供的路由器ipv6自适应方法通过探测服务器的pd支持能力,判断其是否支持分配二个前缀,进而选择合适的路由器转发模式,实现路由器ipv6自适应,提高了路由器的性能。

进一步,本申请还提供了一种ipv4/ipv6的路由桥模式隔离配置方法。图4为本申请实施例提供的一种路由器ipv6和ipv4共用路由/桥模式配置示意图,如图4所示,为实现路由器ipv6和ipv4共用路由/桥模式,本申请实施例提供了一种路由器,被配置为:

WAN主接口MAIN-WAN,其特征为连接外网(WAN)的物理口对应的接口,该接口发送的报文可以直接使用WAN物理端口发包,WAN物理端口收到的报文会使用MAIN-WAN的收包函数。MAIN-WAN不参与路由和桥转发。

WAN子接口SUB-WAN,为基于WAN主接口MAIN-WAN的指定vlan id的vlan(VirtualLocal Area Network,虚拟局域网)虚接口。其特征为从WAN子接口SUB-WAN发送的报文,先在报文中添加指定vlan id的VLAN HEADER,再调用WAN主接口MAIN-WAN的发包函数发送报文。WAN主接口MAIN-WAN收到的由WAN子接口SUB-WAN发送的报文,携带的vlan id为WAN子接口SUB-WAN指定的vlan id时,会剥除报文中的vlan并调用WAN子接口SUB-WAN的收包函数。特别的如果WAN侧报文不需要指定vlan id,则WAN子接口SUB-WAN发送的报文直接调用WAN主接口MAIN-WAN发包,WAN主接口MAIN-WAN收到的报文中如果不携带VLAN,则调用WAN子接口SUB-WAN收包。WAN子接口SUB-WAN的MTU等参数,设置时受MAIN-WAN限制。SUB-WAN不参与路由和桥转发。

两个子接口包括:路由WAN子接口R-SUB-WAN和桥WAN子接口B-SUB-WAN,路由子WAN接口R-SUB-WAN和桥WAN子接口B-SUB-WAN与WAN子接口SUB-WAN通信。其主要特征为,路由WAN子接口R-SUB-WAN和桥WAN子接口B-SUB-WAN向WAN侧发送的报文,直接转为WAN子接口SUB-WAN发包。WAN子接口SUB-WAN收到的报文,路由器根据报文内容和路由器模式进行报文转发。

在一些实施例中,WAN子接口SUB-WAN收到的报文,对路由器进行配置:如果WAN子接口SUB-WAN收到的报文是ipv4报文,且本路由器是ipv4路由模式,则报文转路由WAN子接口R-SUB-WAN接收;如果WAN子接口SUB-WAN收到的报文是ipv4报文,且本路由器当前为ipv4桥模式,则报文转桥WAN子接口B-SUB-WAN接收;如果WAN子接口SUB-WAN收到的报文是ipv6报文,且本路由器是ipv6路由模式,则报文转路由WAN子接口R-SUB-WAN接收;如果WAN子接口SUB-WAN收到的报文是ipv6报文,且本路由器当前为ipv6桥模式,则报文转桥WAN子接口B-SUB-WAN接收。

本申请实施例中路由WAN子接口R-SUB-WAN可配置ip,可参与路由转发。桥WAN子接口B-SUB-WAN可参与桥转发。路由WAN子接口R-SUB-WAN和桥WAN子接口B-SUB-WAN的最大传输单元(Maximum Transmission Unit,MTU)等参数,设置时受WAN子接口SUB-WAN限制。

每个物理LAN口创建一个LAN接口,分别为LAN1、LAN2~LANX,为连接内网物理口对应的接口。该接口发送的报文可以直接使用LAN物理端口发包,LAN物理端口收到的报文会使用对应的LANX的收包函数。LAN接口可以参与路由转发。

创建一个桥,其特征为,挂载到桥下的接口按MAC转发,并自动生成一个桥接口BR0,其特征为,BR0自动挂载至桥下,并作为本局域网网关,可以配置ip,桥接口BR0还可以参与路由转发。下述BR0按描述分别代指桥BR0和桥接口BR0。

所有LAN接口LAN1、LAN2~LANX挂载到桥BR0下,将桥WAN子接口B-SUB-WAN也挂载到桥BR0下。

通过以上配置,本申请实施例提供的一种路由器,包括:WAN子接口,被配置为根据接收到的外网的报文类型和路由器当前模式,选择转发路径。桥BR0,其下挂载至少一个内网接口。桥接口BR0,挂载到所述桥BR0下,参与桥转发。桥WAN子接口,挂载到所述桥BR0下,可参与桥转发;路由WAN子接口。其中:所述桥接口BR0与路由WAN子接口可用于路由转发。所述路由WAN子接口和所述桥WAN子接口向WAN侧发送的报文,直接转为所述WAN子接口发包;所述WAN子接口收到的报文,根据所述报文内容和路由器模式选择所述路由WAN子接口或所述桥WAN子接口进行报文转发。本申请实施例提供的路由器通过配置两个虚接口路由WAN子接口和桥WAN子接口分别进行路由转发、桥转发,来实现ipv4/ipv6的路由与桥路径隔离。

其中,WAN主接口,一侧与外网物理口连接,另一侧与WAN子接口连接;所述WAN子接口为所述WAN主接口的虚拟接口,其报文下行路径被配置为:

如果WAN子接口收到的报文是ipv4报文,且本路由器ipv4模式是ipv4路由模式,则报文转路由WAN子接口接收;

如果WAN子接口收到的报文是ipv4报文,且本路由器ipv4模式为ipv4桥模式,则报文转桥WAN子接口接收;

或,

如果WAN子接口收到的报文是ipv6报文,且本路由器ipv6模式是ipv6路由模式,则报文转路由WAN子接口接收;

如果WAN子接口收到的报文是ipv6报文,且本路由器ipv6模式是ipv6桥模式,则报文转桥WAN子接口接收。

进一步,如果WAN侧报文不需要指定vlan id,则WAN子接口发送的报文直接调用WAN主接口发包;如果WAN主接口收到的报文中不携带VLAN,则调用WAN子接口收包。

进一步,本申请实施例中从WAN子接口发送的报文,先在报文中添加指定vlan id的VLAN HEADER,再调用WAN主接口的发包函数发送报文。WAN主接口收到的由WAN子接口发送的报文,携带的vlan id为WAN子接口指定的vlan id时,会剥除报文中的vlan并调用WAN子接口的收包函数。

本申请实施例提供的路由器通过配置两个虚接口路由WAN子接口和桥WAN子接口分别进行路由转发、桥转发,来实现ipv4/ipv6的路由与桥路径隔离。

图5为本申请实施例提供的路由器中报文上行转发路径示意图。如图5所示,根据以上配置,本申请实施例提供的路由器中报文上行转发路径如下:

上行转发即LAN侧收包的转发路径。本实施例以LANX为例,其他LAN端口处理逻辑相同。

A1:内网物理口X处向LANX接口发送报文。

A2:LANX接口从对应的内网物理口X处收到报文,首先进行桥转发流程,先查mac表,查到目的mac所属接口。

A2-1:如果查到的接口为桥WAN子接口B-SUB-WAN,或者报文是未知单播报文,或者报文是广播报文,则进行转发允许判断。

其中:所述转发允许判断包括:

(1)如果是LANX接口接收的报文为ipv6报文,并且路由器当前模式是ipv6桥模式,则判断为允许转发。如果LANX接口接收的报文为是ipv6报文,并且路由器当前模式是ipv6路由模式,则判断为禁止转发。

(2)如果LANX接口接收的报文为是ipv4报文,并且路由器当前模式是ipv4桥模式,则判断为允许转发。如果LANX接口接收的报文为是ipv4报文,并且路由器当前模式是ipv4路由模式,则判断为禁止转发。

A2-2:对于允许转发的报文,目的mac为桥WAN子接口B-SUB-WAN的,直接转为桥子接口B-SUB-WAN发包;报文是未知单播报文或者报文是广播报文的,则广播或未知单播复制报文后,转为桥子接口B-SUB-WAN接口发包。在桥WAN子接口B-SUB-WAN发包函数中,转为WAN子接口SUB-WAN发包,最后转为WAN主接口MAIN-WAN发包,并从WAN物理端口发出。

对于禁止转发的报文,目的mac为桥子接口B-SUB-WAN的,直接丢弃;广播或未知单播报文,则不复制也不转发到桥WAN子接口B-SUB-WAN。

A2-3:如果目的mac查到接口为桥接口BR0,则转为桥BR0收包。如果报文是未知单播报文,或者报文是广播报文,则复制报文后,将复制报文转为BR0收包。并根据所述报文是ipv4还是ipv6分别查ipv4路由表或ipv6路由表。如果查结果为路由WAN子接口R-SUB-WAN,则调用路由WAN子接口R-SUB-WAN发包,在路WAN由子接口R-SUB-WAN发包函数中,转为WAN子接口SUB-WAN发包,最后转为WAN主接口MAIN-WAN发包,并从WAN物理端口发出。

A2-4:如果目的mac查到接口为其他LAN接口,比如LAN2,则转为查到的LAN接口发包。如果报文是未知单播报文或者报文是广播报文,则复制报文后,将复制报文转为对应LAN接口发包,并从对应LAN物理端口发出。

本申请实施例提供的路由器主要通过ip报文类型进行分流,非ipv6报文也非ipv4报文按ipv4模式转发。桥路径中严格按报文类型对应模式+mac进行转发限制,当报文进入路由路径中,因为桥模式下缺少前缀路由,因此即使不限制也不会转发成功,因此这里可以不做模式判断与限制。

图6为本申请实施例提供的路由器中报文下行转发路径示意图。如图6所示,根据以上配置,本申请实施例提供的路由器中报文下行转发路径如下:

B1:当WAN主接口MAIN-WAN从WAN物理端口处收到报文时,先解析报文的vlan id,如果是WAN子接口SUB-WAN的指定的vlan id,则转为WAN子接口SUB-WAN收包。

B2:然后进行转发逻辑判断。

B2-1:如果WAN子接口SUB-WAN收包报文是ipv6报文,且当前路由器ipv6模式为ipv6桥模式;或者WAN子接口SUB-WAN收包报文是ipv4报文,且当前路由器ipv4模式为ipv4桥模式,则转为桥子接口B-SUB-WAN收包,而后进入桥流程。

因为桥WAN子接口B-SUB-WAN在桥BR0下,所以进行桥转发逻辑按mac转发。查mac表,如果查结构为结果为LANX口、或者报文为广播报文、或者报文为未知单播报文,则转为LANX发包,则复制报文后,将报文从LANX发包。LANX发包函数中,从LANX对应物理端口发出。如果mac表查结果为桥接口BR0,则报文直接丢弃。

B2-2:如果WAN子接口SUB-WAN收包报文是ipv6报文,且当前路由器ipv6模式为ipv6路由模式;或者WAN子接口报文是ipv4报文,且当前路由器ipv4模式为ipv4路由模式,则转为路由WAN子接口R-SUB-WAN收包。然后再根据报文目的ip查路由表。

当ip查结果为桥接口BR0,则从桥接口BR0发出,并进入桥转发流程,根据目的mac查接口。如果mac查结果为桥WAN子接口B-SUB-WAN,则报文直接丢弃。如果mac查结果为LANX,则转为LANX接口发包,并从LANX对应物理端口发出。

当ip查结果不为桥接口BR0,则直接丢弃。

因此,本申请实施例提供了一种路由器ipv6自适应方法,包括:探测路由器配置状态,如路由器配置为桥模式,则使用ipv4桥+ipv6桥模式。如路由器配置状态为路由状态,开启ipv6模式探测,根据ipv6模式探测结果配置路由器使用模式。

综上所述,本申请实施例提供的路由器能自动探测上级设备的ipv6地址分配能力,进行模式切换。且通过对路由器进行桥BR0和wan接口设置,并将所有LAN加入桥,创建桥WAN子接口与路由WAN子接口连接,并加入桥BR0。创建路由WAN子接口,允许桥接口BR0和路由WAN子接口可以路由,以实现路由器自动支持ipv6转发,来实现ipv4/ipv6的路由与桥路径隔离。

本申请提供了一种路由器ipv6自适应方法,对路由器状态和路由器使用模式进行初始化设置,使得路由器初始适应常见的路由模式。向服务器发送SLAAC方式的RS报文申请获取WAN地址,并根据获取WAN地址的结果记录路由器WAN状态;向所述服务器发送DHCPv6-PD请求申请获取LAN前缀,并根据获取LAN前缀的结果记录路由器LAN状态,从而探测服务器的pd支持能力。再根据路由器的所述当前状态配置所述路由器使用模式,使之适应不同的环境。本申请提供的路由器ipv6自适应方法通过探测服务器的pd支持能力,判断其是否支持分配二个前缀,进而选择合适的路由器转发模式,实现路由器ipv6自适应,提高了路由器的性能。

本申请还提供了一种ipv6自适应装置,包括:模式探测模块,用于探测路由器当前使用模式是否为路由模式。

初始化模块,用于对路由器状态和路由器使用模式进行初始化设置。如果模式探测模块探测得到路由器当前使用模式为路由模式,则初始化模块对路由器状态和路由器使用模式进行初始化设置,将路由器状态初始化为[WAN ipv6地址正在获取]、[LAN ipv6前缀正在获取],设置路由器初始使用模式为[ipv4路由+ipv6路由]模式。

WAN地址获取模块,用于向服务器发送SLAAC方式的RS报文申请获取WAN地址,并根据获取WAN地址的结果记录路由器WAN状态。

LAN前缀获取模块,用于向所述服务器发送DHCPv6-PD请求申请获取LAN前缀,并根据获取LAN前缀的结果记录路由器LAN状态。

模式配置模块,用于根据所述路由器WAN状态和所述路由器LAN状态,配置路由器使用模式。

进一步的,在一些实施例中,WAN地址获取模块包括:WAN地址申请子模块,用于向服务器发送SLAAC方式的RS报文,申请获取WAN地址。WAN地址接收子模块,用于接收服务器对RS报文的响应报文。WAN状态记录子模块,用于根据响应报文记录路由器WAN状态。

WAN地址接收子模块还用于根据响应报文的M-FLAG标记判断是否需要转为有状态方式获取地址。

进一步,如果响应报文中M-FLAG为0,则WAN状态记录子模块从响应报文中直接取得wan地址前缀,并自动生成合法的Ipv6全球单播地址,记录路由器WAN状态为[WAN ipv6地址获取成功]。如果响应报文中未携带或者携带前缀为非法字符,则记录路由器WAN状态为[WAN ipv6地址获取失败]。

如果响应报文中M-FLAG为1,则WAN地址申请子模块发送dhcpv6 NA地址请求。如果服务器没有响应dhcpv6 NA请求,则WAN地址申请子模块随机延时周期向服务器发送dhcpv6NA请求,请求期间维持当前状态不变,即WAN状态记录子模块记录路由器WAN状态为[WANipv6地址正在获取]。

如果服务器响应dhcpv6 NA请求,路由器与服务器完成dhcpv6 NA的所有交互后,服务器向路由器下发响应报文,路由器从响应报文中获取地址。即如果WAN地址接收子模块接收到dhcpv6 NA请求的响应报文,则从响应报文中获取WAN地址。

如果WAN地址接收子模块从响应报文中成功获取到合法ipv6全球单播地址,则WAN状态记录子模块记录路由器WAN状态为[WAN ipv6地址获取成功]。

如果WAN地址接收子模块接收到的服务器响应报文中不支持或者分配地址非法,则WAN状态记录子模块记录路由器WAN状态为[WAN ipv6地址获取失败]。

在一些实施例中,LAN前缀获取模块包括:LAN前缀申请子模块,用于向服务器发送DHCPv6-PD请求。LAN前缀接收子模块,用于接收服务器处理DHCPv6-PD请求后的响应报文。LAN状态记录子模块,用于根据接收到的DHCPv6-PD的响应报文,记录路由器LAN状态。

在一些实施例中,LAN前缀申请子模块还用于,如果LAN前缀接收子模块未接收到服务器响应报文,则随机延时周期发送DHCPv6-PD请求。

LAN状态记录子模块根据接收到的DHCPv6-PD的响应报文,记录路由器LAN状态包括:如果服务器有响应,路由器与服务器继续进行交互DHCPv6-PD。交互完成后,如果LAN状态记录子模块从服务器报文中成功获取到合法ipv6全球单播前缀,则记录路由器状态为[LAN ipv6前缀获取成功]。如果服务器响应报文中不支持或者分配前缀非法,则记录路由器状态为[LAN ipv6前缀获取失败]。

在一些实施例中,模式配置模块,用于根据所述路由器WAN状态和所述路由器LAN状态,配置路由器使用模式。进一步,如果路由器WAN状态[LAN ipv6前缀正在获取]或路由器LAN状态为[WAN ipv6地址正在获取],维持路由器当前模式不变,即本路由器模式为[ipv4路由+ipv6路由]模式。

如果路由器WAN状态为[WAN ipv6地址获取成功]且路由器LAN状态为[LAN ipv6前缀获取成功],则配置路由器使用[ipv4路由+ipv6路由]模式。

如果路由器WAN状态为[WAN ipv6地址获取成功]且路由器LAN状态为[LAN ipv6前缀获取失败],则配置路由器使用[ipv4路由+ipv6桥]模式。

如果路由器状态为[WAN ipv6地址获取失败],则维持路由器当前模式不变。

综上,本申请还提供了一种ipv6自适应装置,包括:初始化模块,用于对路由器状态和路由器使用模式进行初始化设置。WAN地址获取模块,用于向服务器发送SLAAC方式的RS报文申请获取WAN地址,并根据获取WAN地址的结果记录路由器WAN状态。LAN前缀获取模块,用于向所述服务器发送DHCPv6-PD请求申请获取LAN前缀,并根据获取LAN前缀的结果记录路由器LAN状态。模式配置模块,用于根据所述路由器WAN状态和所述路由器LAN状态,配置路由器使用模式。对路由器状态和路由器使用模式进行初始化设置,使得路由器初始适应常见的路由模式。所述路由器向服务器申请WAN地址和LAN前缀,并根据获取结果更新路由器状态,探测服务器的pd支持能力。再根据路由器的所述当前状态配置所述路由器使用模式,使之适应不同的环境。本申请提供的ipv6自适应装置通过探测服务器的pd支持能力,判断其是否支持分配二个前缀,进而选择合适的路由器转发模式,实现路由器ipv6自适应,提高了路由器的性能。

由于以上实施方式均是在其他方式之上引用结合进行说明,不同实施例之间均具有相同的部分,本说明书中各个实施例之间相同、相似的部分互相参见即可。在此不再详细阐述。

需要说明的是,在本说明书中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或暗示这些实体或操作之间存在任何这种实际的关系或顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的电路结构、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种电路结构、物品或者设备所固有的要素。在没有更多限制的情况下,有语句“包括一个……”限定的要素,并不排除在包括所述要素的电路结构、物品或者设备中还存在另外的相同要素。WLN侧为服务器侧,也可为与路由器相关联的上级设备,可以是HUG设备或上级路由器。

本领域技术人员在考虑说明书及实践这里发明的公开后,将容易想到本申请的其他实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由权利要求的内容指出。

以上所述的本申请实施方式并不构成对本申请保护范围的限定。

本文发布于:2023-04-15 03:29:47,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/4/86918.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图