数据中心建设速度越来越快,规模越来越大,数据中心对网络的需求也越来越高,对单链路传输的速度和容量都有更高要求,我们会看到这几年从10G到100G普及的速度比从1G到10G要快得多。不仅是带宽,对网络设备的容量也是要求越来越大。比如:路由、ACL、MAC这些规格表项的需求很大,网络芯片容量已经无法满足了,所以很多人通过外扩的方式来变相实现满足。因此,我们会在市场上看到一些容量超大的设备,容量明显超过了现有专用网络芯片所能支持的,其实是采用外扩表项的方式来实现,网络设备扩容主要用三种外挂器件实现。
CAM
CAM(Con te nt Addressable Memory,内容寻址存储器)是一个并行比较处理器,也被称作NSE(Network Search Engine网络搜索引擎)。CAM可以像RAM一样进行读写操作,最大优势就是输入数据,返回该数据被存储的地址。它能够从巨大的数据库中进行快速查找,并返回最佳匹配的地址,CAM可以在一个硬件 时钟 周期内完成关键字的精确匹配查找。更为重要的是,CAM可以提供较大的表项存储空间,当网络芯片的规则不够大时,可以用CAM来补足,从而满足市场竞争需要。
当然,CAM容量并不能随心所欲地去扩,一方面受CAM能力的限制,另一方面CAM容量越大,价格呈指数级别增加,对适配的CPU也有要求,高容量的CAM需要性能较强的CPU才能带动,这样才能避免出现大马拉小车的情况,或者小马拉大车的局面,这都会使得整个设备的性能无法提升。
TCAM
TCAM(Ternary Content Addressable Memory,三态内容寻址存储器)是CAM表的一种扩展。在CAM表中使用索引查找结果值,TCAM同样使用表查找操作,但被改进并可以完成更复杂的操作。CAM在存储表项时,长度固定不够灵活。比如对于下发路由,地址前缀长度具体分布没有准确的了解之前,为了能够保证存储多个前缀表项,每个CAM都需要有多个表项的空间,因此CAM存储空间利用率大大降低了。TCAM则在长度要求上非常灵活,可以在同一个TCAM芯片中保存任意长度的关键字表项。一般CAM存储器中每个BIT的状态只有两个0和1,TCAM则每个BIT数据除了表示0和1,还有第三种状态“don& rs quo;t care”,这也是TCAM被称为三态内容寻址 寄存器 的原因。
TCAM的最大优势就是速度,单周期查找平均速度是SRAM的六倍,最坏情况下,查找速度提高128倍。不过,TCAM也有明显的缺陷。首先是与一般RAM相比,单位比特的TCAM价格更昂贵,而且存储容量相对还要小一些,TCAM的器件引入大大增加了整个网络设备的设计成本;其次是TCAM采用并行的匹配比较方式,功耗较大,当引入的TCAM片数较多时,设备的散热问题凸显,要引入TCAM必须要解决掉散热的问题。查找过程所有关键字表项都进行了比较,但实际能够匹配上的关键字只有几项,大部分比较操作都被浪费了,运行效率并不高;第三是TCAM需要对表项进行排队,以便实现最长掩码匹配,这使得表项的更新过程实现较为复杂,尤其当有路由频繁变化时,容易出错。
FPGA
FPGA(Field-Programmable Gate Array,现场可编程门阵列)是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。FPGA作为专用集成电路领域中的一种半订制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
采用TCAM方式,会增加片间延时,同时减少设备上可用空间,从而降低电路板的系统性能,采用FPGA方式则要好得多。还有FPGA要比CAM和TCAM灵活很多,FPGA可以完成比匹配更复杂的功能,所以FPGA不仅可以用来存储表项,还可以实现一些CAM和TCAM无法实现的功能,比如Netstream,通过FPGA完全可以实现对整个设备流量的Netstream过滤和统计分析,使整个设备变得更加智能。FPGA可以实现报文分类、过滤、提取关键字、进行高速查找等工作,还能够制定专门的通信模块负责与主控单元进行通信。
FPGA拥有强大的性能、低时延、深度逻辑可实现、并行性,低功耗等特点,只不过因为价格昂贵,一直未被用于网络设备中。如今,随着FPGA技术的成熟,FPGA价格因素并不突出,这使得很多网络厂商开始引入FPGA,采用FPGA替代现有主流的TCAM方案,这一下子将网络设备的容量提升了好几倍(原来TCAM若存储路由表项,能达到512K已经很大了,现在采用FPGA轻松达到几M容量,而且还实现更加灵活,表项下发和匹配只是它的一项绝活而已)。FPGA补足了现有网络芯片无法达到的容量规则,从而满足一些特定数据中心用户的需求。当然,FPGA不能包治百病,FPGA可以做并行运算,但灵活性很差,所以FPGA最适合用做高速但重复性强的工作,这点正是网络设备所需要的,两者的结合互补了优缺点。
短时期内,网络芯片表项的容量仍无法满足现有市场需求,网络设备需求表项扩容的诉求不会改变。从CAM到TCAM,再到FPGA,就是网络设备需求扩容的发展史,现在采用FPGA的实现方式逐渐成为主流,FPGA将在相当长的一段时间里长期存在。
未来,数据中心网络设备容量肯定会越来越大,这是市场的需求,也是竞争的需要。有不少人担心网络设备会和PC、服务器一样,最后比拼的就是性能和价格。这种担心是对的,现在网络设备已经开始了比拼性能和价格,你能提供1M的路由表设备,我就能提供10M的路由表设备,很多时候就看谁的容量大。相同的价格客户能买到更大容量的设备,总觉得是占到了便宜,所以不仅是一味地提供大容量的设备,关键还是性价比,要实现单位面积上的容量越大,才越有竞争力。