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

实验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官方示例教程,链接:https://github.com/p4lang/tutorials,了解P4-16版本的基本语法、基于V1Model的P4代码结构,完成如下练习:

(一)基本要求

熟悉使用P4实现交换机IPv4的基本转发原理,编写P4程序,在下面的拓扑中实现IPV4 隧道转发。
实验8:数据平面可编程实践——P4

  • 修改basic_tunnel.p4中的代码并运行
    实验8:数据平面可编程实践——P4
  • 打开h1、h2终端,h1发送消息“031902532 SDN lab8”

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

  • h1通过隧道发送消息“hello”
    实验8:数据平面可编程实践——P4

四、个人总结

  • 这次实验的难度感觉挺大的,其实每次有需要配置新的实验环境内容我都觉得难度挺大的,就算是老师的教程再详细也会出些奇奇怪怪问题,甚至要重新配置。

  • 首先是环境配置上,这次虚拟机导入还算比较正常,可是开始做试验做到一半的时候我虚拟机中的xterm没办法打开了,很无奈。在网上找了一些解决方法,在这里记录一下,希望没有同学需要用到。

    • 如果系统中没有安装xterm,那么就需要安装xterm
          sudo apt-get install  xterm
      
    • 在终端可以正常使用xterm,但是在mininet的CLI环境中却无法使用。
      解决办法:重新安装mininet,只需要选择 -n就可以了
          #~/mininet/util$ ./install.sh -n
      
    • 一般的话先重启虚拟机试试看
  • 然后这次要改的代码还是比较多的,细节方面要做好,不然就得对着报错一条一条地改。

  • 不知不觉已经做到实验八了,通过这几次的SDN实验,不仅仅学到了软件定义网络的知识,也让我学到了很多虚拟机、Linux操作系统的使用知识。在搜索课内有关知识的过程中我也了解到,虚拟机的用处远不止做一做Linux系统上的实验这么简单,希望在后续的学习中能更好地利用好我在SDN课上学到的这些知识。

上一篇:第四次SDN实验


下一篇:实验4:开源控制器实践——OpenDaylight