总16期
Test Theory    测论
Test Theory    测论
无线控制器快速转发测试的探索与实践
文/吴宝平

对于运营商级别的无线网络,除了提供一个安全的网络以外,还要给用户提供一个良好的应用体验,这就对WLAN网络的性能有一定的要求。典型的无线网络由无线控制器(AC)、无线接入点(AP)、认证服务器(Radius\Portal Server)、无线客户端(STA)以及其他一些中间设备(交换机\路由器)等组成。在无线组网中,无线控制器的转发能力直接决定了无线控制器能够管理AP和无线客户端的数量。因此无线控制器的性能都是各无线设备制造商主攻的方向,也是性能测试中能否技压群雄的关键所在。新华三的无线控制器有两项提升性能的神器:FPGA(即现场可编程门阵列)和FSIM(FPGA模拟器)。

FPGA是英文Field-Programmable Gate Array的缩写,即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物,是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。而支持FPGA转发的设备需要在单板上集成一块硬件的集成电路。

FSIM(FPGA simulator),中文名称FPGA模拟器,通过软件的方式将FPGA表项放入内存中,从而可以在没有FPGA硬件的情况下实现报文的快速转发。

本文将从功能和性能两个方面讨论FPGA和FSIM的测试方法。

无线转发介绍

首先介绍一下无线报文转发路径。典型的无线环境如图1所示。

图1 FPGA和FSIM测试拓扑

PC1和PC2的通讯需要跨越一个无线网络,PC2作为无线客户端发送了一个无线报文(报文的二层头为802.11格式),该报文经过无线空口被AP接收,此时AP需要做两件事情,第一,需要将无线报文头部转换成802.3格式;第二,把原始报文当成Payload,在Payload前加上一个CAPWAP头,再按照普通的IP报文查表转发。该报文经过IP转发之后,最终到达AC,AC接收到报文之后进行查表,发现需要拆解CAPWAP报文头,然后通过二次查表进行三层转发,最终到达目的地PC1。

通过上述讲解,我们发现AC需要两次查表,由于AC的查表动作均由CPU完成,当网络规模较大时,AC的转发性能往往成为网络转发的瓶颈,而FPGA和FSIM能够很好的解决这个问题。

FPGA和FSIM主要功效

在FPGA和FSIM转发中,设备将五元组相同(SIP、DIP、VLAN、Sport、Dport)的报文定义为一个流,属于一个流的报文共享一条转发路径。同一个流的第一个报文会按照正常的流程进行转发,设备会将该报文的转发信息进行记录,生成这个流的缓存信息。同时设备会将该缓存信息下发到FSIM和FPGA中,当同一个流中的下一个报文到达时,FSIM和FPGA模块会对该流的五元组进行HASH处理,由于相同流的五元组完全相同,因此HASH结果相同,从而会调用相同的流表进行转发,得出相同的转发路径。因为该过程主要由FPGA和FSIM模块进行处理,没有经过CPU查询路由表,因此速度会大大提升,同时极大的降低了CPU的工作负荷。因此当报文命中FPGA的情况下,报文不经过CPU,全部由FPGA硬件模块完成对报文的转发,转发性能可以提升10倍以上。同样命中FSIM的情况下,设备的转发速度也会大大提升。

FPGA和FSIM功能测试

在功能测试中,需要模拟无线客户端发送特性的端口流量,并且要接收到特定端口,比如DNS,HTTP、UDP流量,而这些流量无法通过让真实PC直接发送,即使支持发送,操作也十分复杂。因此就会给测试带来较大的难度。而新华三巧妙的使用Client AP解决了上述问题。

图2 FPGA和FSIM测试拓扑

通过Client AP,测试人员可以模拟无线客户端发送需求报文(如TCP 8899)来模拟真实用户的报文,测试AC上FPGA和FSIM模块的基本功能,同时可以借助IXIA测试仪器发送端口号编号(UDP、TCP)的流量,模拟客户端发送的特性应用流量,甚至可以抓包回放真实的用户流量,来测试FPGA和FSIM模块。

同时,上述测试模型也可以测试FPGA和FSIM不支持的业务测试。主要分为两种流量类型:第一种,到达本机的流量,比如需要AC 的CPU处理的流量(如ARP、DHCP等);第二种,FPGA和FSIM不支持的流量,比如经过AC的三层分片流量(由于FPGA和FSIM不支持分片),因此需要经过CPU处理。

FPGA和FSIM性能测试

在商用无线网络中AP和无线客户端数量都非常大,而实验环境中无法实现与现网中相同数量级的AP和客户端测试,因此要真正测试FPGA和FSIM的性能,就需要模拟大量的AP(数量级为K)和无线客户端(数量级为10K)。为此,新华三研发了多AP模拟工具来满足这种特殊的测试需求,该工具的每个实例可以模拟2048个AP,每个AP可以下挂64个客户端,支持多个实例并行。因此测试人员可以通过多台PC或虚拟机模拟出实际的应用环境,从而完成对FPGA和FSIM模块在接近现网压力下的性能测试。

结束语

根据商用无线的特点,新华三设计出相应解决方案和测试方案,以应对商用环境中的各种挑战。在解决方案到达用户之前完成相关模块功能和性能的测试,这样对设备在实际应用环境中稳定运行起到了关键性的作用。

分享到
关闭