精华内容
下载资源
问答
  • 配置OVS虚拟OpenFlow交换机: 进行OVS设置时很容易造成虚拟交换机与物理交换机构成二层环路(比如虚拟交换机包含两块网卡,而这两块网卡都连接到物理交换机上,就是一个环路),一旦有广播报文,比如ARP请求,就会...
    一、安装OVS
    sudo apt-get install openvswitch-controller openvswitch-switch openvswitch-datapath-source
    (与网上之前的资料相比,没有安装openvswitch-brcompat,提示没有这个包。笔者目前的使用来看没有问题,可能是linux内核或OVS版本变化造成的,不再需要安装?)
    二、配置OVS虚拟OpenFlow交换机
    1.新建一个桥(交换机),命名为s1:
     sudo ovs-vsctl add-br s1
    注意:进行OVS设置时很容易造成虚拟交换机与物理交换机构成二层环路(比如虚拟交换机包含两块网卡,而这两块网卡都连接到物理交换机上,就是一个环路),一旦有广播报文,比如ARP请求,就会引发广播风暴,使网络瘫痪。因此,应该把虚拟交换机开启STP支持,避免广播风暴
    ovs−vsctl set bridge 交换机名 stp_enable=true
    2.启动要添加到虚拟交换机s1上的物理端口(物理网卡,这里是eth0和eth3)。如果ifconfig里已经有了,那就不用重新启动了。
    sudo ifconfig eth3 up
    sudo ifconfig eth0 up
    3.添加物理端口到虚拟交换机s1:
    sudo ovs-vsctl add-port s1 eth3
    sudo ovs-vsctl add-port s1 eth0
    4.设置IP:
    OpenFlow交换机与控制器连接需要用到TCP连接,因此交换机需要设置IP。但当把物理端口添加到虚拟交换机上之后,这些物理端口上原先的IP设置将失效(IP属于三层,而交换机工作在二层),无法与外界进行三层的互联。解决方法是添加一个类型为internal的端口,然后设置IP和路由(本例是添加一个名为veth3的虚拟端口):
    首先,如果原先端口有设置IP,应将其重置:
    sudo ifconfig eth3 0
    然后添加虚拟端口:
    sudo  ovs-vsctl add-port s1 veth3
     sudo ovs-vsctl set interface veth3 type=internal
    这时如果执行ifconfig就会发现多了一个名为veth3的端口。然后设置该端口并添加路由:
    sudo  ifconfig veth3 192.168.1.3 netmask 255.255.255.0
    sudo  route add default gw 192.168.1.1 veth3
    P.S. 后来看到网上说其实不需要额外添加veth3,因为创建s1后会自动生成一个名为s1的internal端口,直接设置它就可以。
    5.连接远程控制器(本例中控制器为POX,IP是192.168.1.100):
    连接控制器之前控制器要先启动。然后连接:
    sudo ovs-vsctl set-controller s1 tcp:192.168.1.100:6633
    这时远程控制器就能看到连接信息,比如:INFO:openflow.of_01:[00-d0-f8-0f-d6-e9 2] connected
    三、常用OVS操作
    1.添加网桥:ovs-vsctl add-br 交换机名
    2.删除网桥:ovs-vsctl del-br 交换机名
    3.添加端口:ovs-vsctl add-port 交换机名 端口名(网卡名)
    4.删除端口:ovs-vsctl del-port 交换机名 端口名(网卡名)
    5.连接控制器:ovs-vsctl set-controller 交换机名 tcp:IP地址:端口号
    6.断开控制器:ovs-vsctl del-controller 交换机名
    7.列出所有网桥:ovs-vsctl list-br
    8.列出网桥中的所有端口:ovs-vsctl list-ports 交换机名
    9.列出所有挂接到网卡的网桥:ovs-vsctl port-to-br 端口名(网卡名)
    10.查看open vswitch的网络状态:ovs-vsctl show
    11.查看 Open vSwitch 中的端口信息(交换机对应的 dpid,以及每个端口的 OpenFlow 端口编号,端口名称,当前状态等等):ovs-ofctl show 交换机名
    12.修改dpid:ovs-vsctl set bridge 交换机名 other_config:datapath-id=新DPID
    13.修改端口号:ovs-vsctl set Interface 端口名 ofport_request=新端口号
    14.查看交换机中的所有 Table:ovs-ofctl dump-tables ovs-switch
    15.查看交换机中的所有流表项:ovs−ofctl dump−flows ovs-switch
    16.删除编号为 100 的端口上的所有流表项:ovs-ofctl del-flows ovs-switch "in_port=100"
    17.添加流表项(以“添加新的 OpenFlow 条目,修改从端口 p0 收到的数据包的源地址为 9.181.137.1”为例):
     ovs-ofctl add-flow ovs-switch "priority=1 idle_timeout=0,in_port=100,actions=mod_nw_src:9.181.137.1,normal"
    (更多说明请查阅:《基于 Open vSwitch 的 OpenFlow 实践》)
    18.查看 OVS 的版本信息:ovs-appctl --version
    19.查看 OVS 支持的 OpenFlow 协议的版本:ovs-ofctl --version
    更多设置可查看官方文档。
    展开全文
  • 初识ovs交换机

    千次阅读 2019-12-20 16:55:16
    1、ovs交换机的优点 <1>、便宜: 虚拟交换机可以使用一台普通的服务器配置出数十台甚至上百台的虚拟交换机,且...2、什么是ovs虚拟交换机 <1>、绿色虚线内组成的就是一个虚拟网络了。其虚拟机之间的...

    1、ovs交换机的优点

           <1>、便宜:     虚拟交换机可以使用一台普通的服务器配置出数十台甚至上百台的虚拟交换机,且端口数目可以灵活选择  

           <2>、性能好:    虚拟机与虚拟交换机之间的联机速度轻易可达10Gbps。

    2、什么是ovs虚拟交换机

            <1>、绿色虚线内组成的就是一个虚拟网络了。其虚拟机之间的信息交换都通过虚拟交换机。  

             
             Hypervisor 是一种将操作系统与硬件抽象分离的方法,以达到host machine的硬件能同时运行一个至多个虚拟机的作为guest machine的目的,这样能够使得这些虚拟机高效地分享主机硬件资源。

               <2>、ovs内部组件。简单来看,OVS由这三大部分构成:

                

                (1)ovsdb-sever:  OVS的数据库服务器,用于管理ovsdb,通过与ovs-vswitchd之间的UNIXsocket机制进行通信,来存储虚拟交换机的配置信息

        (2) ovs-vswitchd: OVS中最重要的组件;它实现了OpenFlow交换机的核心功能,并且通过netlink协议直接和OVS的内核模块进行通信。交换机运行过程中,ovs-vswitchd还会将交换机的配置、数据流信息及其变化保存到数据库ovsdb中,因为这个数据库由ovsdb-server直接管理,所以ovs-vswitchd需要和ovsdb-server通过UNIXsocket机制进行通信以获得或者保存配置信息。数据库ovsdb的存在,使得OVS交换机的配置能够被持久化存储,即便设备被重启后相关的OVS配置仍旧能够存在。

       (3)ovs kernel module: OVS的内核模块,处理包交换和隧道,缓存flow,如果在内核的缓存中找到转发规则便进行转发,否则发向用户空间去处理。

                 <3>、ovs的其他组成模块,如下图:

                                

                     

    展开全文
  • 一、设备OVS sudo apt-get install openvswitch-controller openvswitch-switch openvswitch-datapath-source (与网上之前的资料相比。没有安装openvswitch-brcompat,提示没有这个包。笔者眼下的使用来看没有...
    一、设备OVS
    sudo apt-get install openvswitch-controller openvswitch-switch openvswitch-datapath-source
    (与网上之前的资料相比。没有安装openvswitch-brcompat,提示没有这个包。笔者眼下的使用来看没有问题,可能是linux内核或OVS版本号变化造成的。不再须要安装?)
    二、配置OVS虚拟OpenFlow交换机
    1.新建一个桥(交换机),命名为s1:
     sudo ovs-vsctl add-br s1
    注意:进行OVS设置时非常easy造成虚拟交换机与物理交换机构成二层环路(比方虚拟交换机包括两块网卡,而这两块网卡都连接到物理交换机上,就是一个环路),一旦有广播报文,比方ARP请求,就会引发广播风暴,使网络瘫痪。因此,应该把虚拟交换机开启STP支持。避免广播风暴
    ovs−vsctl set bridge 交换机名 stp_enable=true
    2.启动要加入到虚拟交换机s1上的物理port(物理网卡,这里是eth0和eth3)。假设ifconfig里已经有了,那就不用又一次启动了。


    sudo ifconfig eth3 up
    sudo ifconfig eth0 up
    3.加入物理port到虚拟交换机s1:
    sudo ovs-vsctl add-port s1 eth3
    sudo ovs-vsctl add-port s1 eth0
    4.设置IP:
    OpenFlow交换机与控制器连接须要用到TCP连接。因此交换机须要设置IP。但当把物理port加入到虚拟交换机上之后,这些物理port上原先的IP设置将失效(IP属于三层,而交换机工作在二层),无法与外界进行三层的互联。解决方法是加入一个类型为internal的port。然后设置IP和路由(本例是加入一个名为veth3的虚拟port):
    首先,假设原先port有设置IP,应将其重置:
    sudo ifconfig eth3 0
    然后加入虚拟port:
    sudo  ovs-vsctl add-port s1 veth3
     sudo ovs-vsctl set interface veth3 type=internal
    这时假设运行ifconfig就会发现多了一个名为veth3的port。然后设置该port并加入路由:
    sudo  ifconfig veth3 192.168.1.3 netmask 255.255.255.0
    sudo  route add default gw 192.168.1.1 veth3
    P.S. 后来看到网上说事实上不须要额外加入veth3,由于创建s1后会自己主动生成一个名为s1的internalport,直接设置它就能够。


    5.连接远程控制器(本例中控制器为POX,IP是192.168.1.100):
    连接控制器之前控制器要先启动。

    然后连接:
    sudo ovs-vsctl set-controller s1 tcp:192.168.1.100:6633
    这时远程控制器就能看到连接信息。比方:INFO:openflow.of_01:[00-d0-f8-0f-d6-e9 2] connected
    三、经常使用OVS操作
    1.加入网桥:ovs-vsctl add-br 交换机名
    2.删除网桥:ovs-vsctl del-br 交换机名
    3.加入port:ovs-vsctl add-port 交换机名 port名(网卡名)
    4.删除port:ovs-vsctl del-port 交换机名 port名(网卡名)
    5.连接控制器:ovs-vsctl set-controller 交换机名 tcp:IP地址:port号
    6.断开控制器:ovs-vsctl del-controller 交换机名
    7.列出全部网桥:ovs-vsctl list-br
    8.列出网桥中的全部端口:ovs-vsctl list-ports 交换机名
    9.列出全部挂接到网卡的网桥:ovs-vsctl port-to-br 端口名(网卡名)
    10.查看open vswitch的网络状态:ovs-vsctl show
    11.查看 Open vSwitch 中的port信息(交换机相应的 dpid,以及每一个port的 OpenFlow port编号,port名称,当前状态等等):ovs-ofctl show 交换机名
    12.改动dpid:ovs-vsctl set bridge 交换机名 other_config:datapath-id=新DPID
    13.改动port号:ovs-vsctl set Interface port名 ofport_request=新port号
    14.查看交换机中的全部 Table:ovs-ofctl dump-tables ovs-switch
    15.查看交换机中的全部流表项:ovs−ofctl dump−flows ovs-switch
    16.删除编号为 100 的端口上的全部流表项:ovs-ofctl del-flows ovs-switch "in_port=100"
    17.加入流表项(以“加入新的 OpenFlow 条目,改动从port p0 收到的数据包的源地址为 9.181.137.1”为例):
     ovs-ofctl add-flow ovs-switch "priority=1 idle_timeout=0,in_port=100,actions=mod_nw_src:9.181.137.1,normal"
    (很多其它说明请查阅:《基于 Open vSwitch 的 OpenFlow 实践》)
    18.查看 OVS 的版本号信息:ovs-appctl --version
    19.查看 OVS 支持的 OpenFlow 协议的版本号:ovs-ofctl --version
    许多其他的设置可以被看作官方文件。

    版权声明:本文博主原创文章,博客,未经同意不得转载。

    展开全文
  • 一、安装OVS sudo apt-get install openvswitch-controller openvswitch-switch openvswitch-datapath-source (与网上之前的资料相比,没有安装openvswitch-brcompat,提示没有这个包。笔者目前的使用来看没有...
    • 一、安装OVS
      sudo apt-get install openvswitch-controller openvswitch-switch openvswitch-datapath-source
      (与网上之前的资料相比,没有安装openvswitch-brcompat,提示没有这个包。笔者目前的使用来看没有问题,可能是linux内核或OVS版本变化造成的,不再需要安装?)
      二、配置OVS虚拟OpenFlow交换机
      1.新建一个桥(交换机),命名为s1:
      sudo ovs-vsctl add-br s1
      注意:进行OVS设置时很容易造成虚拟交换机与物理交换机构成二层环路(比如虚拟交换机包含两块网卡,而这两块网卡都连接到物理交换机上,就是一个环路),一旦有广播报文,比如ARP请求,就会引发广播风暴,使网络瘫痪。因此,应该把虚拟交换机开启STP支持,避免广播风暴:
      ovs−vsctl set bridge 交换机名 stp_enable=true
      2.启动要添加到虚拟交换机s1上的物理端口(物理网卡,这里是eth0和eth3)。如果ifconfig里已经有了,那就不用重新启动了。
      sudo ifconfig eth3 up
      sudo ifconfig eth0 up
      3.添加物理端口到虚拟交换机s1:
      sudo ovs-vsctl add-port s1 eth3
      sudo ovs-vsctl add-port s1 eth0
      4.设置IP:
      OpenFlow交换机与控制器连接需要用到TCP连接,因此交换机需要设置IP。但当把物理端口添加到虚拟交换机上之后,这些物理端口上原先的IP设置将失效(IP属于三层,而交换机工作在二层),无法与外界进行三层的互联。解决方法是添加一个类型为internal的端口,然后设置IP和路由(本例是添加一个名为veth3的虚拟端口):
      首先,如果原先端口有设置IP,应将其重置:
      sudo ifconfig eth3 0
      然后添加虚拟端口:
      sudo ovs-vsctl add-port s1 veth3
      sudo ovs-vsctl set interface veth3 type=internal
      这时如果执行ifconfig就会发现多了一个名为veth3的端口。然后设置该端口并添加路由:
      sudo ifconfig veth3 192.168.1.3 netmask 255.255.255.0
      sudo route add default gw 192.168.1.1 veth3
      P.S. 后来看到网上说其实不需要额外添加veth3,因为创建s1后会自动生成一个名为s1的internal端口,直接设置它就可以。
      5.连接远程控制器(本例中控制器为POX,IP是192.168.1.100):
      连接控制器之前控制器要先启动。然后连接:
      sudo ovs-vsctl set-controller s1 tcp:192.168.1.100:6633
      这时远程控制器就能看到连接信息,比如:INFO:openflow.of_01:[00-d0-f8-0f-d6-e9 2] connected
      三、常用OVS操作
      1.添加网桥:ovs-vsctl add-br 交换机名
      2.删除网桥:ovs-vsctl del-br 交换机名
      3.添加端口:ovs-vsctl add-port 交换机名 端口名(网卡名)
      4.删除端口:ovs-vsctl del-port 交换机名 端口名(网卡名)
      5.连接控制器:ovs-vsctl set-controller 交换机名 tcp:IP地址:端口号
      6.断开控制器:ovs-vsctl del-controller 交换机名
      7.列出所有网桥:ovs-vsctl list-br
      8.列出网桥中的所有端口:ovs-vsctl list-ports 交换机名
      9.列出所有挂接到网卡的网桥:ovs-vsctl port-to-br 端口名(网卡名)
      10.查看open vswitch的网络状态:ovs-vsctl show
      11.查看 Open vSwitch 中的端口信息(交换机对应的 dpid,以及每个端口的 OpenFlow 端口编号,端口名称,当前状态等等):ovs-ofctl show 交换机名
      12.修改dpid:ovs-vsctl set bridge 交换机名 other_config:datapath-id=新DPID
      13.修改端口号:ovs-vsctl set Interface 端口名 ofport_request=新端口号
      14.查看交换机中的所有 Table:ovs-ofctl dump-tables ovs-switch
      15.查看交换机中的所有流表项:ovs−ofctl dump−flows ovs-switch
      16.删除编号为 100 的端口上的所有流表项:ovs-ofctl del-flows ovs-switch "in_port=100"
      17.添加流表项(以“添加新的 OpenFlow 条目,修改从端口 p0 收到的数据包的源地址为 9.181.137.1”为例):
      ovs-ofctl add-flow ovs-switch "priority=1 idle_timeout=0,in_port=100,actions=mod_nw_src:9.181.137.1,normal"
      (更多说明请查阅:《基于 Open vSwitch 的 OpenFlow 实践》)
      18.查看 OVS 的版本信息:ovs-appctl --version
      19.查看 OVS 支持的 OpenFlow 协议的版本:ovs-ofctl --version
    展开全文
  • Linux Bridge 和物理网络一样,虚拟网络要通信,必须借助一些交换设备来转发数据。因此,对于网络虚拟化来...本文重点介绍下 Bridge 的加强版——Open vSwitch(OVS),并从 Bridge 过渡到 OVS 的缘由讲起,让大家有...
  • 本文重点介绍下 Bridge 的加强版——Open vSwitch(OVS),并从 Bridge 过渡到 OVS 的缘由讲起,让大家有个全面的认识。 借助 Linux Bridge 功能,同主机或跨主机的虚拟机之间能够轻松实现通信,也能够让虚拟
  • 和物理网络一样,虚拟网络要通信,必须借助一些交换设备来转发数据。...本文重点介绍下 Bridge 的加强版——Open vSwitch(OVS),并从 Bridge 过渡到 OVS 的缘由讲起,让大家有个全面的认识。 借助 Li...
  • 当拿到OVS这么大一个工程的时候,如何理解他的组织、实现的功能、数据结构的创新,对于这个从0到1的过程,该如何一步步深入呢? 首先,我觉得直接看架构也好,看文件目录也好,都是比较容易理解全局的办法。 那就先...
  • 利用软件的方式形成交换部件,所以也叫软件交换机 ,OVS是一个高质量的,多层虚拟交换机(网络分层的层), 目的:让大规模网络自动化可以通过编程扩展,同时仍然支持标准的管理接口和协议 优点: 1. 配置灵活,因为...
  • vmxnet3是通过软件代码虚拟出来的硬件 2.内核支持多队列 网卡本身就支持多队列 多队列网卡的接收与发送 NAPI和QDisc NAPI 接收数据之前,得知道有数据可以接收(通过网卡中断 硬中断,有数据会触发) 问题:当触发...
  • 软件虚拟交换机

    2017-10-27 11:35:33
    NFV NIC with OVS Acceleration solution. Designed specifically for NFV use cases, the Napatech NFV NIC accelerates user-space OVS without the need for hypervisor bypass solutions, such as PCIe ...
  • 使用Python脚本创建OVS交换机网路 #coding=utf-8 #!/usr/bin/python import os import commands class ovsnet: def __init__(self): self.num =30 self.br = [] for i in range(0,self.num):
  • 通过使用连接到RYU控制器的开放式虚拟交换机OVS)中的Rest API来维持队列的恒定通信带宽,实现了减少DoS(拒绝服务)攻击的技术。 在此项目中,我们解决了一种严重的SDN特定攻击,即数据到控制平面的饱和攻击,该...
  • 虚拟交换机----》openvswitch

    千次阅读 2018-08-13 14:49:03
     当我们创建一个交换机(网桥)之后即(ovs-vsctl add-br brname),此时网络功能不受影响,但是会产生一个虚拟网卡,名字为brname(与网桥名字同名,可以使用ifconfig brname查看),之所以会产生一个虚拟网卡,是...
  • OpenVSwitch: 虚拟交换机

    2018-03-11 08:28:25
    OpenVSwitch: 虚拟交换机 VLAN—4096个–>更多公司部门 VXLAN 4096* 4096 虚拟路由器 什么是VLAN? Virtual LAN; LAN即为广播帧能够到的节点范围,也即能够直接通信的范围; VLAN: 基于MAC地址 基于交换机Port...
  • 网络----虚拟交换机---open vswitch 虚拟交换机:来模拟物理交换机的作用。软件实现 目前业界应用比较广泛的vSwitch, 开源的有Open vSwitch 商用的有VMware的VSS(vSphere Standard vSwitch,vSphere标准虚拟交换机...
  • 浅谈虚拟交换机(vswitch)技术演进

    千次阅读 2020-10-13 11:24:39
    虚拟化环境中,对于网络的连接有多种方式,以KVM为例,我们平时在使用libvirt或者qemu创建虚拟机时,可以选择NAT网络连接和bridge桥接网络连接。首先来调查一下这二者的实现区别是什么。 基础虚拟网络 桥接网卡 首先...
  • 虚拟交换机vDS架构

    2020-09-16 15:41:34
    对于标准交换机,其数据面版和控制面板在一台主机上,即可以理解为,两个逻辑面板是一个面板,我们可以独立地管理配置每一台标准交换机,而分布式交换机,其数据面板分布在所有呗纳管主机上,控制面板集中在vcenter...
  • 虚拟交换机-Open vSwitch

    2013-04-04 21:22:00
    什么是Open vSwitch?它能给云带来什么? 官网首页精炼地回答了这个... Open vSwitch的目标,是做一个具有产品级质量的多层虚拟交换机。通过可编程扩展,可以实现大规模网络的自动化(配置、管理、维护)。它支...
  • Mininet是网络仿真软件,可以在一台主机上仿真出一个自定义的的网络,可以添加如Open Flow VSwitch这样的虚拟交换机。 对于ovs交换机(例如叫s1)的网路接口s1-eth1进行设置规则,也就是设置qos策略newqos ,在...
  • Open vSwitch(OVS)是一款基于软件实现的开源交换机。它能够支持多种标准的管理接口和协议以及跨多个物理服务器的分布式环境。特别地,OVS提供了对OpenFlow协议的支持,并且能够与众多开源的虚拟化平台相整合。  ...
  • 注:本机上现有quagga镜像+ovs虚拟交换机(2.9.1)+docker(18.09.7) 实现bgp网络搭建: 1、sudo ovs-vsctl add-br br1 #增加一个ovs网桥br1 2、sudo docker images #查看本机的镜像是否制作成功 quagga的镜像....
  • OpenStack 使用OVS的DPDK数据路径

    千次阅读 2019-07-04 21:14:26
    本文作为指南,解释如何使用带有DPDK数据路径功能的OVS虚拟交换机,作为Mitaka发布版中的网络服务部分的功能。 基础 Open vSwitch (OVS) 在2.2版本后,开始支持Data Plane Development Kit (DPDK)数据路径,并在2.4...
  • SDN软件交换机OVS笔记

    千次阅读 2018-07-02 17:11:06
    OVSOpenvSwitch 以其丰富的功能,作为多层虚拟交换机,已经广泛应用于云环境中。Open vSwitch的主要功能是为物理机上的VM提供二层网络接入,和云环境中的其它物理交换机并行工作在Layer 2。在早期OVS的版本中,为...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,628
精华内容 1,051
关键字:

ovs虚拟交换机