首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

可编程数据平面有什么优点?

可编程数据平面将带来广泛而巨大的影响,几乎所有的网络领域参与者都将从中获益。可编程数据平面有助于网络系统供应商进行更快速的迭代开发,迅速推出新的功能,甚至直接通过打补丁修复现有产品中发现的数据平面程序漏洞。数据平面的灵活性使得各个供应商能够在系统功能和性能上差异化,以有别于其他厂商。最根本的是,这些系统供应商可以从软件产业过去几十年已发展成熟的软件编程理论、实践和工具中受益。

可编程数据平面也可以帮助网络拥有者(例如在线服务提供商、运营商和企业)实现最适合其自身需求的具体网络行为。此外,许多大型运营商拥有的大量软件开发人员能够轻松学会对数据平面的网络设备进行编程、测试和调试,将网络变成一个可编程的平台,以一个完全可编程的方式来管理网络。例如,他们可以开发自定义的网络监控、分析和诊断系统,实现前所未有的网络可视化和相关性,从而大幅度降低网络的运营成本。他们还可以协同优化网络以及在网络上运行的应用程序,来保证最佳的用户体验。

对于网络芯片供应商,可编程数据平面使他们能专注于设计并改进那些可重用的数据包处理架构和基本模块,而不是纠缠特定协议里错综复杂的细节和异常行为。而且,一旦证明这些架构和基本模块可行,供应商就可以在多代交换芯片的设计中重复使用它们,不必为客户不断产生的新需求而反复修改。

对于网络和分布式系统的研究人员,可编程的数据平面为他们实现并验证新想法(尤其是那些引入新的数据平面行为的项目)提供了新的契机。因为只有“合适”的硬件才能真正应对实际部署中所有具有挑战性的需求,如高端口速度、全线速发送小数据包、低延迟、高端口数等。

可编程的数据平面技术具有如下优点 :

1. 新功能;可以快速和频繁地开发新的网络功能,比如新的自定义功能或标准的数据包头规范和转发行为。

2. 降低复杂性;可以去掉冗余的而只保留网络必需的数据平面功能。例如,大多数大型数据中心网络通常只使用L2&L3转发、ECMP(等价多路径)、LAG(链路聚合)和ACL(访问控制列表)。其他复杂的协议,比如MPLS(多协议标签交换)、QoS(服务质量)和IP多播等,都是多余的负担。在设备的数据和控制平面中仅保留有用的协议,可以减少潜在的漏洞、被攻击的可能性和运维的复杂性。

3. 有效利用资源;通过去掉不必要的功能,可以释放所耗费的物理资源(例如内存、纵横式交换矩阵和计算逻辑单元),然后重新分配给必要的功能,以实现最大的效能。

4. 增强可视化;当前,只具有固定功能的数据包处理硬件并且能够生成的网络监控信息的数量和质量都非常有限。这是因为监测、分析和诊断等功能往往被认为是一种事后的补救措施,所以其优先级总是低于数据包转发功能。一个无法根据特定协议转发数据包的交换机芯片在市场上是毫无竞争力的,而一个能转发数据包但只提供较少或低质量检测信息的交换机芯片在市场上则有一定的竞争力。因此,考虑到要在有限的硬件资源(如尺寸和功耗)上实现各种数据平面的功能,固定功能硬件的设计者要始终优先设计转发功能,而后才是监控功能。有了可编程数据平面,网络拥有者可以控制转发和监控功能之间的平衡,因为其真正想要的转发功能往往只是硬件厂商提供的功能列表中的一个很小的子集。此外,网络拥有者还可以明确地定义所需的监控功能的语义,以保证监控信息的相关性。

5. 模块化;通过重用别人开发的P4代码库来实现自己想要的转发行为。这将大大简化和方便个人用户的P4开发进程。

6. 可移植性;当开发了一个P4程序后,工程师可以为不同目标硬件重新编译代码,将此程序重复用于不同类型的目标上。这可以显著提升编程、测试和调试整个网络行为的效率,因为只要在所有的目标设备上使用相同的P4程序就可以保证数据和控制平面之间接口的统一。因此,控制平面可以被重复使用,而无须或只须最少的改动。

7. 拥有自己的知识产权;P4程序员不需要与硬件厂商分享转发逻辑(功能)。这使得开发一个P4程序能得到相应的回报,从而激发网络拥有者们自主创新的热情。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200903A00PGA00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券