云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解

马肤

温馨提示:这篇文章已超过443天没有更新,请注意相关的内容是否还可用!

摘要:通过云计算技术,Linux 部署 OVS(Open vSwitch)集群的控制端,实现 OpenFlow 功能。该技术通过集中管理网络流量,提高网络性能和灵活性。Linux 系统作为底层平台,提供强大的计算能力和稳定性。OVS 集群控制端的部署,使得网络管理更加高效,适应大规模数据处理和传输需求。这一技术的应用,有助于推动云计算和网络技术的融合,为企业提供更高效的资源管理和服务。

目录

 一、实验

1.环境

2.Linux 部署 OVS 集群(控制端)

3.控制端对接服务端OVS网元

4.服务端OVS添加流表

5.服务端删除OVS

二、问题

1. ODL如何查找已安装插件

2.查看流表显示不全

3.如何删除OVS流表


一、实验

1.环境

(1) 主机

表1 宿主机

主机架构软件IP网卡备注
ovs_controller控制端

karaf

0.7.3

192.168.204.63

1个NAT网卡

(204网段)

ovs_server01服务端

OpenvSwitch

     v2.5.1

192.168.204.61

1个NAT网卡

(204网段),

1个仅主机网卡

(88网段)

已部署
ovs_server02服务端

OpenvSwitch

     v2.5.1

192.168.204.62

1个NAT网卡

(204网段),

1个仅主机网卡

(88网段)

已部署

表2 目标云主机

云主机IP备注

cloudserver01

172.16.1.1

宿主机ovs_server01

cloudserver02172.16.1.2

宿主机ovs_server02

(2) 查看IP

ovs_controller

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第1张

ovs_server01

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第2张

ovs_server02

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第3张

(3)查看OVS

ovs-vsctl show

ovs_server01

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第4张

ovs_server02

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第5张

(4)打印OVS的汇总信息

ovs_server01

ovs-appctl fdb/show ovs01

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第6张

ovs_server02

ovs-appctl fdb/show ovs02

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第7张

2.Linux 部署 OVS 集群(控制端)

(1)查阅OpenDaylight

1)下载
https://docs.opendaylight.org/en/latest/downloads.html
2)按照说明
https://docs.opendaylight.org/en/latest/getting-started-guide/installing_opendaylight.html

(2)创建目录

mkdir /opt/java

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第8张

(3)jre解压

 cp server-jre-8u301-linux-x64.tar.gz  /opt/java
 cd /opt/java
 tar -zxvf server-jre-8u301-linux-x64.tar.gz

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第9张

(4)修改环境变量

vim /etc/profile
……
 export JAVA_HOME=/opt/java/jdk1.8.0_301
 export JRE_HOME=/opt/java/jdk1.8.0_301
 export CLASSPATH=$JRE_HOME/lib/rt.jar:$JRE_HOME/lib/ext
 export PATH=$PATH:$JRE_HOME/bin

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第10张

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第11张

(5)更新环境变量

source  /etc/profile

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第12张

(6)odl解压

unzip karaf-0.7.3.zip

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第13张

(7)关闭防⽕墙

systemctl  stop firewalld.service 
systemctl  disable  firewalld.service

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第14张

(8)开启ODL服务

/root/karaf-0.7.3/bin/karaf

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第15张

(9)按照特性功能插件

feature:install  odl-restconf
feature:install  odl-l2switch-switch-ui
feature:install  odl-mdsal-apidocs
feature:install  odl-dluxapps-applications
feature:install  odl-dluxapps-yangui
feature:install  odl-restconf-all

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第16张

(10)访问

http://192.168.204.63:8181/index.html#/login

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第17张

(11)登录

账户: admin
密码: admin

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第18张

进入系统

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第19张

3.控制端对接服务端OVS网元

(1)服务端添加云交换机

ovs_server01

ovs-vsctl add-br  ovs11
ovs-vsctl show

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第20张

ovs_server02

ovs-vsctl add-br  ovs12
ovs-vsctl show

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第21张

(2)服务端云交换机添加控制器

ovs_server01

ovs-vsctl  set-controller  ovs11 tcp:192.168.204.63:6633
ovs-vsctl show

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第22张

ovs_server02

ovs-vsctl  set-controller  ovs12 tcp:192.168.204.63:6633
ovs-vsctl show

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第23张

(3)ODL查看

Nodes节点信息

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第24张

Topology拓扑信息

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第25张

(4)服务端查看网络信息

ovs_server01的仅主机网卡为ens36

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第26张ovs_server02的仅主机网卡为ens36

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第27张

(5)服务端云交换机添加物理端⼝(仅主机网卡)

ovs_server01

ovs-vsctl  add-port ovs11 ens36
ovs-vsctl show

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第28张

ovs_server02

ovs-vsctl  add-port ovs12 ens36
ovs-vsctl show

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第29张

(6)ODL查看

Nodes节点连接变为2

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第30张Topology拓扑信息变为连接状态

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第31张

(7) 查看OVS流表节点

ovs_server01

 ovs-ofctl show ovs11 -O OpenFlow13

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第32张云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第33张

ovs_server02

ovs-ofctl show ovs12 -O OpenFlow13

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第34张云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第35张

(8) 查看OVS流表信息

ovs_server01

ovs-ofctl dump-flows  ovs11  -O  OpenFlow13

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第36张

ovs_server02

ovs-ofctl dump-flows  ovs12  -O  OpenFlow13

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第37张

(9)LLDP流量抓包 

ovs_server01 的MAC地址为00:0c:29:50:7a:08,openflow流表为52232747528

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第38张

ovs_server02的MAC地址为 00:0c:29:d5:c1:24 ,openflow流表为52241482020

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第39张

(9)服务端云交换机添加接口

ovs_server01

ovs-vsctl add-port  ovs11 if11 -- set interface if11  type=internal
ovs-vsctl show

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第40张

ovs_server02

ovs-vsctl add-port  ovs12 if12 -- set interface if12 type=internal
ovs-vsctl show

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第41张

(9)ODL查看

Nodes节点连接变为3

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第42张

 (10) 查看OVS流表节点

ovs_server01

 ovs-ofctl show ovs11 -O OpenFlow13

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第43张云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第44张ovs_server02

 ovs-ofctl show ovs12 -O OpenFlow13

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第45张

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第46张

(11)cloudserver01云主机修改网卡

进入

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第47张

已关闭

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第48张

修改网卡为if11

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第49张

开机(选择命令行模式)

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第50张

进入系统

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第51张

(12)cloudserver02云主机修改网卡

进入

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第52张

已关闭

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第53张

修改网卡为if12

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第54张

开机(选择命令行模式)

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第55张

进入系统

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第56张

(13)云主机修改网卡

cloudserver01

sudo ifconfig eth0 172.16.1.1 netmask 255.255.255.0

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第57张cloudserver02

sudo ifconfig eth0 172.16.1.2 netmask 255.255.255.0

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第58张

(14)测试网络

云主机1 ping 云主机2 ,目前不通

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第59张

4.服务端OVS添加流表

(1) 查看OVS流表节点

ovs_server01

 ovs-ofctl show ovs11 -O OpenFlow13

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第60张

ovs_server02的云主机需要从2口进,1口出

 ovs-ofctl show ovs12 -O OpenFlow13

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第61张

(2)流量分析

表3 流量分析

    云主机cloudserver01流向云主机cloudserver01
in_port=2,action=output:1in_port=1,action=output:2
in_port=1,action=output:2in_port=2,action=output:1

(3)服务端添加流表

ovs_server01

ovs-ofctl add-flow ovs11 -O Openflow13 in_port=1,action=output:2
ovs-ofctl add-flow ovs11 -O Openflow13 in_port=2,action=output:1

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第62张

ovs_server02

ovs-ofctl add-flow ovs12 -O Openflow13 in_port=1,action=output:2
ovs-ofctl add-flow ovs12 -O Openflow13 in_port=2,action=output:1

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第63张

(3) 查看OVS流表信息

ovs_server01

ovs-ofctl dump-flows  ovs11  -O  OpenFlow13

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第64张

ovs_server02

ovs-ofctl dump-flows  ovs12  -O  OpenFlow13

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第65张

(4) 测试网络

云主机1 ping 云主机2 ,目前已通

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第66张

5.服务端删除OVS

(1) 云主机关机

cloudserver01

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第67张

cloudserver02

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第68张

(2)云主机切换原网卡

cloudserver01

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第69张

cloudserver02

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第70张

(3)服务端删除云交换机

ovs_server01

ovs-vsctl del-br ovs11
ovs-vsctl show

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第71张

ovs_server02

ovs-vsctl del-br ovs12
ovs-vsctl show

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第72张

(4)查看ODL

目前为空

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第73张

二、问题

1. ODL如何查找已安装插件

(1)开启

/root/karaf-0.7.3/bin/karaf

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第74张

(2)查询

feature:list -i

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第75张云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第76张云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第77张云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第78张

2.查看流表显示不全

(1)报错

添加2条流表后显示不全

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第79张

(2)原因分析

ODL未开启。

(3)解决方法

开启ODL:

/root/karaf-0.7.3/bin/karaf

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第80张

显示成功:

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第81张

3.如何删除OVS流表

(1)删除

ovs_server01

ovs-ofctl  del-flows ovs11 -O Openflow13 in_port=1,out_port=2
ovs-ofctl  del-flows ovs11 -O Openflow13 in_port=2,out_port=1

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第82张

ovs_server02

ovs-ofctl  del-flows ovs12 -O Openflow13 in_port=1,out_port=2
ovs-ofctl  del-flows ovs12 -O Openflow13 in_port=2,out_port=1

云计算,Linux 部署 OVS 集群(控制端)实现OpenFlow,云计算中Linux部署OVS集群(控制端)实现OpenFlow技术详解 第83张


0
收藏0
文章版权声明:除非注明,否则均为VPS857原创文章,转载或复制请以超链接形式并注明出处。

相关阅读

  • 【研发日记】Matlab/Simulink自动生成代码(二)——五种选择结构实现方法,Matlab/Simulink自动生成代码的五种选择结构实现方法(二),Matlab/Simulink自动生成代码的五种选择结构实现方法详解(二)
  • 超级好用的C++实用库之跨平台实用方法,跨平台实用方法的C++实用库超好用指南,C++跨平台实用库使用指南,超好用实用方法集合,C++跨平台实用库超好用指南,方法与技巧集合
  • 【动态规划】斐波那契数列模型(C++),斐波那契数列模型(C++实现与动态规划解析),斐波那契数列模型解析与C++实现(动态规划)
  • 【C++】,string类底层的模拟实现,C++中string类的模拟底层实现探究
  • uniapp 小程序实现微信授权登录(前端和后端),Uniapp小程序实现微信授权登录全流程(前端后端全攻略),Uniapp小程序微信授权登录全流程攻略,前端后端全指南
  • Vue脚手架的安装(保姆级教程),Vue脚手架保姆级安装教程,Vue脚手架保姆级安装指南,Vue脚手架保姆级安装指南,从零开始教你如何安装Vue脚手架
  • 如何在树莓派 Raspberry Pi中本地部署一个web站点并实现无公网IP远程访问,树莓派上本地部署Web站点及无公网IP远程访问指南,树莓派部署Web站点及无公网IP远程访问指南,本地部署与远程访问实践,树莓派部署Web站点及无公网IP远程访问实践指南,树莓派部署Web站点及无公网IP远程访问实践指南,本地部署与远程访问详解,树莓派部署Web站点及无公网IP远程访问实践详解,本地部署与远程访问指南,树莓派部署Web站点及无公网IP远程访问实践详解,本地部署与远程访问指南。
  • vue2技术栈实现AI问答机器人功能(流式与非流式两种接口方法),Vue2技术栈实现AI问答机器人功能,流式与非流式接口方法探究,Vue2技术栈实现AI问答机器人功能,流式与非流式接口方法详解
  • 发表评论

    快捷回复:表情:
    评论列表 (暂无评论,0人围观)

    还没有评论,来说两句吧...

    目录[+]

    取消
    微信二维码
    微信二维码
    支付宝二维码