Open vSwitch流表应用实战

本文参考:Open vSwitch流表应用实战

一个通过改变流表下发而实现的互相通信实验。

实验目的:

  • 掌握Open vSwitch下发流表操作;
  • 掌握添加、删除流表命令以及设备通信的原理。

原理:......我们可以通过对流表操作来控制交换机的转发行为。

实验参考图:

885822-20161019163708545-313895244.png

实验准备:

我的环境:装有ODL控制器和Mininet的Ubuntu14.04操作系统,单系统实现。
ip地址:192.168.1.101
运行ODL的终端:A;运行Mininet的终端:B。

启动ODL:

cd /目录/bin //ODL的bin目录

./karaf

等到终端A出现:

Listening on port 12001 bound on address 0.0.0.0/0.0.0.0
Backlog is 1000, linger timeout is 2000, and read timeout is 0

证明ODL启动,可以用命令查看6633端口:

netstat -anp|grep 6633

接下来启动Mininet,连接ODL控制器:

sudo mn --controller=remote,ip=192.168.1.101,port=6633

流表的简单操作

查看初始流表:

sh ovs-ofctl dump-flows s1

885822-20161019164626060-1392651807.png

pingall
885822-20161019164700529-16688628.png

查看pingall之后的流表:

sh ovs-ofctl dump-flows s1

885822-20161019164739076-638656676.png

多了两条:
885822-20161019165051248-1421335424.png

我们看到每条流规则由一系列字段组成,它们由基本字段、条件字段和动作字段三部分组成。有了流表后交换机就根据流表来进行数据包的操作,当然我们也可以人工的进行流表的新增、修改、删除操作,在我们这个环境下可直接在终端下输入命令。

添加删除流表

例如让交换机丢弃从2号端口发来的所有数据包:

sh ovs-ofctl add-flow s1 priority=12,in_port=2,actions=drop

(注:优先级比其他流表优先级高)

885822-20161019165130654-1309808096.png

和之前的流表对比
未删除的时候:
885822-20161019165207732-1243259582.png
执行之后:
885822-20161019165218295-1824179202.png

增加这条流表以后,Mininet中h1和h2主机之间无法通信了。
885822-20161019165352654-1632791420.png

再删除一条流规则:如将删除条件字段中包含in_port=2的所有流表,如下图所示,将含有in_port=2的所有流表被删除了.

sh ovs-ofctl del-flows s1 in_port=2

885822-20161019165650982-1841097373.png

因为之前添加的丢弃2号端口包的流表已被删除,这时Mininet中h1和h2主机又可以正常通信了。
885822-20161019165704092-1353541127.png

实验结束。

实验结论

主要是对OpenFlow流表有更进一步的了解,简略介绍一些基本的流表操作。在此基础上可以进行比如改写源和目地主机的ip和mac地址、对数据包泛洪、回环等操作,用户可以根据需求通过修改流表来自主地控制转发行为,这本身也是SDN的初衷之一,也使得我们控制网络更加的便捷、灵活、多样

2016/10/19

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值