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

发布时间:2022-07-01 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了实验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

1.完善basic_tunnel.P4代码并运行

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

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

2.使用xterm h1 h2打开两个终端h1和h2

3.在h2的xterm启动服务器`./receive.py,在没有隧道的情况下,在h1的xterm,发送消息到h2

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

4.使用隧道进行测试,在 h1 xterm中发送消息到h2

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

5.使用隧道进行测试,在 h1 xterm中设置./send.py 10.0.3.3 "031902435-2" --dst_id 2

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

发现数据包在h2,即使该IP地址的h3的地址

四、个人总结

  • 实验难度

    • 适中
  • 实验过程遇到的困难

    • Q1:阅读GitHub上的文件速度较慢

    • A1:使用火狐自带的网站翻译之后,速度加快而且不影响阅读。火狐真的好用,yyds

    • Q2:使用隧道,在h1 xterm向h2发送消息,但是h2无法收到

    • A2:重新检查basic_tunnel.p4文件,发现有一处函数不完整,对照官方文件补充后,h2可以正常收到h1发送的消息。感谢我的一个空耳朋友告诉我这个解决办法,自己还是粗心了一点

  • 收获

    • 首先学习到了新的知识[/快乐],对于P4_16的程序结构和基本语法有了大致的了解,不过运用起来还是有些不熟练。之后会将进阶内容在琢磨琢磨下。

脚本宝典总结

以上是脚本宝典为你收集整理的实验8:数据平面可编程实践——P4全部内容,希望文章能够帮你解决实验8:数据平面可编程实践——P4所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。