实验总述
本实验旨在让大家系统掌握 P4 编程理念和可编程交换机的使用方法,通过动手实践理解数据平面与控制平面的交互,并实现高级网络功能。P4 实验按照“仿真基础 → 硬件操作 → Tofino 转发实验”的顺序组织,其中 Tofino 基础操作被拆成四个短实验:
-
第一阶段:P4 语言基础学习 在 BMv2 + Mininet 仿真环境下,学习 \(P4_{16}\) 数据平面编程规范和
P4Runtime控制平面接口规范,并完成P4-Tutorial的基础作业,包括:- 数据平面:Basic Forwarding、Basic Tunneling
- 控制平面:P4Runtime 、 Flowcache
通过这些练习,大家可以掌握 P4 程序的编译、加载和表项操作流程。
-
第二阶段:Tofino 交换机基础操作 在 Tofino 芯片交换机上逐步练习黑盒观察、IPv4 单跳处理、有状态处理、报文重提交、组播复制和硬件 packet generator。每个实验只引入少量新的 TNA 操作,并要求用抓包、端口计数器和控制面输出互相验证。
-
第三阶段:Tofino 转发实验(
stage-two-forward) 在完成第二阶段的四个基础操作实验后,将解析器、匹配-动作表、IPv4 转发、ARP 处理、控制面下表和端口调试方法组合成一个完整的数据面实验。 -
提高实验:高级网络功能实现 在掌握基础技能的前提下,可以选择实现:
- Load Balancing
- Quality of Service
- OSPF 路由器
- 自主选题
结合前沿研究论文学习新机制,实现更复杂的网络功能。通过这一阶段的探索,不仅能提升动手能力,还能理解可编程网络在实际网络中的应用场景。
本实验的设计旨在让大家:
- 搭建真实网络拓扑,理解数据流动与控制机制
- 掌握可编程网络的设计与实现方法
- 提升系统调试和问题分析能力
- 培养主动探索和科研思维
- 获得与课程成绩和未来科研/工程实践相关的综合能力
作者: