论文部分内容阅读
数据中心(DataCenter,DC)是云计算的基础设施,一个庞大的数据中心能够搭载成千上万台服务器通过网络组成集群对外提供服务。按照转发方式的不同,数据中心网络(Data Center Network,DCN)中数据包的转发可以分为IP多播(Multicast)转发和MAC单播(Unicast)转发:对于IP多播转发,在转发过程中交换机需要记录大量的多播组信息,而低端交换机的存储空间是有限的,如果将多播转发信息不存储在交换机中而是编码存储在数据包的包头中,又会带来额外的流量开销,降低带宽的利用率,IP多播转发面临可伸缩性挑战;对于MAC单播转发,由于MAC地址不像IP地址那样易于汇聚,虚拟化技术的应用使得MAC地址转发表项爆炸性地增长,并且虚拟机的开关和迁移又导致MAC地址的更新非常频繁,低端交换机有限的存储空间导致DCN中MAC单播转发面临转发表空间压缩问题。本文针对IP多播转发面临的可伸缩性挑战,提出两种高效可伸缩的IP多播转发算法:基于嵌入包头的轻量级布鲁姆过滤器(in-packetLightweightBloomFilter,in-packet LBF)的IP多播转发算法和基于嵌入包头的比特位图(in-packet bitmap,in-packet BMP)的IP多播转发算法。基于in-packet LBF的IP多播转发算法将多播转发树的结点信息编码存储在嵌入包头的轻量级布鲁姆过滤器中,每一个中间交换机通过检查包头中的布鲁姆过滤器来决定是否转发数据包,而边界交换机通过检查一张存储在交换机中的哈希表转发数据包到本地服务器。相比于BF,LBF编码存储到包头的节点更少,并且最后一跳转发采用简单的哈希表查找比布鲁姆过滤器更快。实验结果表明:与传统的嵌入包头的布鲁姆过滤器(in-packetBloom Filter,in-packet BF)相比,LBF在流量泄露上减少了39.3%,在转发信息的编码长度上减少了38.8%,在吞吐率上提高了98.7%;基于in-packetBMP的IP多播转发算法将多播转发树中交换机的端口编码到嵌入包头的比特位图中,每一个交换机通过检查数据包头的比特位图来决定是否从某个端口转发数据包。相比于BF,BMP精确的转发避免了假阳性转发带来的额外流量开销,并且高效的布谷鸟哈希查找使得转发吞吐率也有了明显的提升。实验结果表明:与BF相比,BMP在流量泄漏率和编码长度上平均能够减少4-6倍,并且转发吞吐率也优于BF。针对MAC单播转发面临的转发表空间压缩问题,本文提出了一种支持快速更新的可重用固定长度编码(Reusable Fixed Length Coding,RFLC),该编码方法对不同规模的MAC转发表选择不同的固定长度参数,该固定长度参数对应了固定长度编码集合,不同的MAC地址表项重用该集合中的编码,从而使得这种编码方法能够选择合适的固定长度参数缩短编码的长度,并且这种方法使用布谷鸟哈希来提高转发速率。实验结果表明:这种编码方式相比于传统的固定长度编码和联合哈夫曼编码,在编码长度上平均减少了 1.03%-27.53%,在转发数据包的吞吐率上提升了34.73%-59.59%,并且传统的编码方法都是静态的,不能灵活支持转发表的动态更新,而RFLC是能灵活支持MAC单播转发表动态更新的。