[论文解读] A Comprehensive Study on Load Balancers for VNF chains Horizontal Scaling
该论文提出了一种有状态的、连接感知的负载均衡架构,用于在不修改虚拟网络功能(VNF)代码的情况下实现VNF链的水平扩展。该架构采用主从负载均衡器并结合基于哈希的会话亲和性,以维持双向流量一致性,在使用OpenFlow和VLAN标记的原型实现中,实现了缩放事件下亚3秒的流量重平衡。
We present an architectural design and a reference implementation for horizontal scaling of virtual network function chains. Our solution does not require any changes to network functions and is able to handle stateful network functions for which states may depend on both directions of the traffic. We use connection-aware traffic load balancers based on hashing function to maintain mappings between connections and the dynamically changing network function chains. Our references implementation uses OpenFlow switches to route traffic to the assigned network function instances according to the load balancer decisions. We conducted extensive simulations to test the feasibility of the architecture and evaluate the performance of our implementation.
研究动机与目标
- 实现VNF链的水平扩展,且无需修改现有VNF代码。
- 在会话状态依赖于双向流量的状态化网络功能中,维持双向流量亲和性。
- 支持VNF实例的动态扩展(添加/移除),实现最小干扰和均衡的负载分布。
- 设计一种可扩展的、通用的架构,利用OpenFlow和VLAN标记实现数据平面中的数据包识别与转发。
- 通过使用真实VNF(如Snort和Bro)的原型实现,证明其可行性和性能。
提出的方法
- 主负载均衡器负责出站流量,从负载均衡器负责返回流量,两者均使用一致性哈希将连接映射到VNF链。
- 使用VLAN标签作为数据包标识符,以确保数据包通过数据平面中正确的VNF实例序列转发。
- 提出算法以在添加或移除VNF实例时,维持会话亲和性与负载均衡。
- 依赖OpenFlow交换机,根据负载均衡器的数据包标记逻辑做出转发决策。
- 在原型中使用PF_RING实现高吞吐量的数据包捕获与标记,实现约366 Mbps的负载均衡器吞吐量。
- 在链路的关键位置成对部署负载均衡器,支持对单个VNF或子链的可选扩展。
实验结果
研究问题
- RQ1如何在不修改VNF代码的情况下实现VNF链的水平扩展?
- RQ2在扩展有状态VNF时,如何保持双向会话亲和性?
- RQ3哪些机制可确保在添加或移除VNF实例时,实现一致且均衡的负载分布?
- RQ4动态扩展期间,流量重平衡的性能开销和延迟是多少?
- RQ5能否使用标准SDN组件实现一种通用的、非侵入式的负载均衡解决方案?
主要发现
- 原型实现了约366 Mbps的负载均衡器吞吐量和465 Mbps的系统总吞吐量,使用PF_RING和OpenFlow交换机。
- 在添加或移除VNF实例时,流量重平衡在3秒内完成,证明了低延迟扩展能力。
- 该解决方案成功在VNF实例动态扩展期间,保持了双向流量的连接亲和性。
- 通过在链路关键位置成对部署负载均衡器,该架构支持对单个VNF或子链的选择性扩展。
- 使用VLAN标签可高效识别数据包,每条额外的VNF链仅需两个标签,显著降低了交换机规则开销。
- 该方法避免了VNF代码修改或复杂的状态迁移,与OpenNF或E2等先前方案相比更具优势。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。