一种基于流的TAP实现方法与流程

文档序号:15951560发布日期:2018-11-16 20:32阅读:987来源:国知局
一种基于流的TAP实现方法与流程

本发明涉及一种数据分流技术,尤其是涉及一种基于流的TAP实现方法。



背景技术:

随着互联网的高速发展,数据流的安全分析已经成为了非常重要的一项技术,分流器设备需要完成以下几个功能:

分流:根据流来指定报文是否丢弃,是否需要转发。

负载分担:由于服务器和网络设备的处理能力并不对等,服务器处理能力一般在4-6G,网络设备在40G-100G,因此需要多个服务器处理一个网络设备下发的流量,而且需要对会话进一步细分。

组播:对于一种报文,可能同时需要进行多套安全分析,所以需要支持组播功能。

过滤:在进行组播处理的时候,某些分析软件需要屏蔽掉一些报文,这就需要在出方向进行过滤。

现有分流技术只能选择负载分担或者组播,一旦端口加入了负载分担组,就不能再加入组播口。负载分担使用传统设备的Linkagg(链路聚合)来完成,出方向就需要浪费一个物理端口,再次进行过滤。

因此,综上,现在技术有如下缺点:

1、组播成员口和Linkagg保护组冲突,需要浪费端口来实现组网方案。

2、负载分担使用linkagg实现,功能不全面。

3、安全功能差,需要浪费端口使用入口过滤来保证安全性。



技术实现要素:

本发明的目的在于克服现有技术的缺陷,提供一种基于流的TAP实现方法,使用流技术进行负载分担,从而实现TAP分流器功能全面。

为实现上述目的,本发明提出如下技术方案:

在入方向根据报文中的匹配字段进行入方向ACL匹配;

报文匹配到ACL后,使用所述匹配字段进行负载均衡运算,得到相应的负载分担算子;

将报文端口加入到负载分担组中,使用所述负载分担算子进行负载分担;

将所述负载分担组加载到组播组中,或者将所述负载分担组中的端口加入到组播组中,或者将所述负载分担组和负载分担组中的端口一并加入到组播组中;

在出方向的端口采用出方向ACL对报文进行安全过滤。

优选地,所述匹配字段为报文的源MAC地址、目的MAC地址、以太网类型、源IP地址、目的IP地址、IP协议、四层源端口、四层,目的端口、TCP标识和用户自定义的报文匹配内容字段中的一个或两个以上的任意组合。

优选地,所述负载均衡运算为哈希运算。

优选地,所述方法还包括:在出方向,将所述负载分担算子增加在报文头部中。

优选地,所述方法还包括:在出方向,将所述负载分担算子替换掉在原报文头部中的内容。

优选地,替换掉的所述原报文头部中的内容为源MAC地址。

优选地,使用所述负载分担算子进行负载分担的算法为异或算法。

优选地,所述入方向ACL和出方向ACL的内容相同。

优选地,所述方法还包括:将安全过滤后的报文送入分析服务器进行分析。

优选地,将安全过滤后的报文添加上时间戳后送入分析服务器进行分析。

本发明的有益效果是:

1、本发明基于流进行负载分担比现有的链路聚合(Linkagg)负载分担灵活得多,能够满足不同客户的需求,且端口可以使用在负载分担组中、组播组中,负载分担组可以加入到组播组中,可以节约大量端口来完成复杂的组网。

2、本发明将负载分担算子携带在报文中,可以替换报文中的源MAC地址(Source MAC adress),这样,即使下一跳厂商并不支持ACL的负载分担,也可以使用Linkagg继续保持会话的一致性。

附图说明

图1是本发明一种基于流的TAP实现方法的流程示意图;

图2是本发明一种基于流的TAP实现方法的原理框图示意图。

具体实施方式

下面将结合本发明的附图,对本发明实施例的技术方案进行清楚、完整的描述。

本发明所揭示的一种基于流的TAP实现方法,基于流技术来进行负载分担,避免了组播成员口和负载分担组间的冲突,使它们可以并存于组播组中,可以节约大量端口来完成复杂的组网,实现了TAP分流器分流、负载分担、组播和过滤功能的全面性;另外,基于流技术来进行负载分担,也可以保证不同厂商设备间报文会话的一致性。

结合图1和图2所示,本发明所揭示的一种基于流的TAP实现方法,包括以下步骤:

步骤1,在入方向根据报文中的匹配字段进行入方向ACL匹配。

具体地,TAP(英文全称为test access point,一种分流器)在其报文入端口接收到报文后,根据报文中携带的匹配字段,采用入方向ACL(Access Control List,访问控制列表)进行报文匹配。这里,入方向ACL的匹配是使用芯片的TCAM(ternary content addressable memory,是一种三态内容寻址存储器)实现的,其中ACL是芯片内本身就有的。

本实施例中,匹配字段可以使用报文中的源MAC地址(source MAC address),目的MAC地址(destination MAC address),以太网类型(ether-type),源IP地址(source IP address),目的IP地址(destination IP address),IP协议(IP protocol),四层源端口(L4source port),四层目的端口(L4destination port),TCP标识(TCP flags)或者用户自定义的报文匹配内容(UDF)字段中的一个或两个以上的任意组合。

步骤2,报文匹配到ACL后,使用上述匹配字段进行负载均衡运算,得到相应的负载分担算子。

具体地,报文匹配到ACL后,采用上述列举的匹配字段中的任意一个字段进行负载均衡运算,得到相应的用于进行负载均衡的负载分担算子。本实施例中采用哈希(hash)运算进行负载均衡,即使用匹配字段中的任意一个字段进行hash运算。

步骤3,将报文端口任意加入到负载分担组中,使用负载分担算子进行负载分担。

如有port1、port2、port3三个报文端口,根据计算出的负载分担算子,可以将port1、port2放入到负载分担组1中,也可将port1、port3放入到负载分担组1中,这里,本发明即基于流匹配技术实现了报文流的负载分担。本实施例中,使用负载分担算子进行负载分担可采用异或(XOR)算法实现。

步骤4,将负载分担组加载到组播组中,或者将负载分担组中的端口加入到组播组中,或者将负载分担组和负载分担组中的端口一并加入到组播组中。

由于本发明基于流匹配技术进行负载分担,所以可以实现分流器的负载分担和组播功能的共存。即负载分担组可以加载到组播组中,这样报文就可被复制到不同的负载分担组中;负载分担组中的端口也可以加入到组播组中,这实现了一个分析服务器可以运行多套分析软件。如上述举的三个端口的例子,在本发明中,可以将port1、port2放在负载分担组1中,然后将port3和负载分担组1加入到组播组中,这样就实现了将一份流组播到普通口和负载分担口中,或者也可将port1、port2、port3和负载分担组1加入到组播组中,这样一份流就会复制四分,发到port1、port2、port3和负载分担组1。

步骤5,在出方向的端口采用出方向ACL对报文进行安全过滤。

具体地,与现有采用入方向ACL进行过滤的方式不同,本发明在TAP的报文出端口采用出方向ACL进行过滤,丢弃掉某些分析软件无法处理或者不该处理的报文,实现TAP的过滤功能。其中出方向ACL与入方向ACL一样,均是芯片内本身就有的,且两者除了方向不同,其他都是一样的,如配置内容都是相同的。

优选地,本发明还在出方向,将上述负载分担算子直接新增到报文头部中,或者替换原报文头部中的内容,如替换掉报文头部中的source MAC adress。这样,即使下一跳厂商并不支持ACL的负载分担,也可以使用Linkagg继续保持会话的一致性。

另外,从TAP的报文出端口输出的报文(即经过安全过滤后的报文)会被送入到分析服务器进行分析。优选地,可以在TAP上将报文添加上时间戳后送入分析服务器进行分析,分析服务器根据时间戳可以找到是哪一台被监控的路由器时延过大。如果在TAP进行了负载分担后,分析服务器的处理能力依旧不够,则可以使用报文截断功能,将报文进行截断后进行分析。

本发明的技术内容及技术特征已揭示如上,然而熟悉本领域的技术人员仍可能基于本发明的教示及揭示而作种种不背离本发明精神的替换及修饰,因此,本发明保护范围应不限于实施例所揭示的内容,而应包括各种不背离本发明的替换及修饰,并为本专利申请权利要求所涵盖。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1