基于ATCA的多业务处理系统及方法
技术领域
本发明涉及电信网络服务及网络应用技术领域,尤其涉及一种基于ATCA的多业务处理系统及方法。
背景技术
ATCA(Advanced Telecom Computing Architecture,先进的电信计算平台)广泛应用于电信、航天、工业控制、医疗器械、智能交通、军事装备等领域,为融合通信及数据网络应用提供高性能、高可靠性、基于模块化结构的、兼容的、并可扩展的硬件构架。
当前,电信网络服务飞速发展,用户需要更多更新的服务,单一业务处理无法满足新一代互联网和电信服务,多业务处理已经成为计算机和电信网络处理设备中的普遍需求。多业务处理需要有延时和带宽的保证。集群设备(如LVS)虽能保证拓展性,但无法提供低延时保证。多业务处理还需要系统具备足够灵活性,但目前的多业务处理系统在满足灵活性的同时却以很高的成本为代价。设备堆叠会造成管理和更新的代价大幅上升。
发明内容
本发明的目的是提供一种基于ATCA的多业务处理处理系统及方法,该方法及系统能实现高效灵活的多业务处理,可克服现有技术的不足。
为实现上述目的,本发明采用如下技术方案。
本发明提供的一种基于ATCA的多业务处理系统,该系统包括:TCA平台,用于提供网络处理卡、业务处理卡及系统管理卡的机箱插槽,及背板上的数据交换网络和控制交换网络;网络处理卡,用于提供多个外部网络接口,根据接收的来自系统管理卡的管理信息,经由所述数据交换网络调度从所述外部网络接口输入的业务请求网包至业务处理卡,并将所述业务处理卡返回的网包经由所述外部网络接口发送至目的地址;业务处理卡,每块业务处理卡用于处理一项具体的业务,接收经由所述数据交换网络的来自所述网络处理卡的业务请求网包,将处理后的网包经由所述数据交换网络发送回所述网络处理卡,以及周期性地经由所述控制交换网络向系统管理卡汇报其当前业务功能及与所述数据交换网络接口的网卡的MAC地址;系统管理卡,用于监控所述控制交换网络上的所述业务处理卡汇报的业务功能及其与所述数据交换网络接口的网卡的MAC地址信息,建立并维护与所述业务功能及MAC地址对应的业务信息表,当所述业务信息表发生变化时,经由所述控制交换网络向所述网络处理卡发送管理信息更新所述业务信息表。
其中,所述ATCA平台还提供电源、风扇。
本发明还提供了一种基于上述的基于ATCA的多业务处理系统的多业务处理方法,该方法包括步骤:
S1.网络处理卡提取接收的网包的五元组信息、输入端口信息、源MAC地址;
S2.根据所述五元组信息、源MAC地址、以及来自系统管理卡的管理信息,索引目的地址相关的会话表项;S3.根据索引的会话表项确定下一跳目标信息,重新封装所述网包并将其发送至所述下一跳目标。
其中,所述五元组信息包括:源IP地址、目标IP地址、源端口、目标端口、四层协议。
其中,所述会话表项包含:作为用于索引会话表项的哈希关键字的源IP地址、目标IP地址、源端口、目标端口、传输层协议、源MAC地址信息;以及用于转发重新封装的网包的下一跳目标MAC地址。
其中,步骤S2进一步包括:
S2.1网络处理卡根据所述输入端口信息判断所述网包来自系统内部或通过外部网络接口来自外部网络,若来自外部网络,执行步骤S2.2,若来自系统内部则执行步骤S2.3;
S2.2将源MAC地址设为0xFFFFFFFFFFFF;
S2.3以所述源MAC地址及五元组信息作为哈希关键字,生成哈希值;
S2.4用所述哈希值索引会话表中最终发送的外部接口及下一跳目标相关的会话表项;
S2.5若所述会话表项不存在,则执行步骤S2.6,否则执行步骤S3;
S2.6对所述网包进行五元组规则查找,根据查找结果确定所需的服务,根据路由查找确定最终发送的外部接口及下一跳目标MAC地址;
S2.7根据所需的服务及所述管理信息确定所述网包依次要去的K个业务处理卡的MAC地址,记为MAC_1,MAC_2,...,MAC_K;
S2.8设MAC_0为0xFFFFFFFFFFFF,设MAC_K+1为所述网包目标IP地址经路由查找得到的下一跳目标的MAC地址,依次以MAC_k为源MAC地址,结合所述网包的正向五元组作为哈希关键字,以MAC_k+1为下一跳目标MAC地址,生成K+1个新建表项;再设MAC_k+1为所述网包源IP地址经路由查找得到的下一跳目标MAC地址,依次以MAC_k为源MAC地址,结合所述网包的反向五元组作为哈希关键字,以MAC_k+1为下一跳目标MAC地址,生成K+1个新建表项,其中,0≤k≤K;
S2.9将步骤S2.8生成的全部2K+2哈希关键字依次进行哈希运算得到每个新建表项的索引,将所述新建表项按其索引加入会话表,继续执行步骤S3。
其中,步骤S2.9中,使用线性解冲突方法解决将新建表项引入会话表时可能出现的冲突。
其中,所述管理信息为由系统管理卡根据业务处理卡以设定周期经由所述控制交换网络发送的其自身的信息建立的业务卡信息表,所述信息表表项包括:业务功能、MAC地址、超时计数,所述系统管理卡每收到业务处理卡发送的信息时,更新相应的表项内容,并将超时计数清零;当所述设定周期内业务处理卡未发送其自身信息,则删除该业务处理卡对应的表项;当出现表项的添加或删除时,所述系统管理卡通知网络处理卡更新业务卡信息表。
本发明的方法及系统利用多板卡设计,分离网络处理和业务处理,通过一整套完整的策略路由方法,实现了高效灵活的多业务处理,且成本低,管理、更新容易,可广泛用于基于ATCA设备的网络业务服务平台,包括防火墙设备、入侵防御设备、内容过滤设备、网络计费设备、流量整形设备等。
附图说明
图1为依照本发明一种实施方式的基于ATCA的多业务处理系统结构示意图;
图2为依照本发明一种实施方式的多业务处理方法流程图;
图3为依照本发明一种实施方式的多业务处理方法中目的地址索引的方法流程图。
具体实施方式
本发明提出的基于ATCA的多业务处理系统及方法,结合附图和实施例说明如下。
如图1所示,依照本发明一种实施方式的基于ATCA的多业务处理系统,该系统包括:
ATCA平台,用于提供网络处理卡、业务处理卡及系统管理卡的机箱插槽,电源,风扇及各背板间的交换网络,其中,交换网络包括相互独立的数据交换网络和控制交换网络,所有的业务数据流量在数据交换网络中传输,所有的系统控制流量在控制交换网络中传输。
网络处理卡,用于提供多个外部网络接口,根据接收的来自系统管理卡的管理信息,通过数据交换网络调度从外部网络接口输入的业务请求至业务处理卡进行处理,经业务处理卡处理后的网包,回到网络处理卡,并最终由网络处理卡经由系统外部网络接口发送至目的地址。网络处理卡接收来自系统管理卡的管理信息,用以在多业务处理卡中正确的转发网包。
业务处理卡,每块业务处理卡用于负责一项具体的业务处理,接收经由数据交换网络的来自网络处理卡的业务请求后进行业务处理,之后将处理后的网包经由数据交换网络发送回网络处理卡。业务处理卡同时需以设定的周期经由控制交换网络向系统管理卡汇报其当前业务功能及与数据交换网络接口的网卡的MAC地址。
系统管理卡,用于监控控制交换网络上的业务处理卡汇报的业务功能及数据交换网络网络网卡的MAC地址信息,建立并维护业务功能及MAC地址信息对应的业务信息表,当业务信息表发生变化时,经由控制交换网络向网络卡发送管理信息更新业务信息表。
如图2所示,本发明还提供了一种基于上述的基于ATCA的多业务处理系统的多业务处理方法,该方法包括步骤:
S1.网络处理卡提取接收的网包的五元组信息、输入端口信息、源MAC地址,其中,五元组信息包括源IP地址、目标IP地址、源端口、目标端口、四层协议;
S2.根据五元组信息、源MAC地址、以及来自系统管理卡的管理信息,索引目的地址相关的会话表项;
每个会话表项包含:源IP地址,目标IP地址,源端口,目标端口,传输层协议,源MAC地址信息,下一跳目标MAC地址。其中,前6项信息作为哈希key用来索引表项,第7项用于重新封装的网包的转发。
S3.根据当前索引到的会话表项确定下一跳目标信息,重新封装并发送网包至下一跳目标。
其中,如图3所示,步骤S2进一步包括:
S2.1网络处理卡根据输入端口信息判断网包来自系统内部网络或外部网络,若来自外部网络,执行步骤S2.2,若来自系统内部则执行步骤S2.3;
S2.2将源MAC地址设为0xFFFFFFFFFFFF;
S2.3以源MAC地址及五元组信息作为哈希key(共104+48+152bit),生成M比特哈希值;
S2.4用M比特哈希值索引会话(session)表中最终发送的外部接口及下一跳目标相关的会话表项;
S2.5若要索引的相关会话表项不存在,则执行步骤S2.6,否则执行步骤S3;
S2.6对该网包进行五元组规则查找,根据查找结果确定所需的服务,根据路由查找确定最终发送的外部端口及下一跳目标MAC地址;
S2.7根据所需的服务及所述管理信息确定所述网包依次要去的K个业务处理卡的MAC地址,记为MAC_1,MAC_2,...,MAC_K;
S2.8设MAC_0为0xFFFFFFFFFFFF,设MAC_K+1为所述网包目标IP地址经路由查找得到的下一跳目标的MAC地址,依次以MAC_k为源MAC地址,结合所述网包的正向五元组作为哈希关键字,以MAC_k+1为下一跳目标MAC地址,生成K+1个新建表项;再设MAC_k+1为所述网包源IP地址经路由查找得到的下一跳目标MAC地址,依次以MAC_k为源MAC地址,结合所述网包的反向五元组作为哈希关键字,以MAC_k+1为下一跳目标MAC地址,生成K+1个新建表项,其中,0≤k≤K;
S2.9将步骤S2.8生成的全部2K+2哈希key依次进行哈希运算得到每个新建表项的索引,将新建表项按其索引加入会话表,使用线性解冲突方法解决将新建表项引入会话表时可能出现的冲突,然后继续执行步骤S3。
系统管理方法执行板卡管理,用于系统板卡监控,为网络处理卡提供当前业务处理卡的相关信息,并负责部署网络处理卡上的业务策略。系统管理卡随系统启动而启动,设其与控制交换网络的接口IP为cp_ip,系统管理卡在内部控制网络上开放UDP监听端口(端口号为cp_port)监听UDP网包。新的业务处理卡接入该系统时,主动向cp_ip上的cp_port端口周期性(每隔S秒)发送UDP网包,网包内容包含本业务处理卡的业务处理功能及与数据交换网络接口的网卡MAC地址。系统管理卡维护一张线性表(业务卡信息表),每个表项内容为:“业务功能,MAC地址,超时计数”。当收到业务处理卡发来的UDP网包时,更新相应表项,并将超时计数清零。当超时发生时,即在设定的周期内未收到某业务处理卡发送的网包,删除该业务处理卡对应的表项。在表项出现添加或删除操作后,通知网络处理卡更新业务卡信息表。网络管理卡收到更新信息后,从网络共享文件系统读取系统管理卡维护的业务卡信息表,并将其写入自己的本地内存(如快速缓存)中进行查找调用。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。