一种 ac 设备多业务板数据转发方法
【技术领域】
[0001]本发明属于通信领域,具体涉及WLAN接入控制器(简称AC)的数据快速转发的设计,尤其是一种AC设备多业务板数据转发的方法。
【背景技术】
[0002]在WLAN无线局域网络中,一般由STA (用户终端)、AP (无线接入点)、AS (认证服务器)和AC (接入控制器)组成。AC是无线网络的核心,AC与AP之间采用以太网连接(可以使用二层网络或三层网络)。在WLAN集中式组网中,AP只负责信号的接收与发送,而AC需要完成AP设备配置管理、无线用户的认证、访问、带宽、切换、安全等控制功能,还需要监控STA的关联、接入、业务数据和计费。
[0003]目前,在AC的数据转发机制中,所有的数据都汇聚到一块业务板进行集中处理,随着WLAN接入用户的不断增加与访问数据量的增大,一块业务板的处理能力及其稳定性成为整个系统的瓶颈。
[0004]本发明通过设计一种多业务板的数据转发机制,可以提高AC的吞吐量与转发效率,保证网络传输的稳定性。
【发明内容】
[0005]本发明的目的在于克服上述现有技术的缺点,提供一种AC设备多业务板数据转发方法。
[0006]本发明的目的是通过以下技术方案来解决的:
[0007]这种AC设备多业务板数据转发方法,由主控板对用户数据、路由表、二三层转发表与各业务板相关的信息实时同步到相应的业务板,由相应业务板对数据进行处理,减轻主控板的处理负担,提高AC整体转发效率,实现系统的平滑扩容。
[0008]进一步,以上具体包括以下步骤:
[0009]I)通过CAPWAP和AICP协议将N个AP均匀分配给系统的多个业务板;
[0010]2)收到数据的第一步处理是统计入口流量,反之发送数据包的最后一步处理是统计出口流量;
[0011 ] 3) VLAN模块对接收/发送的报文进行VLAN过滤,根据端口的VLAN配置决定是否接收/发送数据包;
[0012]4.)对于非隧道报文,数据将直接发往桥模块处理或者直接从桥模块发送到VLAN丰吴块;
[0013]5)对于隧道报文,数据会被隧道模块处理,剥离或者添加隧道头,然后在发送到桥模块或者VLAN模块;
[0014]6)数据到达桥模块后,根据目的MAC决定报文的下一步走向;广播报文和发往系统本身的报文将被送到三层模块处理。其余报文查找二层表转发;对于不在二层表中的报文或者广播报文,将被洪泛到除自身端口以外的其它端口 ;
[0015]7)数据在进入三层模块前,将根据虚接口的VLAN配置再次进行VLAN过滤;
[0016]8)三层处理中,广播报文与非IP报文将直接发送给转发模块处理。其余报文查找三层表转发。对于不在三层表中的报文,发往转发模块处理。
[0017]进一步,对于AC配置N块业务板的情形,其中N〉I,通过静态配置选择其中一块业务板作为主控板,或采用动态发现和协商机制确定其中一块业务板作为主控板;由主控板负责业务板控制管理和终端状态数据的读取,包括业务板配置数据分发、业务板状态控制、业务板版本控制;最终,通过AICP协议将多个业务板融为一个整体,实现数据快速转发。
[0018]上述AICP协议采用集中式管理机制,提供统一的板间通信机制以适用于不同硬件平台和系统架构。
[0019]本发明通过设计一种多业务板的数据转发机制,可以提高AC的吞吐量与转发效率,保证网络传输的稳定性。
【附图说明】
[0020]图1:AC业务板数据转发处理流程;
[0021]图2:AICP协议通信模型;
[0022]图3:AICP协议报文封装;
[0023]图4:二层数据处理流程;
[0024]图5:二层数据发送流程;
[0025]图6:非单播报文处理;
[0026]图7:单播报文处理。
【具体实施方式】
[0027]本发明的AC设备多业务板数据转发方法,由主控板对用户数据、路由表、二三层转发表与各业务板相关的信息实时同步到相应的业务板,由相应业务板对数据进行处理,减轻主控板的处理负担,提高AC整体转发效率,实现系统的平滑扩容。
[0028]对于AC配置N块业务板的情形,其中N〉I,通过静态配置选择其中一块业务板作为主控板,或采用动态发现和协商机制确定其中一块业务板作为主控板;由主控板负责业务板控制管理和终端状态数据的读取,包括业务板配置数据分发、业务板状态控制、业务板版本控制;最终,通过AICP协议将多个业务板融为一个整体,实现数据快速转发。所述AICP协议采用集中式管理机制,提供统一的板间通信机制以适用于不同硬件平台和系统架构。
[0029]本发明具体包括以下步骤:
[0030]I)通过CAPWAP和AICP协议将N个AP均匀分配给系统的多个业务板;
[0031]2)收到数据的第一步处理是统计入口流量,反之发送数据包的最后一步处理是统计出口流量;
[0032]3) VLAN模块对接收/发送的报文进行VLAN过滤,根据端口的VLAN配置决定是否接收/发送数据包;
[0033]4.)对于非隧道报文,数据将直接发往桥模块处理或者直接从桥模块发送到VLAN丰吴块;
[0034]5)对于隧道报文,数据会被隧道模块处理,剥离或者添加隧道头,然后在发送到桥模块或者VLAN模块;
[0035]6)数据到达桥模块后,根据目的MAC决定报文的下一步走向;广播报文和发往系统本身的报文将被送到三层模块处理。其余报文查找二层表转发;对于不在二层表中的报文或者广播报文,将被洪泛到除自身端口以外的其它端口 ;
[0036]7)数据在进入三层模块前,将根据虚接口的VLAN配置再次进行VLAN过滤;
[0037]8)三层处理中,广播报文与非IP报文将直接发送给转发模块处理。其余报文查找三层表转发。对于不在三层表中的报文,发往转发模块处理。
[0038]下面结合附图对本发明做进一步详细描述:
[0039]参见图1-图7:各业务板通过AICP协议协同工作,实现数据快速转发。数据转发过程包括二层转发和三层转发。
[0040]AICP 协议
[0041]AICP协议报文封装在以太网报文中,采用双路C/S结构通信模型,如图2所示。AICP使用以太网类型0x8090和0x8091区分两路通信,以简化通信过程。其中类型0x8090用于aicpd配置参数下发和状态信息请求;类型0x8091用于aicpc的主控板发现和探测。AICP报文格式如图3所示。主控板与业务版软件接口如图4所示,AICP主要包括以下两个方面的功能:
[0042]I)主控板和业务板的管理和控制:用于实现主控板的发现和协商、主控板的动态检测等功能;
[0043]2)控制平面数据交互:用于实现下发用户配置信息、响应状态请求等功能;
[0044]— )主控板
[0045]主控板AICP守护进程AICPD工作在SERVER模式。AICPD进程接收其它模块的配置请求,将配置请求发到业务板上,同时可以读取业务板的状态信息。配置请求采用Linux消息队列实现,配置参数或数据通过消息队列或共享内存方式传递。
[0046]主控板监测所有业务板的运行状态,将加入和离开的业务板信息通知给CAPWAP协议管理模块。AICPD进程完成如下工作:
[0047]1.启动时从configserver读取所有需要的配置信息;
[0048]2.接收业务板的Discovery请求,记录业务板相关信息;
[0049]3.接收 configserver/CAPWAP/web_auth 消息通知,更新配置信息;
[0050]4.分配和记录业务板数据通道IP地址,并通知CAPWAP协议管理模块;
[0051]5.监测业务板是否失效,回收失效业务板的系统资源;
[0052]6.设置和读取业务板的配置和状态信息;
[0053]二 )业务板
[0054]业务板的AICPC工作在CLIENT模式。首先发起业务板发现请求,请求加入同一工作组中;然后接收主控板的配置请求。当业务板主动发送请求后,没有收到响应,则会重启发现请求和加入操作。接收主控板的配置请求,AICPC将配置参数写入共享内