实验8:数据平面可编程实践——P4
实验8:数据平面可编程实践——P4
实验内容
- 熟悉使用P4实现交换机IPv4的基本转发原理,编写P4程序,在下面的拓扑中实现IPV4 隧道转发。
实验步骤
- 先进入/home/P4/tutorials/exercises/basic_tunnel文件夹,完善其中的basic_tunnel.p4文件
具体过程不赘述 - 在该文件夹内执行命令 make run
- 运行成功后同时会启动mininet,在mininet命令行内输入pingall测试连通性
- 用xterm 打开主机h1,h2的,模拟终端
(1) 在h2终端内输入./receive.py,开启服务器以接收消息
(2)在h1终端下输入./send.py 10.0.2.2 "hello h2 I'm h1"向主机h2发送消息
(3) 使用隧道进行测试,在h1中发送消息给h2,输入命令./send.py 10.0.2.2 "test tunnel" --dst_id 2
个人总结
-
实验难度
较难,需要学习p4相关知识,还要补充代码,而且相关资料基本都是全英文,看起来比较吃力 -
实验遇到的问题
在补全basic_tunnel.p4的代码时 mark_to_drop()多出了里面的参数,导致无法成功运行,删除后就可以成功运行。 -
个人感想
通过老师给出的教程了解P4-16版本的基本语法,我对p4有了初步的了解,能看懂相关代码内容。多次实验下来我对mininet的使用已经较为熟练,对sdn有了一定的理解,受益匪浅。