首页 文章

使用Mininet在OpenVSwitch中启用ECN

提问于
浏览
0

我是Mininet的新手,并创建了一个拓扑 . 我需要在mininet拓扑中创建的交换机中启用ECN .

如何在交换机中启用ECN?

提前致谢

关心Hassaan Afridi

1 回答

  • 0

    由于您使用的是OVS 2.0.2版,因此您的交换机至少支持OpenFlow版本1.3 . 从OpenFlow ver 1.1及更高版本实现的显式拥塞通知(ECN)字段 . 为了应用该字段,您必须告诉mininet您将使用1.0以上的版本,这是默认值 . 要启动mininet topo,我们必须使用遥控器,以便我们可以手动传递流量修改 . 要在终端启动mininet我们一起去

    sudo mn --topo single,3 --mac --controller remote --switch ovsk,protocols=OpenFlow13
    

    Mininet还可以,但我们必须创建一个与交换机通信的网桥,我们将告诉交换机,通过这个网桥,我们将通过OpenFlow ver 1.3流程修改 . 为了在新的终端中执行此操作,我们在mininet vm上进行ssh,然后使用

    sudo ovs-vsctl set bridge s1 protocols=OpenFlow13
    

    所以现在我们有一扇门打开交换机来交流和传递我们的流程模块,我们必须再次定义openflow协议版本 . 对于单个mod,我们可以做类似的事情

    sudo ovs-ofctl -O OpenFlow13 add-flow s1 in_port=1,actions=output:2
    

    sudo ovs-ofctl -O OpenFlow13 add-flow s1 in_port=2,actions=output:1
    

    现在我们手动通过了2次流量修改,h1和h2之间的ping应该可以正常工作 . 要安装ECN flow mods,我们可以做类似的事情

    sudo ovs-ofctl -O OpenFlow13 add-flow s1 dl_type=0x0800,nw_ecn=3,actions=output:3
    

    请注意,正如OpenFlow的文档中所述

    当指定dl_type = 0x0800或0x86dd时,匹配IP ToS或IPv6流量类字段中的ecn位 . 当dl_type是通配符或设置为0x0800或0x86dd以外的值时,将忽略nw_ecn的值

相关问题