实验8:数据平面可编程实践——P4

一、实验目的

  1. 掌握V1Model框架下P4_16的程序结构和基本语法
  2. 能够运用 P4 进行简单数据平面编程

二、实验环境

  1. 下载虚拟机软件Oracle VisualBox或VMware;
  2. 在虚拟机中安装Ubuntu 16.04 Desktop amd64,并安装完整Mininet和P4开发环境;
  3. 提供P4镜像P4-Suite2018.ova,提取码:egwf

三、实验要求

(一)基本要求

  • 熟悉使用P4实现交换机IPv4的基本转发原理,编写P4程序,在下面的拓扑中实现IPV4 隧道转发。
  • 将basic_tunnel.p4中的代码编写补全并用make run运行
  • 在mininet中输入xterm h1 h2
  • 并在h2中输入 ./receive.py 启动服务器用以接收消息
  • 在h1中输入"My ID is 031902520",h2接收到h1的消息
  • 接着使用隧道进行测试,在h1中给h2发送消息

四、个人总结

  • 在这次实验中我学到了许多关于在V1Model框架下P4_16的程序结构和基本语法,以及如何运用 P4 进行简单数据平面编程。得出相关的结论,即隧道通信时不再根据 IP 报头进行路由,而是根据 mytunnel 标头指定的 dst_id 进行转发。
  • 这次的实验我认为十分有难度,很多问题都需要同学的帮助来解决。例如官网的教程是纯英文的,只能靠翻译机器来进行阅读,勉勉强强能够理解到一些P4的编程知识。在实验的时候遇到过在mininet中输入xterm h1 h2却没反应,重启后就解决了。总而言之,通过本次实验我还是十分有收获的,今后还需要多多阅读相关资料,不断补充自己的知识储备,才能更好的学会这门课程。
posted @ 2021-11-03 00:21  xxxhp  阅读(54)  评论(0编辑  收藏  举报