一种报文处理方法及装置与流程

文档序号:13240468阅读:104来源:国知局
技术领域本申请涉及通信技术,尤其涉及一种报文处理方法及装置。

背景技术:
在超大型的无线局域网(WLAN)组网中,接入点(AccessPoint,AP)数量通常为几千甚至几万台。接入控制器(AccessController,AC)作为无线网络的核心管理设备,在这种超大型网络中通常会采用机框式设备,并根据实际组网的需要配以若干个大容量的分布式业务板。对于AC而言,所有报文都是通过AC的接口板进入AC的,如图1A所示,在接口板上对上行报文和下行报文进行识别并引导到指定的业务板进行处理,以实现上、下行报文在多个业务板上的负载均衡。其中,上行报文是指AP发往AC的无线接入点的控制和配置协议(ControlAndProvisioningofWirelessAccessPointsProtocolSpecification,CAPWAP)隧道封装报文,包括CAPWAP控制报文和CAPWAP数据报文;下行报文是指服务器发往终端(Station,STA)的报文。具体地,上行报文的负载均衡方法可以为:在AP与AC关联上线时,AC的主控板为不同的AP指定不同的业务板,并将不同的AP对应的访问控制列表(AccessControlList,ACL)规则下发到所有接口板。后续,AC的接口板(如图1中的接口板1)接收到来自AP(如图1中的AP1)的上行报文后,对上行报文进行ACL匹配,并根据匹配结果将上行报文发送至为AP指定的业务板(如图1中的业务板2)进行处理。如果AP在所有的业务板上是均匀分布的,就可以认为针对AP的上行报文在所有业务板上是均衡负载的。但是,在上述负载均衡过程中,AC针对每个AP均要生成两条ACL规则(分别适用于CAPWAP控制报文和CAPWAP数据报文),并下发到所有接口板中。在这种超大规模无线组网中,接口板上要被占用的ACL规则数量较多,导致消耗较多的硬件资源。

技术实现要素:
有鉴于此,本申请提供一种报文处理方法及装置。具体地,本申请是通过如下技术方案实现的:根据本发明实施例的第一方面,提供一种报文处理方法,所述方法应用于AC上,所述方法包括:接收来自AP的上行报文,并根据所述上行报文中指定字段中的信息匹配预设的ACL规则,得到所述AC为所述AP分配的虚拟AC,所述虚拟AC为所述AC预先创建的;根据所述虚拟AC,查询预存的虚拟AC和所述AC的业务板的对应关系,获得所述虚拟AC对应的业务板,并通过获得的业务板处理所述上行报文。根据本发明实施例的第二方面,提供一种报文处理装置,所述装置应用于AC上,所述装置包括:接收匹配模块,用于接收来自AP的上行报文,并根据所述上行报文中指定字段中的信息匹配预设的ACL规则,得到所述AC为所述AP分配的虚拟AC,所述虚拟AC为所述AC预先创建的;查询处理模块,用于根据所述接收匹配模块得到的所述虚拟AC,查询预存的虚拟AC和所述AC的业务板的对应关系,获得所述虚拟AC对应的业务板,并通过获得的业务板处理所述上行报文。在本申请实施例中,通过引入虚拟AC,使得AC在接收到上行报文后可以匹配到对应的ACL规则,并得到AC为所述AP分配的虚拟AC,然后通过查询虚拟AC与业务板的对应关系获得对应的业务板,从而可以通过获得的业务板处理上行报文,由于在整个实现过程中使用的ACL规则数量仅为虚拟AC数量的两倍,有效减少了ACL规则数量,因此,可以大大降低消耗的ACL硬件资源。附图说明图1A是一种传统的WLAN组网示意图;图1B是本申请一示例性实施例示出的一种报文处理方法的流程图;图2是本申请一示例性实施例示出的一种AC的结构示意图;图3是本申请一示例性实施例示出的另一种报文处理方法的流程图;图4是本申请一示例性实施例示出的另一种报文处理方法的流程图;图5是本申请一示例性实施例示出的另一种报文处理方法的流程图;图6是本申请一示例性实施例示出的另一种报文处理方法的流程图;图7是本申请一示例性实施例示出的另一种AC的结构示意图;图8是本申请一示例性实施例示出的一种报文处理装置的框图;图9是本申请一示例性实施例示出的另一种报文处理装置的框图;图10是本申请一示例性实施例示出的另一种报文处理装置的框图;图11是本申请一示例性实施例示出的另一种报文处理装置的框图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。在本申请实施例中,通过引入虚拟AC(virtlalAC,VAC),使得用于实现上报文负载均衡的ACL规则的数量由成百上千条(即AP数量的两倍)降低至VAC数量的两倍,即有效地减少了ACL规则的数量。虽然在负载均衡处理流程中增加了一个VAC-业务板对应关系,但是表项的数量很少,对硬件资源造成的消耗基本可以忽略。下面结合具体实施例对本申请的实现过程进行详细描述。图1B是本申请一示例性实施例示出的一种报文处理方法的流程图,该实施例从AC侧进行描述,且描述的是上行报文负载均衡的过程。如图1B所示,该报文处理方法包括:步骤S101,接收来自AP的上行报文,并根据上行报文中指定字段中的信息匹配预设的ACL规则,得到AC为AP分配的虚拟AC,该虚拟AC为AC预先创建的。其中,上行报文可以包括上行CAPWAP控制报文和上行CAPWAP数据报文。上行报文中的指定字段可以为CAPWAP头部当前未被使用的预留字段,也可以为其他自定义字段。在该实施例中,通过引入VAC,可以根据VAC的数量生成多条ACL规则,该ACL规则中包含虚拟AC的标识信息例如虚拟AC的编号。假设,当前AC的结构如图2所示,在图2所示的AC内可以建立32个VAC,则AC的主控板可以根据VAC的数量(即32个)生成64条ACL规则,即每个VAC对应2条ACL规则,用于对上行报文的负载均衡。其中,每个VAC对应的2条ACL规则分别为:(1)针对上行CAPWAP控制报文的ACL规则,其内容可以是:如果报文的目的端口号为第一端口号,并且CAPWAP控制报文中指定字段中的信息为VAC的编号,则将报文重定向到与该编号对应的VAC上,此VAC即是AC为发送CAPWAP控制报文的AP分配的VAC。(2)针对上行CAPWAP数据报文的ACL规则,其内容是:如果报文的目的端口号为第二端口号,并且CAPWAP数据报文中指定字段中的信息为VAC的编号,则将报文重定向到与该编号对应的VAC上,此VAC即是AC为发送CAPWAP数据报文的AP分配的VAC。在该实施例中,由于AP发送的上行报文的指定字段中携带有VAC的编号,而ACL规则中也包含VAC的编号,因此,AC可以根据指定字段中的信息(即VAC的编号)匹配到对应的ACL规则。AC在匹配到对应的ACL规则后,可以根据ACL规则的内容,得到AC为AP分配的虚拟AC。步骤S102,根据得到的虚拟AC,查询预存的虚拟AC和AC的业务板的对应关系,获得虚拟AC对应的业务板,并通过获得的业务板处理上行报文。由于AC中预存有虚拟AC和AC的业务板的对应关系(即VAC-业务板对应关系),因此,可以通过查询该对应关系来获得与虚拟AC对应的业务板,并通过获得的业务板处理上行报文,例如通过获得的业务板转发上行报文。另外,图2所示AC中建立的VAC数量仅为示例,在实际应用中可以根据需要灵活设置VAC的数量,需要说明的是,虚拟AC的数量越大,上行报文负载均衡的效果越好,但是同时消耗的硬件资源也越多,反之消耗的硬件资源少,但是上行报文的负载均衡效果会变差。上述报文处理方法实施例,通过引入虚拟AC,使得AC在接收到上行报文后可以匹配到对应的ACL规则,并得到AC为AP分配的VAC,然后通过查询VAC与业务板的对应关系获得对应的业务板,从而可以通过获得的业务板处理上行报文,由于在整个实现过程中使用的ACL规则数量仅为VAC数量的两倍,有效减少了ACL规则数量,因此,可以大大降低消耗的ACL硬件资源。图3是本申请一示例性实施例示出的另一种报文处理方法的流程图,如图3所示,在步骤S101之前,该报文处理方法还可以包括:步骤S100,将预先创建的多个虚拟AC均衡分配到AC的所有业务板上,并生成及保存虚拟AC和AC的业务板的对应关系。以图2所示AC为例,AC在启动时,可以将32个虚拟AC(即VAC1~VAC32)默认依次编号为1~32,并将它们均衡分配到所有的业务板上。由于当前AC机框内插入4个业务板(即AC1~AC4),则每块业务板上会依附8个虚拟AC。AC的主控板可以根据当前虚拟AC和业务板间的依附关系在每个接口板上建立一个VAC-AC的业务板的对应关系,图2所示AC的接口板上建立的对应关系包含32个表项。上述报文处理方法实施例,通过生成并保存虚拟AC和业务板的对应关系,为后续查询到虚拟AC对应的业务板提供了条件,从而为后续实现上行报文负载均衡提供了条件。图4是本申请一示例性实施例示出的另一种报文处理方法的流程图,如图4所示,在步骤S101之前,该报文处理方法还可以包括:步骤S401,在接收到AP发送的发现请求报文时,从预先创建的多个虚拟AC中选择一个虚拟AC分配给AP。在该实施例中,可以根据虚拟AC的数量生成多条ACL规则,其中,生成的ACL规则的数量为虚拟AC数量的两倍。在该实施例中,AP在与AC关联上线过程中,当AC收到AP发来的CAPWAP发现(Discover)请求报文后,可以根据负载均衡规则为该AP分配一个虚拟AC。步骤S402,将虚拟AC的标识信息携带在发现响应报文中,并发送给AP,以使AP将虚拟AC的标识信息携带在上行报文中的指定字段中。AC在为该AP分配虚拟AC之后,在向AP回应的CAPWAPDiscover响应报文中携带分配给该AP的虚拟AC的编号。假设,AP1关联上线,为其分配的虚拟AC为VAC1,则在Discover响应报文中携带AP1上线的虚拟AC编号为1。这样,AP1可以将后续发送的上行报文的指定字段中携带该虚拟AC的编号。上述报文处理方法实施例,通过为AP分配并返回一个虚拟AC,使得AP可以将虚拟AC的标识信息携带在上行报文中的指定字段中,从而为后续实现上行报文的负载均衡提供了条件。图5是本申请一示例性实施例示出的另一种报文处理方法的流程图,该实施例从AC侧进行描述,且描述的是下行报文负载均衡的过程。如图5所示,该报文处理方法可以包括:步骤S501,接收来自服务器的下行报文,并根据下行报文的目的地址匹配预设的转发表项,得到下行报文的目的终端对应的虚拟AC。在该实施例中,转发表项可以包括二层转发表项及三层转发表项。二层转发表项的内容为:如果目的MAC地址=STA的MAC地址,则报文重定向到该STA对应的虚拟AC。三层转发表项的内容为:如果目的IP地址=STA的IP地址,则报文重定向到该STA对应的虚拟AC。当AC接收到服务器(例如Internet服务器、内网服务器等)发给STA的下行报文时,可以根据下行报文中携带的STA的MAC地址匹配到对应的二层转发表项,或者根据下行报文中携带的STA的IP地址匹配到对应的三层转发表项。在匹配到对应的转发表项之后,可以根据匹配到的转发表项得到下行报文的目的终端对应的虚拟AC,此目的终端的地址即为下行报文的目的地址。步骤S502,根据目的终端对应的虚拟AC查询对应关系,获得目的终端对应的虚拟AC所对应的业务板,并通过当前获得的业务板处理下行报文。由于AC的接口板上预存有虚拟AC和业务板的对应关系,因此,可以通过查询该对应关系来获得与虚拟AC对应的业务板,并通过当前获得的业务板处理下行报文,例如,由该业务板向该STA的关联AP发送下行报文,进而由关联AP向STA发送下行报文。上述报文处理方法实施例,通过引入虚拟AC,使得AC可以根据匹配到的转发表项得到对应的VAC,然后通过查询VAC与业务板的对应关系获得对应的业务板,从而可以通过当前获得的业务板处理下行报文,即可以实现下行报文的负载均衡。另外,在现有的负载均衡方案中,当某块业务板发生故障或者无线服务需要切换到其他备份的业务板上时,故障业务板原来负责的AP及STA也会随之切换到其他备份业务板上,而所有相关的ACL规则和二三层转发表项需要重新生成并下发到接口板。由于相关的ACL规则和二三层转发表项数量比较大,因此,重新下发的过程通常会持续几秒甚至几十秒,这必然造成期间发生切换的无线业务的中断,影响用户体验。为了解决上述无线业务中断的问题,本申请实施例提供了一种解决方案,如图6所示,该报文处理方法可以包括:步骤S601,若检测到AC的业务板出现故障,则将故障业务板上的虚拟AC分配到任一其他业务板上,或者将故障业务板上的虚拟AC均衡分配到其他业务板上。在该实施例中,当某块业务板发生故障,假设为图2中的业务板1发生故障,则为了保证无线业务的不间断性,可以将业务板1的虚拟AC分配到其他业务板上。具体的切换方式可以为整体分配,即业务板1上承载的所有虚拟AC同时分配到另一块业务板;也可以均衡分配,即业务板1上承载的所有虚拟AC均衡分配到其他业务板上。具体采用哪种分配方式可以根据需要确定。假设,该实施例中采用的是均衡分配,即将原来业务板1上的所有虚拟AC均衡分配到AC2、AC3及AC4上,图7示出了将原来业务板1上依附的虚拟AC均衡切换到AC2、AC3及AC4上的示意图。步骤S602,更新虚拟AC和业务板的对应关系。以图7为例,VAC1原来的VAC-业务板对应关系为“如果VAC=VAC1,则AC=AC1”,切换更新后的VAC-AC表项为“如果VAC=VAC1,则AC=AC2”,VAC2~VAC7对应的表项修改以此类推,此处不赘述。在更新好VAC-业务板对应关系之后,无线流量的切换就完成了,后续的上行报文或下行报文就可以被引流到新的业务板上,并由新的业务板处理报文。由上面描述的切换过程可知,接口板上原有的ACL规则及二三层转发表项保持不变,只需要更新相关的若干个VAC-AC业务板的对应关系就可以实现流量的切换。另外,由于接口板上更新的VAC-AC业务板的对应关系数量很少,因此用于更新这些对应关系所消耗的时间可以忽略,整个过程基本可以达到瞬时切换,无线流量几乎无中断。上述报文处理方法实施例,可以极大地减少业务板故障导致的业务切换时延,从而保证网络无线流量的不间断。与前述报文处理方法的实施例相对应,本申请还提供了报文处理装置的实施例。图8是本申请一示例性实施例示出的一种报文处理装置的框图,该装置可应用于AC上,如图8所示,该报文处理装置包括:接收匹配模块81和查询处理模块82。接收匹配模块81用于接收来自AP的上行报文,并根据上行报文中指定字段中的信息匹配预设的ACL规则,得到AC为AP分配的虚拟AC,虚拟AC为AC预先创建的。查询处理模块82用于根据接收匹配模块81得到的虚拟AC,查询预存的虚拟AC和AC的业务板的对应关系,获得虚拟AC对应的业务板,并通过获得的业务板处理上行报文。在另一实施例中,接收匹配模块81还可以用于接收来自服务器的下行报文,并根据下行报文的目的地址匹配预设的转发表项,得到下行报文的目的终端对应的虚拟AC。查询处理模块82还可以用于根据目的终端对应的虚拟AC查询对应关系,获得目的终端对应的虚拟AC所对应的业务板,并通过当前获得的业务板处理下行报文。参见图9,是本申请一示例性实施例示出的一种报文处理装置的框图,该实施例在前述图8所示实施例的基础上,该装置还可以包括:分配生成保存模块83。分配生成保存模块83用于在接收匹配模块81接收来自AP的上行报文之前,将预先创建的多个虚拟AC均衡分配到AC的所有业务板上,并生成及保存对应关系。参见图10,是本申请一示例性实施例示出的一种报文处理装置的框图,该实施例在前述图8所示实施例的基础上,该装置还可以包括:接收分配模块84和发送模块85。接收分配模块84用于在接收匹配模块81接收来自AP的上行报文之前,在接收到AP发送的发现请求报文时,从预先创建的多个虚拟AC中选择一个虚拟AC分配给AP;发送模块85用于将虚拟AC的标识信息携带在发现响应报文中,并发送给AP,以使AP将虚拟AC的标识信息携带在上行报文中的指定字段中。参见图11,是本申请一示例性实施例示出的另一种报文处理装置的框图,该实施例在前述图8所示实施例的基础上,该装置还可以包括:检测分配模块86和更新模块87。检测分配模块86用于若检测到AC的业务板出现故障,则将故障业务板上的虚拟AC分配到任一其他业务板上,或者将故障业务板上的虚拟AC均衡分配到其他业务板上。更新模块87用于更新对应关系。对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。上述报文处理装置实施例,通过引入虚拟AC,使得AC在接收到上行报文后可以匹配到对应的ACL规则,并得到AC为AP分配的VAC,然后通过查询VAC与业务板的对应关系获得对应的业务板,从而可以通过获得的业务板处理上行报文,由于在整个实现过程中使用的ACL规则数量仅为VAC数量的两倍,有效减少了ACL规则数量,因此,可以大大降低消耗的ACL硬件资源,另外,可以在业务板发生故障时实现快速切换,确保上、下行报文处理不中断。以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1