防火墙测试解决方案AvalanchePage2防火墙防火墙是指设置在不同网络(如可信任的企业内部网和不可信的公共网)或网络安全域之间的一系列部件的组合。它可通过监测、限制、更改跨越防火墙的数据流,尽可能地对外部屏蔽网络内部的信息、结构和运行状况,以此来实现网络的安全保护在逻辑上,防火墙是一个分离器,一个限制器,也是一个分析器,有效地监控了内部网和Internet之间的任何活动,保证了内部网络的安全主要分为包过滤防火墙和应用网关防火墙,目前的防火墙是两种主要技术的混合体Page3防火墙硬件实现基于CPU的实现典型的单处理器、单线程处理应用冗长的或恶劣顺序的规则严重影响性能CPU努力维持连接和数据包处理基于ASIC的实现非常快的处理速度,但是很不灵活一些ASIC不能完成的任务必须由CPU完成一些协议(例如:FTP)不得不由软件实现CPU必须处理这些协议基于隧道的安全应用(SSL、IPSec)通常需要CPU处理CPU必须维持总的会话CPU必须附加地执行加解密处理不合适的硬件可以抵消厂商软件上的优势如果硬件不能有所保证,则:要么系统可能丢包并扼杀应用的性能要么危险的数据流可能通过Page4防火墙软件实现效率低的软件可能抵消硬件上的优势效率低的规则处理在软件中实现了太多的协议处理数据包和会话处理必须有高效率在有限的时间内完成对每个数据包的处理防火墙必须在性能没有损耗的前提下保证安全性Page5规则基大小及顺序规则基包含所有防火墙过滤规则越多的过滤器,就会有越长的数据包处理过程,要考虑厂商如何实现更好的规则匹配?在低速率数据流下,过长的延迟规则顺序是至关重要的例如:高使用率的规则放在规则表的底部对大多数数据流来说,规则基总是搜索到最后问题可能由高速率数据流导致数据包可能备份到输入队列中等待处理队列填满,导致数据包丢失延迟可能导致会话超时Page6TCP连接实现TCP连接容量和速率由以下因素影响:状态表大小处理器(CPU)效率状态表不够大,意味着当状态表满时,用户不能连接处理器能力有限,意味着用户不能连接状态表在高的用户负载下释放很慢连接失败增加Page7•BenchmarkingTerminologyforNetworkInterconnectionDevices(RFC1242)•BenchmarkingMethodologyforNetworkInterconnectDevices(RFC1944)obsoletedbyRFC2544•BenchmarkingTerminologyforLANSwitchingDevices(RFC2285)•TerminologyforIPMulticastBenchmarking(RFC2432)•BenchmarkingMethodologyforNetworkInterconnectDevices(RFC2544)•BenchmarkingTerminologyforFirewallPerformance(RFC2647)•TerminologyforATMBenchmarking(RFC2761)•BenchmarkingMethodologyforLANSwitchingDevices(RFC2889)•MethodologyforATMBenchmarking(RFC3116)•TerminologyforFrameRelayBenchmarking(RFC3133)•TerminologyforATMABRBenchmarking(RFC3134)•TerminologyforForwardingInformationBase(FIB)basedRouterPerformance(RFC3222)•BenchmarkingMethodologyforFirewallPerformance(RFC3511)•MethodologyforIPMulticastBenchmarking(RFC3918)•TerminologyforBenchmarkingBGPDeviceConvergenceintheControlPlane(RFC4098)•ConsiderationsWhenUsingBasicOSPFConvergenceBenchmarks(RFC4063)•OSPFBenchmarkingTerminologyandConcepts(RFC4062)•BenchmarkingBasicOSPFSingleRouterControlPlaneConvergence(RFC4061)基准测试RFC(18个)Page8国际标准(4个RFC)BenchmarkingTerminologyforNetworkInterconnectionDevices,RFC1242BenchmarkingMethodologyforNetworkInterconnectDevices,RFC2544BenchmarkingTerminologyforFirewallPerformance,RFC2647BenchmarkingMethodologyforFirewallPerformance,RFC3511国家标准GB/T18019-1999《信息技术包过滤防火墙安全技术要求》GB/T18020-1999《信息技术应用级防火墙安全技术要求》防火墙相关标准Page9防火墙性能测试方法学防火墙性能测试由以下三层测试组成:网络层(NetworkLayer)传输层(TransportLayer)应用层(ApplicationLayer)Page10网络层测试方法学网络层测试指的是DUT/SUT转发引擎的性能基准测试:吞吐量(Throughput)延迟(Latency)丢包率(FrameLossRate)(可选)背靠背(Back-to-back)(可选)参考RFC1242、RFC2544、RFC3511使用SmartBits的SmartApplications进行测试Page11传输层测试传输层测试指的是与DUT/SUT状态表相关的性能和扩展性最大并发TCP连接数(ConcurrentTCPConnectionCapacity)(RFC3511)最大TCP连接建立速率(MaxTCPConnectionRate)(RFC3511)使用Avalanche进行测试Page12应用层测试应用层测试指的是获得处理HTTP应用层流量的防火墙基准性能HTTP传输速率(HTTPTransferRate)(Goodput)(RFC3511)最大HTTP事务处理速率(MaxHTTPTransactionRate)(RFC3511)使用Avalanche进行测试Page13Avalanche用于防火墙测试(两端口)Page14Avalanche用于防火墙测试(三端口)Page15RFC2647/3511RFC2647:防火墙性能基准测试术语(BenchmarkingTerminologyforFirewallPerformance)作者:D.Newman,DataCommunications,1999年8月共描述了与防火墙及测试相关的33个术语RFC3511:防火墙性能基准测试方法学(BenchmarkingMethodologyforFirewallPerformance)作者:B.Hickman、S.Tadjudin,SpirentCommunicationsD.Newman,DataCommunicationsT.Martin,GVNWConsultingInc,2003年4月涉及10个防火墙性能测试指标Page16防火墙测试(RFC3511)5.1IPThroughput:用SmartBits的SmartApplications或者SmartFlow软件测试;5.2ConcurrentTCPConnectionCapacity:用Avalanche测试;5.3MaximumTCPConnectionEstablishmentRate:用Avalanche测试;5.4MaximumTCPTearDownRate:用Avalanche测试;5.5DenialOfServiceHandling:用Avalanche测试;5.6HTTPTransferRate:用Avalanche测试;5.7MaximumHTTPTransactionRate:用Avalanche测试;5.8IllegalTrafficHandling:用Avalanche测试;5.9IPFragmentationHandling:用Avalanche测试;5.10Latency:用SmartBits的SmartApplications或者SmartFlow软件测试。Page17RFC3511:并发TCP连接数ConcurrentTCPConnectionCapacity测试DUT/SUT所能通过并维持的最大TCP并发连接数;本指标反映了DUT/SUT状态表中所能保存的最大条目;防火墙的并发连接数对用户来说就像最大比特转发速率一样相当重要;测试单位:并发TCP连接数。Page18RFC3511:并发TCP连接数测试参数传输层参数:连接尝试速率:TCP连接欲建立的请求速度(由connections/sec表示),应该小于或等于DUT/SUT能够处理的最大连接速率;撤消(Aging)时间:用秒来表示,即收到TCPFIN或RST标志包之后,DUT/SUT将一个连接在状态表中保留的时间。应用层参数确认方式:测试必须使用HTTP1.1或更高版本,且客户端与服务器都必须使用同一个版本;目标(Object)大小:以字节数定义,指用以响应GET请求而被传输的数据,不包括与HTTP头关联的任何部分。Page19RFC3511:并发TCP连接数测试过程测试采用一种反复搜索机制,以确认DUT/SUT所支持的最大TCP并发连接数。每次反复过程中,测试设备变化发送的并发TCP连接数,直至得出DUT/SUT的最大的TCP并发连接数;为了确认所有的连接,测试仪模拟的客户端必须使用HTTP1.1或更高的GET请求目标数据。同时,每次连接的请求必须在TCP连接建立之后发起。在每次二分之间,建议由测试仪为每次交互尝试发起TCPRST,而不管每次连接尝试是否成功。测试仪在等待撤消时间完成后开始下一次的反复。测试结果最大并发连接数:在每次搜索算法中最后一次成功测试所得的TCP连接建立总数。Page20RFC3511:最大TCP连接建立速率MaximumTCPConnectionEstablishmentRate测试通过和DUT/SUT维持的最大TCP连接建立速度;本测试用以体现DUT/SUT更新状态表的最大速率;测试单位:最大TCP连接建立速率。Page21RFC3511:最大TCP连接建立速率测试过程使用反复搜索过程以测试DUT/SUT所能接受的TCP连接请求的最大速率每次反复过程中测试仪模拟的客户端发起的总TCP连接请求速率不同在每次二分之间,每次反复完成后,建议由测试仪为每次交互尝试发起TCPRST,而不管每次连接企图是否成功。测试仪在等待撤消时间完成后开始下一次的反复测试测试结果最高连接速率:连接数/秒,所有连接成功建立时的最高速率Page22RFC3511:HTTP传输速率HTTPTransferRate测试结果应用层:平均传输速率被请求的目标数据通过DUT/SUT的平均传输速率。从所传输目标数据首个数据包的第一个比特到最未数据包的最后一个比特来进行计算,平均传输速率(比特/秒)的计算公式如下:传输速率(bit/sec)=数据包数*目标大小*8/测试时长目标数据包数:在所有联接中成功传输的数据包总目标数据包大小:以字节为单位的数据包大小测