这里参考学习了:
Parser
关于parser
在P4程序中,有着大量的首部(header)和首部实例,但每次只有部分首部实例会对数据包进行操作,而parser会用于生成描述数据包进行哪些匹配动作操作的中间表示(Intermediate Representation),这些解析后表示规定了对数据包生效的实例,可以认为是一组对数据包生效的实例的集合。
这里参考学习了:
在P4程序中,有着大量的首部(header)和首部实例,但每次只有部分首部实例会对数据包进行操作,而parser会用于生成描述数据包进行哪些匹配动作操作的中间表示(Intermediate Representation),这些解析后表示规定了对数据包生效的实例,可以认为是一组对数据包生效的实例的集合。
关于题目,对数据平面进行编程,在之前读过the road to SDN,软件定义网络的思想在于数控分离,其对网络行为的编程暂时只局限于网络控制平面。其转发平面在很大程度上受制于功能固定的包处理硬件。而P4语言的出现就是为了完全摆脱网络数据平面的束缚。P4被称作为完全可编程南向编程接口,其提出的目的就是为了解决Openflow编程能力不足及其设计本身所存在的可拓展性差的难题。
SDNLAB 2015-07-16 13:17:28
在过去,OpenFlow一度是SDN的代名词,只要是SDN出现的地方就不得不谈到OpenFlow。不过现今,SDN似乎对OpenFlow并不是很热情,在谈论SDN时,OpenFlow也不再是标配了。这个曾经的唯一选择究竟遇到了什么,难道这是OpenFlow协议之殇?
2013年, 当时还在德州仪器(TI)的 Pat Bosshart,联合斯坦福Nick、微软研究院的 George 等人在SIGCOMM上提出了一种RMT交换机实现,其实现了网络协议的自定义解析,自定义匹配、处理、转发,这个就是现在Intel Tofino 芯片的原型。但当时相关网络编程语言与编译器还未完善。
原文: .gitignore File – How to Ignore Files and Folders in Git
Git 是一个流行的版本控制系统。开发人员通过它可以在项目上进行协作。
Git 允许你跟踪你在一段时间内对项目所做的修改。除此之外,如果你想撤销某个改动,它还可以让你恢复到以前的版本。
P4(Programming Protocol-Independent Packet Processors)是一种开源的、数据面的高级编程语言,专为编程可重构网络而设计。P4自诞生以来便引起了学术界与工业界的广泛关注,不仅各大顶级会议和期刊上P4 相关的学术论文大量涌现,谷歌、AT&T、阿里巴巴、腾讯等在内的超过 100 家世界知名大型公司也已加入 P4 语言联盟,产业界掀起了P4应用与探索的浪潮。
在文章《P4:开创数据平面可编程时代》中介绍了P4的架构特性、交换机结构以及P4程序的工作原理,本篇为大家介绍P4语言编码及规范,从编码角度去理解P4程序的工作流程。
P4项目源码可以在github上直接获取(https://github.com/p4lang)。P4项目由很多个单独的模块组成,每个模块就是一个子项目,下面分别简单介绍一下各模块的功能。