CN105812275B - 一种基于流的tap实现方法 - Google Patents
一种基于流的tap实现方法 Download PDFInfo
- Publication number
- CN105812275B CN105812275B CN201610134481.4A CN201610134481A CN105812275B CN 105812275 B CN105812275 B CN 105812275B CN 201610134481 A CN201610134481 A CN 201610134481A CN 105812275 B CN105812275 B CN 105812275B
- Authority
- CN
- China
- Prior art keywords
- load balancing
- message
- stream
- group
- port
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明揭示了一种基于流的TAP实现方法,属于数据分流领域。该方法包括:在入方向根据报文中的匹配字段进行入方向ACL匹配;报文匹配到ACL后,使用所述匹配字段进行负载均衡运算,得到相应的负载分担算子;将报文端口加入到负载分担组中,使用所述负载分担算子进行负载分担;将所述负载分担组加载到组播组中,或者将所述负载分担组中的端口加入到组播组中,或者将所述负载分担组和负载分担组中的端口一并加入到组播组中;在出方向的端口采用出方向ACL对报文进行安全过滤。本发明基于流技术来进行负载分担,实现了TAP功能的全面性,另外,也可保证不同厂商设备间报文会话的一致性。
Description
技术领域
本发明涉及一种数据分流技术,尤其是涉及一种基于流的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地址(SourceMAC 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 contentaddressable memory,是一种三态内容寻址存储器)实现的,其中ACL是芯片内本身就有的。
本实施例中,匹配字段可以使用报文中的源MAC地址(source MAC address),目的MAC地址(destination MAC address),以太网类型(ether-type),源IP地址(source IPaddress),目的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进行了负载分担后,分析服务器的处理能力依旧不够,则可以使用报文截断功能,将报文进行截断后进行分析。
本发明的技术内容及技术特征已揭示如上,然而熟悉本领域的技术人员仍可能基于本发明的教示及揭示而作种种不背离本发明精神的替换及修饰,因此,本发明保护范围应不限于实施例所揭示的内容,而应包括各种不背离本发明的替换及修饰,并为本专利申请权利要求所涵盖。
Claims (10)
1.一种基于流的TAP实现方法,其特征在于,所述方法包括:
在入方向根据报文中的匹配字段进行入方向ACL匹配;
报文匹配到ACL后,使用所述匹配字段进行负载均衡运算,得到相应的负载分担算子;
将报文端口加入到负载分担组中,使用所述负载分担算子进行负载分担;
将所述负载分担组加载到组播组中,或者将所述负载分担组中的端口加入到组播组中,或者将所述负载分担组和负载分担组中的端口一并加入到组播组中;
在出方向的端口采用出方向ACL对报文进行安全过滤。
2.根据权利要求1所述的基于流的TAP实现方法,其特征在于,所述匹配字段为报文的源MAC地址、目的MAC地址、以太网类型、源IP地址、目的IP地址、IP协议、四层源端口、四层目的端口、TCP标识和用户自定义的报文匹配内容字段中的一个或两个以上的任意组合。
3.根据权利要求1所述的基于流的TAP实现方法,其特征在于,所述负载均衡运算为哈希运算。
4.根据权利要求1所述的基于流的TAP实现方法,其特征在于,所述方法还包括:在出方向,将所述负载分担算子增加在报文头部中。
5.根据权利要求1或4所述的基于流的TAP实现方法,其特征在于,所述方法还包括:在出方向,将所述负载分担算子替换掉在原报文头部中的内容。
6.根据权利要求5所述的基于流的TAP实现方法,其特征在于,替换掉的所述原报文头部中的内容为源MAC地址。
7.根据权利要求1所述的基于流的TAP实现方法,其特征在于,使用所述负载分担算子进行负载分担的算法为异或算法。
8.根据权利要求1所述的基于流的TAP实现方法,其特征在于,所述入方向ACL和出方向ACL的内容相同。
9.根据权利要求1所述的基于流的TAP实现方法,其特征在于,所述方法还包括:将安全过滤后的报文送入分析服务器进行分析。
10.根据权利要求9所述的基于流的TAP实现方法,其特征在于,将安全过滤后的报文添加上时间戳后送入分析服务器进行分析。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610134481.4A CN105812275B (zh) | 2016-03-10 | 2016-03-10 | 一种基于流的tap实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610134481.4A CN105812275B (zh) | 2016-03-10 | 2016-03-10 | 一种基于流的tap实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105812275A CN105812275A (zh) | 2016-07-27 |
CN105812275B true CN105812275B (zh) | 2018-11-16 |
Family
ID=56467953
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610134481.4A Active CN105812275B (zh) | 2016-03-10 | 2016-03-10 | 一种基于流的tap实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105812275B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108965006B (zh) * | 2018-07-18 | 2021-04-16 | 迈普通信技术股份有限公司 | 一种通信可靠性提高方法及装置 |
CN110708329A (zh) * | 2019-10-16 | 2020-01-17 | 盛科网络(苏州)有限公司 | 一种基于udf识别未知隧道报文的方法 |
CN114143241A (zh) * | 2021-11-26 | 2022-03-04 | 北京金山云网络技术有限公司 | 基于Kubernetes的联调测试方法、装置、设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101702689A (zh) * | 2009-11-30 | 2010-05-05 | 迈普通信技术股份有限公司 | 组播业务数据负载均衡的传输控制方法及接入设备 |
CN101789902A (zh) * | 2009-12-25 | 2010-07-28 | 福建星网锐捷网络有限公司 | 一种组播数据流的负载均衡方法、路由设备及网络系统 |
CN102209040A (zh) * | 2011-07-12 | 2011-10-05 | 杭州华三通信技术有限公司 | 基于多网络端口实现负载分担的方法和装置 |
CN102307136A (zh) * | 2011-07-06 | 2012-01-04 | 杭州华三通信技术有限公司 | 报文处理方法及其装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8873551B2 (en) * | 2010-07-30 | 2014-10-28 | Cisco Technology, Inc. | Multi-destination forwarding in network clouds which include emulated switches |
-
2016
- 2016-03-10 CN CN201610134481.4A patent/CN105812275B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101702689A (zh) * | 2009-11-30 | 2010-05-05 | 迈普通信技术股份有限公司 | 组播业务数据负载均衡的传输控制方法及接入设备 |
CN101789902A (zh) * | 2009-12-25 | 2010-07-28 | 福建星网锐捷网络有限公司 | 一种组播数据流的负载均衡方法、路由设备及网络系统 |
CN102307136A (zh) * | 2011-07-06 | 2012-01-04 | 杭州华三通信技术有限公司 | 报文处理方法及其装置 |
CN102209040A (zh) * | 2011-07-12 | 2011-10-05 | 杭州华三通信技术有限公司 | 基于多网络端口实现负载分担的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105812275A (zh) | 2016-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10158563B2 (en) | Flow based overlay network | |
US10778557B2 (en) | Tracing network packets through logical and physical networks | |
US20210044502A1 (en) | Service operation chaining | |
US10129186B2 (en) | Service function chain (SFC) data communications with SFC data in virtual local area network identifier (VLAN ID) data fields | |
US9686181B2 (en) | Selective service bypass in service function chaining | |
US9407580B2 (en) | Maintaining data stored with a packet | |
EP3136654B1 (en) | Systems and methods for externalizing network functions via packet trunking | |
US10044596B2 (en) | Devices, methods, and systems for packet reroute permission based on content parameters embedded in packet header or payload | |
US9331936B2 (en) | Switch fabric support for overlay network features | |
US20170244631A1 (en) | Sr app-segment integration with service function chaining (sfc) header metadata | |
CN102868631B (zh) | 负载分担方法和装置 | |
CN105812275B (zh) | 一种基于流的tap实现方法 | |
EP3531653B1 (en) | Processing rule modification method, apparatus and device | |
CN108092934A (zh) | 安全服务系统及方法 | |
US20150381478A1 (en) | Proxy for port to service instance mapping | |
US9876738B2 (en) | System and method for extending ports | |
TWI551087B (zh) | 封包處理裝置 | |
CN114205282B (zh) | SRv6 Policy的调度方法、系统、路由器和控制器 | |
US10594604B1 (en) | End to end application identification and analytics of tunnel encapsulated traffic in the underlay | |
CN104488237B (zh) | 一种报文处理的方法、报文设备和系统 | |
CN103973568A (zh) | 用于在mpls核心网上转发sdn流的方法和设备 | |
CN112398755A (zh) | 一种流量转发方法、业务卡和系统 | |
US9515933B2 (en) | Virtual network data control with network interface card | |
US11303576B2 (en) | Accurate analytics, quality of service and load balancing for internet protocol fragmented packets in data center fabrics | |
CN103986660B (zh) | 加载微码的装置以及加载微码的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 215101 unit 13 / 16, 4th floor, building B, No. 5, Xinghan street, Suzhou Industrial Park, Jiangsu Province Patentee after: Suzhou Shengke Communication Co.,Ltd. Address before: 215021 unit 13 / 16, floor 4, building B, No. 5, Xinghan street, industrial park, Suzhou, Jiangsu Province Patentee before: CENTEC NETWORKS (SU ZHOU) Co.,Ltd. |