论文部分内容阅读
软件定义网络(SDN)是一种新兴的网络模式,它通过将网络的控制平面和数据平面进行解耦来简化网络管理。其中交换机作为数据转发的设备,而实际上网络管理则由逻辑上集中的服务器来进行控制。通过将控制平面转移到逻辑为中心的控制器上,SDN提供了可编程功能并且用于动态地控制和管理交换机中的数据包的转发和处理。在SDN中,网络流量是由一组存储在交换机中的三态内容寻址存储器(TCAM)的流表所管理。TCAM可以以线性的速度与到来的数据包和存储在TCAM中的所有流表进行并行比较。然而,现在的商业交换机的TCAM容量很少。另一方面,更加细化的SDN策略导致更大更多的流表数量的增长,这些流表需要存储和保持在SDN交换机的TCAM中,以保证快速的网络需求。尽管TCAM由于它的性能优势变得不可缺少,但是本身也带来了不可忽视的代价。例如,TCAM耗能比较大、价格昂贵、比一般存储器RAM需要占更大的芯片面积。这主要是由于现在的商业交换机中的TCAM是由静态随机存取存储器(SRAM)组成,而SRAM的高耗能和低密度等特性极大地限制了 TCAM的容量,加剧了 SDN交换机的处理负担和延迟。由于网络中的数据流量持续增长,增加TCAM容量的同时最小化TCAM的使用代价已经成为了一个挑战。最近,新型非易失性存储器件(NVM)由于它的低静态功耗和高密度等优点,像电阻式存储器件(ReRAM)已经被引入来实现TCAM。与传统的由SRAM组成的TCAM(sTCAM)相比,由NVM组成的TCAM(nvTCAM)可以获得更高的存储容量和更低的能量消耗。然而,nvTCAM由于固有的高的写延迟操作,因此也不是完美的解决方案。此外,TCAM中的流表的更新操作本身也是一个缓慢的过程,现在的基于SRAM的交换机仅仅支持每秒40至50条流表的更新。这个更新操作对于由NVM组成的交换机会更加严重,极大地限制了大型网络中的网络性能。本论文提出了一个由NVM组成的TCAM(nvTCAM)和基于SRAM组成的TCAM(sTCAM)的混合TCAM架构,利用nvTCAM存储更多的并且能够捕获更多流量的流表来增加缓存命中率,并且利用一小块sTCAM来处理那些未命中或者命中次数比较少的流表来降低所提出的混合TCAM的更新代价。考虑到缓存流表的特殊依赖特性,本文提出了有效的流表迁移替换策略充分利用nvTCAM和sTCAM的优势来获得混合TCAM架构的更好的性能。实验结果显示本论文提出的混合TCAM架构(由nvTCAM和sTCAM组成)比当前的TCAM架构的性能更有效。