zoukankan      html  css  js  c++  java
  • SDN第八次上机作业

    实现IPV4 隧道转发

    补充basic_tunnel代码
    相关代码可在这里查看
    make run


    使用mininet命令打开h1,h2终端
    xterm h1 h2

    在h2中选择接收数据,h1中选择发送数据
    ./receive.py
    ./send.py 10.0.2.2 "it's cool"

    接着,修改发送目的地址,且额外加上隧道
    ./send.py 10.0.3.3 "it's really cool" --dst_id 2
    可观察到h2收到消息,因为编程中设置的是有隧道时候一定走隧道

    进阶任务

    补充mycontroller代码,代码可在这里
    启动网络
    make

    尝试h1 ping h2和pingall,因为交换机没有规则,所有不能ping成功

    打开另外一个终端,输入命令打开控制器,可以看到每两秒打印一次隧道入口和出口计数器

    cd ~/tutorials/exercises/p4runtime
    ./mycontroller.py
    


    在第一个终端再次尝试ping命令,发现ping通,并且终端2计数器发生变化增加5
    h1 ping -c 5 h2

    个人心得

    之前make run一直报错,于是去官网copy了一下源代码,但还是报错。 make run 时会出现 mark_to_drop: Passing 1 arguments when 0 expected 的报错。后来查看同学的博客,发现只需要把参数去掉就可以了。实验过程由于都有源代码,其实run起来很简单,但是如果想要真正了解p4,就需要阅读源代码,了解其解析过程等。学会自己编写p4程序。

  • 相关阅读:
    洛谷 P2678 跳石头
    洛谷 P1145 约瑟夫
    LibreOJ #515. 「LibreOJ β Round #2」贪心只能过样例
    洛谷 P2966 [USACO09DEC]牛收费路径Cow Toll Paths
    网络编程 --- TCP
    进程
    并发编程
    网络编程 --- UDP
    网络编程
    面向对象编程 --- 反射
  • 原文地址:https://www.cnblogs.com/fcw245838813/p/15497980.html
Copyright © 2011-2022 走看看