Featured image of post 使用Pica8 SDN交换机

使用Pica8 SDN交换机

使用虚拟机内运行的Ryu控制器连接、控制SDN实体交换机Pica8

配置虚拟机IP地址

当前场景为:PICA交换机与PC机连接至同一路由器下,PC机中安装有Ubuntu系统与Ryu控制器程序,需使PICA交换机与Ryu控制器程序能够通信

打卡VMware Workstation的虚拟网络编辑器,将VMnet0设置为桥接模式,选择桥接网卡为PC机上的有线网卡

路由器后台出现虚拟机设备IP地址

在路由器后台中为该设备设置DHCP静态IP分配

检查虚拟机网卡信息是否与路由器中设置一致,即192.168.31.20

1
ifconfig

在PICA上测试ping虚拟机

1
ping 192.168.31.20

创建与配置OVS桥

接下来的步骤将指导如何创建使用OpenFlow的一个基本的桥(虚拟交换机)

方式一:命令式

PICOS Documentation

创建虚拟交换机br0,并使用show命令检查虚拟交换机是否创建完成

1
2
ovs-vsctl add-br br0 -- set bridge br0 datapath_type=pica8
ovs-ofctl show br0

需要注意的是:创建的虚拟交换机br0默认不包含物理接口,需要将物理接口添加进虚拟交换机br0

1
2
ovs-vsctl add-port br0 ge-1/1/1 vlan_mode=trunk tag=1 -- set interface ge-1/1/1 type=pica8
ovs-vsctl show

或采用以下命令进行验证

1
ovs-ofctl show br0

同理,添加其它物理端口进入虚拟交换机br0

1
2
3
ovs-vsctl add-port br0 ge-1/1/2 vlan_mode=trunk tag=1 -- set interface ge-1/1/1 type=pica8
ovs-vsctl add-port br0 ge-1/1/3 vlan_mode=trunk tag=1 -- set interface ge-1/1/1 type=pica8
ovs-vsctl add-port br0 ge-1/1/4 vlan_mode=trunk tag=1 -- set interface ge-1/1/1 type=pica8

配置虚拟交换机br0连接至控制器

Configure OVS for RYU OpenFlow Controller

1
ovs-vsctl set-controller br0 tcp:192.168.31.20:6653

虚拟交换机默认支持OpenFlow1.4,如有需要可更改支持的OpenFlow协议版本

1
ovs-vsctl set Bridge br0 protocols=OpenFlow13

一般来说采用outband模式进行SDN网络管理无须额外设定,但是如果测试时为了方便将SDN交换机的数据端口和管理端口挂接在相同的二层网络里可能会导致交换机触发inband相关配置(因为PicOS 2.4以后默认的连接方式为in-band),为了规避可能的问题,可以用如下命令禁用inband

1
ovs-vsctl set bridge br0 other_config=disable-in-band=true

方式二:使用GUI界面

访问PICA交换机后台,点击“Create a bridge”

输入名称虚拟机名称:br1

在端口标签页下添加新端口

配置虚拟交换机br1连接至控制器

基本功能测试

按照上述过程,分别创建三个虚拟交换机:

  • br0:物理端口1、2、3、4
  • br1:物理端口13、14、15、16
  • br2:物理端口21、22、23、24

在Ubuntu中,启动Ryu控制器

1
ryu-manager simple_switch_13.py

在PICA交换机上检查端口连接状态

1
netstat -n | grep 6653

拓扑发现功能测试

按照上述过程,分别创建三个虚拟交换机:

  • br0:物理端口1、2、3、4
  • br1:物理端口9、10、11、12
  • br2:物理端口13、14、15、16
  • br3:物理端口21、22、23、24

链路连接情况:

  • br0端口4 <~> br1端口9
  • br1端口12 <~> br2端口13
  • br2端口16 <~> br3端口21
  • br3端口24 <~> br0端口1

启动Ryu程序,启动拓扑发现任务,并在浏览器中查看拓扑发现结果

1
ryu-manager gui_topology/gui_topology.py --observe-links

Licensed under CC BY-NC-SA 4.0
皖ICP备2025083746号-1
公安备案 陕公网安备61019002003315号



使用 Hugo 构建
主题 StackJimmy 设计