Open vSwitch流表应用实战

实验参考

Open vSwitch流表应用实战

实验过程

启动验证

登录OpenDaylight虚拟机,验证OpenDaylight启用是否启用:

ps –ef|grep java

查看OpenDaylight所在虚拟机的IP及路由:

#ifconfig

查看Mininet所在虚拟机的IP及路由:

#ifconfig

OpenDaylight所在虚拟机和Mininet所在虚拟机能够互相通信

 创建拓扑并连接控制器

流表的简单操作

先查看交换机上的流表,显示的是数据流指向控制器,让控制器来下发流表:

sh ovs-ofctl dump-flows s1

在Mininet中pingall一下,交换机下面的两台主机h1、h2应能互相通信,如果不能通信,请检查交换机是否与ODL正确连接

此时再查看交换机s1中流表应多出两条控制器下发的流表:

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

 添加删除流表

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

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

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

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

# sh ovs-ofctl del-flows s1 in_port=2

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

posted @ 2020-02-06 00:38  如梦的少年丶  阅读(251)  评论(0编辑  收藏  举报