- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
用P4对数据平面进行编程作者:尼克·麦克欧文(Nick?McKeown)1,?3 金昶勳(Changhoon?Kim)2,?3 1 斯坦福大学;2 Barefoot?Networks;3 P4.org译者:高荣新(Ron?Kao)关键词?:P4?语言联盟 可编程数据平面引言软件定义网络因其使网络拥有者和运营商能够对网络行为进行编程而取得了巨大的成功。然而,其可编程性目前仅局限于网络控制平面,其转发平面在很大程度上受制于功能固定的包处理硬件。P4语言联盟 (www.P4.org)[1]及其开源活动旨在完全摆脱网络数据平面的束缚,让网络拥有者、工程师、架构师及管理员可以自上而下地定义数据包的完整处理流程。灵活的网络数据平面将加速网络和计算在不同子领域的创新。事实上,这是计算机历史上几次相同技术变革模式的又一次重现:廉价的可编程器件的出现必然会推动其上层应用的创新和发展,给业界带来新一轮革新。在网络领域,这个故事才刚刚开始,并在新一代高性能可编程数据包处理芯片的助力下成为可能。在高性能领域,内置协议无关的交换架构PISA芯片能提供每秒Tb[2]级别的数据包处理速度,以及 完全可编程的数据包解析与通用的“匹配 - 动作” 能力。在中低性能领域,服务器级或嵌入式的中央 处理器(CPU)、图形处理器(GPU)、现场可编程门阵列(FPGA)和网络处理器(NPU)早已能够提供每 秒几十到几百Gb速度级别的数据包处理速度以及灵活的处理过程。除了可编程转发芯片,我们还需要“P4”()[1,3] 这样的高级语言,以不受限于具体目标设备(目标无关)的方式控制转发行为。程序员首先用P4定义数据包的处理流程,然后利用编译器在不受限于具体协议(协议无关)的交换机或网卡上 生成具体的配置,从而实现用P4表达的数据包处理逻辑。程序员通过编程,可以将交换机变为一个架顶交换机 (Top-Of-Rack, TOR)、一道防火墙或一个负载平衡器,或者支持新的自动诊断功能和新的拥塞控制算法等。图1 P4是编程交换机数据平面的语言图 1 显示了P4(编程交换机数据平面,从而说明数据包如何被处理)与控制平面应用程序(在运行时生成转发表)之间的关系。需要注意的是,通过编译P4程序,不仅可以在可编程的数据包处理硬件上生成具体的配置,还可以生成运行时应用编程接口,来帮助控制和数据平面之间的交互。本文将从比较抽象的层面介绍P4语言和可编程数据平面技术。如想了解更多技术细节,建议从《P4的语言规范》[4](最初是2014年在 SIGCOMM CCR上发表的P4论文[3])和《开源P4开发工具》[5]入手。可编程数据平面将达到什么目标?可编程数据平面将带来广泛而巨大的影响。我们预计几乎所有的网络领域参与者都将从中获益。可编程数据平面有助于网络系统供应商进行 更快速的迭代开发,迅速推出新的功能,甚至直接通过打补丁修复现有产品中发现的数据平面程序漏洞。数据平面的灵活性使得各个供应商能够在系统功能和性能上差异化,以有别于其他厂商。最根本的是,这些系统供应商可以从软件产业过去几十年已发展成熟的软件编程理论、实践和工具中受益。可编程数据平面也可以帮助网络拥有者(例如在线服务提供商、运营商和企业)实现最适合其自身需求的具体网络行为。此外,许多大型运营商拥有的大量软件开发人员能够轻松学会对数据平面的网络设备进行编程、测试和调试,将网络变成一个可编程的平台,以一个完全可编程的方式来管理网络。例如,他们可以开发自定义的网络监控、分析和诊断系统,实现前所未有的网络可视化和相关性,从而大幅度降低网络的运营成本。他们还可以协同优化网络以及在网络上运行的应用程序,来保证最佳的用户体验。对于网络芯片供应商,可编程数据平面使他们能专注于设计并改进那些可重用的数据包处理架构和基本模块,而不是纠缠特定协议里错综复杂的细节和异常行为。而且,一旦证明这些架构和基本模块可行,供应商就可以在多代交换芯片的设计中重复使用它们,不必为客户不断产生的新需求而反复修改。对于网络和分布式系统的研究人员,可编程的数据平面为他们实现并验证新想法(尤其是那些引入新的数据平面行为的项目)提供了新的契机。因为只有“合适”的硬件才能真正应对实际部署中所有具有挑战性的需求,如高端口速度、全线速发送小数据包、低延迟、高端口数等。可编程的数据平面技术具有如下优点:新功能:可以快速和频繁地开发新的网络功能,比如新的自定义功能或标准的数据包头规范和转发行为。降低复杂性:可以去掉冗余的而只保留网络必需的数据平面功能。例如,大多数大型数据中心网络通常只使用L2&L3转发、ECMP(等价多路径)、LAG(链路聚合)和ACL(访问控制列表)。其他复杂的协议,比如MPLS(多协议标签交换)、QoS(服 务质量)和IP多播等,都是多余的负担。在设备的数据和控制平
您可能关注的文档
- 空调机房巡检讲义.ppt
- 第3章抗生素讲义.ppt
- 直流稳压电源的设计与制作20150518讲义.ppt
- 直流稳压-副本讲义.ppt
- 珐琅工艺简介赏析讲义.pptx
- 直流无刷风扇课程01(无刷原理说明)讲义.ppt
- 甘氨酸工业操作规程讲义.doc
- 空调集团采购技术标准讲义.doc
- 应收款管理系统讲述.ppt
- 甘肃2014年6年级语文第21单元第24节课_秋兴八首其讲义.ppt
- 人机交互作业 图书管理系统的实现 091202553 刘希桐.doc
- [最新]2026届广东省惠州市4月高三模拟考试文综合试题(1).doc
- 《蜀相》导学案学生版(含答案).docx
- 大学生2025暑假社会实践总结报告.docx
- 湖北省营改增后地方各税费种缴纳汇总(2025年)(DOC).doc
- 销售2025重点工作计划精选.docx
- 《行政法学实践》第二次作业答案.docx
- 《藏戏》教学反思.docx
- 山东省滕州市鲍沟中学2026届高三学业水平考试二轮复习强化训练(二)政治试题(无答案).doc
- 安徽省池州市贵池区2025-2026学年度第二学期九年级第三次联考英语试题(无听力部分无答案).docx
文档评论(0)