10G分流器:传统产品与新的挑战
网络分流器(Network Distributor)是一种网络流量过滤采集设备,工作在第三、四层,专门用于互联网流量分析领域,是一种为降低后端分析而进行流量过滤、衰减、交换和分流的设备。目前已有的分流器包括千兆、10G(POS、WAN、LAN)、40G(POS、LAN)、100G以太网、PON(EPON、GPON)、WIFI、3G和LTE等。
分流器有时候又称为流量采集器(Traffic Collector)或者网络探针(Network Probe)。
1、引言10G骨干链路从2003年开始在运营商部署应用,到现在已经有十多年了。10G链路又分为10G LAN(以太网)、10G POS和10G WAN。十年以前,在这类链路上执行网络审计、信令分析、大数据分析、IDC防护和内容审计对各个厂商而言都是比较大的挑战,这主要是因为:
(1)当时,10G骨干链路技术只掌握在路由器厂商手中,而路由器厂商相对比较强势。分流器需要大容量规则、分组分流、特征模式、DNS规则、两级表过滤、输出QoS、动态IP监控等特殊功能,要求硬件生产厂家必须深入创新,开发新的产品。但是路由器厂商认为这是一个小众市场,不愿意投入人员来研发,而是使用路由器(或者是经过局部修改的路由器线卡)充当分流器,而流量分析领域的厂商不具备议价和协商的能力。
(2)分析领域厂商本身对业务和加速能力缺乏完整理解,分析领域厂商擅长于从普通以太网网卡捕获报文,然后用软件方式进行流重组和协议分析,其所有的技术沉淀都在X86平台上。这类解决方案需要大量的服务器以集群方式堆积来形成完整的10G链路分析系统,性能通常不会很高。
(3)以前的服务器的处理能力有限,因为核比较少,内存访问的延迟无法隐藏,即使经过反复的优化,也无法达到Gbps以上的处理性能。
当前的形势已经完全不一样,分流器领域竞争激烈,形成了戎腾网络(www.rtnetworks.com.cn)等几家具有竞争力的厂家,且分析领域厂商经过十年的积累已经对业务有了较好的沉淀,敢于提出自己的需求,也深刻了解了计算负载如何在硬件和软件之间分配。另外,服务器的流量处理能力也从300-400Mbps提高了2Gbps左右。
因此,10G分流器当前面临着要增加新的功能、增加密度并进一步降低成本的问题。
2、挑战估计目前在全国范围三大运营商中,骨干链路和骨干链路边缘的10G光纤(包括10G LAN、10G WAN和10G POS)达到了万条左右的规模。在如此多的链路上部署审计和信令分析系统,面临一些新的挑战:
(1)如何保护用户投资并扩展单机箱对不同链路的支持能力:运营商的网络是逐步建设起来的,这决定了在一个城市,链路种类比较多,包括2.5G、10G、40G和100G等多种。即使在10G链路上,又分为10G以太网LAN、10G以太网WAN和10G POS等形态。很多时候,分析厂商可能直到上线才知道链路层的协议类型。
(2)如何增加产品的密度:由于链路多、种类复杂,设备的密度最好比较高,体系比较小,功耗比较低。
(3)精细分流能力:能够在流一级基于DPI(深度报文检测)过滤掉绝大部分的流量,这样才能有效降低后端分析服务器的负载。
(4)性价比:十年以前,分流器占到整体解决方案成本的50%,目前虽然降到了20%左右,但是成本仍然是厂家重要的考虑因素。
3、解决方案传统10G分流器一般只有简单的协议转换、万条级的多元组过滤、分组分流等功能,随着技术的发展,支持串规则、流管理、DNS规则、千万条以上多元组规则等应用需求被挖掘出来,需要硬件厂商具备更强的研发实力和技术沉淀。
新型分流设备一般采用图1所示的处理流程。
在整个处理流程中,数据提取针对不同的链路执行不同的功能,如普通以太网采用PHY芯片完成此功能,而POS和WAN则需要Framer。多元组过滤和内容过滤有软件和硬件两种处理方式。
其中内容过滤的处理能力十分关键,在2.5G/s POS链路上最大报文吞吐率为6Mpacket/s,每一个报文的最短处理时间为167ns。10G/s POS链路的最大报文吞吐率为26Mpacket/s,每一个报文的最短处理时间为37ns。当前,在高速关键字匹配方面,有FPGA+SRAM、TCAM以及纯软件几种方式,分别有其相应的优缺点。使用TCAM(Ternary Content Addressable Memory)进行关键字过滤具有速度快、规则动态性好等特点,但是由于TCAM是基于最先匹配的,即只能报告最先匹配的地址。而内容审计和应用行为分析是基于多匹配的,即同一个报文可能匹配多个关键字,且TCAM具有长度受限的特点。TCAM用于解决内容模式多匹配,要解决长规则和规则存储顺序两个问题。链接共享多匹配(Linking Shared Multi-Match,LSMM)是一种较好的解决方案。其基本思想是:TCAM每个表项由前段号和段内容组成。若TCAM中存储有n个表项,则需要在每个表项中扩展位用于存储前段规则的地址(前链域)。每次进行匹配前,将要匹配的内容前面加上前链域,送入TCAM器件进行匹配。命中规则的前缀段时,需要将其记录到存储器中,称之为部分命中表,记录命中的报文位置和段索引。通过TCAM良序的规则分配方法,将规则长度任意的规则集分配存储到TCAM中之后,则对任何匹配规则集中多个规则的报文,不会遗漏任何一次匹配。
大规模流管理是另一项关键技术,好的散列方式,并在DDR的多个通道和Bank之间并行访问存储器,可以提高部分性能。另外,可以通过智能流表分配、无锁定超时、多通道虚拟队列等配套技术来提高流管理的性能。
综合考虑设备的密度、体积、功耗和成本,戎腾网络(www.rtnetworks.com.cn)的10G分流器(包括PET160A、PET160B、PET320A和PET320B)通过多元组过滤、流管理和DNS规则对报文进行过滤,能够执行更精细的流量分类。PET设备采用模块化结构,可以扩展子卡来增加对接口的支持能力。独有的多链路协议封装(MPE)使得数据提取模块组件化,可以在1U机箱内支持32个网口,每个网口可以是千兆以太网、2.5G POS、10G LAN、10G POS、10G WAN、40G以太网等不同类型,且每个接口的输入和输出可以完全不同,用户可以自由配置,除40G以太网需要配置不同的子卡之外,其他接口都可以采用一种子卡(只需要进行软件配置)。
这让用户的选择余地更多,如果只有1-2对链路,可以使用PET160配置一块子卡。如果链路比较多,可以选择PET320满配。超过PET320链路容量时,可以使用PET设备串接。如图4所示,3台PET320B可以实现92个接口流量的输入,最大容量达到920Gbps。如果继续扩展,可以增加更多的输入接口,且其输入链路类型可以各不相同。这显著地增加了系统的可扩展性,保护了用户的投资。
在高速网络环境下,随着主干网络带宽和流量的急剧增加,复杂网络应用的层出不穷,传统网络IDS、内容审计系统、信令分析系统在数据捕获和数据处理方面面临很大的挑战。10G分流器是一个复杂的系统,设计和实现这样的系统需要综合考虑成本、体积、功耗、密度,以及所需要的精细分流功能。