zoukankan      html  css  js  c++  java
  • 实验8:数据平面可编程实践——P4

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

    基础要求

    首先进入/P4/tutorials/exercises/basic_tunnel

    image-20211102130529524

    basic_tunnel.p4中补全代码,make run运行,之后可以看到启动mininet

    输入xterm h1 h2,启动命令行

    在h2中运行./receive.py

    在h1中输入./send.py 10.0.2.2 "P4 is cool",此时没有采用隧道转发

    image-20211102132635863

    image-20211102132917271

    可以看到,没有采用隧道转发的情况下,由h1向h2发送"P4 is awesome"消息,h3处并不能收到,反之亦然。

    采用隧道转发进行尝试,在h1处输入:./send.py 10.0.2.2 "P4 is cool" --dst_id 2

    image-20211102133103289

    可以看到h2收到消息,这在h1处修改目的IP为10.0.3.3

    image-20211102133240847

    看到虽然IP改变,但是经过隧道转发,交换机仍然将该报文发送给h2

    总结

    本次实验接触到了P4编程语言,并尝试进行编写,但是难度上不是很难,在实验过程中,遇到如下问题,记录如下:

    • P4版本问题:起初在官方github上克隆了仓库到本地进行运行,但是在运行的过程中,发现编译失败,询问同学之后发现是由于虚拟机安装的P4版本过低,导致不能成功运行,需要更换最新的版本,之后发现用户目录下已有P4示例仓库,故暂时不需要更新版本,可以继续实验。
    • 代码编写:填充的代码参考官方教程,但是发现由于前面的P4版本问题,一个函数的传参发生改变,故参考同学的解决方案,修改传参,最终解决问题。

    经过这次实验,感受到自己对P4还不是很了解,计划之后进行更深层次的学习。

  • 相关阅读:
    多重继承
    单继承
    访问限制方法
    猜字游戏
    getSet方法
    访问限制
    __str__函数
    析构函数
    构造函数二
    选择排序
  • 原文地址:https://www.cnblogs.com/JoshuaYu/p/15498574.html
Copyright © 2011-2022 走看看