CN116418760A - 报文转发方法、设备及系统 - Google Patents

报文转发方法、设备及系统 Download PDF

Info

Publication number
CN116418760A
CN116418760A CN202111638716.0A CN202111638716A CN116418760A CN 116418760 A CN116418760 A CN 116418760A CN 202111638716 A CN202111638716 A CN 202111638716A CN 116418760 A CN116418760 A CN 116418760A
Authority
CN
China
Prior art keywords
information
client
equipment
client device
tunnel
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.)
Pending
Application number
CN202111638716.0A
Other languages
English (en)
Inventor
花荣荣
余舟毅
彭涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202111638716.0A priority Critical patent/CN116418760A/zh
Publication of CN116418760A publication Critical patent/CN116418760A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/825Involving tunnels, e.g. MPLS

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供了一种报文转发方法、设备及系统,属于通信技术领域。本申请提供的方案中,CP设备在确定第一UP设备存在故障后,能够向第一目标UP设备发送第一信息。该第一信息能够指示在第一UP设备存在故障的场景下,第二UP设备为第一客户端设备的主用UP设备。基于此,第一目标UP设备在接收到发往第一客户端设备的第一业务报文后,即可基于该第一信息,通过第二UP设备将第一业务报文发送至第一客户端设备,由此实现了在第一UP设备存在故障的场景下,第一业务报文的可靠转发。

Description

报文转发方法、设备及系统
技术领域
本申请涉及通信技术领域,特别涉及一种报文转发方法、设备及系统。
背景技术
采用控制面(controller plane,CP)和用户面(user plane,UP)分离方案的宽带远程接入系统一般包括:CP设备、多个UP设备以及远程用户拨号认证服务(remoteauthentication dial in user service,RADIUS)服务器。
其中,CP设备在通过RADIUS服务器对客户端设备进行认证后,可以控制该客户端设备从多个UP设备中的目标UP设备上线。也即是,可以由该目标UP设备转发该客户端设备的业务报文,以将客户端设备接入网络。
但是,若目标UP设备出现故障,则会导致客户端设备的业务报文无法正常转发。
发明内容
本申请提供了一种报文转发方法、设备及系统,可以解决相关技术中报文转发时可靠性较低的技术问题。
第一方面,提供了一种报文转发方法,应用于CP和UP分离的宽带网关接入系统中的CP设备,该系统还包括第一UP设备,第二UP设备和第三UP设备,第一客户端设备从第一UP设备上线;该方法包括:基于第一UP设备存在故障,向第一目标UP设备发送第一信息,该第一信息用于指示在该第一UP设备存在故障的情况下,第二UP设备为第一客户端设备的主用UP设备,该第一目标UP设备包括第一UP设备,第二UP设备和第三UP设备中的至少一个。
由于第一信息能够指示在第一UP设备存在故障的场景下,第二UP设备为第一客户端设备的主用UP设备,因此第一目标UP设备在接收到发往第一客户端设备的第一业务报文后,即可基于该第一信息,通过第二UP设备将第一业务报文发送至第一客户端设备。由此实现了在第一UP设备存在故障的场景下,第一业务报文的可靠转发。
可选地,该第一目标UP设备可以包括第一UP设备;或者,该第一目标UP设备可以包括第二UP设备和第三UP设备;又或者,该第一目标UP设备可以包括第一UP设备、第二UP设备和第三UP设备。
若第一目标UP设备包括第一UP设备和/或第三UP设备,则该第一UP设备或第三UP设备接收到第一业务报文后,可以基于第一信息将第一业务报文转发至第二UP设备,以便由第二UP设备发送至第一客户端设备。若该第一目标UP设备包括第二UP设备,则该第二UP设备接收到第一业务报文后,即可基于第一信息,将该第一业务报文直接发送至第一客户端设备。
可选地,该第一UP设备的故障可以包括:第一UP设备的用户接口故障,或者,该第一UP设备的故障可以为第一UP设备整机故障;其中,该第一客户端设备从第一UP设备的用户接口上线。
可以理解的是,第一UP设备的用户接口故障的场景,网络设备发往第一客户端设备的第一业务报文会被转发至第一UP设备;第一UP设备整机故障的场景,网络设备发往第一客户端设备的第一业务报文会被转发至第二UP设备或第三UP设备。
相应的,若第一UP设备的用户接口故障,则该第一目标UP设备可以仅包括第一UP设备,且CP设备可以向第二UP设备下发第一客户端设备的第一会话表项。由此,第一UP设备接收到网络设备发送的第一业务报文后,即可基于该第一信息,准确地将第一业务报文转发至第二UP设备。第二UP设备进而可以基于第一会话表项,将该第一业务报文发送至第一客户端设备。
若第一UP设备整机故障,则该第一目标UP设备可以包括第二UP设备和第三UP设备,且CP设备在向第一目标UP设备发送第一信息时,还可以同步下发该第一客户端设备的第一会话表项。由此,若第二UP设备接收到第一业务报文,即可基于第一信息和第一会话表项,直接将该第一业务报文发送至第一客户端设备。若第三UP设备接收到第一业务报文,即可基于该第一信息,将该第一业务报文转发至第二UP设备,进而由第二UP设备发送至第一客户端设备。
可选地,该第一信息可以与第一客户端设备的第一会话表项对应,CP设备向第一目标UP设备发送第一信息的过程可以包括:向该第一目标UP设备发送第一信息和对应的第一会话表项。或者可以理解为:CP设备能够将第一信息携带在第一会话表项中发送至第一UP设备。
将第一信息与第一会话表项对应发送至第一目标UP设备,使得第一目标UP设备在接收到第一业务报文后,能够通过第一会话表项识别该第一业务报文为发往第一客户端设备的业务报文。进而可以基于第一会话表项与第一信息的对应关系,确定该第一客户端设备的主用UP设备为第二UP设备。
可选地,该方法还可以包括:向第二UP设备发送第一客户端设备的第一会话表项。第二UP设备进而能够基于该第一会话表项,将接收到的第一业务报文发送至第一客户端设备。并且,可以理解的是,对于第一目标UP设备包括第二UP设备的场景,CP设备也可以向第二UP设备分别发送该第一信息和第一会话表项。
可选地,该方法还可以包括:分别向第一UP设备,第二UP设备和第三UP设备发送目标隧道的隧道表项,该隧道表项中的源地址包括第一UP设备的互联网协议(Internetprotocol,IP)地址,该隧道表项用于供第一UP设备,第二UP设备和第三UP设备中的任一UP设备与网络设备通过该目标隧道交互第一客户端设备的第一业务报文。
其中,该目标隧道可以是CP设备通过第一UP设备与网络设备进行隧道协商后建立的。可以理解的是,在第一UP设备故障后,从第一UP设备上线的客户端设备的主用UP设备会更新为第二UP设备和第三UP设备中的至少一个,例如第一客户端设备的主用UP设备会更新为第一UP设备)。因此,通过向第二UP设备和第三UP设备也下发目标隧道的隧道表项,可以使得在第一UP设备故障后,第二UP设备和/或第三UP设备作为新的主用UP设备,仍然能够通过该目标隧道与网络设备交互从第一UP设备上线的客户端设备的业务报文。
可选地,该目标隧道可以为二层隧道协议(layer 2tunneling protocol,L2TP)隧道,相应的,该第一客户端设备可以是L2TP设备。
可选地,CP设备在向第一目标UP设备发送第一信息之后,该方法还可以包括:通过第二UP设备与网络设备交互目标隧道的隧道协议报文,以及第一客户端设备的会话协议报文;其中,第二UP设备的源地址的路由优先级高于第三UP设备的源地址的路由优先级。
由于对于该目标隧道的源地址,第二UP设备的路由优先级较高,因此CP设备可以通过该第二UP设备与网络设备交互目标隧道的隧道协议报文,该隧道协议报文可以包括用于使目标隧道保活的协议报文。又由于第二UP设备为第一客户端设备的主用UP设备,因此CP设备还可以通过该第二UP设备与网络设备交互第一客户端设备的会话协议报文,该会话协议报文可以包括用于使第一客户端设备的会话保活的协议报文。
可选地,第二客户端设备也从第一UP设备上线,且在第一UP设备存在故障的情况下,第三UP设备为该第二客户端设备的主用UP设备;相应的,在向第一目标UP设备发送第一信息之后,该方法还可以包括:通过该第三UP设备向网络设备发送第二客户端设备的会话协议报文;以及通过第二UP设备接收网络设备发送的该第二客户端设备的会话协议报文。
由于第三UP设备为第二客户端设备的主用UP设备,因此CP设备可以主动通过该第三UP设备向网络设备发送第二客户端设备的会话协议报文。但由于对于该目标隧道的源地址,第二UP设备的路由优先级较高,因此网络设备发出的第二客户端设备的会话协议报文还是会由第二UP设备转发至CP设备。
可选地,该方法还可以包括:基于第一UP设备存在故障,向第二目标UP设备发送第二信息,该第二信息用于指示在第一UP设备存在故障的情况下,第三UP设备为第二客户端设备的主用UP设备,该第二目标UP设备包括第一UP设备,第二UP设备和第三UP设备中的至少一个。
本申请提供的方案中,若从第一UP设备上线的客户端设备包括多个,则CP设备可以将该多个客户端设备迁移至包括第二UP设备和第三UP设备在内的其他UP设备。也即是,CP设备可以为该多个客户端设备确定新的主用UP设备。例如,CP设备可以基于各个其他UP设备的负载情况,通过负载分担的方式将该多个客户端设备迁移至其他UP设备。
若第二目标UP设备包括第一UP设备和/或第二UP设备,则该第一UP设备或第二UP设备接收到第二业务报文后,可以基于第二信息将第二业务报文转发至第三UP设备,以便由第三UP设备发送至第二客户端设备。若该第二目标UP设备包括第三UP设备,则该第三UP设备接收到第二业务报文后,即可基于第二信息,将该第二业务报文直接发送至第二客户端设备。
可选地,该第一UP设备,第二UP设备和第三UP设备可以属于一个温备份组。也即是,本申请提供的方案能够实现对第一UP设备的温备份,由此可以确保在第一UP设备出现故障时,从第一UP设备上线的客户端设备无需下线重新拨号,从而有效提高了客户端设备接入网络时的可靠性。
第二方面,提供了一种报文转发方法,应用于CP和UP分离的宽带网关接入系统中的第三UP设备,该系统还包括CP设备和第二UP设备,该方法包括:接收CP设备发送的第一信息,该第一信息用于指示第二UP设备为第一客户端设备的主用UP设备;接收发往第一客户端设备的第一业务报文;基于该第一信息,将该第一业务报文转发至第二UP设备。
可以理解的是,该系统还包括第一UP设备,该第一客户端设备从第一UP设备上线,且该第一信息是CP设备基于该第一UP设备存在故障后发送的。
可选地,该第一信息与第一客户端设备的第一会话表项对应,第三UP设备接收CP设备发送的第一信息的过程可以包括:接收CP设备发送的第一信息,以及与该第一信息对应的第一会话表项。
第三UP设备在接收到第一业务报文后,可以先查询其存储的会话表项。若确定该第一业务报文与第一会话表项匹配,则可以基于该第一会话表项与第一信息的对应关系,确定出该第一业务报文所属的第一客户端设备的主用UP设备为第二UP设备。
可选地,从该第一UP设备上线的客户端设备还可以包括第二客户端设备,该方法还包括:接收CP设备发送的第二信息和第二客户端设备的第二会话表项,该第二信息用于指示该第三UP设备为第二客户端设备的主用UP设备;接收发往该第二客户端设备的第二业务报文;基于该第二信息和第二会话表项,将第二业务报文发送至第二客户端设备。
若CP设备将第二客户端设备迁移至第三UP设备,则第三UP设备接收到第二业务报文后,即可基于该第二信息和第二会话表项,直接向第二客户端设备发送该第二业务报文。
可选地,第三UP设备基于该第一信息,将第一业务报文转发至第二UP设备的过程可以包括:基于该第一信息,将该第一业务报文通过核心路由器(core router,CR)转发至该第二UP设备。例如,第三UP设备可以通过UP设备之间的绕行隧道,将该第一业务报文转发至第二UP设备。
第三方面,提供了一种报文转发方法,应用于CP和UP分离的宽带网关接入系统中的第一UP设备,第一客户端设备从第一UP设备的用户接口上线,该系统还包括CP设备和第二UP设备,该方法包括:接收CP设备发送的第一信息,该第一信息是CP设备在确定第一UP设备的用户接口存在故障后发送的,且该第一信息用于指示在第一UP设备的用户接口存在故障的情况下,该第二UP设备为第一客户端设备的主用UP设备;接收发往第一客户端设备的第一业务报文;基于该第一信息将该第一业务报文转发至第二UP设备。
可选地,从该第一UP设备的用户接口上线的客户端设备还包括第二客户端设备,该系统还包括第三UP设备;该方法还包括:接收该CP设备发送的第二信息,该第一信息是该CP设备在确定该第一UP设备的该用户接口存在故障后发送的,且该第二信息用于指示在第一UP设备的用户接口存在故障的情况下,第三UP设备为第二客户端设备的主用UP设备;接收发往第二客户端设备的第二业务报文;基于该第二信息将该第二业务报文转发至第三UP设备。
第四方面,提供了一种报文转发方法,应用于CP和UP分离的宽带网关接入系统中的第二UP设备,该系统还包括CP设备,该方法包括:接收CP设备发送的第一信息和第一客户端设备的第一会话表项,该第一信息用于指示第二UP设备为第一客户端设备的主用UP设备;接收发往该第一客户端设备的第一业务报文;基于该第一信息和第一会话表项,将该第一业务报文发送至第一客户端设备。
可选地,该系统还包括第三UP设备,该方法还包括:接收CP设备发送的第二信息,该第二信息用于指示第三UP设备为第二客户端设备的主用UP设备;接收发往该第二客户端设备的第二业务报文;基于该第二信息,将该第二业务报文转发至第三UP设备。
可选地,该第二信息与第二客户端设备的第二会话表项对应,第二UP设备接收CP设备发送的第二信息的过程可以包括:接收CP设备发送的第二信息,以及与该第二信息对应的第二会话表项。
可选地,该系统还包括第一UP设备,该第一信息是CP设备在确定第一UP设备存在故障后发送的,且在第一UP设备存在故障之前,该第一客户端设备从第一UP设备上线;第二UP设备在接收CP设备发送的第一信息之后,该方法还可以包括:基于该CP设备发送的目标隧道的隧道表项,对第一客户端设备发送的第三业务报文进行封装,该隧道表项的源地址为该第一UP设备的IP地址;将封装后的第三业务报文通过目标隧道发送至网络设备,该封装后的第三业务报文包括该第一UP设备的IP地址。
基于此,第二UP设备作为第一客户端设备的新的主用UP设备,仍然能够通过该目标隧道与网络设备交互该第一客户端设备的业务报文。
可选地,该方法还可以包括:通过目标隧道向网络设备转发来自CP设备的该目标隧道的隧道协议报文,以及第一客户端设备的会话协议报文;向CP设备转发来自网络设备的该目标隧道的隧道协议报文,以及第一客户端设备的会话协议报文;其中,该第二UP设备的源地址的路由优先级高于该系统中的第三UP设备的源地址的路由优先级。
第五方面,提供了一种CP设备,应用于CP和UP分离的宽带网关接入系统中,该CP设备包括至少一个模块,且该至少一个模块可以用于实现上述第一方面所提供的报文转发方法。
第六方面,提供了一种UP设备,应用于CP和UP分离的宽带网关接入系统中,该UP设备包括至少一个模块,且该至少一个模块可以用于实现上述第二方面、第三方面或第四方面所提供的报文转发方法。
第七方面,提供了一种CP设备,应用于CP和UP分离的宽带网关接入系统中,该CP设备包括:存储器,处理器及存储在该存储器上并可在该处理器上运行的计算机程序,该处理器执行该计算机程序时实现如上述第一方面所提供的报文转发方法。
第八方面,提供了一种UP设备,应用于CP和UP分离的宽带网关接入系统中,该UP设备包括:存储器,处理器及存储在该存储器上并可在该处理器上运行的计算机程序,该处理器执行该计算机程序时实现如上述第二方面、第三方面或第四方面所提供的报文转发方法。
第九方面,提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当该指令在计算机上运行时,使得计算机执行如上述任一方面所提供的报文转发方法。
第十方面,提供了一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行如上述任一方面所提供的报文转发方法。
第十一方面,提供了一种CP和UP分离的宽带网关接入系统,该系统包括:CP设备,第一UP设备和第二UP设备,第一客户端设备从该第一UP设备的用户接口上线;
该CP设备,用于基于第一UP设备的该用户接口存在故障,向第一UP设备发送第一信息,并向第二UP设备发送第一客户端设备的第一会话表项,该第一信息用于指示在第一UP设备的用户接口存在故障的情况下,第二UP设备为第一客户端设备的主用UP设备;
该第一UP设备,用于基于该第一信息,将接收到的发往第一客户端设备的第一业务报文转发至第二UP设备;
该第二UP设备,用于基于第一会话表项,将第一业务报文发送至第一客户端设备。
第十二方面,提供了一种CP和UP分离的宽带网关接入系统,该系统包括:CP设备,第一UP设备,第二UP设备和第三UP设备,第一客户端设备从该第一UP设备上线;
该CP设备,用于基于第一UP设备存在故障,分别向第二UP设备和第三UP设备发送第一信息,该第一信息用于指示在第一UP设备存在故障的情况下,该第二UP设备为第一客户端设备的主用UP设备;
该第三UP设备,用于基于该第一信息,将接收到的发往第一客户端设备的第一业务报文转发至第二UP设备;
该第二UP设备,用于基于第一信息和第一客户端设备的第一会话表项,将接收到的第一业务报文发送至第一客户端设备。
可选地,本申请提供的宽带网关接入系统中的CP设备可以为上述方面提供的CP设备,第一UP设备、第二UP设备和第三UP设备也可以分别为上述方面提供的UP设备。
综上所述,本申请提供了一种报文转发方法、设备及系统。本申请提供的方案中,CP设备在确定第一UP设备存在故障后,能够向第一目标UP设备发送第一信息。其中,该第一目标UP设备包括第一UP设备、第二UP设备和第三UP设备中的至少一个,该第一信息能够指示在第一UP设备存在故障的场景下,第二UP设备为第一客户端设备的主用UP设备。基于此,第一目标UP设备在接收到发往第一客户端设备的第一业务报文后,即可基于该第一信息,通过第二UP设备将该第一业务报文发送至第一客户端设备,由此实现了在第一UP设备存在故障的场景下,第一业务报文的可靠转发。
并且,对于该第一客户端设备为L2TP设备的情况,该第一UP设备、第二UP设备和第三UP设备可以属于一个温备份组。由于本申请提供的方案中,CP设备能够向温备份组中的第一目标UP设备发送第一信息,因此可以确保第一目标UP设备能够基于该第一信息准确地确定在第一UP设备故障后,该第一客户端设备的主用UP设备。进而,可以确保在温备份场景下,L2TP设备的下行业务报文能够被可靠转发至L2TP设备。
附图说明
图1是本申请实施例提供的一种转控分离的宽带网关接入系统的结构示意图;
图2是本申请实施例提供的另一种转控分离的宽带网关接入系统的结构示意图;
图3是本申请实施例提供的一种L2TP设备接入网络的方法流程图;
图4是本申请实施例提供的一种报文转发方法的流程图;
图5是本申请实施例提供的另一种报文转发方法的流程图;
图6是本申请实施例提供的一种各UP设备存储的会话表项的示意图;
图7是本申请实施例提供的又一种报文转发方法的流程图;
图8是本申请实施例提供的又一种转控分离的宽带网关接入系统的结构示意图;
图9是本申请实施例提供的再一种报文转发方法的流程图;
图10是本申请实施例提供的另一种各UP设备存储的会话表项的示意图;
图11是本申请实施例提供的再一种转控分离的宽带网关接入系统的结构示意图;
图12是本申请实施例提供的再一种转控分离的宽带网关接入系统的结构示意图;
图13是本申请实施例提供的再一种报文转发方法的流程图;
图14是本申请实施例提供的一种CP设备的结构示意图;
图15是本申请实施例提供的一种第三UP设备的结构示意图;
图16是本申请实施例提供的一种第一UP设备的结构示意图;
图17是本申请实施例提供的一种第二UP设备的结构示意图;
图18是本申请实施例提供的一种报文转发装置的结构示意图;
图19是本申请实施例提供的一种网络设备的结构示意图。
具体实施方式
下面结合附图详细介绍本申请实施例提供的报文转发方法、设备及系统。
宽带远程接入服务器(broadband remote access server,BRAS)是面向宽带网络应用的接入网关,也称为宽带网络网关(broadband network gateway,BNG)。虚拟BNG(virtual BNG,vBNG)是BRAS的一种实现形式,采用CP设备和UP设备分离(CU分离)的方式进行部署,因此也可以称为CU分离部署的BRAS。其中,多个UP设备分散部署,每个UP设备作为BNG(或者vBNG)的用户平面,用于基于CP设备下发的用户表项实现业务报文的转发,以及实现基于服务质量(quality of service,QoS)和访问控制列表(access control lists,ACL)等技术的流量策略。CP设备可以采用云化技术实现并集中部署,其作为BNG(或者vBNG)的控制平面,用于实现对客户端设备(也可以称为用户)的控制与管理,以及对多个UP设备的统一管理。例如,CP设备主要负责客户端设备的上线、下发配置和用户表项等。其中,UP设备也可以称为转发面设备,因此CU分离也可以称为转发和控制分离,即转控分离。采用该CU分离的方式进行部署的系统也称为CU分离的宽带网关接入系统,或者转控分离的宽带网关接入系统。
图1是本申请实施例提供的一种转控分离的宽带网关接入系统的结构示意图。如图1所示,该系统可以包括:至少一个CP设备01和多个UP设备02。其中至少一个是指一个或多个,多个是指两个或两个以上。图1以一个CP设备01为例进行示意。该CP设备01一般部署在运营商的数据中心(data center,DC)机房,也称为核心机房。各个UP设备02可以分散部署在不同的汇聚机房,也称为边缘机房。每个UP设备02均与CP设备01建立有通信连接,且每个UP设备02能够通过转发设备(例如二层广播域中的转发设备)与至少一个客户端设备03建立通信连接,并进行数据交互。
其中,客户端设备03也称为用户设备,其可以为家庭网关(residential gateway,RGW)、手机、笔记本电脑或者台式电脑等设备。客户端设备03所连接的转发设备也可以称为接入节点(access node,AN),其可以为交换机(switch,SW)、光线路终端(optical lineterminal,OLT)或者数字用户线路接入复用器(digital subscriber line accessmultiplexer,DSLAM)等。其中,该转发设备不仅能够实现二层广播域的报文转发,还能够对客户端设备03进行虚拟可扩展局域网(virtual extensible local area network,VXLAN)或QinQ的隔离。该QinQ(802.1Q-in-802.1Q)是一种扩展虚拟局域网(virtual local areanetwork,VLAN)空间的技术,也称为堆叠(stacked)VLAN技术。
继续参考图1,该宽带网关接入系统还包括认证服务器04。该认证服务器04可以为RADIUS服务器。该认证服务器04支持验证、授权和计费(authentication authorizationaccounting,AAA)协议。如图1所示,该认证服务器04与CP设备01建立有通信连接。CP设备01在通过多个UP设备02中的目标UP设备完成与客户端设备03的拨号协议报文(也可以称为接入协议报文)的交互后,可以向认证服务器04发送针对该客户端设备03的认证请求。
认证服务器04可以对该客户端设备03进行认证,并可以在确定该客户端设备03认证通过后,为该客户端设备03分配IP地址,并向CP设备01发送携带该IP地址的认证响应。CP设备01接收到该认证响应后,可以向目标UP设备下发客户端设备03的用户表项。目标UP设备可以基于该用户表项,在本地生成该客户端设备03的转发表项,进行相关的业务策略执行和流量转发,并向外发布该客户端设备03的路由。客户端设备03进而可以通过目标UP设备访问网络。也即是,客户端设备03可以通过该目标UP设备接入网络,或者可以理解为,客户端设备03可以从该目标UP设备上线。
在本申请实施例中,该CP设备01可以包括部署在物理服务器上的多个虚拟机(virtual machine,VM)。每个UP设备02可以为实体的物理UP(physic UP,pUP)设备,或者也可以为虚拟UP(virtual UP,vUP)设备,例如,UP设备02可以为部署在物理服务器上的VM。该CP设备01能够管理多个pUP设备和/或多个vUP设备。
该CP设备01和每个UP设备02之间可以通过业务接口、管理接口和控制接口连接。其中,该业务接口也称为控制报文重定向接口(control packet redirect interface,CPRi),其一般为VXLAN接口,例如可以是VXLAN通用协议扩展(VXLAN generic protocolextension,VXLAN-GPE)接口。UP设备02接收到客户端设备03发送的报文(例如接入协议报文和业务报文等)后,可以通过该业务接口上送至CP设备01进行处理。
该管理接口(management interface,Mi)一般为网络配置协议(networkconfiguration,NETCONF)接口,CP设备01可以通过该管理接口向各个UP设备02下发配置,每个UP设备02可以通过该管理接口向CP设备01上报运行状态。
该控制接口也称为状态控制接口(state control interface,SCi),其一般为转控分离协议(control plane and user plane separated protocol,CUSP)接口。CP设备01处理完成客户端设备03发送的接入协议报文并完成客户端设备03的上线后,可以通过该控制接口向对应的UP设备02下发用户表项。该用户表项也称为会话(session)表项,其一般包括客户端设备03的IP地址、网关介质访问控制(media access control,MAC)地址、服务质量(Quality of Service,QoS)和访问控制列表(access control lists,ACL)等信息。
在CU分离的宽带网关接入系统中,CP设备01所管理的各个UP设备02可以组成一个UP池。并且,为了提高宽带远程接入系统的可靠性,CP设备01能够将其管理的各个UP设备02划分为一个或多个备份组(也称为温备份组),其中每个备份组可以包括N+m个UP设备02。其中,N为大于1的整数,m为大于或等于1的整数,例如m可以为1。可选地,m可以是指该N+m个UP设备02中允许出现故障的UP设备02的数量。
该备份组内的任一UP设备02故障后,CP设备01可以将从该任一UP设备02上线的多个客户端设备03的会话表项通过负载分担的方式下发至备份组内的至少一个其他UP设备02,以便由该至少一个其他UP设备02转发该多个客户端设备的业务报文。例如,当温备份组中包括4个UP设备02时,若任一UP设备02故障后,则CP设备01可以将从该任一UP设备02上线的多个客户端设备03的会话表项通过负载分担的方式下发至其他3个UP设备02,此时可称为3+1温备份组。
示例的,参考图2,假设备份组包括UP1、UP2和UP3共3个UP设备,若UP1故障,且从UP1上线的多个客户端设备03能够划分为用户组1和用户组2,则CP设备01可以将用户组1的会话表项下发至UP2,并将用户组2的会话表项下发至UP3。
备份组内的每个其他UP设备02在接收到至少一个客户端设备03的会话表项后,能够向二层广播域发送免费的地址解析协议(address resolution protocol,ARP)报文,并向网络侧的转发设备,例如图1和图2所示的CR 06发布该至少一个客户端设备03的网段路由。其中,该ARP报文能够使得每个客户端设备03均将上行业务报文发送至对应的其他UP设备02,也即是,能够将客户端设备03的上行流量引流至对应的其他UP设备02。该网段路由能够使得网络侧的转发设备将每个客户端设备03的下行业务报文发送至对应的其他UP设备02。上述备份方法也称为N+m温备。
继续参考图1,该宽带网关接入系统还可以包括位于核心网的L2TP网络服务器(L2TP network server,LNS)05,从UP设备02接入网络的客户端设备还可以包括L2TP设备。下文对L2TP设备接入网络的流程进行介绍,如图3所示,该方法包括:
步骤S1、客户端设备通过目标UP设备与CP设备交互拨号协议报文。
其中,该交互拨号协议报文的过程可以包括:客户端设备03向转发设备(例如RGW)发送拨号请求,转发设备向各个UP设备02广播该拨号请求。各个UP设备02将接收到的拨号请求业务接口(即CPRi)上报给CP设备01。CP设备01接收到该拨号请求后,可以基于各个UP设备02的负载,或者通过轮询的方式,通过目标UP设备响应该拨号请求。
步骤S2、CP设备通过目标UP设备与客户端设备进行链路控制协议(link controlprotocol,LCP)协商。
步骤S3、CP设备通过目标UP设备对客户端设备进行PAP/CHAP认证,并与认证服务器进行认证交互。
CP设备01与客户端设备完成LCP协商后,CP设备01可以对客户端设备03进行口令认证协议(password authentication protocol,PAP)和质询握手认证协议(challengehandshake authentication protocol CHAP)认证。并且,在PAP/CHAP认证的过程中,CP设备01可以与认证服务器进行认证交互。
步骤S4、CP设备通过目标UP设备与客户端设备进行互联网协议控制协议(Internet protocol control protocol,IPCP)
步骤S5、CP设备通过目标UP设备与LNS进行隧道协商。
若认证服务器04在对客户端设备03进行认证时,基于客户端设备03的域名识别出该客户端设备03为L2TP设备,则可以向CP设备01下发L2TP的隧道(tunnel)参数。该隧道参数可以包括隧道的源地址,目的地址,隧道标识(identification,ID),隧道密码以及负载分担策略等。其中,隧道的源地址为目标UP的IP地址,目的地址为LNS 05的IP地址。
之后,CP设备01可以基于该隧道参数,通过目标UP设备与LNS 05进行隧道协商,以便与LNS 05建立L2TP隧道。隧道建立后,CP设备01可以向目标UP设备下发隧道表项,该隧道表项可以包括L2TP隧道的源地址,目的地址和隧道标识等信息。
其中,CP设备01与LNS 05进行隧道协商时可以交互如下报文:控制连接发启请求(start-control-connection-request,SCCRQ)报文、控制连接发启响应(start-control-connection-reply,SCCRP)报文和控制连接发启建立(start-control-connection-connected,SCCCN)报文等。
步骤S6、CP设备通过目标UP设备与LNS进行会话协商。
在完成隧道协商后,CP设备01可以通过目标UP设备与LNS 05进行会话协商,以便与LNS05建立L2TP会话。其中,CP设备与网络设备进行会话协商时可以交互如下报文:来电请求(incoming-call-request,ICRQ)报文、来电响应(incoming-call-reply,ICRP)报文和来电建立(incoming-call-connected,ICCN)报文等。
L2TP会话建立后,CP设备01可以向目标UP设备下发会话表项。目标UP设备进而可以基于该隧道表项和会话表项,在客户端设备03和LNS 05之间通过L2TP隧道交互客户端设备03的业务报文。其中,客户端设备03的业务报文包括:由客户端设备03发送至LNS 05的业务报文,以及由LNS 05发往客户端设备03的业务报文。
为了提高L2TP设备接入网络的可靠性,CP设备01能够为L2TP设备部署UP设备02的1:1热备,即CP设备01能够为L2TP设备接入的目标UP设备(即主用UP设备)部署备用UP设备。在该1:1热备场景中,CP设备01通过目标UP设备02与LNS 05进行隧道协商和会话协商后,能够将隧道表项和会话表项均分别下发至主用UP设备和备用UP设备。其中,该隧道表项中的隧道的源地址为主用UP设备的IP地址,并且,对于该隧道的源地址,主用UP设备的路由优先级高于该备用UP设备的路由优先级。相应的,网络侧的转发设备(例如CR 06)在接收到LNS05发送至L2TP设备的业务报文后,会转发至路由优先级较高的主用UP设备,进而由主用UP设备再转发至L2TP设备。
若CP设备01检测到主用UP设备故障,则可以分别向主用UP设备和备用UP设备发送指示信息,该指示信息用于指示备用UP设备升级为新的主用UP设备。若原主用UP设备的故障为用户接口(即用于连接客户端设备的接口)故障,则由于原主用UP设备用于与LNS 05和CP设备01交互的接口均正常,因此对于该隧道的源地址,原主用UP设备的路由优先级仍较高,故原主用UP设备仍然能够接收到LNS 05通过L2TP隧道发送的L2TP设备的业务报文。进而,该原主用UP设备可以将该业务报文通过绕行隧道转发至新的主用UP设备,以便由新的主用UP设备基于存储的会话表项将业务报文发送至L2TP设备。
若原主用UP设备的故障为整机故障,则网络侧的转发设备(例如CR 06)会将LNS05发送的L2TP设备的业务报文转发至路由优先级较低的原备用UP设备,即至新的主用UP设备,该新的主用UP设备进而能够基于存储的会话表项将业务报文发送至L2TP设备。
若CP设备01为L2TP设备所接入的目标UP设备部署N+m温备,则基于上述N+m温备的实现流程可知,目标UP设备故障后,CP设备01会将从目标UP设备上线的各个L2TP设备的会话表项通过负载分担的方式下发至备份组内的至少一个其他UP设备02。此时,对于目标UP设备的故障为接口故障的场景,目标UP设备接收到LNS 05发送的L2TP设备的业务报文后,将无法确定具体向哪个其他UP设备转发该业务报文。对于目标UP设备的故障为整机故障的场景,除目标UP设备之外的路由优先级次高的某个其他UP设备02接收到LNS 05发送的L2TP设备的业务报文后,若未存储该L2TP设备的会话表项,则也无法转发该L2TP设备的业务报文。因此,亟需一种能够为L2TP设备部署N+m(例如N+1)温备的方案。
图4是本申请实施例提供的一种报文转发方法的流程图,该方法能够为L2TP设备部署N+m温备。本申请实施例提供的方法可以应用于诸如图1或图2所示的CU分离的宽带网关接入系统,如图2所示,该系统包括CP设备01,第一UP设备UP1、第二UP设备UP2和第三UP设备UP3。如图4所示,该方法包括:
步骤101、CP设备基于第一UP设备存在故障,向第一目标UP设备发送第一信息。
在本申请实施例中,CP设备若确定第一UP设备存在故障,则会向第一目标UP设备发送第一信息。该第一信息用于指示在第一UP设备存在故障的情况下,第二UP设备为第一客户端设备的主用UP设备。其中,该第一目标UP设备包括第一UP设备,第二UP设备和第三UP设备中的至少一个,图4中以该第一目标UP设备包括第一UP设备,第二UP设备和第三UP设备为例进行示意。第一客户端设备是在第一UP设备存在故障之前,从该第一UP设备上线的客户端设备,例如,该第一客户端设备可以是L2TP设备。第一客户端设备从第一UP设备上线可以是指:第一客户端设备通过第一UP设备与CP设备交互拨号协议报文后接入网络。
可以理解的是,在CP设备通过认证服务器确定该第一客户端设备认证通过后,会向第一UP设备下发该第一客户端设备的第一会话表项。第一UP设备可以基于该第一会话表项,在本地生成该第一客户端设备的转发表项,并基于该转发表项转发第一客户端设备的业务报文。
由于在第一UP设备存在故障后,CP设备下发的第一信息能够指示第二UP设备为第一客户端设备的主用UP设备,因此第一UP设备、第二UP设备和第三UP设备中的任一UP设备接收到网络设备(例如LNS)发送的发往第一客户端设备的第一业务报文后,均可以基于该第一信息将该第一业务报文通过第二UP设备发送至第一客户端设备。由此,实现了第一业务报文的可靠转发。其中,第一客户端设备的主用UP设备可以是指用于与第一客户端设备通信的UP设备,即用于将第一客户端设备接入网络的设备。
在本申请实施例中,该第一UP设备的故障可以包括:第一UP设备的用户接口故障,或者,该第一UP设备的故障可以为该第一UP设备整机故障。该第一UP设备的用户接口是指用于与客户端设备连接的接口。
作为一种可能的示例,若第一UP设备的故障为用户接口故障,则该第一目标UP设备可以包括第一UP设备;若第一UP设备的故障为整机故障的场景,则该第一目标UP设备可以包括第二UP设备和第三UP设备。
作为另一种可能的示例,对于该第一UP设备的故障为接口故障或整机故障的场景,该第一目标UP设备均可以包括第一UP设备、第二UP设备和第三UP设备。也即是,CP设备也可以无需识别第一UP设备的故障类型,而是直接向第一UP设备、第二UP设备和第三UP设备均下发第一信息。
可以理解的是,若第一目标UP设备包括第二UP设备,则在上述步骤101中,CP设备可以向第一目标UP设备下发第一信息以及与该第一信息对应的第一客户端设备的第一会话表项。或者可以理解为:CP设备能够向第一目标UP设备下发携带有该第一信息的第一会话表项。若第一目标UP设备不包括第二UP设备,则CP设备在确定第一UP设备存在故障后,还可以将该第一客户端设备的第一会话表项发送至第二UP设备。
通过向第二UP设备下发第一会话表项,可以使得第一客户端设备能够从该第二UP设备接入网络。或者可以理解为,第一客户端设备可以由第一UP设备迁移至第二UP设备。
步骤102a、第一UP设备若接收到发往第一客户端设备的第一业务报文,则基于第一信息向第二UP设备转发该第一业务报文。
在本申请实施例中,若第一目标UP设备包括第一UP设备,则该第一UP设备能够接收到CP设备发送的第一信息。第一UP设备接收到该第一信息之后,若还接收到了网络设备发送的发往第一客户端设备的第一业务报文,则可以基于该第一信息向第二UP设备转发该第一业务报文。例如,第一UP设备可以通过其与第二UP设备之间的绕行隧道转发该第一业务报文。
步骤102b、第三UP设备若接收到发往第一客户端设备的第一业务报文,则基于第一信息向第二UP设备转发该第一业务报文。
若第一目标UP设备包括第三UP设备,则该第三UP设备能够接收到CP设备发送的第一信息。若第三UP设备接收到该第一信息之后,还接收到了网络设备发送的发往第一客户端设备的第一业务报文,则可以基于该第一信息向第二UP设备转发该第一业务报文。例如,第三UP设备可以通过其与第二UP设备之间的绕行隧道转发该第一业务报文。
步骤103、第二UP设备基于第一信息和第一会话表项,将接收到的发往第一客户端设备的第一业务报文,发送至该第一客户端设备。
若第一目标UP设备包括第二UP设备,则该第二UP设备能够接收到CP设备发送的第一信息。相应的,第二UP设备在接收到第一UP设备、第三UP设备或者网络设备发送的发往第一客户端设备的第一业务报文后,能够基于该第一信息和第一会话表项,将该第一业务报文发送至第一客户端设备。由此,可以实现第一客户端设备的下行流量的可靠转发。
示例的,参考图2,假设第一客户端设备所属的用户组1从UP1上线,则CP设备01在检测到UP1的用户接口故障后,可以将该用户组1的第一会话表项下发至UP2,并向UP1下发第一信息。UP1接收到LNS 05发送的用户组1的第一业务报文后,可以基于该第一信息,将该第一业务报文转发至UP2。UP2进而可以基于CP设备01下发的第一会话表项,将该第一业务报文发送至用户组1。
可以理解的是,若第一目标UP设备不包括该第二UP设备,则第二UP设备在接收到该第一业务报文(例如第一UP设备转发的第一业务报文)之后,能够基于CP设备下发的第一会话表项,将该第一业务报文发送至第一客户端设备。由此,也能够实现第一客户端设备的下行流量的可靠转发。
还可以理解的是,第二UP设备在接收到CP设备下发的第一会话表项后,还可以向二层广播域发送免费的ARP报文。第一客户端设备可以基于该ARP报文,将上行的业务报文发送至该第二UP设备。第二UP设备进而能够向网络设备转发该上行的业务报文。
综上所述,本申请实施例提供了一种报文转发方法,CP设备在确定第一UP设备存在故障后,能够向第一目标UP设备发送第一信息。其中,该第一目标UP设备包括第一UP设备、第二UP设备和第三UP设备中的至少一个,该第一信息能够指示在第一UP设备存在故障的场景下,第二UP设备为第一客户端设备的主用UP设备。基于此,第一目标UP设备在接收到发往第一客户端设备的第一业务报文后,即可基于该第一信息通过第二UP设备将该第一业务报文发送至第一客户端设备,由此实现了在第一UP设备存在故障的场景下,第一业务报文的可靠转发。
并且,对于该第一客户端设备为L2TP设备的情况,该第一UP设备、第二UP设备和第三UP设备可以属于一个温备份组。由于本申请实施例提供的方法中,CP设备能够向温备份组中的第一目标UP设备发送第一信息,因此可以确保第一目标UP设备能够基于该第一信息准确地确定在第一UP设备故障后,该第一客户端设备的主用UP设备。进而,可以确保在温备份场景下,L2TP设备的下行业务报文能够被可靠转发至L2TP设备。
图5是本申请实施例提供的另一种报文转发方法的流程图,该方法能够为L2TP设备部署N+m温备。本申请实施例提供的方法可以应用于诸如图1或图2所示的CU分离的宽带网关接入系统,如图2所示,该系统包括CP设备01,第一UP设备UP1、第二UP设备UP2和第三UP设备UP3。下文以第一UP设备的故障包括第一UP设备的用户接口故障为例进行说明,如图5所示,该方法包括:
步骤201、第一UP设备与CP设备交互第一客户端设备的拨号协议报文。
在本申请实施例中,第一客户端设备在基于拨号协议上线时,可以先通过第一UP设备与CP设备交互拨号协议报文(也称为接入协议报文)。其中,该拨号协议可以为基于以太网的点对点协议(point to point protocol over Ethernet,PPPoE)。相应的,该拨号协议报文可以包括:PPPoE主动发现发起(PPPoE active discovery initiation,PADI)报文、PPPoE主动发现服务(PPPoE active discovery offer,PADO)报文、PPPoE主动发现请求(PPPoE active discovery request,PADR)报文以及PPPoE主动发现会话(PPPoE activediscovery session,PADS)报文等。
步骤202、CP设备在确定第一客户端设备认证通过后,通过第一UP设备与网络设备进行隧道协商。
CP设备在通过第一UP设备与第一客户端设备交互完成拨号协议报文之后,还需要向认证服务器发送用于指示对该第一客户端设备进行认证的认证请求。认证服务器可以基于该认证请求,对第一客户端设备进行认证。若确定第一客户端设备认证通过,认证服务器可以向CP设备发送认证响应。
认证服务器在对第一客户端设备进行认证时,若基于第一客户端设备的域名识别出该第一客户端设备为L2TP设备,则可以向CP设备下发L2TP的隧道参数。该隧道参数可以包括隧道的源地址,目的地址,隧道密码以及负载分担策略等。其中,隧道的源地址为第一UP设备的IP地址,目的地址为网络设备(即LNS)的IP地址。
CP设备在接收到认证服务器发送的认证响应和隧道参数后,即可基于该隧道参数,通过第一UP设备与网络设备进行隧道协商,以便与该网络设备建立目标隧道。其中,该目标隧道为L2TP隧道,且该L2TP隧道用于供UP设备与网络设备之间交互第一客户端设备的业务报文。
可选地,CP设备与网络设备进行隧道协商时可以交互如下报文:SCCRQ)报文、SCCRP报文和SCCCN报文等。
步骤203、CP设备分别向第一UP设备、第二UP设备和第三UP设备下发目标隧道的隧道表项。
在本申请实施例中,CP设备完成与网络设备的隧道协商后,即可分别向第一UP设备、第二UP设备和第三UP设备下发目标隧道的隧道表项。例如,CP设备可以通过控制接口向各个UP设备下发隧道表项。该隧道表项可以包括目标隧道的源地址、目的地址和隧道标识(identification,ID)等信息。并且,该隧道表项的源地址包括第一UP设备的IP地址,目的地址包括网络设备的IP地址。
在本申请实施例中,该目标隧道可以理解为是接入网关与网络设备之间建立的隧道。CP设备作为接入网关的控制面设备,用于通过UP设备与网络设备进行隧道相关的协议报文的交互,并存储该目标隧道的控制面信息。UP设备作为接入网关的转发面设备,用于基于目标隧道的隧道表项(即转发面信息)与网络设备通过该目标隧道进行业务报文的交互。
作为一种可能的示例,从第一UP设备上线的各个L2TP设备(包括第一客户端设备)可以共享该目标隧道,即第一UP设备可以通过该目标隧道与网络设备交互多个L2TP设备的业务报文。并且,CP设备可以在检测到首个L2TP设备从第一UP设备上线后,通过该第一UP设备与网络设备进行隧道协商,以建立该目标隧道。相应的,该第一客户端设备即为从该第一UP设备上线的第一个L2TP设备。
作为另一种可能的示例,该第一客户端设备可以单独占用该目标隧道,即第一UP设备通过该目标隧道与网络设备交互的业务报文可以仅包括第一客户端设备的业务报文。相应的,CP设备可以在检测到每个L2TP设备从第一UP设备上线后,均通过该第一UP设备与网络设备进行隧道协商,以便为该L2TP设备单独建立一个L2TP隧道。
可以理解的是,网络设备与CP设备完成隧道协商后,网络设备也会生成并存储该目标隧道的隧道表项。并且,网络设备中所存储的隧道表项的源地址包括该网络设备的IP地址,目的地址包括该第一UP设备的IP地址。
示例的,如图2所示,假设网络设备为LNS 05,其IP地址为1.1.1.0,UP1的IP地址为1.1.1.1,UP2的IP地址为1.1.1.2,UP3的IP地址为1.1.1.3。则CP设备01向UP1、UP2和UP3下发的目标隧道的隧道表项中,源地址为1.1.1.1,目的地址为1.1.1.0。LNS 05中存储的目标隧道的隧道表项中,源地址为1.1.1.0,目的地址为1.1.1.1。
还可以理解的是,若第一UP设备、第二UP设备和第三UP设备所属的温备份组中还包括其他UP设备,则CP设备还可以向温备份组内的其他UP设备也下发目标隧道的隧道表项。也即是,CP设备能够向温备份组中每个UP设备均下发该目标隧道的隧道表项。
还可以理解的是,对于CP设备所管理的其他UP设备(例如第二UP设备和第三UP设备),若从其他UP设备上线的客户端设备也包括L2TP设备,则CP设备也可以通过其他UP设备与网络设备进行隧道协商,从而与网络设备建立L2TP隧道。之后,CP设备可以将该L2TP隧道的隧道表项下发至温备份组内的各个UP设备。该隧道表项中的源地址为其他UP设备的IP地址,目的地址为网络设备的IP地址。相应的,温备份组内的每个UP设备均可以存储有多个L2TP隧道的隧道表项,网络设备中也可以存储多个L2TP隧道的隧道表项。
示例的,参考图2,CP设备01通过UP2与LNS 05进行隧道协商后,向UP1、UP2和UP3下发的隧道表项中,源地址为1.1.1.2,目的地址为1.1.1.0。CP设备01通过UP3与LNS 05进行隧道协商后,向UP1、UP2和UP3下发的隧道表项中,源地址为1.1.1.3,目的IP地址为1.1.1.0。相应的,LNS 05中存储有3个隧道表项,该3个隧道表项的源地址均为1.1.1.0,目的地址分别为1.1.1.1,1.1.1.2和1.1.1.3。
可以理解的是,第一UP设备、第二UP设备和第三UP中的每个UP设备还可以向网络侧的转发设备(例如CR 06)发布该隧道表项中源地址的路由。并且,不同UP设备发布的路由的路由优先级不同,例如第一UP设备发布的路由的路由优先级最高,第二UP设备发布的路由的路由优先级次高,第三UP设备发布的路由的路由优先级最低。该网络侧的转发设备在通过目标隧道向UP设备转发来自该网络设备的报文时,可以向源地址的路由优先级最高的UP设备进行转发。若路由优先级最高的UP设备故障,则转发设备可以向路由优先级次高的UP设备进行转发。
例如,继续参考图2,假设对于目标隧道的隧道表项中的源地址:1.1.1.1,UP1的路由优先级最高,UP2的路由优先级次高,UP3的路由优先级最低。CR 06通过该目标隧道接收到LNS 05发送的报文后,可以转发至UP1。若UP1出现故障,则CR 06会将通过该目标隧道接收到的报文转发至路由优先级次高的UP2。
可以理解的是,对于不同隧道表项中的源地址,各个UP设备发布的路由的路由优先级的高低顺序可以不同。例如,CP设备01通过UP2与LNS 05进行隧道协商后下发的隧道表项的源地址为1.1.1.2,则对于该源地址:1.1.1.2,各个UP设备的路由优先级可以如下:UP2的路由优先级最高,UP3的路由优先级次高,UP1的路由优先级最低。CP设备01通过UP3与LNS05进行隧道协商后下发的隧道表项的源地址为1.1.1.3,则对于该源地址:1.1.1.3,各个UP设备的路由优先级可以如下:UP3的路由优先级最高,UP1的路由优先级次高,UP2的路由优先级最低。
步骤204、CP设备向第一UP设备下发第一客户端设备的第一会话表项。
CP设备在与网络设备完成隧道协商后,还可以继续通过第一UP设备与该网络设备进行会话协商,并在会话协商完成后,向第一UP设备下发第一客户端设备的第一会话表项。例如,CP设备可以通过其控制接口向第一UP设备下发第一会话表项。其中,CP设备与网络设备进行会话协商时可以交互如下报文:ICRQ报文、ICRP报文和ICCN报文等。
可以理解的是,对于第一客户端设备为L2TP设备的场景,该网络设备可以为LNS,CP设备和多个UP设备则可以作为L2TP访问集中器(L2TP access concentrator,LAC)。
步骤205、第一UP设备向CP设备上报该第一UP设备的用户接口故障。
在本申请实施例中,第一UP设备接收到CP设备下发的目标隧道的隧道表项和第一客户端设备的第一会话表项后,即可基于该隧道表项和第一会话表项,在第一客户端设备和网络设备之间交互该第一客户端设备的第一业务报文。该第一客户端设备的第一业务报文包括:网络设备下发至第一客户端设备的业务报文,以及第一客户端设备发送至该网络设备的业务报文。
第一UP设备若检测到其用户接口故障,则可以向CP设备上报用于指示其用户接口故障的故障信息。例如,第一UP设备可以通过控制接口(如SCi)向CP设备上报故障信息。其中,第一UP设备的用户接口也称为用户网络接口(user network interface,UNI),该用户接口是用于与客户端设备连接的接口。
可以理解的是,第一UP设备可以具有一个或多个用户接口,每个用户接口可以与多个客户端设备连接,即每个用户接口可以供多个客户端设备上线并接入网络。第一UP设备在检测到任一用户接口故障后,可以向CP设备上报携带有该故障的用户接口的标识的故障信息。
步骤206、CP设备向第二UP设备发送第一客户端设备的第一会话表项,并向第三UP设备发送第二客户端设备的第二会话表项。
CP设备在基于第一UP设备上报的故障信息,确定第一UP设备的用户接口故障后,可以基于第一UP设备的用户接口故障,将从该用户接口上线的客户端设备的会话表项下发至其他UP设备。由此,可以将从该第一UP设备的用户接口上线的客户端设备迁移至其他UP设备。若从该用户接口上线的客户端设备包括第一客户端设备和第二客户端设备,则CP设备可以将第一客户端设备的会话表项发送至第二UP设备,并将第二客户端设备的会话表项发送至第三UP设备。
可选地,第一UP设备、第二UP设备和第三UP设备可以属于同一个温备份组,且该温备份组所包括的UP设备的数量可以大于或等于3。CP设备在确定第一UP设备的用户接口故障后,CP设备可以将从该用户接口上线的多个客户端设备迁移至温备份组内的至少一个其他UP设备。也即是,CP设备可以为该多个客户端设备确定新的主用UP设备,并将该多个客户端设备的会话表项对应下发至新的主用UP设备。例如,CP设备可以基于温备份组内各个其他UP设备的负载情况,通过负载分担的方式将该多个客户端设备迁移至其他UP设备。
可选地,从第一UP设备的每个用户接口上线的多个客户端设备可以被划分为多个用户组,每个用户组包括至少一个客户端设备。其中,每个用户组可以使用一个网关MAC地址,且不同用户组使用不同的网关MAC地址。CP设备在将从该用户接口上线的客户端设备迁移至其他UP设备时,能够以用户组为粒度进行迁移。也即是,CP设备可以将一个用户组迁移至同一个其他UP设备。其中,每个用户组也称为一个哈希(hash)组。
示例的,参考图2和图6,假设从UP1的某个用户接口上线的客户端设备包括用户组1和用户组2,从UP2上线的客户端设备包括用户组3和用户组4,从UP3上线的客户端设备包括用户组5和用户组6。CP设备01在检测到UP1的用户接口故障后,可以确定UP2为用户组1的主用UP设备,UP3为用户组2的主用UP设备。相应的,CP设备01可以将用户组1的会话表项1下发至UP2,并将用户组2的会话表项2下发至UP3。
可选地,如图6所示,CP设备在分别向第二UP设备和第三UP设备下发用户组的会话表项时,还可以同步下发该用户组的网关MAC地址。该网关MAC地址为虚拟MAC(virtualMAC,vMAC)地址。第二UP设备和第三UP设备中的每个UP设备在接收到用户组的vMAC地址后,可以向二层广播域发送携带有该vMAC地址的免费ARP报文,二层广播域基于接收到的ARP报文更新其转发表项,以便基于更新后的转发表项,将上行的业务报文准确转发至新的主用UP设备。
示例的,参考图6,CP设备可以将用户组1的vMAC地址:00-5E-01-01下发至UP2,并将用户组2的vMAC地址:00-5E-01-02下发至UP3。UP2可以向二层广播域发送携带有vMAC地址:00-5E-01-01的ARP报文,UP3可以向二层广播域发送携带有vMAC地址:00-5E-01-02的ARP报文。相应的,用户组1即可将上行的业务报文发送至UP2,用户组2即可将上行的业务报文发送至UP3。
步骤207、CP设备向第一UP设备发送第一信息和第二信息。
CP设备还能够基于第一UP设备的用户接口故障,向第一UP设备发送第一信息和第二信息。其中,该第一信息用于指示在第一UP设备的用户接口故障的情况下,第二UP设备为第一客户端设备的主用UP设备。该第二信息用于指示在第一UP设备的用户接口故障的情况下,第三UP设备为第二客户端设备的主用UP设备。
可选地,该第一信息可以包括第一UP设备的标识(identification,ID)与第一客户端设备的标识的对应关系;第二信息可以包括第二UP设备的ID与第二客户端设备的标识的对应关系。第一UP设备接收到该第一信息和第二信息后,能够将第一信息与第一客户端设备的第一会话表项进行对应存储,并能够将第二信息与第二客户端设备的第二会话表项进行对应存储。
可以理解的是,若从第一UP设备的用户接口上线的客户端设备还包括其他客户端设备,且CP设备将该其他客户端设备的会话表项下发至温备份组的其他UP设备,则CP设备还需向第一UP设备下发用于指示该其他客户端设备的主用UP设备的信息。
还可以理解的是,对于CP设备以用户组为粒度进行会话表项的散列的场景,即以用户组为粒度进行客户端设备的迁移的场景,该第一信息中可以包括第一UP设备的ID与迁移至第一UP设备的用户组的标识的对应关系,该第二信息中可以包括第二UP设备的ID与迁移至第二UP设备的用户组的标识的对应关系。
示例的,参考图6,假设CP设备01在检测到UP1的用户接口故障后,将用户组1的会话表项1下发至UP2,并将用户组2的会话表项2下发至UP3。则CP设备01还能够向UP1下发用于指示UP2为用户组1的主用UP的第一信息,以及用于指示UP3为用户组1的主用UP的第二信息。从图6还可以看出,UP1接收到第一信息和第二信息后,能够将第一信息中UP2的ID与会话表项1对应存储,并能够将第二信息中UP3的ID与会话表项2对应存储。并且,对于该会话表项1和会话表项2,UP1可以将自身的状态设置为备用状态。
继续参考图7,本申请实施例提供的报文转发方法还包括如下步骤:
步骤208、第一UP设备接收网络设备发送的发往第一客户端设备的第一业务报文。
在本申请实施例中,对于第一UP设备的用户接口故障的场景,由于第一UP设备用于与网络设备通信的接口仍能够正常工作,因此第一UP设备还能够接收到网络设备通过目标隧道发送的发往第一客户端设备的第一业务报文。
或者,可以理解为,若第一UP设备的故障为第一UP设备的用户接口故障,则对于第一UP设备与网络设备之间的转发设备(例如CR)所存储的目标隧道的源地址,第一UP设备的路由优先级仍然是最高的。相应的,该转发设备能够将网络设备发送的第一业务报文转发至第一UP设备。
步骤209、第一UP设备基于第一信息,将该第一业务报文转发至第二UP设备。
第一UP设备接收到网络设备通过目标隧道发送的第一业务报文后,通过查询其存储的各个客户端设备的会话表项,可以确定该第一业务报文为第一客户端设备的业务报文。并且,第一UP设备能够基于CP设备下发的第一信息,确定当前该第一客户端设备的主用UP设备为第二UP设备,进而可以将该第一业务报文转发至第二UP设备。
可选地,第一UP设备可以通过UP设备之间的绕行隧道,将该第一业务报文转发至第二UP设备。其中,该绕行隧道经过CR,因此第一UP设备可以通过该CR将第一业务报文转发至第二UP设备。示例的,该绕行隧道可以是多协议标签交换(multi-protocol labelswitching,MPLS)隧道。
步骤210、第一UP设备接收网络设备发送的发往第二客户端设备的第二业务报文。
参考上述步骤208的描述可知,对于第一UP设备的用户接口故障的场景,第一UP设备还能够接收到网络设备通过目标隧道发送的发往第二客户端设备的第二业务报文。
步骤211、第一UP设备基于第二信息,将该第二业务报文转发至第三UP设备。
第一UP设备接收到该第二业务报文后,通过查询其存储的各个客户端设备的会话表项,可以确定该第二业务报文为第二客户端设备的业务报文。并且,第一UP设备能够基于CP设备下发的第二信息,确定当前该第二客户端设备的主用UP设备为第三UP设备,进而可以将该第二业务报文转发至第三UP设备。
可选地,第一UP设备可以通过UP设备之间的绕行隧道,将该第二业务报文转发至第三UP设备。
示例的,参考图8,UP1接收到LNS 05发送的用户组1的第一业务报文后,可以基于第一信息将该第一业务报文通过CR 06转发至UP2。UP1接收到LNS 05发送的用户组2的第二业务报文后,可以基于第二信息将该第二业务报文通过CR 06转发至UP3。
步骤212、第二UP设备基于第一会话表项,向第一客户端设备发送第一业务报文。
第二UP设备接收到第一UP设备转发的第一业务报文后,即可基于CP设备下发的第一会话表项,向第一客户端设备发送该第一业务报文。
例如,UP2接收到UP1通过绕行隧道发送的用户组1的第一业务报文后,可以基于会话表项1向用户组1发送该第一业务报文。
步骤213、第三UP设备基于第二会话表项,向第二客户端设备发送第二业务报文。
第三UP设备接收到第一UP设备转发的第二业务报文后,即可基于CP设备下发的第二会话表项,向第二客户端设备发送该第二业务报文。
例如,UP3接收到UP1通过绕行隧道发送的用户组2的第二业务报文后,可以基于会话表项2向用户组2发送该第二业务报文。
步骤214、第二UP设备基于目标隧道的隧道表项,对第一客户端设备发送的第三业务报文进行封装。
在本申请实施例中,如前文所述,第二UP设备在接收到CP设备下发的第一会话表项后,还可以向二层广播域发送免费的ARP报文。第一客户端设备可以基于该ARP报文,将上行的第三业务报文发送至第二UP设备。第二UP设备接收到该第三业务报文后,可以基于目标隧道的隧道表项,对该第三业务报文进行封装,例如对该第三业务报文进行L2TP封装。由于该目标隧道的隧道表项中的源地址为第一UP设备的IP地址,因此封装后的第三业务报文中包括该第一UP设备的IP地址。
步骤215、第二UP设备将封装后的第三业务报文通过目标隧道发送至网络设备。
第二UP设备对第三业务报文进行封装后,即可将封装后的第三业务报文通过目标隧道发送至网络设备。例如,参考图8,UP2可以基于目标隧道的隧道表项,对用户组1发送的第三业务报文进行L2TP封装,封装后的第三业务报文包括UP1的IP地址:1.1.1.1。UP2可以将该封装后的第三业务报文通过目标隧道发送至LNS 05。并且,网络设备在向第一客户端设备发送业务报文时,仍然封装UP1的IP地址,该业务报文到达第一UP设备后,第一UP设备基于第一信息,将该业务报文转发至第二UP设备,即重复上述步骤208和步骤209的过程。
步骤216、第三UP设备基于目标隧道的隧道表项,对第二客户端设备发送的第四业务报文进行封装。
第三UP设备在接收到CP设备下发的第二会话表项后,还可以向二层广播域发送免费的ARP报文。第二客户端设备可以基于该ARP报文,将上行的第四业务报文发送至第三UP设备。第三UP设备接收到该第四业务报文后,可以基于目标隧道的隧道表项,对该第四业务报文进行封装,例如对该第四业务报文进行L2TP封装。由于该目标隧道的隧道表项中的源地址为第一UP设备的IP地址,因此封装后的第四业务报文中包括该第一UP设备的IP地址。
步骤217、第三UP设备将封装后的第四业务报文通过目标隧道发送至网络设备。
第三UP设备对第四业务报文进行封装后,即可将封装后的第四业务报文通过目标隧道发送至网络设备。例如,参考图8,UP3可以基于目标隧道的隧道表项,对用户组2发送的第四业务报文进行L2TP封装,封装后的第四业务报文包括UP1的IP地址:1.1.1.1。UP3可以将该封装后的第四业务报文通过目标隧道发送至LNS 05。
基于上述步骤215至步骤217可知,在第一UP设备故障后,第二UP设备和第三UP设备作为从第一UP设备上线的客户端设备的新的主用UP设备,能够基于CP设备下发的目标隧道的隧道表项,通过该目标隧道与网络设备交互该客户端设备的业务报文。
可以理解的是,在上述步骤203中,CP设备也可以将该目标隧道的隧道表项仅下发至第一UP设备。并且,CP设备可以在确定第一UP设备的存在故障后,再将该目标隧道的隧道表项分别下发至第二UP设备和第三UP设备。
可选地,CP设备在确定第一UP设备存在故障后,可以向该第一UP设备所属的温备份组内的各个其他UP设备均下发该目标隧道的隧道表项。或者,若CP设备将从第一UP设备上线的客户端设备迁移至温备份组内的部分UP设备,则CP设备也可以仅向该部分UP设备下发目标隧道的隧道表项。也即是,若温备份组内的某个其他UP设备未分担从第一UP设备上线的客户端设备,则CP设备无需向该其他UP设备下发目标隧道的隧道表项。
在上述步骤206中,作为一种可能的示例,CP设备可以向第二UP设备下发第一信息以及与该第一信息对应的第一会话表项,并可以向第三UP设备下发第二信息以及与该第二信息对应的第二会话表项。也即是,对于第一UP设备的故障为接口故障的场景,第一目标UP设备也可以包括第二UP设备和第三UP设备。
在上述步骤206中,作为另一种可能的示例,CP设备还可以将第一会话表项下发至第三UP设备,并将第二会话表项下发至第二UP设备。也即是,CP设备向第二UP设备和第三UP设备下发的会话表项均包括第一会话表项和第二会话表项。例如,CP设备可以向UP2下发会话表项1和会话表项2,并向UP3下发会话表项1和会话表项2。
可以理解的是,若第一UP设备、第二UP设备和第三UP设备属于一个温备份组,则CP设备可以向该温备份组内除第一UP设备之外的其他每个UP设备均下发从第一UP设备的用户接口上线的各个客户端设备的会话表项。
在本申请实施例中,对于第一UP设备的故障为接口故障的场景,若CP设备仅向其他UP设备下发以该其他UP设备为主用UP设备的客户端设备的会话表项,例如仅向第一UP设备下发第一会话表项,则可以有效减少向其他UP设备下发的会话表项的数量。若CP设备向其他UP设备下发从第一UP设备的用户接口上线的各个客户端设备的会话表项,则由于CP设备向各个UP设备下发的会话表项均相同,因此可以有效降低CP设备下发会话表项时的操作复杂度。
可以理解的是,本申请实施例提供的报文转发方法的步骤先后顺序可以进行适当调整,步骤也可以根据情况进行相应增减。例如,上述步骤207与步骤206可以同步执行;或者,步骤210和步骤211可以在步骤209之前执行;又或者,上述步骤214和步骤215可以在步骤212之前执行,步骤216和步骤217可以在步骤213之前执行。
下文以第一UP设备的故障为第一UP设备的整机故障为例,对本申请实施例提供的报文转发方法进行说明,如图9所示,该方法包括:
步骤301、CP设备基于第一UP设备存在整机故障,分别向第二UP设备和第三UP设备发送第一信息和第一客户端设备的第一会话表项,以及第二信息和第二客户端设备的第二会话表项。
在本申请实施例中,CP设备可以通过控制接口检测第一UP设备是否存在整机故障。若CP设备确定第一UP设备存在整机故障,则可以向第二UP设备和第三UP设备均发送下述信息:第一信息,以及第一信息对应的第一客户端设备的第一会话表项,第二信息,以及第二信息对应的第二客户端设备的第二会话表项。
该第一信息用于指示在第一UP设备整机故障的情况下,第二UP设备为第一客户端设备的主用UP设备。该第二信息用于指示在第一UP设备整机故障的情况下,第三UP设备为第二客户端设备的主用UP设备。其中,该第一信息可以包括第一UP设备的ID,第二信息可以包括第二UP设备的ID。
可选地,该第一UP设备、第二UP设备和第三UP设备可以属于同一个温备份组,该温备份组所包括的UP设备的数量可以大于或等于3。CP设备在确定第一UP设备整机故障后,可以通过负载分担的方式,将从第一UP设备上线的各个客户端设备迁移至该温备份组内的至少一个其他UP设备。也即是,CP设备可以通过负载分担的方式从温备份组内的至少一个其他UP设备中,为该各个客户端设备选取新的主用UP设备。并且,CP设备可以向温备份组内除第一UP设备之外的其他各个UP设备均下发如下信息:从第一UP设备上线的各个客户端设备的会话表项,以及用于指示各个客户端设备的主用UP设备的信息。
示例的,参考图10和图11,假设从UP1上线的客户端设备包括用户组1和用户组2,从UP2上线的客户端设备包括用户组3和用户组4,从UP3上线的客户端设备包括用户组5和用户组6。CP设备01在检测到UP1整机故障后,可以分别向UP2和UP3下发如下信息:用户组1的会话表项1,用户组2的会话表项2,用于指示UP2为用户组1的主用UP的第一信息,以及用于指示UP3为用户组1的主用UP的第二信息。
从图10还可以看出,UP2接收到上述信息后,对于用户组1的会话表项1,UP2可以将自身的状态设置为主用状态,对于用户组2的会话表项2,UP2可以将自身的状态设置为备用状态。UP3接收到上述信息后,对于用户组2的会话表项2,UP3可以将自身的状态设置为主用状态,对于用户组1的会话表项1,UP3可以将自身的状态设置为备用状态。
可以理解的是,在上述步骤301之前,系统中的CP设备和各UP设备能够执行上述步骤201至步骤204所示的方法,以实现第一客户端设备和第二客户端设备的上线,以及目标隧道的建立,此处不再赘述。
步骤302、第二UP设备接收网络设备发送的发往第一客户端设备的第一业务报文。
在本申请实施例中,由于第一UP设备整机故障时,第一UP设备用于与网络设备通信的接口无法正常工作,因此网络设备与各UP设备之间的转发设备(例如CR),会将网络设备通过目标隧道发送的发往第一客户端设备的第一业务报文转发至其他UP设备。例如,对于该目标隧道的源地址,转发设备中存储有各UP设备发布该源地址的路由的路由优先级。转发设备通过目标隧道接收到第一业务报文后,可以将该第一业务报文转发至除第一UP设备之外,路由优先级最高的UP设备。
假设对于该目标隧道的源IP地址,第二UP设备的路由优先级高于第三UP设备的路由优先级,即第二UP设备的路由优先级高于温备份组内除第一UP设备之外的其他UP设备,则转发设备会将网络设备发送的第一业务报文通过目标隧道转发至该第二UP设备。
步骤303、第二UP设备基于第一信息和第一会话表项,将该第一业务报文发送至第一客户端设备。
第二UP设备接收到该第一业务报文后,通过查询其存储的第一客户端设备的第一会话表项,可以确定该第一业务报文为第一客户端设备的业务报文。并且,该第二UP设备能够基于与第一会话表项对应的第一信息,确定当前第一客户端设备的主用UP设备为第二UP设备。进而,第二UP设备即可基于该第一会话表项,向第一客户端设备发送第一业务报文。
示例的,如图11所示,假设对于目标隧道的源地址:1.1.1.1,UP1的路由优先级最高,UP2的路由优先级次高,UP3的路由优先级最低。则UP1整机故障后,LNS 05通过目标隧道发送的用户组1的第一业务报文会由CR 06转发至UP2。UP2进而可以基于其存储的第一信息和会话表项1,将该第一业务报文直接发送至用户组1。
步骤304、第二UP设备接收网络设备发送的发往第二客户端设备的第二业务报文。
参考上述步骤302的描述可知,对于第一UP设备整机故障的场景,第二UP设备还能够接收到网络设备通过目标隧道发送的发往第二客户端设备的第二业务报文。例如,第二UP设备能够接收到转发设备转发的第二业务报文。
步骤305、第二UP设备基于第二信息,将该第二业务报文转发至第三UP设备。
第二UP设备接收到发往第二客户端设备的第二业务报文后,能够基于CP设备下发的第二信息,确定当前第二客户端设备的主用UP设备为第三UP设备,进而可以将该第二业务报文转发至第三UP设备。例如,第二UP设备可以通过UP设备之间的绕行隧道,将该第二业务报文转发至第三UP设备。
可选地,第二UP设备可以通过查询其存储的各个客户端设备的会话表项,确定该第二业务报文为第二客户端设备的业务报文。进而,第二UP设备可以基于CP设备下发的第二信息和第二会话表项的对应关系,确定该第二客户端设备的主用UP设备为第三UP设备。
示例的,参考图10,UP2接收到LNS 05发送的用户组2的第二业务报文后,可以通过查询会话表项2与第二信息的对应关系,确定UP3为用户组2的主用UP设备。进而,如图11所示,UP2可以将该用户组2的第二业务报文通过UP设备之间的绕行隧道转发至UP3。
步骤306、第三UP设备基于第二会话表项,向第二客户端设备发送第二业务报文。
第三UP设备接收到第二UP设备转发的第二业务报文后,即可基于CP设备下发的第二会话表项,向第二客户端设备发送该第二业务报文。
示例的,参考图10和图11,UP3接收到UP2发送的用户组2的第二业务报文后,可以基于会话表项2向用户组2发送该第二业务报文。
可以理解的是,在第一UP设备整机故障的场景中,若对于该目标隧道的源地址,第三UP设备的路由优先级高于第二UP设备的路由优先级,则第三UP设备会接收到该网络设备通过目标隧道发送的第一业务报文和第二业务报文。相应的,第三UP设备可以基于第一信息向第二UP设备转发第一业务报文,并可以基于该第二信息直接向第二客户端设备发送该第二业务报文。
步骤307、第二UP设备基于目标隧道的隧道表项,对第一客户端设备发送的第三业务报文进行封装。
步骤308、第二UP设备将封装后的第三业务报文通过目标隧道发送至网络设备。
步骤309、第三UP设备基于目标隧道的隧道表项,对第二客户端设备发送的第四业务报文进行封装。
步骤310、第三UP设备将封装后的第四业务报文通过目标隧道发送至网络设备。
该步骤307至步骤307的实现过程可以参考上述步骤214至步骤217,此处不再赘述。并且,对于第一UP设备UP1整机故障的场景,如图11所示,UP2可以将封装后的第三业务报文通过目标隧道发送至LNS 05,UP3可以将封装后的第四业务报文目标隧道发送至LNS05。
步骤311、CP设备通过第二UP设备与网络设备交互目标隧道的隧道协议报文,以及第一客户端设备的会话协议报文。
在本申请实施例中,CP设备在确定第一UP设备存在整机故障后,由于对于目标隧道的源地址,第二UP设备的路由优先级次高,因此CP设备能够通过第二UP设备与网络设备交互目标隧道的隧道协议报文。也即是,CP设备能够通过第二UP设备向网络设备发送该目标隧道的隧道协议报文,并可以通过第二UP设备接收网络设备发送的该目标隧道的隧道协议报文。又由于在第一UP设备故障后,该第二UP设备为第一客户端设备的主用UP设备,因此该CP设备还能够通过第二UP设备与网络设备交互第一客户端设备的会话协议报文。其中,该隧道协议报文可以包括用于使目标隧道保活的协议报文,该会话协议报文可以包括用于使第一客户端设备的会话保活的协议报文。
示例的,如图12所示,CP设备01可以通过UP2与LNS 05交互目标隧道的隧道协议报文,以及用户组1的会话协议报文。
步骤312、CP设备通过第三UP设备向网络设备发送第二客户端设备的会话协议报文。
由于在第一UP设备故障后,第三UP设备为第二客户端设备的主用UP设备,因此CP设备可以通过第三UP设备向网络设备发送第二客户端设备的会话协议报文。其中,该第二客户端设备的会话协议报文可以是用于使第二客户端设备的会话保活的协议报文。
示例的,如图12所示,CP设备01可以通过UP3向LNS 05发送用户组2的会话协议报文。
步骤313、网络设备通过第二UP设备向CP设备发送第二客户端设备的会话协议报文。
由于在第一UP设备故障后,对于该目标隧道的源地址,第二UP设备的路由优先级较高,因此网络设备发往CP设备的关于该第二客户端设备的会话协议报文,会由转发设备(例如CR)转发至第二UP设备,第二UP设备再转发至CP设备。
可以理解的是,在第一UP设备整机故障的场景中,若对于该目标隧道的源地址,第三UP设备的路由优先级高于第二UP设备的路由优先级,则CP设备可以通过第三UP设备与网络设备交互该目标隧道的隧道协议报文,以及第二客户端设备的会话协议报文。并且,CP设备可以通过第二UP设备向网络设备发送第一客户端设备的会话协议报文,以及通过第三UP设备接收网络设备发送的该第一客户端设备的会话协议报文。
还可以理解的是,在第一UP设备接口故障的场景中,CP设备可以通过第一UP设备与网络设备交互目标隧道的隧道协议报文,并可以接收网络设备通过第一UP设备发送的第一客户端设备的会话协议报文,以及第二客户端设备的会话协议报文。此外,CP设备可以通过第二UP设备向网络设备发送第一客户端设备的会话协议报文,并通过第三UP设备向网络设备发送第二客户端设备的会话协议报文。
还可以理解的是,本申请实施例提供的报文转发方法的步骤先后顺序可以进行适当调整,步骤也可以根据情况进行相应增减。例如,上述步骤309和步骤310可以在步骤308之前执行,步骤311至步骤313可以在步骤310之前执行。
下文以图1和图2所示的系统为例,对本申请实施例提供的报文转发方法进行说明。参考图13所示,该方法包括:
步骤401、客户端设备向转发设备发送拨号请求。
其中,该转发设备可以为SW或OLT等,或者可以包括接入叶子(access leaf,A-leaf)设备和业务叶子(service leaf,S-leaf)设备。该拨号请求可以是PADI报文。
步骤402、转发设备向各个UP设备广播该拨号请求。
转发设备接收到客户端设备发送的拨号请求后,可以向CP设备所管理的各个UP设备(例如UP1,UP2和UP3)广播该拨号请求。
步骤403、UP设备向CP设备发送该拨号请求。
各个UP设备接收到拨号请求后,均可以通过CPRi将该拨号请求转发至CP设备。
步骤404、CP设备确定UP1为主用UP设备。
CP设备接收到客户端设备的拨号请求后,可以基于各个UP设备的负载,或者通过轮询的方式,确定UP1为该客户端设备的主用UP设备。
步骤405、CP设备向UP1发送拨号响应。
CP设备可以通过CPRi向UP1发送拨号响应。
步骤406、UP1向客户端设备发送拨号响应。
步骤407、CP设备通过UP1与客户端设备进行LCP协商。
步骤408、CP设备与认证服务器进行认证交互。
步骤409、认证服务器向CP设备下发L2TP隧道参数。
步骤410、CP设备通过UP1与LNS进行隧道协商,以与LNS建立L2TP隧道。
步骤411、CP设备向各个UP设备下发L2TP隧道的隧道表项。
例如,CP设备可以通过SCi分别向UP1、UP2和UP3下发L2TP隧道的隧道表项,该隧道表项中的源地址为UP1的IP地址。
步骤412、CP设备通过UP1与客户端设备进行网际协议控制协议(Internetprotocol control protocol,IPCP)协商。
步骤413、CP设备通过UP1与LNS进行会话协商。
步骤414、CP设备向UP1发送会话表项。
CP设备在与LNS完成会话协商后,可以通过SCi向UP1下发客户端设备的会话表项。
步骤415、CP设备确定UP1存在故障。
步骤416、CP设备向UP2和UP3发送会话表项,该会话表项携带主用UP的信息。
CP设备确定UP1存在故障后,可以为从UP1上线的客户端设备确定新的主用UP设备,并可以将从UP1上线的客户端设备的会话表项下发至UP2和UP3。其中,该会话表项中携带有主用UP的信息。该步骤416的实现过程可以参考上述步骤301,此处不再赘述。
CP设备在向UP2和UP3下发会话表项和主用UP的信息后,UP2和UP3即可基于接收到的信息进行业务报文的转发。UP2和UP3转发业务报文的过程可以参考上述步骤302至步骤306,此处不再赘述。
图14是本申请实施例提供的一种CP设备的结构示意图,该CP设备可以应用于CP和UP分离的宽带网关接入系统,该系统还包括第一UP设备,第二UP设备和第三UP设备,且第一客户端设备从该第一UP设备上线。例如,该CP设备可以是图1、图2、图8或图11所示系统中的CP设备01,且该CP设备可以实现上述方法实施例中由CP设备执行的步骤。如图14所示,该CP设备包括:
发送模块501,用于基于第一UP设备存在故障,向第一目标UP设备发送第一信息。该第一信息用于指示在该第一UP设备存在故障的情况下,该第二UP设备为该第一客户端设备的主用UP设备,该第一目标UP设备包括该第一UP设备,该第二UP设备和该第三UP设备中的至少一个。该发送模块501的功能实现可以参考上述方法实施例中步骤101、步骤207和步骤301的相关描述。
可选地,该第一目标UP设备包括第一UP设备;或者,该第一目标UP设备包括第二UP设备和第三UP设备;又或者,该第一目标UP设备包括第一UP设备、第二UP设备和第三UP设备。
可选地,该第一UP设备的故障包括:第一UP设备的用户接口故障,或者,该第一UP设备的故障为第一UP设备整机故障;其中,该第一客户端设备从第一UP设备的用户接口上线。
作为一种可能的示例,该第一信息与第一客户端设备的第一会话表项对应,该发送模块501向第一目标UP设备发送第一信息的过程可以包括:向第一目标UP设备发送第一信息和对应的第一会话表项。
作为另一种可能的示例,该发送模块501还可以用于:向第二UP设备发送第一客户端设备的第一会话表项。该发送模块501的功能实现还可以参考上述方法实施例中步骤101和步骤206的相关描述。
可选地,该发送模块501还可以用于:分别向第一UP设备,第二UP设备和第三UP设备发送目标隧道的隧道表项,该隧道表项中的源地址包括第一UP设备的IP地址,该隧道表项用于第一UP设备,第二UP设备和第三UP设备中的任一UP设备与网络设备通过该目标隧道交互第一客户端设备的第一业务报文。该发送模块501的功能实现还可以参考上述方法实施例中步骤203的相关描述。
可选地,如图14所示,该CP设备还包括协议交互模块502,该协议交互模块502用于:
在发送模块501向第一目标UP设备发送第一信息之后,通过该第二UP设备与网络设备交互该目标隧道的隧道协议报文,以及第一客户端设备的会话协议报文;其中,该第二UP设备的该源地址的路由优先级高于第三UP设备的该源地址的路由优先级。该协议交互模块502的功能实现可以参考上述方法实施例中步骤311的相关描述。
可选地,从第一UP设备上线的第二客户端设备的第二会话表项被发送至第三UP设备,该协议交互模块502还可以用于:
在发送模块501向第一目标UP设备发送第一信息之后,通过第三UP设备向网络设备发送该第二客户端设备的会话协议报文,以及通过第二UP设备接收该网络设备发送的该第二客户端设备的会话协议报文。该协议交互模块502的功能实现可以参考上述方法实施例中步骤312和步骤313的相关描述。
可选地,第二客户端设备也从该第一UP设备上线,该发送模块501还可以用于:
基于该第一UP设备存在故障,向第二目标UP设备发送第二信息,该第二信息用于指示在该第一UP设备存在故障的情况下,第三UP设备为该第二客户端设备的主用UP设备,该第二目标UP设备包括该第一UP设备,第二UP设备和第三UP设备中的至少一个。
可选地,该目标隧道为L2TP隧道。该第一UP设备,第二UP设备和第三UP设备可以属于一个温备份组。
综上所述,本申请实施例提供了一种CP设备,该CP设备在确定第一UP设备存在故障后,能够向第一目标UP设备发送第一信息。该第一信息能够指示在第一UP设备存在故障的场景下,第二UP设备为第一客户端设备的主用UP设备。基于此,第一目标UP设备在接收到发往第一客户端设备的第一业务报文后,即可基于该第一信息,通过第二UP设备将第一业务报文发送至第一客户端设备,由此实现了在第一UP设备存在故障的场景下,第一业务报文的可靠转发。
图15是本申请实施例提供的一种第三UP设备的结构示意图,该第三UP设备可以应用于CP和UP分离的宽带网关接入系统,该系统还包括CP设备和第二UP设备。例如,该第三UP设备可以是图1、图2、图8或图11所示系统中的UP3,且该第三UP设备可以实现上述方法实施例中由第三UP设备执行的步骤。如图15所示,该第三UP设备包括:
接收模块601,用于接收CP设备发送的第一信息,该第一信息用于指示第二UP设备为第一客户端设备的主用UP设备。该接收模块601的功能实现可以参考上述方法实施例中步骤101、步骤207和步骤301的相关描述。
该接收模块601,还用于接收发往第一客户端设备的第一业务报文。该接收模块601的功能实现还可以参考上述方法实施例中步骤102b的相关描述。
发送模块602,用于基于该第一信息,将第一业务报文转发至第二UP设备。该发送模块602的功能实现可以参考上述方法实施例中步骤102b的相关描述。
可选地,该第一信息与第一客户端设备的第一会话表项对应,该接收模块601接收CP设备发送的第一信息的过程可以包括:接收该CP设备发送的第一信息,以及与该第一信息对应的第一会话表项。
可选地,从第一UP设备上线的客户端设备还包括第二客户端设备,该接收模块601还可以用于:接收CP设备发送的第二信息和第二客户端设备的第二会话表项,该第二信息用于指示该第三UP设备为第二客户端设备的主用UP设备;接收发往该第二客户端设备的第二业务报文。该接收模块601的功能实现还可以参考上述方法实施例中步骤206的相关描述。
发送模块602,用于基于该第二信息和第二会话表项,将第二业务报文发送至第二客户端设备。该发送模块602的功能实现还可以参考上述方法实施例中步骤213和步骤306的相关描述。
可选地,该发送模块602基于第一信息,将第一业务报文转发至第二UP设备的过程可以包括:基于该第一信息,将第一业务报文通过CR转发至第二UP设备。
综上所述,本申请实施例提供了一种第三UP设备,该第三UP设备能够接收CP设备下发的第一信息,且该第一信息用于指示第二UP设备为第一客户端设备的主用UP设备。相应的,第三UP设备在接收到发往第一客户端设备的第一业务报文后,即可基于该第一信息,将第一业务报文转发至第二UP设备,以便由第二UP设备将第一业务报文发送至第一客户端设备。由此,实现了第一业务报文的可靠转发。
图16是本申请实施例提供的一种第一UP设备的结构示意图,该第一UP设备可以应用于CP和UP分离的宽带网关接入系统。例如,该第一UP设备可以是图1、图2、图8或图11所示系统中的UP1,且该第一UP设备可以实现上述方法实施例中由第一UP设备执行的步骤。在本申请实施例中,第一客户端设备从该第一UP设备的用户接口上线,且该系统还包括CP设备、第二UP设备和第三UP设备。如图16所示,该第一UP设备包括:
接收模块701,用于接收CP设备发送的第一信息,该第一信息是CP设备在确定第一UP设备的用户接口存在故障后发送的,且该第一信息用于指示在第一UP设备的用户接口存在故障的情况下,第二UP设备为第一客户端设备的主用UP设备。该接收模块701的功能实现可以参考上述方法实施例中步骤101和步骤207的相关描述。
接收模块701,还用于接收发往第一客户端设备的第一业务报文。该接收模块701的功能实现还可以参考上述方法实施例中步骤102a和步骤208的相关描述。
发送模块702,用于基于该第一信息将第一业务报文转发至第二UP设备。该发送模块702的功能实现可以参考上述方法实施例中步骤102a和步骤209的相关描述。
可选地,从该第一UP设备的用户接口上线的客户端设备还包括第二客户端设备,该接收模块701,还可以用于:
接收CP设备发送的第二信息,该第一信息是CP设备在确定第一UP设备的用户接口存在故障后发送的,且该第二信息用于指示在第一UP设备的用户接口存在故障的情况下,第三UP设备为第二客户端设备的主用UP设备;以及接收发往第二客户端设备的第二业务报文。该接收模块701的功能实现还可以参考上述方法实施例中步骤210的相关描述。
该发送模块702,还用于基于该第二信息将第二业务报文转发至第三UP设备。该发送模块702的功能实现可以参考上述方法实施例中步骤211的相关描述。
综上所述,本申请实施例提供了一种第一UP设备,该第一UP设备的用户接口故障后,能够接收到CP设备基于该接口故障下发的第一信息,且该第一信息用于指示第二UP设备为第一客户端设备的主用UP设备。相应的,第一UP设备在接收到发往第一客户端设备的第一业务报文后,即可基于该第一信息,将第一业务报文转发至第二UP设备,以便由第二UP设备将第一业务报文发送至第一客户端设备。由此,实现了在第一UP设备的用户接口存在故障的场景下,第一业务报文的可靠转发。
图17是本申请实施例提供的一种第二UP设备的结构示意图,该第二UP设备可以应用于CP和UP分离的宽带网关接入系统,该系统还包括CP设备。例如,该第二UP设备可以是图1、图2、图8或图11所示系统中的UP2,且该第二UP设备可以实现上述方法实施例中由第二UP设备执行的步骤。如图17所示,该第二UP设备包括:
接收模块801,用于接收CP设备发送的第一信息和第一客户端设备的第一会话表项,该第一信息用于指示该第二UP设备为第一客户端设备的主用UP设备。该接收模块801的功能实现可以参考上述方法实施例中步骤101、步骤101、步骤206、步骤207以及步骤301的相关描述。
接收模块801,还用于接收发往第一客户端设备的第一业务报文。该接收模块801的功能实现还可以参考上述方法实施例中步骤209以及步骤302的相关描述。
发送模块802,用于基于第一信息和第一会话表项,将该第一业务报文发送至第一客户端设备。该发送模块802的功能实现可以参考上述方法实施例中步骤103、步骤212和步骤303的相关描述。
可选地,该系统还可以包括第三UP设备,该接收模块801,还用于:
接收该CP设备发送的第二信息,该第二信息用于指示第三UP设备为第二客户端设备的主用UP设备;以及接收发往第二客户端设备的第二业务报文。该接收模块801的功能实现还可以参考上述方法实施例中步骤304的相关描述。
该发送模块802,还用于基于该第二信息,将该第二业务报文转发至第三UP设备。该发送模块802的功能实现还可以参考上述方法实施例中步骤305的相关描述。
可选地,该第二信息与第二客户端设备的第二会话表项对应,该接收模块801接收CP设备发送的第二信息的过程可以包括:接收该CP设备发送的第二信息,以及与该第二信息对应的第二会话表项。
可选地,该系统还可以包括第一UP设备,该第一信息是CP设备在确定第一UP设备存在故障后发送的,第一UP设备存在故障之前,第一客户端设备从该第一UP设备上线。如图17所示,该第二UP设备还可以包括:
封装模块803,用于在接收模块801接收CP设备发送的第一信息之后,基于该CP设备发送的目标隧道的隧道表项,对第一客户端设备发送的第三业务报文进行封装,该隧道表项的源地址为该第一UP设备的IP地址。该封装模块803的功能实现还可以参考上述方法实施例中步骤214和步骤307的相关描述。
该发送模块802,还用于将封装后的该第三业务报文通过该目标隧道发送至网络设备,该封装后的第三业务报文包括该第一UP设备的IP地址。该发送模块802的功能实现还可以参考上述方法实施例中步骤215和步骤308的相关描述。
可选地,该发送模块802还可以用于:
通过目标隧道向网络设备转发来自CP设备的目标隧道的隧道协议报文,以及第一客户端设备的会话协议报文;以及,向CP设备转发来自网络设备的目标隧道的隧道协议报文,以及第一客户端设备的会话协议报文。
其中,该第二UP设备的该源地址的路由优先级高于该系统中的第三UP设备的该源地址的路由优先级。该发送模块802的功能实现还可以参考上述方法实施例中步骤311和步骤313的相关描述。
综上所述,本申请实施例提供了一种第二UP设备,该第二UP设备能够接收CP设备发送的第一信息和第一客户端设备的第一会话表项,该第一信息用于指示第二UP设备为第一客户端设备的主用UP设备。相应的,第二UP设备在接收到发往第一客户端设备的第一业务报文后,即可基于该第一信息和第一会话表项,将该第一业务报文直接发送至第一客户端设备。由此,实现了第一业务报文的可靠转发。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的CP设备、第一UP设备、第二UP设备、第三UP设备以及各模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
应理解的是,本申请实施例提供的CP设备和各个UP设备还可以用专用集成电路(application-specific integrated circuit,ASIC)实现,或可编程逻辑器件(programmable logic device,PLD)实现,上述PLD可以是复杂程序逻辑器件(complexprogrammable logical device,CPLD),现场可编程门阵列(field-programmable gatearray,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。也可以通过软件实现上述方法实施例提供的报文转发方法,当通过软件实现上述方法实施例提供的报文转发方法时,该CP设备和控制器中的各个模块也可以为软件模块。
图18是本申请实施例提供的一种报文转发装置的结构示意图,该装置可以应用于上述实施例提供的CP设备或者任一UP设备。例如,该装置可以应用于图14所示的CP设备,或图15所示的第三UP设备,又或者图17所示的第一UP设备,再或者图18所示的第二UP设备。参考图18,该装置包括:处理器901、存储器902、收发器903和总线904。其中,总线904用于连接处理器901、存储器902和收发器903。通过收发器903(可以是有线或者无线)可以实现与其他设备之间的通信连接。存储器902中存储有计算机程序,该计算机程序用于实现各种应用功能。
应理解,在本申请实施例中,处理器901可以是CPU,该处理器901还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、GPU或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。
存储器902可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data date SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
总线904除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线904。
当该装置应用于CP设备时,在具体实施例中,装置中的处理器901用于基于第一UP设备存在故障,通过网络接口903向第一目标UP设备发送第一信息,该第一信息用于指示在第一UP设备存在故障的情况下,第二UP设备为第一客户端设备的主用UP设备,该第一目标UP设备包括第一UP设备,第二UP设备和第三UP设备中的至少一个。该处理器901的详细处理过程请参考上述图4所示实施例中的步骤101至和步骤101,图5所示实施例中的步骤201至步骤207,以及图9所示实施例中的步骤301,步骤311至步骤313的详细描述,这里不再赘述。
当该装置应用于第三UP设备时,在具体实施例中,装置中的处理器901用于通过网络接口903接收CP设备发送的第一信息,第一信息用于指示第二UP设备为第一客户端设备的主用UP设备;通过网络接口903接收发往第一客户端设备的第一业务报文;基于第一信息,通过网络接口903将第一业务报文转发至第二UP设备。该处理器901的详细处理过程请参考上述图4所示实施例中的步骤101和步骤102b,图5所示实施例中的步骤203和步骤206,图7所示实施例中的步骤211和步骤213,步骤216和步骤217,以及图9所示实施例中的步骤301,步骤305和步骤306,步骤309和步骤310,以及步骤312的详细描述,这里不再赘述。
当该装置应用于第一UP设备时,在具体实施例中,装置中的处理器901用于通过网络接口903接收CP设备发送的第一信息,该第一信息是CP设备在确定第一UP设备的用户接口存在故障后发送的,且该第一信息用于指示在第一UP设备的所述用户接口存在故障的情况下,第二UP设备为第一客户端设备的主用UP设备;通过网络接口903接收发往第一客户端设备的第一业务报文;基于该第一信息,通过网络接口903将第一业务报文转发至第二UP设备。该处理器901的详细处理过程请参考上述图4所示实施例中的步骤101和步骤102a,图5所示实施例中的步骤201,步骤203至步骤205,步骤207,以及图7所示实施例中步骤208至步骤211的详细描述,这里不再赘述。
当该装置应用于第二UP设备时,在具体实施例中,装置中的处理器901用于通过网络接口903接收CP设备发送的第一信息和第一客户端设备的第一会话表项,该第一信息用于指示第二UP设备为第一客户端设备的主用UP设备;通过网络接口903接收发往第一客户端设备的第一业务报文;以及基于第一信息和所述第一会话表项,通过网络接口903将第一业务报文发送至第一客户端设备。该处理器901的详细处理过程请参考上述图4所示实施例中的步骤101至步骤103,图5所示实施例中的步骤203和步骤206,图7所示实施例中步骤209和步骤212,步骤214和步骤215,以及图9所示实施例中步骤301,步骤302至步骤305,步骤307和步骤308,步骤311以及步骤313的详细描述,这里不再赘述。
图19是本申请实施例提供的一种网络设备的结构示意图,该网络设备可以应用于诸如图1、图2、图8或图11所示系统所示的系统中,且该网络设备可以为上述实施例提供的CP设备或任一UP设备。例如,该网络设备可以为图14所示的CP设备,或图15所示的第三UP设备,又或者图17所示的第一UP设备,再或者图18所示的第二UP设备。如图19所示,该网络设备可以包括:主控板1001和至少一个接口板(接口板也称为线卡或业务板),例如图19中示出了接口板1002和接口板1003。多个接口板的情况下可以包括交换网板1004,该交换网板1004用于完成各接口板之间的数据交换。
主控板1001也称为主处理单元(main processing unit,MPU)或路由处理卡(route processor card),主控板1001用于完成系统管理、设备维护和协议处理等功能。主控板1001上主要有3类功能单元:系统管理控制单元、系统时钟单元和系统维护单元。主控板1001包括:中央处理器10011和存储器10012。
接口板1002和1003也称为线路接口单元卡(line processing unit,LPU)、线卡(line card)或业务板,接口板用于提供各种业务接口(例如,POS接口、GE接口、ATM接口等),并实现报文的转发。主控板1001、接口板1002以及接口板1003之间通过系统总线与系统背板相连实现互通。接口板1002上包括一个或多个中央处理器10021。中央处理器10021用于对接口板1002进行控制管理并与主控板1001上的中央处理器10011进行通信,以及用于报文的转发处理。接口板1002上的转发表项存储器10024用于存储转发表项,网络处理器10022可以通过查找转发表项存储器10024中存储的转发表项进行报文的转发。
该接口板1002包括一个或多个物理接口卡10023用于接收上一跳节点发送的报文,并根据中央处理器10021的指示向下一跳节点发送处理后的报文。具体实现过程这里不再逐一赘述。所述中央处理器10021的具体功能这里同样不再逐一赘述。
可以理解的是,该CP设备中的发送模块501可以位于接口板1002中,协议交互模块502可以位于主控板1001中。第三UP设备中的接收模块601和发送模块602可以位于接口板1002中,第一UP设备中的接收模块701和发送模块702可以位于接口板1002中,第二UP设备中的接收模块801和发送模块802可以位于接口板1002中,封装模块803可以位于主控板1001中。
还可以理解,如图19所示,本实施例中包括多个接口板,采用分布式的转发机制,这种机制下,接口板1003的结构与接口板1002的结构基本相同,且接口板1003上的操作与所述接口板1002的操作基本相似,为了简洁,不再赘述。
此外,可以理解的是,图19中的接口板1002中的中央处理器10021和/或网络处理器10022可以是专用硬件或芯片,如可以采用专用集成电路来实现上述功能,这种实现方式即为通常所说的转发面采用专用硬件或芯片处理的方式。在另外的实施方式中,所述中央处理器10021和/或网络处理器10022也可以采用通用的处理器,如通用的CPU来实现以上描述的功能。
此外应理解的是,主控板1001可能有一块或多块,有多块的时候可以包括主用主控板和备用主控板。接口板可能有一块或多块,该设备的数据处理能力越强,提供的接口板越多。多块接口板的情况下,该多块接口板之间可以通过一块或多块交换网板通信,有多块的时候可以共同实现负荷分担冗余备份。在集中式转发架构下,该设备可以不需要交换网板,接口板承担整个系统的业务数据的处理功能。在分布式转发架构下,该设备包括多块接口板,可以通过交换网板实现多块接口板之间的数据交换,提供大容量的数据交换和处理能力。所以,分布式架构的网络设备的数据接入和处理能力要大于集中式架构的设备。具体采用哪种架构,取决于具体的组网部署场景,此处不做任何限定。
具体的实施例中,存储器10012和存储器10024可以是只读存储器(read-onlymemory,ROM)或可存储静态信息和指令的其它类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only Memory,CD-ROM)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘或者其它磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。接口板1002中的存储器10024可以是独立存在,并通过通信总线与中央处理器10021相连接;或者,存储器10024也可以和中央处理器10021集成在一起。主控板1001中的存储器10012可以是独立存在,并通过通信总线与中央处理器10011相连接;或者,存储器10012也可以和中央处理器10011集成在一起。
存储器10024用于存储程序代码,并由中央处理器10021来控制执行,存储器10012用于存储程序代码,并由中央处理器10011来控制执行。该中央处理器10021和/或中央处理器10011可以通过执行程序代码来实现上述实施例所提供的应用于第一网络设备或第二网络设备的转发路径的故障感知方法。存储器10024和/或存储器10012存储的程序代码中可以包括一个或多个软件模块。这一个或多个软件模块可以为上述图11或图13所示实施例中提供的功能模块。
具体实施例中,该物理接口卡10023,可以是使用任何收发器一类的装置,用于与其它设备或通信网络通信,如以太网,无线接入网(radio access network,RAN),无线局域网(wireless local area networks,WLAN)等。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当该计算机可读存储介质在计算机上运行时,使得计算机执行如上述方法实施例中由CP设备或任一UP设备执行的步骤。
本申请实施例还提供了一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述方法实施例中由CP设备或任一UP设备执行的步骤。
本申请实施例还提供了一种CP和UP分离的宽带网关接入系统,如图1所示,该宽带网关接入系统包括:CP设备01和多个UP设备02,如图2、图9和图11所示,该多个UP设备02包括第一UP设备UP1,第二UP设备UP2和第三UP设备UP3。第一客户端设备从第一UP设备的用户接口上线。
该CP设备,用于基于第一UP设备的用户接口存在故障,向该第一UP设备发送第一信息,并向第二UP设备发送第一客户端设备的第一会话表项,该第一信息用于指示在第一UP设备的用户接口存在故障的情况下,第二UP设备为第一客户端设备的主用UP设备。
该第一UP设备,用于基于该第一信息,将接收到的发往第一客户端设备的第一业务报文转发至第二UP设备。
该第二UP设备,用于基于该第一会话表项,将第一业务报文发送至第一客户端设备。
可以理解的是,该系统中的CP设备和各个UP设备可以用于实现图4、图5和图7所示实施例提供的报文转发方法。
本申请实施例还提供了另一种CP和UP分离的宽带网关接入系统,如图1所示,该宽带网关接入系统包括:CP设备01和多个UP设备02,如图2、图9和图11所示,该多个UP设备02包括第一UP设备UP1,第二UP设备UP2和第三UP设备UP3。第一客户端设备从第一UP设备的用户接口上线。
该CP设备,用于基于第一UP设备存在故障,分别向第二UP设备和第三UP设备发送第一信息,该第一信息用于指示在第一UP设备存在故障的情况下,第二UP设备为第一客户端设备的主用UP设备。
该第三UP设备,用于基于第一信息,将接收到的发往第一客户端设备的第一业务报文转发至第二UP设备。
该第二UP设备,用于基于该第一信息和第一客户端设备的第一会话表项,将接收到的第一业务报文发送至第一客户端设备。
可以理解的是,该系统中的CP设备和各个UP设备可以用于实现图4和图9所示实施例提供的报文转发方法。
还可以理解的是,上述两个宽带网关接入系统中的CP设备的结构可以参考图14、图18或图19,第三UP设备的结构可以参考图15、图18或图19,第一UP设备的结构可以参考图16、图18或图19,第二UP设备的结构可以参考图17、图18或图19。
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质。半导体介质可以是固态硬盘(solid state drive,SSD)。
本申请中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。还应理解,尽管以下描述使用术语第一、第二等来描述各种元素,但这些元素不应受术语的限制。这些术语只是用于将一元素与另一元素区别分开。
本申请中术语“至少一个”的含义是指一个或多个,本申请中术语“多个”的含义是指两个或两个以上。本文中术语“系统”和“网络”经常可互换使用。
以上所述,仅为本申请的可选实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (28)

1.一种报文转发方法,其特征在于,应用于控制面CP和用户面UP分离的宽带网关接入系统中的CP设备,所述系统还包括第一UP设备,第二UP设备和第三UP设备,第一客户端设备从所述第一UP设备上线;所述方法包括:
基于所述第一UP设备存在故障,向第一目标UP设备发送第一信息,所述第一信息用于指示在所述第一UP设备存在故障的情况下,所述第二UP设备为所述第一客户端设备的主用UP设备,所述第一目标UP设备包括所述第一UP设备,所述第二UP设备和所述第三UP设备中的至少一个。
2.根据权利要求1所述的方法,其特征在于,所述第一目标UP设备包括所述第一UP设备;
或者,所述第一目标UP设备包括所述第二UP设备和所述第三UP设备;
或者,所述第一目标UP设备包括所述第一UP设备、所述第二UP设备和所述第三UP设备。
3.根据权利要求1所述的方法,其特征在于,所述第一UP设备的故障包括:所述第一UP设备的用户接口故障,或者,所述第一UP设备的故障为所述第一UP设备整机故障;其中,所述第一客户端设备从所述第一UP设备的所述用户接口上线。
4.根据权利要求1至3任一所述的方法,其特征在于,所述第一信息与所述第一客户端设备的第一会话表项对应,所述向第一目标UP设备发送第一信息包括:
向所述第一目标UP设备发送第一信息和对应的所述第一会话表项。
5.根据权利要求1至3任一所述的方法,其特征在于,所述方法还包括:
向所述第二UP设备发送所述第一客户端设备的第一会话表项。
6.根据权利要求1至5任一所述的方法,其特征在于,所述方法还包括:
分别向所述第一UP设备,所述第二UP设备和所述第三UP设备发送目标隧道的隧道表项,所述隧道表项中的源地址包括所述第一UP设备的互联网协议IP地址,所述隧道表项用于所述第一UP设备,所述第二UP设备和所述第三UP设备中的任一UP设备与网络设备通过所述目标隧道交互所述第一客户端设备的第一业务报文。
7.根据权利要求6所述的方法,其特征在于,在向第一目标UP设备发送第一信息之后,所述方法还包括:
通过所述第二UP设备与所述网络设备交互所述目标隧道的隧道协议报文,以及所述第一客户端设备的会话协议报文;
其中,所述第二UP设备的所述源地址的路由优先级高于所述第三UP设备的所述源地址的路由优先级。
8.根据权利要求7所述的方法,其特征在于,第二客户端设备从所述第一UP设备上线,且在所述第一UP设备存在故障的情况下,所述第三UP设备为所述第二客户端设备的主用UP设备,在向第一目标UP设备发送第一信息之后,所述方法还包括:
通过所述第三UP设备向所述网络设备发送所述第二客户端设备的会话协议报文;
通过所述第二UP设备接收所述网络设备发送的所述第二客户端设备的会话协议报文。
9.根据权利要求6至8任一所述的方法,其特征在于,所述目标隧道为二层隧道协议L2TP隧道。
10.根据权利要求1至9任一所述的方法,其特征在于,第二客户端设备从所述第一UP设备上线,所述方法还包括:
基于所述第一UP设备存在故障,向第二目标UP设备发送第二信息,所述第二信息用于指示在所述第一UP设备存在故障的情况下,所述第三UP设备为所述第二客户端设备的主用UP设备,所述第二目标UP设备包括所述第一UP设备,所述第二UP设备和所述第三UP设备中的至少一个。
11.根据权利要求1至10任一所述的方法,其特征在于,所述第一UP设备,所述第二UP设备和所述第三UP设备属于一个温备份组。
12.一种报文转发方法,其特征在于,应用于控制面CP和用户面UP分离的宽带网关接入系统中的第三UP设备,所述系统还包括CP设备和第二UP设备,所述方法包括:
接收所述CP设备发送的第一信息,所述第一信息用于指示所述第二UP设备为第一客户端设备的主用UP设备;
接收发往所述第一客户端设备的第一业务报文;
基于所述第一信息,将所述第一业务报文转发至所述第二UP设备。
13.根据权利要求12所述的方法,其特征在于,所述第一信息与所述第一客户端设备的第一会话表项对应,所述接收所述CP设备发送的第一信息包括:
接收所述CP设备发送的第一信息,以及与所述第一信息对应的所述第一会话表项。
14.根据权利要求12或13所述的方法,其特征在于,从所述第一UP设备上线的客户端设备还包括第二客户端设备,所述方法还包括:
接收所述CP设备发送的第二信息和第二客户端设备的第二会话表项,所述第二信息用于指示所述第三UP设备为所述第二客户端设备的主用UP设备;
接收发往所述第二客户端设备的第二业务报文;
基于所述第二信息和所述第二会话表项,将所述第二业务报文发送至所述第二客户端设备。
15.根据权利要求12至14任一所述的方法,其特征在于,所述基于所述第一信息,将所述第一业务报文转发至所述第二UP设备,包括:
基于所述第一信息,将所述第一业务报文通过核心路由器CR转发至所述第二UP设备。
16.一种报文转发方法,其特征在于,应用于控制面CP和用户面UP分离的宽带网关接入系统中的第一UP设备,第一客户端设备从所述第一UP设备的用户接口上线,所述系统还包括CP设备和第二UP设备,所述方法包括:
接收所述CP设备发送的第一信息,所述第一信息是所述CP设备在确定所述第一UP设备的所述用户接口存在故障后发送的,且所述第一信息用于指示在所述第一UP设备的所述用户接口存在故障的情况下,所述第二UP设备为第一客户端设备的主用UP设备;
接收发往所述第一客户端设备的第一业务报文;
基于所述第一信息将所述第一业务报文转发至所述第二UP设备。
17.根据权利要求16所述的方法,其特征在于,从所述第一UP设备的所述用户接口上线的客户端设备还包括第二客户端设备,所述系统还包括第三UP设备,所述方法还包括:
接收所述CP设备发送的第二信息,所述第一信息是所述CP设备在确定所述第一UP设备的所述用户接口存在故障后发送的,且所述第二信息用于指示在所述第一UP设备的所述用户接口存在故障的情况下,所述第三UP设备为所述第二客户端设备的主用UP设备;
接收发往所述第二客户端设备的第二业务报文;
基于所述第二信息将所述第二业务报文转发至所述第三UP设备。
18.一种报文转发方法,其特征在于,应用于控制面CP和用户面UP分离的宽带网关接入系统中的第二UP设备,所述系统还包括CP设备,所述方法包括:
接收所述CP设备发送的第一信息和第一客户端设备的第一会话表项,所述第一信息用于指示所述第二UP设备为第一客户端设备的主用UP设备;
接收发往所述第一客户端设备的第一业务报文;
基于所述第一信息和所述第一会话表项,将所述第一业务报文发送至所述第一客户端设备。
19.根据权利要求18所述的方法,其特征在于,所述系统还包括第三UP设备,所述方法还包括:
接收所述CP设备发送的第二信息,所述第二信息用于指示所述第三UP设备为第二客户端设备的主用UP设备;
接收发往所述第二客户端设备的第二业务报文;
基于所述第二信息,将所述第二业务报文转发至所述第三UP设备。
20.根据权利要求19所述的方法,其特征在于,所述第二信息与所述第二客户端设备的第二会话表项对应,所述接收所述CP设备发送的第二信息,包括:
接收所述CP设备发送的第二信息,以及与所述第二信息对应的所述第二会话表项。
21.根据权利要求18至20任一所述的方法,其特征在于,所述系统还包括第一UP设备,所述第一信息是所述CP设备在确定所述第一UP设备存在故障后发送的,所述第一UP设备存在故障之前,所述第一客户端设备从所述第一UP设备上线;在接收所述CP设备发送的第一信息之后,所述方法还包括:
基于所述CP设备发送的目标隧道的隧道表项,对所述第一客户端设备发送的第三业务报文进行封装,所述隧道表项的源地址为所述第一UP设备的互联网协议IP地址;
将封装后的所述第三业务报文通过所述目标隧道发送至所述网络设备,所述封装后的所述第三业务报文包括所述第一UP设备的IP地址。
22.根据权利要求21所述的方法,其特征在于,所述方法还包括:
通过所述目标隧道向所述网络设备转发来自所述CP设备的所述目标隧道的隧道协议报文,以及所述第一客户端设备的会话协议报文;
向所述CP设备转发来自所述网络设备的所述目标隧道的隧道协议报文,以及所述第一客户端设备的会话协议报文;
其中,所述第二UP设备的所述源地址的路由优先级高于所述系统中的第三UP设备的所述源地址的路由优先级。
23.一种控制面CP设备,应用于CP和用户面UP分离的宽带网关接入系统中,所述CP设备包括:存储器,处理器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至11任一所述的方法。
24.一种用户面UP设备,应用于控制面CP和UP分离的宽带网关接入系统中,所述UP设备包括:存储器,处理器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求12至22任一所述的方法。
25.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行如权利要求1至22任一项所述的方法。
26.一种包含指令的计算机程序产品,其特征在于,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如权利要求1至22任一项所述的方法。
27.一种控制面CP和用户面UP分离的宽带网关接入系统,其特征在于,所述系统包括:CP设备,第一UP设备和第二UP设备,第一客户端设备从所述第一UP设备的用户接口上线;
所述CP设备,用于基于所述第一UP设备的所述用户接口存在故障,向所述第一UP设备发送第一信息,并向所述第二UP设备发送所述第一客户端设备的第一会话表项,所述第一信息用于指示在所述第一UP设备的所述用户接口存在故障的情况下,所述第二UP设备为所述第一客户端设备的主用UP设备;
所述第一UP设备,用于基于所述第一信息,将接收到的发往所述第一客户端设备的第一业务报文转发至所述第二UP设备;
所述第二UP设备,用于基于所述第一会话表项,将所述第一业务报文发送至所述第一客户端设备。
28.一种控制面CP和用户面UP分离的宽带网关接入系统,其特征在于,所述系统包括:CP设备,第一UP设备,第二UP设备和第三UP设备,第一客户端设备从所述第一UP设备上线;
所述CP设备,用于基于所述第一UP设备存在故障,分别向所述第二UP设备和所述第三UP设备发送第一信息,所述第一信息用于指示在所述第一UP设备存在故障的情况下,所述第二UP设备为所述第一客户端设备的主用UP设备;
所述第三UP设备,用于基于所述第一信息,将接收到的发往所述第一客户端设备的第一业务报文转发至所述第二UP设备;
所述第二UP设备,用于基于所述第一信息和所述第一客户端设备的第一会话表项,将接收到的所述第一业务报文发送至所述第一客户端设备。
CN202111638716.0A 2021-12-29 2021-12-29 报文转发方法、设备及系统 Pending CN116418760A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111638716.0A CN116418760A (zh) 2021-12-29 2021-12-29 报文转发方法、设备及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111638716.0A CN116418760A (zh) 2021-12-29 2021-12-29 报文转发方法、设备及系统

Publications (1)

Publication Number Publication Date
CN116418760A true CN116418760A (zh) 2023-07-11

Family

ID=87056503

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111638716.0A Pending CN116418760A (zh) 2021-12-29 2021-12-29 报文转发方法、设备及系统

Country Status (1)

Country Link
CN (1) CN116418760A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116938626A (zh) * 2023-09-12 2023-10-24 新华三技术有限公司 一种客户端漫游的方法、装置及电子设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116938626A (zh) * 2023-09-12 2023-10-24 新华三技术有限公司 一种客户端漫游的方法、装置及电子设备
CN116938626B (zh) * 2023-09-12 2023-12-19 新华三技术有限公司 一种客户端漫游的方法、装置及电子设备

Similar Documents

Publication Publication Date Title
EP3228053B1 (en) Enf selection for nfvi
CN107547402B (zh) 一种转发表生成方法和装置
EP3691185B1 (en) Method for processing message, device, and system
EP3223476B1 (en) Method, system, and apparatus for preventing tromboning in inter-subnet traffic within data center architectures
CN107317768B (zh) 流量调度方法及装置
CN113872845B (zh) 建立vxlan隧道的方法及相关设备
US20230171223A1 (en) Communication Method, CP Device, and NAT Device
US20230345273A1 (en) Fault processing method, control plane network element, steering decision-making network element, and related device
CN113891428A (zh) 网络接入方法、设备及系统
EP4020904B1 (en) Packet transmission method, device, and system
CN116418760A (zh) 报文转发方法、设备及系统
CN116668368A (zh) 报文转发方法、设备及系统
US20230269186A1 (en) Packet Sending Method, Device, and System
US10924397B2 (en) Multi-VRF and multi-service insertion on edge gateway virtual machines
EP3720058B1 (en) Method for configuring private line service, device, and storage medium
JP5573188B2 (ja) 通信システム、及び制御方法
US10931565B2 (en) Multi-VRF and multi-service insertion on edge gateway virtual machines
CN113973072A (zh) 报文发送方法、设备及系统
WO2024109034A1 (zh) 地址分配方法、装置及系统
CN115065660B (zh) Arp代答的优化方法
WO2023088411A1 (zh) 发送指令、信息的方法及装置
CN118075239A (zh) 地址分配方法、装置及系统
WO2022037621A1 (zh) 地址分配方法、设备及系统
US20230018346A1 (en) Dial-up packet processing method, network element, system, and network device
CN116506052A (zh) 时钟同步方法、设备及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication