第八次实验

实验8:数据平面可编程实践——P4
一、实验目的
掌握V1Model框架下P4_16的程序结构和基本语法
能够运用 P4 进行简单数据平面编程
二、实验环境
下载虚拟机软件Oracle VisualBox或VMware;
在虚拟机中安装Ubuntu 16.04 Desktop amd64,并安装完整Mininet和P4开发环境;
提供P4镜像P4-Suite2018.ova,提取码:egwf
三、实验要求
学习P4官方示例教程,链接:https://github.com/p4lang/tutorials,了解P4-16版本的基本语法、基于V1Model的P4代码结构,完成如下练习:

(一)基本要求
熟悉使用P4实现交换机IPv4的基本转发原理,编写P4程序,在下面的拓扑中实现IPV4 隧道转发。

编写补充basic_tunnel.p4中的代码并运行

IPV4隧道转发实现后,pingall成功

验证

主机1的xterm界面修改IP地址,再一次发送信息,主机2的xterm界面,可以看到已经接收到了信息

(二)进阶要求
在熟悉隧道转发原理的前提下,编写实现P4Runtime的Python代码,将流规则下发到上图拓扑中的交换机,实现依据此规则的隧道转发。

个人总结:通过本次实验真的很难,需要学习p4相关知识,而且还要写很多代码,好难啊!自学还是英文的,翻译转换还要转来转去的,好麻烦,进行特别不顺利 。make run 运行报错,排错也很难。对于p4的编写这次实验还是没搞太明白,就糊里糊涂的,不太懂。

posted @ 2021-11-01 23:27  AQ。  阅读(48)  评论(0编辑  收藏  举报