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

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

实验内容

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

    实验步骤
  1. 先进入/home/P4/tutorials/exercises/basic_tunnel文件夹,完善其中的basic_tunnel.p4文件具体过程不赘述
  2. 在该文件夹内执行命令 make run
  3. 运行成功后同时会启动mininet,在mininet命令行内输入pingall测试连通性
  4. 用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有了一定的理解,受益匪浅。

posted @ 2021-11-02 21:44  Atsusaka  阅读(46)  评论(0编辑  收藏  举报