1、P4 可编程应用案例技术白皮书 编号 ODCC-2021-03006 开放数据中心委员会 2021-09-15 发布 ODCC-2021-03006 P4 可编程应用案例技术白皮书 i 目目 录录 前 言.ii 版权说明.iv P4 可编程应用案例技术白皮书.1 1.参考资料.1 2.缩略术语.1 2.1.P4-16 常用基础代码范例.1 3.P4 应用案例.21 3.1.流量实时统计.21 3.2.特征报文复制.23 3.3.一致性 HASH 网关.25 3.4.VPC EIP 卸载.29 3.5.安全防火墙.31 3.6.四层网关卸载.33 3.7.应用服务链.35 3.8.可编程交换机增
2、强型 PTP.37 4.结语.41 ODCC-2021-03006 P4 可编程应用案例技术白皮书(中文版)ii 前前 言言 计算机网络伴随着时代发展,每十年总会出现一些革命性的技术,我们相信从传统的固定功能芯片到可编程芯片业界正在迎来新的变革,而本次变革的终态就是可编程网络,一张白盒化、芯片能力可定制化的网络。可编程芯片的发展最早是从研究领域开始的,学术界纷纷提出了利用交换芯片的可编程能力实现很多应用的能力,例如 LOAD BANLANCE、协议一致性等将原本软件实现的能力通过可编程芯片硬件化后,达到 HIGH THROUGHPUT 和 LOW LATENCY。而工业界各大云网络公司也在加速
3、步伐,纷纷投入可编程网络的技术研发。基于 P4 可编程芯片技术的应用在各大互联网公司也已逐步承载海量业务流量,解决了网络高带宽、低延迟、快速迭代演进的诉求。大家对数据面需要一种能够支持可灵活编程的语言也越来越形成共识,P4应运而生,以其开放,通用,和良好的软硬件生态受到广大学术界和工业界的欢迎。我们知道,网络转发技术发展初了成本外,通常伴随两大诉求:一是转发性能和功能诉求。在过去的 10 年中,软转发技术发展迅猛,但摩尔定律放缓,软转发技术性能已趋于瓶颈。硬件转发性能强,但功能迭代缓慢,一个特性的需求可能都要耗时半年。可编程芯片技术给这一现状的破局注入了新的发动机。二是研发和运维支撑体系上的诉
4、求,上线前需要可预期,从网络的架构,功能,规格,监控,运维,调整,验证等方面,都需要可预期。上线运行时要能可感知,从单点网元,网元连接,上层使用等都需要高纬度和细粒度的感知;上线运行后,要快速低成本的可调整。而端到端的可编程,是一个非常重要的支撑因素。业界围绕 P4 开放可编程技术生态,生机勃勃。从 ONF,底层硬件交换芯片,网卡芯片,到各芯片厂商驱动,编译器,到设备厂商 ODM,OEM 产业链,齐全。以及最终学术界和工业界推出的各种 SWITCH,INT,HPCC,GATEWAY 等的可编程应用也越来越多,P4 语言也从 P4-14 到 P4-16 逐渐完善,整体生态日趋成熟。ODCC-20
5、21-03006 P4 可编程应用案例技术白皮书(中文版)iii P4 可编程应用案例技术白皮书希望能够沉淀我们 P4-16 编程中常用的应用案例,抛砖引玉,欢迎更多同仁一起来群策群力,创建更多创新的应用。起草单位:阿里巴巴(中国)有限公司、三快在线科技有线公司、星融元数据技术有限公司 起草者:阿里巴巴(汤明),美团(黄淮),星融元 Asterfusion(齐航)ODCC-2021-03006 P4 可编程应用案例技术白皮书(中文版)iv 版权说明版权说明 ODCC(开放数据中心委员会)发布的各项成果,受著作权法保护,编制单位共同享有著作权。转载、摘编或利用其它方式使用 ODCC 成果中的文字
6、或者观点的,应注明来源:“开放数据中心委员会”。对于未经著作权人书面同意而实施的剽窃、复制、修改、销售、改编、汇编和翻译出版等侵权行为,ODCC 及有关单位将追究其法律责任,感谢各单位的配合与支持。ODCC-2021-03006 P4 可编程应用案例技术白皮书(中文版)1 P4 可编程应用案例技术白皮书 1.参考资料参考资料下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文件。凡是不注日期的引用文件,其最新版本(包括所有的修改)适用于本文件。1.P4 编程介绍 https:/p4.org/2.P4 语言编程规范 https:/ 编程练习 https:/ 常用基