ACM SIGCOMM 2017直击:数据平面可编程为网络创新插上翅膀

2017年8月21日至25日,在洛杉矶举行的ACM SIGCOMM 2017大会,Barefoot Networks通过Demo展示了利用数据平面编程技术实现SRv6和layer-4负载均衡等网络新功能,并发表重要论文,引起了产业界和学术界的高度关注。

Barefoot Networks合著论文在SIGCOMM 2017获得最佳论文奖

SIGCOMM 2017大会上,Barefoot Networks合著的"Language-directed hardware design for network performance monitoring"[1]获得了ACM SIGCOMM 2017最佳论文奖。该论文针对目前普遍存在的网络性能监测困难的问题提出一种有效的解决方案,该方案使用全新的编程语言Marple[2]实现了一个网络性能指标查询系统,Marple查询语言经编译后,能够加载到P4可编程软件交换机和高速可编程转发模拟器等目标设备上,实现网络性能监测,经实验证明Marple查询只需要占用很小的交换机硬件资源。

数据面编程实现分段路由功能

SIGCOMM 2017大会上,Barefoot Networks和Cisco合作,展示了使用交换容量高达6.5Tb/s的Barefoot Tofino芯片交换机、Cisco路由器、Linux开源工具和FD.io VPP实现的IPv6段路由Segment Routing的功能实验。值得关注的是,Barefoot Networks工程师只用了短短的几天时间,便使用P4编程在Tofino芯片交换机上实现了SRv6网络编程,并能完成线速转发。

Segment Routing 是一种源路由机制,用于优化IP、MPLS的网络能力,可以使网络获得更佳的可扩展性,并以更加简单的方式提供TE、FRR、MPLS VPN等功能。在未来的SDN网络架构中,Segment Routing将为网络提供和上层应用快速交互的能力。Cisco正在推进SR和IPv6实现的SRv6。SRv6应用可扩展到网络功能虚拟化(NFV)、服务链接和其他垂直领域,例如物联网、网络安全和基于分组的策略执行。SRv6的开源项目为研究人员提供了一个强大的工具用于验证创新功能,并在社区分享他们的新发现。SRv6的实现为更多的网络层功能开发和创新提供可能,并有机会转化为有影响力的研究课题。因此,SR在学术界获得了相当多的关注。

这个IPv6 Segment Routingd[3]的Demo中展示了SRv6的主要实现流程(请参阅上图)。在核心领域,节点5是支持P4编程的Barefoot Tofino芯片交换机,节点1、2和3是支持SRv6功能的Cisco路由器,节点4是非SR路由器,节点8是一个支持SRv6的Linux服务器,节点6是常规Linux服务器运行FD.io VPP。

数据平面编程实现layer-4负载均衡功能

随着网络的不断发展,为满足用户对性能、时延和新的网络功能日益增长的需求,数据平面可编程已成为网络交换机必须具备的能力。使用P4数据平面编程,在Barefoot Networks的Tofino芯片交换机上实现新的网络协议和功能所花费的时间将大大缩短,同时,实现网络创新将会像软件版本开发一样高效。Barefoot Networks还与Facebook、USC以及耶鲁大学合作,展示了在Tofino芯片交换机上实现带状态转发的layer-4负载均衡功能,同时该交换机也具备传统的转发和路由功能。

这个layer-4负载均衡[4]的Demo中,Barefoot Networks展示了目前基于软件实现的负载均衡服务可以被支持数据面编程的ASIC所替代,而且一旦这样实现,将为用户节省两个数量级的成本。如今,大型数据中心通常会使用成百上千台服务器(占据数据中心大约4%的计算资源[5])用作负载均衡而非应用服务传输流量。这些基于软件实现的负载均衡服务(SLB)将发送到服务器的数据包(带有虚拟IP地址或VIP)映射到服务器池(使用多个直接IP地址或DIPs),而SLB是带状态的,它必须始终映射到同一个服务器,即使服务器池发生了变化,负载仍以不同的方式分布在整个池中,这种属性称为连接一致性(PCC)。目前由于负载平衡器必须同时保持数百万个连接,因此,直到最近,人们认为在商用ASIC中,使用PCC实现负载均衡服务是不可能的,因为要实现高性能转发的ASIC通常无法维护每个PCC连接的状态。而数据平面可编程的ASIC能够提供大量的资源来支持PCC,因此,Barefoot提出一种新的系统,称之为“SilkRoad”,它通过400行P4程序实现,当被编译为高级的转发ASIC时,它可以负载均衡数百万的连接,同时还能完成线速转发。

Barefoot Networks将继续展示更多新的令人兴奋的网络特性和功能,其中在ACM SIGCOMM 2017大会上已有多篇论文被收录,这充分体现了转发平面可编程技术的吸引力,得到了学术界和产业界的高度关注。

国内在数据平面编程方面的研究

国内学术界也有多篇论文参与SIGCOMM 2017大会,主要有清华大学的提出的ClickP4[6]、CacheP4[7]和NS4[8]。ClickP4是一种模块化编程架构,可以大大减轻了开发P4程序的复杂性,提供时灵活的程序编排和更加可靠的执行策略。CacheP4是一种用于P4的缓存机制,该机制首先将P4程序的匹配动作表添加到缓存中,然后允许控制面在运行时动态地更新缓存内容,研究者使用支持P4编程的BMv2交换机进行实验验证,CacheP4可以将时延降低20%,转发效率提高超过60%。NS4是一种P4驱动网络模拟器,能够模拟支持P4的设备和网络系统,具有更好的兼容性和可扩展性。

参考文献

1. Srinivas Narayana, Anirudh Sivaraman, Vikram Nathan, Prateesh Goyal,Venkat Arun, Mohammad Alizadeh, Vimalkumar Jeyakumar, Changhoon Kim:Language-Directed Hardware Design for Network Performance Monitoring. SIGCOMM August 22–24, 2017, Los Angeles, CA, USA.
2. Vikram Nathan, Srinivas Narayana, Anirudh Sivaraman, Prateesh Goyal,Venkat Arun, Mohammad Alizadeh, Vimalkumar Jeyakumar, Changhoon Kim:Demonstration of the Marple System for Network Performance Monitoring. SIGCOMM August 22–24, 2017, Los Angeles, CA, USA.
3. Clarence Filsfils, Francois Clad, Pablo Camarillo, Jose Liste, Prem Jonnalagadda, Milad Sharif, Stefano Salsano, Ahmed AbdelSalam:IPv6 Segment Routing.SIGCOMM Industrial Demo August 22–24, 2017, Los Angeles, CA, USA.
4. Jeongkeun Lee, Rui Miao, Changhoon Kim, Minlan Yu, Hongyi Zeng:Stateful Layer-4 Load Balancing in Switching ASICs.SIGCOMM August 22–24, 2017, Los Angeles, CA, USA.
5. Daniel E. Eisenbud, Cheng Yi, Carlo Contavalli, Cody Smith,Roman Kononov, Eric Mann-Hielscher, Ardas Cilingiroglu, Bin Cheyney, Wentao Shang, and Jinnah Dylan Hosein. 2016. Maglev:A Fast and Reliable Software Network Load Balancer. In NSDI.
6.Yu Zhou, Jun Bi:ClickP4: Towards Modular Programming of P4.SIGCOMM August 22–24, 2017, Los Angeles, CA, USA.
7.Zijun Ma, Jun Bi, Cheng Zhang, Yu Zhou, Abdul Basit Dogar:CacheP4: A Behavior-level Caching Mechanism for P4.SIGCOMM August 22–24, 2017, Los Angeles, CA, USA.
8.Chengze Fan, Jun Bi, Yu Zhou, Cheng Zhang, Haisu Yu:NS4: A P4-driven Network Simulator.SIGCOMM August 22–24, 2017, Los Angeles, CA, USA.


  • 本站原创文章仅代表作者观点,不代表SDNLAB立场。所有原创内容版权均属SDNLAB,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用,转载须注明来自 SDNLAB并附上本文链接。 本站中所有编译类文章仅用于学习和交流目的,编译工作遵照 CC 协议,如果有侵犯到您权益的地方,请及时联系我们。
  • 本文链接https://www.sdnlab.com/19766.html
分享到:
相关文章
条评论

登录后才可以评论

SDNLAB君 发表于17-08-25
0