CN108768892A - 一种基于p4的可编程数据平面交换原型的设计与实现 - Google Patents

一种基于p4的可编程数据平面交换原型的设计与实现 Download PDF

Info

Publication number
CN108768892A
CN108768892A CN201810251535.4A CN201810251535A CN108768892A CN 108768892 A CN108768892 A CN 108768892A CN 201810251535 A CN201810251535 A CN 201810251535A CN 108768892 A CN108768892 A CN 108768892A
Authority
CN
China
Prior art keywords
data
packet
modules
programmable data
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201810251535.4A
Other languages
English (en)
Inventor
陈果
赵国强
吴高寒
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xidian University
Original Assignee
Xidian University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xidian University filed Critical Xidian University
Priority to CN201810251535.4A priority Critical patent/CN108768892A/zh
Publication of CN108768892A publication Critical patent/CN108768892A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/109Integrated on microchip, e.g. switch-on-chip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/14Arrangements for monitoring or testing data switching networks using software, i.e. software packages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

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

Description

一种基于P4的可编程数据平面交换原型的设计与实现
技术领域
本发明属于可编程数据平面交换机领域,尤其涉及一种基于P4的可编程数据平面交换原型系统。
背景技术
目前,业内常用的现有技术是这样的:软件定义网络SDN因其使网络拥有者和运营商能够对网络行为进行编程而取得了巨大的成功。然而,其可编程性目前仅局限于网络控制平面,其转发平面在很大程度上受制于功能固定的包处理硬件。P4(可编程协议无关包处理器)旨在完全摆脱网络数据平面的束缚,让网络研究者可以自上而下地定义数据包的完整处理流程。自2014年在SIGCOMM CCR上首次发表的P4论文“P4:Programming Protocol-Independent Packet Processors”以来,P4研究就引起了工业界和学术界的极大关注。业内专家和主要学术团队在P4方面的论文主要集中在网络流量可视化INT、带状态转发、自定义协议无关转发等应用。而以上文献中P4应用功能的验证工作均借由P4语言联盟(www.P4.org)发布的开源P4开发测试框架完成,即利用P4编译器将编译得到的JSON格式文件配置到bmv2软件交换机中,并使用mininet工具进行相关功能的仿真验证,而非在真实网络场景下部署测试。另外,2017年5月在P4Developer Day中演示的P4-NetFPGA可将其开发的最新NetFPGA SUME板卡作为P4目标交换机来测试验证P4功能的正确性。但SUME板必须插在带有PCIE接口的主机上方可实现对应处理器上应用软件的运行,给构建含多个P4交换机的网络系统带来不便。
综上所述,现有技术存在的问题是:现有P4应用的测试方式均借由bmv2软件交换机和mininet工具仿真完成,未能真实的部署至物理环境中,导致对开发的P4应用功能的验证结果缺乏一定的准确性和可信性。而各大厂商推出的P4开发平台的处理器系统和可编程交换芯片相互独立,由不同的器件实现,再加上外围电路,使得交换机体积大,功耗高,这在教学演示和科研中非常不便。
解决上述技术问题的难度和意义:本发明提出利用具有高集成度,高性能和低功耗特点的SOC实现P4开发原型系统以满足教学和科研需求。它将全可编程SOC作为目标交换机来加载P4应用,实现了P4应用在可编程逻辑芯片FPGA上的配置运行。P4研究人员可利用本原型系统在真实物理环境下运行其开发的P4应用,并完成相关功能的测试。
发明内容
针对现有技术存在的问题,本发明提供了一种基于P4的可编程数据平面交换原型系统。
本发明是这样实现的,一种基于P4的可编程数据平面交换原型系统,所述基于P4的可编程数据平面交换方法数据层面采用AXI4-Stream总线实现流水线结构,对进入数据通路的数据进行分阶处理,流水线上的每一阶是一个独立的IP core;使用Verilog硬件描述语言开发输入仲裁模块用于对4个GE以太网口以及DMA通道数据进行仲裁;用P4-SDNet编译器将用户开发的P4应用编译为HDL模块用于实现数据包的处理与转发;使用Verilog硬件描述语言开发输出缓存队列模块用于将数据包输出至外部网口。
进一步,所述基于P4的可编程数据平面交换系统数据包传输通路具体如下:
接收来自千兆电口的以太网数据包;
利用输入仲裁模块将来自4个ETH通道和DMA通道的5个并行数据通路转换为串行数据通路;
利用P4语言编写的应用所生成的IP核完成用户自定义协议的网络数据包的处理及转发工作;
缓存待输出的数据报文,包含5个队列,根据TUSER通道中的DST_PORT,将输出至eth口的报文存储到对应的4个队列中,输出到DMA虚拟4个TX的报文全部存储到一个队列中;
发送对应输出队列中的数据至千兆电口。
进一步,所述基于P4的可编程数据平面交换系统设计方法进一步包括:
步骤一,使用P4-SDNet编译器将用户开发的P4应用编译为HDL源码模块,用于网络系统主数据通路中数据包转发端口查找;
步骤二,使用Verilog硬件描述语言开发输入仲裁模块,用于对4个GE以太网口数据以及DMA通道数据进行仲裁;
步骤三,使用Verilog硬件描述语言开发输出队列模块,用于缓存数据包并将数据包输出至外部网口;
步骤四,利用Vivado工具将上述三个子模块封装为交换机主数据通路user_datapath IP核;
步骤五,在Vivado中新建工程,配置系统运行所需的其它IP核,完成系统模块间的连接,添加引脚约束以及时序约束,最后综合、实现以及生成FPGA配置比特流文件。
本发明的另一目的在于提供一种所述基于P4基于P4的可编程数据平面交换系统,所述基于P4的可编程数据平面交换系统包括:
TMAC模块,以太网控制器完成了数据链路层功能,用于接收来自千兆电口的以太网数据包或将本平台处理过的数据包发送至千兆网口;
输入仲裁模块,用于将5个并行数据通路转换为串行数据通路,并将包含有输入端口的信息以“独热码”编码方式存入AXI-Stream总线的TUSER信号通道中;
输出端口查找模块,即利用P4语言编写的应用所生成的IP核,其完成了用户自定义的网络数据包处理及转发工作;
输出缓冲队列模块,用于缓存待输出的数据报文,包含5个队列,根据TUSER通道中的DST_PORT,将输出至eth口的报文存储到对应的4个队列中,输出到DMA虚拟4个TX的报文全部存储到一个队列中,并发至下一模块。
所述基于P4的可编程数据平面交换原型系统进一步包括:
数据通道千兆网络接口,包含四个10/100/1000Mb/s三速自适应RJ45电口,由物理层芯片PHY经通信专用总线SGMII接入可编程逻辑单元,提供网络通信路径;物理层芯片PHY提供多种附加网络功能;
三速以太网模块,构建MDIO接口用来连接PHY以管理其上的寄存器,用于配置PHY功能、查看状态、处理中断;
user_datapath模块,利用可编程逻辑资源实现的用于实现网络数据包处理转发的主数据通路模块。
所述user_datapath模块进一步包括:
input_arbiter模块、output_lookup模块以及ouput_queue模块。
本发明的另一目的在于提供一种应用所述基于P4的可编程数据平面交换方法的交换机。
本发明的另一目的在于提供一种应用所述基于P4的可编程数据平面交换方法的计算机程序。
综上所述,本发明的优点及积极效果为:本发明基于zynq-7000全可编程SOC硬件芯片上完成网络系统设计,将P4编写的协议无关转发包处理器作为一个采用标准AXI4总线协议的HDL模块配置于本硬件系统中,构建了基于P4的可编程数据平面交换机系统,实现了软件定义网络中交换机数据平面可编程性。系统设计所使用的FPGA硬件平台为叠锶公司基于Xilinx zynq-7000系列芯片开发的ONetSwitch30产品,它以可编程逻辑单元与处理器为核心,配备高速率网络接口,通过板上丰富的可编程逻辑单元便可实现数据通道处理的全可编程性。
本发明设计了基于P4的可编程数据平面交换机,相较于传统的交换机而言,实现了数据平面的可编程性协议无关转发功能。通过编写P4程序并配置加载到本发明中便可灵活、快速地开发新的网络功能,比如新的自定义功能或标准的数据包头规范和转发行为。本发明中开发的输入仲裁模块、输出队列模块以及调用配置的其它IP核的输入输出均采用标准的AXI4总线协议,因此都可作为硬件系统中的通用设计。唯一需要用户完成的工作便是执行几行命令将P4程序编译为采用AXI4标准总线的HDL模块,大大简化了P4开发人员对于FPGA硬件开发工作的难度。本发明采用的zynq-7000硬件平台包含ARM双核和FPGA可编程逻辑资源两部分。传统的FPGA开发中软件系统运行于X86主机中,并经由PCIE接口完成和FPGA的通信。而本发明无须X86主机,用户只需在本硬件平台上完成基于CPU的嵌入式系统软件开发便可实现同样功能。因此利用几块本开发板便可部署小型P4网络测试系统,对于P4的科研教育具有一定的实用价值。
附图说明
图1是本发明实施例提供的基于P4的可编程数据平面交换原型系统结构示意图;
图中:1、TMAC模块RX方向;2、输入仲裁模块;3、输出端口查找模块;4、输出缓冲队列模块;5、TMAC模块TX方向
图2是本发明实施例提供的基于P4的可编程数据平面交换方法流程图。
图3是本发明实施例提供的数据通路流水线图。
图4是本发明实施例提供的通用输入仲裁模块信号图。
图5是本发明实施例提供的源目的端口编码方式图。
图6是本发明实施例提供的网络系统设计原理图。
图7是本发明实施例提供的硬件系统工程模板目录图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本文发明的基于P4的可编程数据平面原型系统的设计与实现是基于全可编程芯片zynq-7000器件,其具有高速率的可编程逻辑资源与处理器互联接口。本发明开发了一种将全可编程SOC作为目标交换机来配置P4应用的测试平台,实现了P4应用在可编程逻辑芯片FPGA上的配置运行。
如图1所示,本发明实施例提供的基于P4的可编程数据平面交换原型系统包括:
TMAC模块1(RX方向):以太网控制器完成了数据链路层功能,用于接收来自千兆电口的以太网数据包。
输入仲裁模块2:输入仲裁是主数据通路的起始点,该IP core主要负责将5个输入IP core的并行数据通路转换为串行数据通路。采用的仲裁算法为轮询方式,即从RX0开始循环,发现某一RX队列非空就将数据从队列中拉出,传递给下一模块。并自定义AXI4_Stream接口中的TUSER通道的数据格式,TUSER通道中SRC_PORT和DST_PORT域都占8bits,分别为源输入端口和目的输出端口号,编码方式采用“独热码”,4个ETH口对应奇数比特,DMA映射的4个口对应偶数比特。
输出端口查找模块3:输出端口查找是主数据通路的核心模块,它是利用P4语言编写的应用所生成的IP核,其完成了用户自定义的网络数据包处理及转发工作。其中,输出端口查找主要负责读取报文的TUSER通道SRC_PORT域的内容判断报文来自哪个RX,将来自ETH报文的DST_PORT域填充为DMA对应的映射口,将来自DMA的报文DST_PORT域填充为映射的ETH口,并传递给下一模块。
输出缓冲队列模块4:输出队列是主数据通路的终点,主要负责缓存待输出的数据报文,包含5个队列,根据TUSER通道中的DST_PORT,将输出至eth口的报文存储到对应的4个队列中,输出到DMA虚拟4个TX的报文全部存储到一个队列中,并发至下一模块。
TMAC模块5(TX方向):以太网控制器完成了数据链路层功能,用于发送上一模块中对应输出队列中的数据至千兆电口。
如图2所示,本发明实施例提供的基于P4的可编程数据平面交换方法包括以下步骤:
S201:利用P4-SDNet编译器将用户开发的P4应用编译为HDL源码;
S202:使用Verilog硬件描述语言开发输入仲裁模块用于对4个GE以太网口以及DMA通道数据进行仲裁;
S203:使用Verilog硬件描述语言开发输出队列模块用于缓存数据包并将数据包输出至外部网口;
S204:利用Vivado工具将上述三个模块封装为交换机主数据通路user_datapathIP核;
S205:在Vivado中新建工程,配置系统运行所需的其它IP核,完成系统模块间的连接,添加引脚约束以及时序约束,最后综合、实现以及生成FPGA配置比特流文件。
下面结合附图对本发明的应用原理作进一步的描述。
如图4所示,本发明的硬件系统设计包含以下部分:
(1)数据通道千兆网络接口,包含四个10/100/1000Mb/s三速自适应RJ45电口,由物理层芯片PHY经通信专用总线SGMII接入可编程逻辑单元,提供网络通信路径。其中物理层芯片PHY可提供多种附加网络功能,包括同步以太网,IEEE 1588协议支持等。
(2)三速以太网模块AXI_ETH是一个三速(10/100/1000Mb/s)MAC(介质访问控制),本发明采用SGMII作为其网络接口。数据传输采用AXI4-Lite和32-bit AXI4-Stream总线接口,AXI4-Lite总线用于处理器访问寄存器,AXI4-Stream总线用于发送和接收数据包,并利用MDIO接口来管理PCS/PMA和PHY寄存器。AXI_ETH通过内部总线将接收到的网络数据包送入user_datapath主模块,经处理后再由user_datapath主模块发送相应的MAC接口,最后由网口送出。三速以太网模块和网络接口模块、用户自定义可编程数据通道主模块相连。
(3)user_datapath是利用可编程逻辑资源实现的用于实现网络数据包处理转发的主数据通路模块。如图3所示,其包含三个子模块,详细说明如下:
1)input_arbiter模块为仲裁模块,用于轮询5个通道的数据,并将某个通道数据输出给下一个模块P4_App_Core。
为了实现和P4-SDNet编译得到的output_port_lookup模块对接,本仲裁模块亦采用标准AXI_Strema总线作为输出接口。
如图5,经由各个以太网控制器输出的AXIS_Stream流在进入仲裁模块后,首先会缓存至各自的FIFO队列中,然后再通过for循环来依次轮询各个队列,并取出5个队列中的一个作为仲裁队列,最后从该队列中取出数据并输送至下一模块。
2)output_port_lookup模块为P4应用的核心子模块(即P4_App_Core),它是通过P4_SDNet工具编译P4应用程序得到的带有标准AXI4_Stream总线接口的IP核。该模块即用户利用P4程序自定义的数据平面,用于根据流水线匹配表pipeline来执行相应的动作,如修改数据包包头域信息、确定数据包输出端口号、确定丢弃数据包或经由DMA交由CPU进一步处理。通过编译不同的P4程序并配置到本系统中,便可实现不同的交换功能,进而体现了P4的设计思想,即协议无关性、现场可重配置性。
主数据通路利用AXI4-Stream总线中的axis_tuser信号传输数据包源目的端口信息。具体采用“独热码”方式(具体对应关系如图6所示)来表明数据包由哪个物理网口进入本交换机以及数据包将从哪个物理网口转发至网络中。
3)output_queues模块为输出缓冲队列,用于缓存待转发的数据包,并将网络数据包送至MAC模块。可通过检查axis_tuser中各个字段域的域值来确定数据包的输出端口以及是否丢弃等信息。若数据包不丢弃,则根据输出端口值将数据包存入对应输出队列,最后由对应输出队列输出至对应网口。
(4)DMA模块,直接存储器访问(Direct Memory Access,DMA)允许PL端的硬件子系统可以独立地直接读写PS端系统存储器,而无须经由处理器发出中断来完成请求处理。减轻了处理器的负担,大大提高了数据传输效率。DMA模块和先进可扩展接口AXIInterconnect相连。
(5)处理器子系统模块,用于配置、管理、查询各个子模块中寄存器值,并为P4语言规范规定的基本模块指令集处理流程提供控制、解析、指令等支持。本硬件平台采用的处理器为ARM架构。处理器模块和先进可扩展接口AXI Interconnect相连。
(6)先进可扩展接口AXI Interconnect模块。AXI互联矩阵的作用是提供将一个或多个AXI主设备连接至一个或多个AXI从设备的一种交换机制。本设计中利用AXI4-Stream总线进行高速数据传输的部分为数据层面,而通过AXI4-Lite将处理器PS核与其他IP core连接在一起作为控制层面。本系统中用此模块实现AXI_ETH、user_datapath主模块、处理器、DMA之间的互联。
如图7所示,本P4开发平台为了方便用户使用,已开发了针对本硬件系统设计的tcl命令脚本(直接在Vivado中执行便可完成整个工程的创建)。用户只需将P4程序编译(利用P4-SDNet编译器)为HDL源码并拷贝于特定目录,并运行本脚本便可完成硬件系统的构建,然后在Vivado中对该工程进行综合、实现,最后生成bit流文件配置到本硬件平台便完成了FPGA的配置工作。因此大大简化了P4研究人员对FPGA硬件开发的上手难度。
下面结合测试对本发明的应用效果作详细的描述。
1.测试条件:
本发明的测试需要装有Ubuntu 12.04系统的主机一台,ONetSwitch30开发板(即硬件平台)一块。测试选用的P4应用为Xilinx于ACM SIGCOMM 2017Tutorial会议上在NetFPGA SUME平台上演示的测试应用switch_calc(具有简易计算器功能)。该应用可以较好的反映P4的功能:自定义协议数据包头部实现协议无关转发;基于Match+ActionPipeline操作。因此具备一定的代表性。
2.测试内容与结果:
自定义标识switch_calc协议头部的协议字段值为0x1212,switch_calc.p4程序描述的交换机将执行以下任务:
①从客户端接收和解析数据包;
②交换源和目标MAC地址;
③检查协议头部的opCode字段以确定要执行的相应操作:
opCode=0:加法运算;
opCode=1:减法运算;
opCode=2:完成交换机查找匹配功能;
④设置结果字段,构建最终数据包并将其发送回客户端。
将switch_calc.p4配置到本硬件系统,使用RJ45网线将开发板和主机连接。利用Python脚本构建switch_calc数据包,并发送至配置好的ONetSwitch30开发板中,利用Wireshark工具对主机网口抓包,得到测试结果。通过对比发送数据包和接收数据包来验证switch_calc.p4的功能,详细如下:
验证了加法器功能(6+3=9);验证了减法器功能(5-3=2);验证了匹配查找功能,即匹配字段为op1,对应查找结果为op1的平方(op1=3,result=9)。本发明中采用了自定义协议0x1212,利用该协议构建的数据包能够被配置有switch_calc.p4程序的交换机识别并解析,验证了P4的协议无关转发功能。综上,本发明在基于SoC硬件平台上开发的网络系统能够运行P4程序,表明本发明可作为P4应用在真实环境下的测试验证平台。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种基于P4的可编程数据平面交换方法,其特征在于,所述基于P4的可编程数据平面交换方法数据层面采用AXI4-Stream总线实现流水线结构,对流入的数据进行分阶处理,流水线上的每一阶是一个独立的IP core;使用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中新建工程,配置系统运行所需的其它IP核,完成系统模块间的连接,添加引脚约束以及时序约束,最后综合、实现以及生成FPGA配置比特流文件。
4.一种如权利要求1所述基于P4的可编程数据平面交换系统,其特征在于,所述基于P4的可编程数据平面交换系统包括:
TMAC模块,即以太网控制器,完成数据链路层功能,用于接收来自千兆电口的以太网数据包或将本平台处理过的数据包由千兆网口发送至外部网络;
输入仲裁模块,将来自4个ETH通道和DMA通道的5个并行数据通路转换为串行数据通路;
输出端口查找模块,即利用P4语言编写的应用所生成的IP核,其完成了用户自定义网络数据包的处理及转发工作;
输出缓冲队列模块,用于缓存待输出的数据报文,包含5个队列,根据TUSER通道中的DST_PORT,将输出至eth口的报文存储到对应的4个队列中,输出到DMA虚拟4个TX的报文全部存储到一个队列中,并发至下一模块。
5.如权利要求4所述的基于P4的可编程数据平面交换系统,其特征在于,所述基于P4的可编程数据平面交换系统进一步包括:
数据通道千兆网络接口,包含四个10/100/1000Mb/s三速自适应RJ45电口,由物理层芯片PHY经通信专用总线SGMII接入可编程逻辑单元,提供网络通信路径;物理层芯片PHY提供多种附加网络功能;
三速以太网模块,构建MDIO接口用来连接PHY以管理其上的寄存器,用于配置PHY功能、查看状态、处理中断;
user_datapath模块,利用可编程逻辑资源实现的用于实现网络数据包处理转发的主数据通路模块。
6.一种应用权利要求1~3任意一项所述基于P4的可编程数据平面交换方法的交换机。
7.一种应用权利要求1~3任意一项所述基于P4的可编程数据平面交换方法的计算机程序。
8.一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1-3任意一项所述的基于P4的可编程数据平面交换方法。
CN201810251535.4A 2018-03-26 2018-03-26 一种基于p4的可编程数据平面交换原型的设计与实现 Pending CN108768892A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810251535.4A CN108768892A (zh) 2018-03-26 2018-03-26 一种基于p4的可编程数据平面交换原型的设计与实现

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810251535.4A CN108768892A (zh) 2018-03-26 2018-03-26 一种基于p4的可编程数据平面交换原型的设计与实现

Publications (1)

Publication Number Publication Date
CN108768892A true CN108768892A (zh) 2018-11-06

Family

ID=63980211

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810251535.4A Pending CN108768892A (zh) 2018-03-26 2018-03-26 一种基于p4的可编程数据平面交换原型的设计与实现

Country Status (1)

Country Link
CN (1) CN108768892A (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109614152A (zh) * 2018-12-06 2019-04-12 青岛镕铭半导体有限公司 硬件加速模块及存储设备
CN109617652A (zh) * 2018-12-05 2019-04-12 西安思丹德信息技术有限公司 一种基于xilinx FPGA高速收发器的数据传输系统及方法
CN110958079A (zh) * 2019-11-25 2020-04-03 新华三技术有限公司 一种测试方法、装置及测试系统
CN111224839A (zh) * 2019-12-26 2020-06-02 长沙星融元数据技术有限公司 一种带内网络遥测功能的验证方法、装置、存储介质及电子设备
CN111343107A (zh) * 2020-01-22 2020-06-26 盛科网络(苏州)有限公司 信息处理方法、以太网交换芯片以及存储介质
CN112311606A (zh) * 2020-11-12 2021-02-02 中国科学院计算技术研究所 一种用于构建虚实解耦仿真网络的方法
CN113132156A (zh) * 2021-03-31 2021-07-16 中国人民解放军战略支援部队信息工程大学 存储-计算-传输一体化的网络功能基础平台结构及方法
CN113824747A (zh) * 2021-11-25 2021-12-21 之江实验室 一种支持报文负载加密可定义的数据平面可编程实现方法
CN113986560A (zh) * 2021-12-27 2022-01-28 浙江锐文科技有限公司 一种在智能网卡/DPU内实现P4与OvS逻辑复用的方法
CN114448691A (zh) * 2022-01-21 2022-05-06 珠海高凌信息科技股份有限公司 数据转发方法、数据平面及交换机
CN114885047A (zh) * 2022-07-12 2022-08-09 之江实验室 一种可编程网络的协议解析方法、系统和可读存储介质
CN115118617A (zh) * 2022-05-26 2022-09-27 中国科学院计算技术研究所 一种基于p4可编程交换机的意图驱动网络测量方法及系统
CN116860323A (zh) * 2023-09-05 2023-10-10 之江实验室 一种基于p4的编译及fpga配置方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130235716A1 (en) * 2006-01-18 2013-09-12 Cisco Technology, Inc. Dynamic protection against failure of a head-end node of one or more te-lsps
CN103685041A (zh) * 2012-09-04 2014-03-26 清华大学 一种基于比特粒度可编程的路由器及路由方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130235716A1 (en) * 2006-01-18 2013-09-12 Cisco Technology, Inc. Dynamic protection against failure of a head-end node of one or more te-lsps
CN103685041A (zh) * 2012-09-04 2014-03-26 清华大学 一种基于比特粒度可编程的路由器及路由方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
STEPHEN IBANEZ等: ""P4-NeTFPGA Hands-on Labs"", 《HTTPS://P4.ORG/ASSETS/P4_D2_2017_P4_NETFPGA_TUTORIAL.PDF》 *

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109617652A (zh) * 2018-12-05 2019-04-12 西安思丹德信息技术有限公司 一种基于xilinx FPGA高速收发器的数据传输系统及方法
CN109614152A (zh) * 2018-12-06 2019-04-12 青岛镕铭半导体有限公司 硬件加速模块及存储设备
CN109614152B (zh) * 2018-12-06 2022-11-04 镕铭微电子(济南)有限公司 硬件加速模块及存储设备
CN110958079B (zh) * 2019-11-25 2022-07-01 新华三技术有限公司 一种测试方法、装置及测试系统
CN110958079A (zh) * 2019-11-25 2020-04-03 新华三技术有限公司 一种测试方法、装置及测试系统
CN111224839A (zh) * 2019-12-26 2020-06-02 长沙星融元数据技术有限公司 一种带内网络遥测功能的验证方法、装置、存储介质及电子设备
CN111343107A (zh) * 2020-01-22 2020-06-26 盛科网络(苏州)有限公司 信息处理方法、以太网交换芯片以及存储介质
CN112311606A (zh) * 2020-11-12 2021-02-02 中国科学院计算技术研究所 一种用于构建虚实解耦仿真网络的方法
CN112311606B (zh) * 2020-11-12 2022-02-15 中国科学院计算技术研究所 一种用于构建虚实解耦仿真网络的方法
CN113132156B (zh) * 2021-03-31 2022-08-12 中国人民解放军战略支援部队信息工程大学 存储-计算-传输一体化的网络功能基础平台结构及方法
CN113132156A (zh) * 2021-03-31 2021-07-16 中国人民解放军战略支援部队信息工程大学 存储-计算-传输一体化的网络功能基础平台结构及方法
CN113824747A (zh) * 2021-11-25 2021-12-21 之江实验室 一种支持报文负载加密可定义的数据平面可编程实现方法
CN113986560A (zh) * 2021-12-27 2022-01-28 浙江锐文科技有限公司 一种在智能网卡/DPU内实现P4与OvS逻辑复用的方法
CN114448691A (zh) * 2022-01-21 2022-05-06 珠海高凌信息科技股份有限公司 数据转发方法、数据平面及交换机
CN114448691B (zh) * 2022-01-21 2023-09-29 珠海高凌信息科技股份有限公司 数据转发方法、数据平面及交换机
CN115118617A (zh) * 2022-05-26 2022-09-27 中国科学院计算技术研究所 一种基于p4可编程交换机的意图驱动网络测量方法及系统
CN115118617B (zh) * 2022-05-26 2024-05-28 中国科学院计算技术研究所 一种意图驱动网络测量方法、系统及存储介质
CN114885047A (zh) * 2022-07-12 2022-08-09 之江实验室 一种可编程网络的协议解析方法、系统和可读存储介质
CN116860323A (zh) * 2023-09-05 2023-10-10 之江实验室 一种基于p4的编译及fpga配置方法
CN116860323B (zh) * 2023-09-05 2023-12-22 之江实验室 一种基于p4的编译及fpga配置方法

Similar Documents

Publication Publication Date Title
CN108768892A (zh) 一种基于p4的可编程数据平面交换原型的设计与实现
CN106612141B (zh) 一种光纤通道协议通用仿真测试卡及其数据交互方法
Ibanez et al. The p4-> netfpga workflow for line-rate packet processing
Adriahantenaina et al. SPIN: a scalable, packet switched, on-chip micro-network
Plana et al. A GALS infrastructure for a massively parallel multiprocessor
Krasnov et al. Ramp blue: A message-passing manycore system in fpgas
CN101169771B (zh) 一种axi内部总线的外部接口装置及其数据传输方法
CN109039591B (zh) 基于fpga的物联网络信息加密系统的实现方法
Saponara et al. Design of an NoC interface macrocell with hardware support of advanced networking functionalities
CN205983466U (zh) 一种基于fpga的算法加速卡
CN102760114B (zh) 多处理器系统的通信仿真方法、引擎及系统
Carara et al. Communication models in networks-on-chip
Jiang et al. Fault-tolerant routing algorithm simulation and hardware verification of NoC
Luo-Feng et al. Design and performance evaluation of a 2D-mesh Network on Chip prototype using FPGA
US8949105B2 (en) Hardware interface board for connecting an emulator to a network
CN103188264B (zh) 在线网络安全处理器和处理方法
Hassan et al. Hardware Implementation of NoC based MPSoC Prototype using FPGA
CN109189711A (zh) 基于以太网的串行控制台接口及其应用方法
Nair et al. Hardware implementation of network interface architecture for RISC-V based NoC-MPSoC framework
Du et al. Scalability study on mesh based network on chip
Hongsong et al. Design and Implementation of Cloud Server Remote Management System Based on IMPI Protocol
Geng et al. Prototype design of cluster-based homogeneous Multiprocessor System-on-Chip
Nannipieri et al. Building Blocks of a SpaceFibre Network: Examples Designs
Cao et al. An intra-server interconnect fabric for heterogeneous computing
Drochner et al. IPMI test software for MicroTCA developments

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20181106