一种基于P4的可编程数据平面交换原型的设计与实现制造技术

技术编号:19352238 阅读:282 留言:0更新日期:2018-11-07 17:32
本发明专利技术属于可编程数据平面交换机领域,公开了一种基于P4的可编程数据平面交换原型系统,数据平面采用AXI4‑Stream总线实现流水线结构,对进入数据通路的数据进行分阶处理,流水线上的每一阶是一个独立的IP core;使用Verilog硬件描述语言开发输入仲裁模块用于对4个GE以太网口以及DMA通道数据进行仲裁;用P4‑SDNet编译器将用户开发的P4应用编译为HDL模块用于实现数据包的处理与转发;使用Verilog硬件描述语言开发输出缓存队列模块用于将数据包输出至外部网口。用户只需将编写好的P4程序编译并加载至本系统,便可实现其用P4描述的网络功能。利用几块本开发板便可部署小型P4网络测试系统,对于P4的教学演示和科研用途具有一定的实用价值。

【技术实现步骤摘要】
一种基于P4的可编程数据平面交换原型的设计与实现
本专利技术属于可编程数据平面交换机领域,尤其涉及一种基于P4的可编程数据平面交换原型系统。
技术介绍
目前,业内常用的现有技术是这样的:软件定义网络SDN因其使网络拥有者和运营商能够对网络行为进行编程而取得了巨大的成功。然而,其可编程性目前仅局限于网络控制平面,其转发平面在很大程度上受制于功能固定的包处理硬件。P4(可编程协议无关包处理器)旨在完全摆脱网络数据平面的束缚,让网络研究者可以自上而下地定义数据包的完整处理流程。自2014年在SIGCOMMCCR上首次发表的P4论文“P4:ProgrammingProtocol-IndependentPacketProcessors”以来,P4研究就引起了工业界和学术界的极大关注。业内专家和主要学术团队在P4方面的论文主要集中在网络流量可视化INT、带状态转发、自定义协议无关转发等应用。而以上文献中P4应用功能的验证工作均借由P4语言联盟(www.P4.org)发布的开源P4开发测试框架完成,即利用P4编译器将编译得到的JSON格式文件配置到bmv2软件交换机中,并使用mininet工具进行本文档来自技高网...

【技术保护点】
1.一种基于P4的可编程数据平面交换方法,其特征在于,所述基于P4的可编程数据平面交换方法数据层面采用AXI4‑Stream总线实现流水线结构,对流入的数据进行分阶处理,流水线上的每一阶是一个独立的IP core;使用Verilog硬件描述语言开发输入仲裁模块用于对4个GE以太网口以及DMA通道数据进行仲裁;用P4‑SDNet编译器将用户开发的P4应用编译为HDL模块用于实现数据包的处理与转发;使用Verilog硬件描述语言开发输出缓存队列模块用于将数据包输出至外部网口。

【技术特征摘要】
1.一种基于P4的可编程数据平面交换方法,其特征在于,所述基于P4的可编程数据平面交换方法数据层面采用AXI4-Stream总线实现流水线结构,对流入的数据进行分阶处理,流水线上的每一阶是一个独立的IPcore;使用Verilog硬件描述语言开发输入仲裁模块用于对4个GE以太网口以及DMA通道数据进行仲裁;用P4-SDNet编译器将用户开发的P4应用编译为HDL模块用于实现数据包的处理与转发;使用Verilog硬件描述语言开发输出缓存队列模块用于将数据包输出至外部网口。2.如权利要求1所述的基于P4的可编程数据平面交换原型系统,其特征在于,所述基于P4的可编程数据平面数据包流水线处理通路具体如下:接收来自千兆电口的以太网数据包;利用输入仲裁模块将来自4个ETH通道和DMA通道的5个并行数据通路转换为串行数据通路;利用P4语言编写的应用所生成的IP核完成用户自定义协议数据包的处理及转发工作;缓存待输出的数据报文,包含5个队列,根据TUSER通道中的DST_PORT,将输出至eth口的报文存储到对应的4个队列中,输出到DMA虚拟4个TX的报文全部存储到一个队列中;发送对应输出队列中的数据至千兆电口。3.如权利要求1所述的基于P4的可编程数据平面交换方法,其特征在于,所述基于P4的可编程数据平面交换系统设计流程进一步包括:步骤一,使用P4-SDNet编译器将用户开发的P4应用编译为HDL源码模块,用于网络系统主数据通路中数据包转发端口的查找;步骤二,使用Verilog硬件描述语言开发输入仲裁模块,用于对4个GE以太网口以及DMA通道数据进行仲裁;步骤三,使用Verilog硬件描述语言开发输出队列模块,用于缓存数据包并将数据包输出至外部网口;步骤四,利用Vivado工具将上述三个子模块封装为交换机主数据通路user_datapathIP核;步骤五,在Vivado中新建工程,配...

【专利技术属性】
技术研发人员:陈果赵国强吴高寒
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:陕西,61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1