实验总述

本实验旨在让大家系统掌握 P4 编程理念和可编程交换机的使用方法,通过动手实践理解数据平面与控制平面的交互,并实现高级网络功能。P4 实验按照“仿真基础 → 硬件操作 → Tofino 转发实验”的顺序组织,其中 Tofino 基础操作被拆成四个短实验:

  1. 第一阶段:P4 语言基础学习 在 BMv2 + Mininet 仿真环境下,学习 \(P4_{16}\) 数据平面编程规范和 P4Runtime 控制平面接口规范,并完成 P4-Tutorial 的基础作业,包括:

    • 数据平面:Basic Forwarding、Basic Tunneling
    • 控制平面:P4Runtime 、 Flowcache

    通过这些练习,大家可以掌握 P4 程序的编译、加载和表项操作流程。

  2. 第二阶段:Tofino 交换机基础操作 在 Tofino 芯片交换机上逐步练习黑盒观察、IPv4 单跳处理、有状态处理、报文重提交、组播复制和硬件 packet generator。每个实验只引入少量新的 TNA 操作,并要求用抓包、端口计数器和控制面输出互相验证。

  3. 第三阶段:Tofino 转发实验(stage-two-forward) 在完成第二阶段的四个基础操作实验后,将解析器、匹配-动作表、IPv4 转发、ARP 处理、控制面下表和端口调试方法组合成一个完整的数据面实验。

  4. 提高实验:高级网络功能实现 在掌握基础技能的前提下,可以选择实现:

    • Load Balancing
    • Quality of Service
    • OSPF 路由器
    • 自主选题

结合前沿研究论文学习新机制,实现更复杂的网络功能。通过这一阶段的探索,不仅能提升动手能力,还能理解可编程网络在实际网络中的应用场景。

本实验的设计旨在让大家:

  • 搭建真实网络拓扑,理解数据流动与控制机制
  • 掌握可编程网络的设计与实现方法
  • 提升系统调试和问题分析能力
  • 培养主动探索和科研思维
  • 获得与课程成绩和未来科研/工程实践相关的综合能力
作者:Zizhi Shang (94.12%), Haixuan Tong (2.94%), Haochen Zhang (2.94%)

评论