Open vSwitch概述

3 篇文章 0 订阅
2 篇文章 0 订阅
转自https://blog.csdn.net/lizheng2300/article/details/54582310

Open vSwitch概述

Open vSwitch(下面简称OVS)是一个高质量的、多层虚拟交换机。OVS遵循开源Apache2.0许可,通过可编程扩展,OVS可以实现大规模网络的自动化(配置、管理、维护),OVS也提供了对 OpenFlow协议的支持,用户可以使用任何支持 OpenFlow协议的控制器对 OVS进行远程管理控制,同时支持现有标准管理接口和协议比如NetFlow、sFlow、SPAN(本地端口镜像)、RSPAN(远程端口镜像)、CLI(命令行界面)、LACP(链路汇聚)、802.1ag等。此外OVS支持多种linux虚拟化技术,包括Xen/XenServer,KVM和VirtualBox等,在虚拟化平台上,OVS可以为动态变化的端点提供 2层交换功能,很好的控制虚拟网络中的访问策略、网络隔离、流量监控等。

虚拟交换是利用虚拟平台,通过软件的方式模拟交换机部件。跟传统的物理交换机相比,虚拟交换机同样具备众多优点,一是配置更加灵活。一台普通的服务器可以配置出数十台甚至上百台虚拟交换机,且端口数目可以灵活选择。例如,VMware的ESX一台服务器可以仿真出248台虚拟交换机,且每台交换机预设虚拟端口即可达56个;二是成本更加低廉,通过虚拟交换往往可以获得昂贵的普通交换机才能达到的性能,例如微软的Hyper-V平台,虚拟机与虚拟交换机之间的联机速度轻易可达10Gbps。

OVS支持的特性:

Open vSwitch是一种开源软件,专门管理多租赁公共云计算环境,为网络管理员提供虚拟VM之间和之内的流量可见性和控制。

Open vSwitch项目由网络控制软件创业公司NiciraNetworks支持,旨在用虚拟化解决网络问题,与控制器软件一起实现分布式虚拟交换技术。这意味着,交换机和控制器软件能够在多个服务器之间创建集群网络配置,从而不需要在每一个VM和物理主机上单独配置网络。这个交换机还支持VLAN中继,通过NetFlow、sFlow和RSPAN实现可见性,通过OpenFlow协议进行管理。它还有其他一些特性:严格流量控制,它由OpenFlow交换协议实现;远程管理功能,它能通过网络策略实现更多控制。

l 支持通过NetFlowsFlow IPFIX, SPAN, RSPAN,和 GRE-tunneled镜像使虚拟机内部通讯可以被监控;

l 支持LACP(IEEE 802.1AX-2008)(多端口绑定)协议;

l 支持标准的802.1Q VLAN模型以及 trunk模式;

l 支持 BFD和 802.1ag链路状态监测;

l 支持STP(IEEE 802.1D-1998);

l 支持细粒度的Qos;分析原理

l 支持HFSC系统级别的流量控制队列;

l 支持每虚拟机网卡的流量的流量控制策略;

l 支持基于源MAC负载均衡模式、主备模式、L4哈希模式的多端口绑定;

l 支持OpenFlow协议(包括许多虚拟化的增强特性);

l 支持IPV6

l 支持多种隧道协议((GRE,VXLAN, IPsec, GRE and VXLAN over IPsec)

l 支持通过C或者Python接口远程配置;

l 支持内核态和用户态的转发引擎设置;

l 支持多列表转发的发送缓存引擎;

l 支持转发层抽象以容易的移植到新的软件或者硬件平台;

OVS几个重要的概念

Packet:网络转发的最小数据单元,每个包都来自某个端口,最终会被发往一个或多个目标端口,转发数据包的过程就是网络的功能。

Bridge: Bridge 代表一个以太网交换机(Switch),一个主机中可以创建一个或者多个 Bridge 设备。

Port: 端口与物理交换机的端口概念类似,每个 Port都隶属于一个 Bridge。端口收到的数据包会经过流规则的处理,发往其他端口;也会把其他端口来的数据包发送出去,主要有一下几种接口类型:

类型

说明

Normal

用户可以把操作系统中的网卡绑定到ovs上,ovs会生成一个普通端口处理这块网卡进出的数据包

internal

端口类型为internal时,ovs会创建一块虚拟网卡,端口收到的所有数据包都会交给该网卡,发出的包会通过该端口交给ovs。当ovs创建一个新网桥时,默认会创建一个与网桥同名的Internal Port.

patch

当机器中有多个ovs网桥时,可以使用Patch Port把两个网桥连起来。Patch Port总是成对出现,分别连接在两个网桥上,在两个网桥之间交换数据。

tunnel

隧道端口是一种虚拟端口,支持使用gre或vxlan等隧道技术与位于网络上其他位置的远程端口通讯。

梳理下具体的端口类型

Interface: 连接到 Port的网络接口设备。在通常情况下,Port和 Interface是一对一的关系,只有在配置 Port为 bond模式后,Port和 Interface是一对多的关系。

举例子说明。

Controller:OpenFlow 控制器。OVS可以同时接受一个或者多个 OpenFlow控制器的管理。

datapath: 在 OVS中,datapath负责执行数据交换,也就是把从接收端口收到的数据包在流表中进行匹配,并执行匹配到的动作。

Flow table: 每个 datapath都和一个“flowtable”关联,当 datapath接收到数据之后, OVS会在 flow table中查找可以匹配的 flow,执行对应的操作,例如转发数据到另外的端口。

OpenvSwitch系统架构

OVS的架构分为内核空间、用户空间、配置管理层3个部分,如下图所示。内核空间包含了流表(Flow Table)和一个或多个Datapath模块,其中Datapath模块类似于网桥,主要负责对数据分组进行操作,另外内核空间中维护的流表规定了针对数据分组应该进行的操作,Datapath通过关联流表与其协同完成分组处理过程。用户空间中运行着OVS的守护进程(OpenvSwitch Daemon,vswitchd)和数据库(Open vSwitch Database,ovsdb),它们是OVS的核心功能模块,vswitchd类似于OVS的心脏,它维持着OVS的生命周期,而ovsdb就像OVS的大脑,它存储着OVS的配置信息和数据流信息,vswitchd和ovsdb协调工作确保OVS健康的运行状态。配置管理层包括ovs-dpctl、ovs-ofctl、ovs-appctl、ovs-vsctl和ovsdb-tool等,主要用于和vswitchd、ovsdb之间进行交互操作以及OVS的安装配置和部署。

OpenvSwitch的组成

(1)OVS内核空间(包含Datapath和流表)

· Datapath:主要负责实际的数据分组处理,把从接收端口收到的数据包在流表中进行匹配,并执行匹配到的动作。它同时与vswitchd和流表保持关联,使OVS上层可以对数据分组处理进行控制。

· 流表:流表中存储着分组处理的依据--流表项,每个Datapath 都和一个流表关联,当Datapath接收到数据之后,OVS会在流表中查找可以匹配的 flow(流表项),执行对应的操作,例如转发数据到另外的端口。同时还与vswitchd进程上下关联,是OVS上层对底层分组处理过程进行管理的接口。

(2)OVS用户空间(vswitchd和ovsdb)

· vswitchd:守护程序,实现交换功能,和Linux内核模块一起,实现基于流的交换flow-based switching,负责检索和更新数据库信息,并根据数据库中的配置信息维护和管理OVS。Vswitchd可以配置一些列特性:基于MAC地址学习的二层交换、支持IEEE 802.1Q VLAN 、端口镜像、sFlow监测、连接OpenFlow控制器等。Vswitchd也可以通过Netlink协议与内核模块Datapath直接通信。

· ovsdb-server:轻量级的数据库服务,主要保存了整个OVS的配置信息和数据流信息,ovsdb-server直接管理ovsdb,与ovsdb通信进行数据库的增删改查操作。Vswitchd可以通过socket与ovsdb-server进行通信,用于查询和更新数据库信息,或者在检索数据库信息后做出首个数据包的转发策略。

(3)OVS管理工具

· ovs-dpctl:管理OVS Datapath的实用工具,用来配置交换机内核模块,控制数据包的转发规则。可以创建、修改和删除Datapath。

· ovs-vsctl:查询和配置OVS数据库的实用工具,用于查询或修改vswitchd的配置信息,该工具会直接更新ovsdb数据库。

· ovs-appctl:主要是向OVS守护进程发送命令的工具,一般用不上。

· ovs-ofctl:用来控制OVS作为OpenFlow交换机工作时的各种参数,它是OVS提供的命令行工具。在没有配置 OpenFlow控制器的模式下,用户可以使用 ovs-ofctl命令通过 OpenFlow协议去连接 OVS,创建、修改或删除 OVS中的流表项,并对 OVS的运行状况进行动态监控。

· ovs-pki:OpenFlow交换机创建和管理公钥框架。

· ovs-tcpundump:tcpdump的补丁,解析 OpenFlow的消息。

OpenvSwitch流表分析

流表是交换机进行转发策略控制的核心数据结构。交换机芯片通过查找流表项来决策进入交换机网络的数据包执行适当的处理动作。流表中包含若干个流表项,每一个流表项中包含若干个域:包头域、活动计数器、0个或多个执行动作。

1、包头域:执行规则的条件,主要是指定数据包各层协议字段值,作为数据包中与流规则的匹配条件。

2、计数器:用来统计流量的信息,如:duration存活时间、错误、n_packets发包数等。

3、动作:定义了对匹配规则的数据包的处理方式,如:drop丢包、转发、修改等。

例:br-tun流表信息

# ovs-ofctl dump-flows br-tun

NXST_FLOW reply (xid=0x4):

#从port1进来的包转到表1处理

cookie=0x0,duration=10970.064s, table=0, n_packets=189, n_bytes=16232, idle_age=16,priority=1,in_port=1 actions=resubmit(,1)

#从port2进来的包转到表2处理

cookie=0x0,duration=10906.954s, table=0, n_packets=29, n_bytes=5736, idle_age=16,priority=1,in_port=2 actions=resubmit(,2)

#不匹配上面两条则drop

cookie=0x0,duration=10969.922s, table=0, n_packets=3, n_bytes=230, idle_age=10962,priority=0 actions=drop

#表1,单播包转到表20处理

cookie=0x0,duration=10969.777s, table=1, n_packets=26, n_bytes=5266, idle_age=16,priority=0,dl_dst=00:00:00:00:00:00/01:00:00:00:00:00 actions=resubmit(,20)

#多播包转到表21处理

cookie=0x0,duration=10969.631s, table=1, n_packets=163, n_bytes=10966, idle_age=21,priority=0,dl_dst=01:00:00:00:00:00/01:00:00:00:00:00 actions=resubmit(,21)

#表2,port2进来的包在这里处理了.同样是转给表10处理

cookie=0x0, duration=688.456s,table=2, n_packets=29, n_bytes=5736, idle_age=16, priority=1,tun_id=0x1actions=mod_vlan_vid:1,resubmit(,10)

#表10,进行规则学习,具体就不解释了。学习到的规则后续会给表20来使用 cookie=0x0, duration=10969.2s, table=10, n_packets=29, n_bytes=5736,idle_age=16, priority=1actions=learn(table=20,hard_timeout=300,priority=1,NXM_OF_VLAN_TCI[0..11],NXM_OF_ETH_DST[]=NXM_OF_ETH_SRC[],load:0->NXM_OF_VLAN_TCI[],load:NXM_NX_TUN_ID[]->NXM_NX_TUN_ID[],output:NXM_OF_IN_PORT[]),output:1

#表20,根据目的mac设置tun_id,通过指定的port发出去

cookie=0x0, duration=682.603s,table=20, n_packets=26, n_bytes=5266, hard_timeout=300, idle_age=16,hard_age=16, priority=1,vlan_tci=0x0001/0x0fff,dl_dst=fa:16:3e:32:0d:dbactions=load:0->NXM_OF_VLAN_TCI[],load:0x1->NXM_NX_TUN_ID[],output:2

#无规则的交给表21处理

cookie=0x0,duration=10969.057s, table=20, n_packets=0, n_bytes=0, idle_age=10969,priority=0 actions=resubmit(,21)

#表21,根据vlan找到对应的出去的口

cookie=0x0, duration=688.6s,table=21, n_packets=161, n_bytes=10818, idle_age=21, priority=1,dl_vlan=1actions=strip_vlan,set_tunnel:0x1,output:2

# drop

cookie=0x0,duration=10968.912s, table=21, n_packets=2, n_bytes=148, idle_age=689,priority=0 actions=drop

字段介绍:

Cookie:流规则标识。

duration:流表项创建持续的时间(单位是秒)。

table:流表项所属的table编号。

n_packets:此流表项匹配到的报文数。

n_bytes:此流表项匹配到的字节数。

idle_age:此流表项从最后一个匹配的报文到现在空闲的时间。

hard_age:此流表项从最后一次被创建或修改到现在持续的时间。

Priority:流表项的优先级,数字越大优先级越高,范围是:0~7。

Open vSwitch数据包处理流程

OVS的主要功能是数据包的处理,它对数据包的处理分以下两个步骤:第一步是由内核空间的Datapath尝试直接对数据包进行转发操作;第二步是由用户空间和内核空间协同工作进行数据包处理。

OVS对数据包处理的第一步:当数据包到达内核时,内核模块提取数据包的关键信息查找Flow Table存储的流表项,若存在匹配的流表项则执行对应的流表项中的动作。如果流表中查找不到对应的流表项,OVS就无法再第一步中完成转发的处理,OVS将执行第二步操作,第二步的步骤是:当数据包到达Datapath时,FLow Table中查找不到对应的流表项,则将数据包从内核空间发送到用户空间进行处理。Vswitchd进程检索ovsdb获取数据包处理的相关flow信息,制定转发策略并通知给内核模块,同时vswitchd会设置流表项用于后续数据包的规则处理。当第一个数据包转发成功后内核模块会更新流表项,这样后续相同的数据包会按照相同的处理规则进行转发,避免再次发送到用户空间处理提高转发性能。


流表项中的action动作:

①output转发数据包到指定端口

②丢包

③发送到用户态

④Push/Pop VLAN tags

⑤Push/Pop MPLS标签

⑥Set-Queue: QoS

Datapath流表查询源码分析

数据结构关系图

函数调用关系图

① ovs_vport_receive() ,vport端口接收数据包。

②ovs_flow_key_extract(),提取数据包中的信息,封装key值。

③ ovs_dp_process_packet(),处理数据包。

④ ovs_flow_tbl_lookup_stats()查询并匹配流表。

⑤ ovs_execute_actions()执行处理动作。

Ovs中的流规则匹配是采用的TSS包分类算法,并在此算法的基础上进行了优化,匹配的步骤如下:

①提取数据包中的关键字段封装在struct sw_flow_key key结构中,对此key值计算hash值skb_hash;

②skb_hash传入ovs_flow_tbl_lookup_stats函数,在此函数内部将skb_hash和key->recirc_id作为jhash_1word的参数再次进行哈希,得到hash_key,利用此hash_key找到哈希桶,匹配哈希格子后得到mask_index。

③将此mask_index传入flow_lookup函数得到mask掩码值。

④将此mask掩码作为参数传入masked_flow_lookup函数。将masked_key和key值进行与运算得到masked_key。

⑤将此masked_key作为参数调用flow_hash再次计算hash得到哈希值。

⑥将第五步中得到的hash值作为参数传入find_bucket得到hash冲突链的头指针。

⑦遍历冲突链比较链表节点中的mask掩码值、hash值、masked_key,如果都匹配则匹配此节点,并得到流规则获取流规则中的action信息,调用ovs_execute_actions执行处理动作。

OVS的常用命令工具

Ovs-vsctl和ovs-ofctl是ovs的两个常用的命令工具,下面重点介绍下这两个工具的常用功能描述。

ovs-vsctl

该工具是查询和配置OVS数据库的实用工具,用于查询或者变更vswitchd的配置信息,通过它可以直接更新ovsdb。

Ovs-vsctl命令格式为:ovs-vsctl [命令][选项],具体命令参见下表。

命令

含义

init

初始化数据库

show

打印数据库信息摘要

emer-rest

将OVS配置复位为空状态

add-br BRIDGE

添加新的网桥

del-br BRIDGR

删除网桥

list-br

打印网桥摘要信息

list-ports BRIDGE

打印网桥中的所有port摘要信息

add-port BRIDGE port

向网桥中添加端口

del-port [BRIDGE] port

删除网桥上的端口

get-controller BRIDGE

获取网桥上的控制器信息

del-controller BRIDGE

删除网桥上的控制器信息

set-controller BRIDGE TARGET ...

向网桥添加控制器

例:ovs-vsctl show(打印数据库信息摘要)

[root@10-0-192-15 ~]# ovs-vsctl show

b2fca0a8-bbd3-4f3d-a682-408ba5bf2fdc

Bridge br-int

fail_mode: secure

Port patch-tun

Interface patch-tun

type: patch

options: {peer=patch-int}

Port "qvoa471a431-4c"

tag: 21

Interface"qvoa471a431-4c"

......

Port "qvof913abbb-cc"

tag: 42

Interface"qvof913abbb-cc"

Bridge br-tun

fail_mode: secure

Port "vxlan-0a00cc05"

Interface "vxlan-0a00cc05"

type: vxlan

options:{df_default="true", in_key=flow, local_ip="10.0.204.6",out_key=flow, remote_ip="10.0.204.5"}

Port "vxlan-0a00cc04"

Interface"vxlan-0a00cc04"

type: vxlan

options:{df_default="true", in_key=flow,

Port br-tun

Interface br-tun

type: internal

Port patch-int

Interface patch-int

type: patch

options: {peer=patch-tun}

Bridge br-ex

Port "fg-6431ec47-de"

Interface"fg-6431ec47-de"

type: internal

Port "enp1s0f0.210"

Interface "enp1s0f0.210"

Port br-ex

Interface br-ex

type: internal

Port phy-br-ex

Interface phy-br-ex

type: patch

options: {peer=int-br-ex}

ovs_version: "2.4.0"

ovs-ofctl

该工具是OPENFLOW交换机的命令行管理工具,用于管理OVS作为OPENFLOW交换机时的各种参数,用户可以通过ovs-ofctl查询或修改OPENFLOW交换机的状态、配置和流表等信息。

ovs-ofctl 命令格式为:ovs-ofctl[命令][选项],具体常用命令如下表格。

命令

含义

show SWITCH

输出openflow信息

dump-ports SWITCH [PORT]

输出端口统计信息

dump-ports-desc SWITCH

输出端口描述信息

dump-flows SWITCH

输出交换机中的所有流表项

dump-flows SWITCH FLOW

输出交换机中指定的流表项

add-flow SWITCH FLOW

添加流表项

add-flows SWITCH FILE

从文件中向交换机添加流表项

mod-flows SWITCH FLOW

修改交换机的流表项

del-flows SWITCH[FLOW]

删除交换机的流表项

例:ovs-ofctl dump-flows ovs-switch(查看交换机中的所有流表项)

[root@lizheng ~]# ovs-ofctldump-flows ovs-switch

NXST_FLOW reply (xid=0x4):

cookie=0x0, duration=502929.347s, table=0,n_packets=269, n_bytes=26362, idle_age=65534, hard_age=65534, icmpactions=output:102

cookie=0x0, duration=248210.152s, table=0,n_packets=0, n_bytes=0, idle_age=65534, hard_age=65534,priority=3,in_port=100,vlan_tci=0x0000 actions=mod_vlan_vid:101,NORMAL

cookie=0x0, duration=502929.771s, table=0,n_packets=38, n_bytes=2532,idle_age=65534,hard_age=65534, priority=0 actions=NORMAL

ovs-ofctl add-flow参数详解

ovs-ofctl的Flow语法由一系列field=value形式的键值对组成,用英文逗号和空格隔开,在描述Flow时,必须要遵循IP stack常理。比如说,在flow中使用了L3(层3)的字段时,必须也要指明L2所用的协议。使用了L4的字段时,必须也要指明L2和L3所用的协议。

例:ovs-ofctl add-flowovs-switch "in_port=2,actions=output:8"此条规则表示的是由端口号为2进来的报文,从端口8转发出去。

常用的语法词汇如下:

字段

含义

in_port=<port>

匹配port id为port值进入的报文

vlan=<vlan_tag>

匹配VLAN tag为vlan_tag的报文,范围是[0~4095]

dl_src

匹配指定源mac地址

dl_dst

匹配指定目的mac地址

其中"/"后面的为掩码。比如说,如果掩码是:

01:00:00:00:00:00 只匹配组播MAC (第一个字节LSB为1的MAC地址为MAC组播地址)

fe:ff:ff:ff:ff:ff 匹配其他所有MAC,除了组播MAC

ff:ff:ff:ff:ff:ff 完全匹配掩码前的MAC,和省掉掩码的效果一样

00:00:00:00:00:00 完全通配,相当于(dl_dst=*)

dl_type

匹配以太网协议类型,例:0x0806是arp,0x0800是ip协议

nw_src

匹配源ip

nw_dst

匹配目的ip

nw_proto

协议类型,注意和dl_type区分,同时也需要和dl_type一起使用,比如dl_type是ip(0x0800),那么nw_proto=1就表示icmp packet

tp_src

源端口号

tp_dst

目的端口号


举几个简单的表示语法如下:

ip

Same as dl_type=0x0800.

icmp

Same as dl_type=0x0800,nw_proto=1.

tcp

Same as dl_type=0x0800,nw_proto=6.

udp

Same as dl_type=0x0800,nw_proto=17.

arp

Same as dl_type=0x0806.

rarp

Same as dl_type=0x8035.



Actions动作字段详解:

ovs-ofctl的 add-flow, add-flows 以及 mod-flows 命令都需要 actions 字段,描述对匹配的数据包执行的动作,在上述的三条命令中,actions字段是flow的一部分,actions字段中可以有多个 action,它们之间用逗号隔开,一个flow的完整语法如下:

<field>=<value>,[<field>=<value>]...,actions=<action>[,<action>...] 



动作

含义

output:<port>

将数据包输出到port端口

group:<group_id>

将数据包输出到grop

normal

按照设备的常规L2/L3处理流程来处理数据包。通常是OVS默认flow中的action。要注意的是,并不是所有的OpenFlow switch都支持这个action。

flood

将数据包输出到所有物理端口,除了该数据包的输入口以及不可被flooding的端口。

all

将数据包输出到所有物理端口,除了该数据包的输入口

local

将数据包输出到local port(与bridge同名的端口)

In_port

将数据包输出到其输入口

controller

将数据包以"packet in"消息的形式发送到OpenFlow控制器。

enqueue

将数据包放到端口的队列中。其中必须是OpenFlow端口号或关键字(如"LOCAL")。不同交换机支持的队列数不同,有些OpenFlow实现根本不支持队列。

drop

丢掉该数据包

mod_vlan_vid:<vlan_vid>

修改数据包的VLAN id为vlan_vid。如果数据包没有VLAN tag则添加VLAN id为vlan_vid的VLAN tag。如果数据包VLAN id已经为vlan_vid,则将其VLAN优先级priority设为0.

mod_vlan_pcp:<vlan_pcp>

修改数据包的VLAN优先级priority为vlan_pcp。如果数据包没有VLAN tag则添加VLAN priority为vlan_pcp的VLAN tag。合法值区间为[0, 7],数字越大优先级越高。如果数据包VLAN priority已经为vlan_pcp,则将其VLAN id设为0.

Strip_vlan

如果数据包有VLAN tag,则剥去VLAN tag。

mod_dl_src:<mac>

mod_dl_dst:<mac>

将数据包的源或目的MAC地址设置成mac

mod_nw_src:<ip>

mod_nw_dst:<ip>

将数据包的源或目的IP地址设置成IP

mod_tp_src:<port>

mod_tp_dst:<port>

将数据包的TCP/UDP/SCTP源或目的端口设置成port。

Ovs在openstack中的应用

以计算节点为例:

主要包括两个网桥:集成网桥 br-int和隧道网桥 br-tun。

通过ovs-vsctl show命令可以查看网桥信息

br-int

集成网桥 br-int规则比较简单,作为一个正常的二层交换机使用。无论下面虚拟化层是哪种技术实现,集成网桥是看不到的,只知道根据 vlan和 mac进行转发。

所连接接口除了从安全网桥过来的qvo-xxx(每个虚拟机会有一个),就是一个往外的 patch-tun接口,连接到 br-tun网桥。

其中,qvo-xxx接口上会为每个网络分配一个内部 vlan号,比如这里是同一个网络启动了两台虚机,所以 tag都为 1。

Bridge br-int

fail_mode: secure

Port br-int

Interface br-int

type: internal

Port "qvoc4493802-43"

tag: 1

Interface"qvoc4493802-43"

Port patch-tun

Interface patch-tun

type: patch

options: {peer=patch-int}

Port "qvof47c62b0-db"

tag: 1

Interface"qvof47c62b0-db"

br-tun

br-tun 作为虚拟化层网桥,规则就要复杂一些。要将内部过来的网包进行合理甄别,内部带着正确 vlan tag过来的,从正确的 tunnel扔出去;外面带着正确 tunnel号过来的,要改到对应的内部 vlan tag扔到里面。

Bridge br-tun

fail_mode: secure

Port "vxlan-0a00644d"

Interface"vxlan-0a00644d"

type: vxlan

options:{df_default="true", in_key=flow, local_ip="10.0.100.88",out_key=flow, remote_ip="10.0.100.77"}

Port patch-int

Interface patch-int

type: patch

options: {peer=patch-tun}

Port br-tun

Interface br-tun

type: internal

其中,端口 br-tun是内部端口,vxlan-0a00644d这样的端口是向其它节点发包时候的 VXLAN隧道端点,patch-int和 br-int是接口对。

正常情况下,虚拟机的流量经过br-int转发,经过 patch-tun端口,抵达 patch-int端口,从而到达 br-tun网桥,该网桥根据自身规则将合适的网包经过 VXLAN隧道送出去。

转发逻辑如下图:

表 0

先看 table0中的规则

cookie=0x0, duration=329.194s, table=0,n_packets=31, n_bytes=2906, idle_age=29, priority=1,in_port=1actions=resubmit(,2)

cookie=0x0, duration=325.847s, table=0,n_packets=14, n_bytes=1591, idle_age=33, priority=1,in_port=2actions=resubmit(,4)

cookie=0x0, duration=328.954s, table=0,n_packets=6, n_bytes=480, idle_age=321, priority=0 actions=drop

从 1端口(patch-int)进来的网包,扔给表 2处理,从 2端口(vxlan-0a00644d)进来的网包,扔给表 4处理。即一个处理来自内部vm的,一个处理来自外面的 vxlan隧道的。

表 2

对于内部包,表 2中规则为

cookie=0x0, duration=53316.397s, table=2,n_packets=0, n_bytes=0, idle_age=53316, priority=0,dl_dst=00:00:00:00:00:00/01:00:00:00:00:00actions=resubmit(,20)

cookie=0x0, duration=53316.162s, table=2,n_packets=161, n_bytes=39562, idle_age=422,priority=0,dl_dst=01:00:00:00:00:00/01:00:00:00:00:00 actions=resubmit(,22)

即里面过来的单播包,扔给表 20处理;多播和广播包,扔给表22处理。

表 3

丢弃所有包。

cookie=0x0, duration=328.223s, table=3,n_packets=0, n_bytes=0, idle_age=328, priority=0 actions=drop

表 4

对于外部来的数据,表 4中规则为

cookie=0x0, duration=50.703s, table=4,n_packets=12, n_bytes=1451, idle_age=33, priority=1,tun_id=0x3e9 ,actions=mod_vlan_vid:1,resubmit(,10)

cookie=0x0, duration=327.979s, table=4,n_packets=2, n_bytes=140, idle_age=94, priority=0,actions=drop

匹配给定的 tunnel号,添加对应的 vlan号,扔给表 10去学习一下后扔到br-int网桥。

表 10

cookie=0x0, duration=327.742s, table=10,n_packets=12, n_bytes=1451, idle_age=33,priority=1,actions=learn(table=20,hard_timeout=300,priority=1,NXM_OF_VLAN_TCI[0..11],NXM_OF_ETH_DST[]=NXM_OF_ETH_SRC[],load:0->NXM_OF_VLAN_TCI[],load:NXM_NX_TUN_ID[]->NXM_NX_TUN_ID[],output:NXM_OF_IN_PORT[]),output:1

主要作用是学习外部(从 tunnel)进来的包,往表 20中添加对返程包的正常转发规则,并且从 patch-int扔给 br-int。

使用了 openvswitch的 learn动作。该动作能根据处理的流来动态修改其它表中的规则。

具体来看 learn规则:

table=20 说明是修改表 20中的规则,后面是添加的规则内容;

NXM_OF_VLAN_TCI[0..11],匹配跟当前流同样的VLAN头。

NXM_OF_ETH_DST[]=NXM_OF_ETH_SRC[],包的目的 mac跟当前流的源 mac匹配;

load:0->NXM_OF_VLAN_TCI[],将 vlan号改为 0;

load:NXM_NX_TUN_ID[]->NXM_NX_TUN_ID[],将 tunnel号修改为当前的tunnel号;

output:NXM_OF_IN_PORT[],从当前入口发出。

表 20

cookie=0x0, duration=38.551s, table=20,n_packets=9, n_bytes=694,hard_timeout=300,idle_age=33,hard_age=33,priority=1,vlan_tci=0x0001/0x0fff,dl_dst=fa:16:3e:83:95:fa,actions=load:0->NXM_OF_VLAN_TCI[],load:0x3e9->NXM_NX_TUN_ID[],output:2,cookie=0x0,duration=327.504s, table=20, n_packets=0, n_bytes=0, idle_age=327, priority=0actions=resubmit(,22)

其中,第一条规则就是表 10学习来的结果。对于vlan号为 1,目标 mac是 fa:16:3e:83:95:fa的网包,去掉 vlan号,添加当时的 vxlan号,并从 tunnel发出。

对于没学习到规则的网包,则扔给表 22处理。

表 22

cookie=0x0, duration=50.94s, table=22,n_packets=11, n_bytes=1334, idle_age=29, dl_vlan=1,actions=strip_vlan,set_tunnel:0x3e9,output:2,cookie=0x0,duration=327.261s,table=22, n_packets=10, n_bytes=808, idle_age=51, priority=0 actions=drop

表 22检查如果 vlan号正确,则去掉 vlan头后从 tunnel扔出去。

阅读更多
还能输入1000个字符
OpenvSwitch(OVS)全面解读

07-09 2726

1 什么是Open vSwitch

OpenvSwitch简称OVS,正如其官网(http://openvswitch.org/)所述,OVS是一个高质量、多层的虚拟交换软件。它的目的是通过编程扩展…

来自: 造梦先森Kai的专栏



		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view='{"mod":"popu_387","con":",https://blog.csdn.net/zztflyer/article/details/51823068,BlogCommendFromBaidu_0"}' data-track-click='{"mod":"popu_387","con":",https://blog.csdn.net/zztflyer/article/details/51823068,BlogCommendFromBaidu_0"}'>
		<div class="content">
			<a href="https://blog.csdn.net/zztflyer/article/details/51823068" target="_blank" title="OpenStack网络实战系列一:通过Openvswitch实践了解交换机的基本概念和操作">
			<h4 class="text-truncate oneline">
					<em>Open</em>Stack网络实战系列一:通过<em>Open</em><em>vswitch</em>实践了解交换机的基本概念和操作				</h4>
			<div class="info-box d-flex align-content-center">
				<!-- <p class="avatar">
						<img src="https://avatar.csdn.net/0/9/6/3_zztflyer.jpg" alt="zztflyer" class="avatar-pic">
						<span class="namebox">
							<span class="name">zztflyer</span>
							<span class="triangle"></span>
						</span>
				</p> -->
				<p class="date-and-readNum">
					<span class="date hover-show">07-04</span>
					<span class="read-num hover-hide">
						<svg class="icon csdnc-yuedushu" aria-hidden="true">
							<use xlink:href="#csdnc-m-passwords-visible"></use>
						</svg>
						4061</span>
					</p>
				</div>
			</a>
				<p class="content">
					<a href="https://blog.csdn.net/zztflyer/article/details/51823068" target="_blank" title="OpenStack网络实战系列一:通过Openvswitch实践了解交换机的基本概念和操作">
						<span class="desc oneline">本文通过openvswitch和Linux网络命名空间的基本操作帮助大家初步理解网络交换机的基本概念及操作,为后续理解和研究openstack网络概念打下初步基础。...</span>
					</a>
                    						<span class="blog_title_box oneline"><a target="_blank" href="https://blog.csdn.net/zztflyer">来自:	<span class="blog_title"> 天生我材必有用</span></a></span>
                    					</p>
		</div>
				</div>




		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view='{"mod":"popu_387","con":",https://blog.csdn.net/x_i_y_u_e/article/details/56011074,BlogCommendFromBaidu_1"}' data-track-click='{"mod":"popu_387","con":",https://blog.csdn.net/x_i_y_u_e/article/details/56011074,BlogCommendFromBaidu_1"}'>
		<div class="content">
			<a href="https://blog.csdn.net/x_i_y_u_e/article/details/56011074" target="_blank" title="OpenStack网络基础知识: OpenvSwitch使用指南">
			<h4 class="text-truncate oneline">
					<em>Open</em>Stack网络基础知识: <em>Open</em><em>vSwitch</em>使用指南				</h4>
			<div class="info-box d-flex align-content-center">
				<!-- <p class="avatar">
						<img src="https://avatar.csdn.net/0/4/B/3_x_i_y_u_e.jpg" alt="x_i_y_u_e" class="avatar-pic">
						<span class="namebox">
							<span class="name">x_i_y_u_e</span>
							<span class="triangle"></span>
						</span>
				</p> -->
				<p class="date-and-readNum">
					<span class="date hover-show">02-20</span>
					<span class="read-num hover-hide">
						<svg class="icon csdnc-yuedushu" aria-hidden="true">
							<use xlink:href="#csdnc-m-passwords-visible"></use>
						</svg>
						6687</span>
					</p>
				</div>
			</a>
				<p class="content">
					<a href="https://blog.csdn.net/x_i_y_u_e/article/details/56011074" target="_blank" title="OpenStack网络基础知识: OpenvSwitch使用指南">
						<span class="desc oneline">原文地址: 

OpenStack网络基础知识: OpenvSwitch使用指南

OpenvSwitch的架构与基本概念
OVS构成

ovs的构成非常简单,每个部件负责各自的职责.



来自: x_i_y_u_e的专栏



<div class="recommend-item-box recommend-ad-box"><div id="kp_box_78" data-pid="59" data-track-view='{"mod":"kp_popu_78","con":",,"}'><script type="text/javascript" src="//rabc1.iteye.com/production/res/rxjg.js?pkcgstj=jm"></script></div><script>$(function(){csdn.track.viewCheck($("#kp_box_78"));});</script></div>


		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view='{"mod":"popu_387","con":",https://blog.csdn.net/shajc0504/article/details/39258035,BlogCommendFromBaidu_2"}' data-track-click='{"mod":"popu_387","con":",https://blog.csdn.net/shajc0504/article/details/39258035,BlogCommendFromBaidu_2"}'>
		<div class="content">
			<a href="https://blog.csdn.net/shajc0504/article/details/39258035" target="_blank" title="Open vSwitch详解">
			<h4 class="text-truncate oneline">
					<em>Open</em> <em>vSwitch</em>详解				</h4>
			<div class="info-box d-flex align-content-center">
				<!-- <p class="avatar">
						<img src="https://avatar.csdn.net/7/6/E/3_shajc0504.jpg" alt="shajc0504" class="avatar-pic">
						<span class="namebox">
							<span class="name">shajc0504</span>
							<span class="triangle"></span>
						</span>
				</p> -->
				<p class="date-and-readNum">
					<span class="date hover-show">09-13</span>
					<span class="read-num hover-hide">
						<svg class="icon csdnc-yuedushu" aria-hidden="true">
							<use xlink:href="#csdnc-m-passwords-visible"></use>
						</svg>
						4653</span>
					</p>
				</div>
			</a>
				<p class="content">
					<a href="https://blog.csdn.net/shajc0504/article/details/39258035" target="_blank" title="Open vSwitch详解">
						<span class="desc oneline">1. Open vSwitch

Open vSwitch(简称OVS)是在开源的Apache2.0许可下的产品级质量的多层虚拟交换标准。它旨在通过编程扩展,使庞大的网络自动化(配置、管理、维护),同…

来自: shajc0504的专栏



		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view='{"mod":"popu_387","con":",https://blog.csdn.net/zongyimin/article/details/77931322,BlogCommendFromBaidu_3"}' data-track-click='{"mod":"popu_387","con":",https://blog.csdn.net/zongyimin/article/details/77931322,BlogCommendFromBaidu_3"}'>
		<div class="content">
			<a href="https://blog.csdn.net/zongyimin/article/details/77931322" target="_blank" title="Open vSwitch Datapath浅析">
			<h4 class="text-truncate oneline">
					<em>Open</em> <em>vSwitch</em> Datapath浅析				</h4>
			<div class="info-box d-flex align-content-center">
				<!-- <p class="avatar">
						<img src="https://avatar.csdn.net/D/C/C/3_zongyimin.jpg" alt="zongyimin" class="avatar-pic">
						<span class="namebox">
							<span class="name">zongyimin</span>
							<span class="triangle"></span>
						</span>
				</p> -->
				<p class="date-and-readNum">
					<span class="date hover-show">09-11</span>
					<span class="read-num hover-hide">
						<svg class="icon csdnc-yuedushu" aria-hidden="true">
							<use xlink:href="#csdnc-m-passwords-visible"></use>
						</svg>
						453</span>
					</p>
				</div>
			</a>
				<p class="content">
					<a href="https://blog.csdn.net/zongyimin/article/details/77931322" target="_blank" title="Open vSwitch Datapath浅析">
						<span class="desc oneline">Open vSwitch Datapath浅析

下图所示是Open vSwitch的组成(摘自Open vSwitch官网):

它分为Kernel部分和User部分。
安装驱动
Kere…

来自: zongyimin的博客



		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view='{"mod":"popu_387","con":",https://blog.csdn.net/skyie53101517/article/details/64439062,BlogCommendFromBaidu_4"}' data-track-click='{"mod":"popu_387","con":",https://blog.csdn.net/skyie53101517/article/details/64439062,BlogCommendFromBaidu_4"}'>
		<div class="content">
			<a href="https://blog.csdn.net/skyie53101517/article/details/64439062" target="_blank" title="openvswitch架构">
			<h4 class="text-truncate oneline">
					<em>open</em><em>vswitch</em>架构				</h4>
			<div class="info-box d-flex align-content-center">
				<!-- <p class="avatar">
						<img src="https://avatar.csdn.net/F/7/A/3_skyie53101517.jpg" alt="skyie53101517" class="avatar-pic">
						<span class="namebox">
							<span class="name">skyie53101517</span>
							<span class="triangle"></span>
						</span>
				</p> -->
				<p class="date-and-readNum">
					<span class="date hover-show">03-21</span>
					<span class="read-num hover-hide">
						<svg class="icon csdnc-yuedushu" aria-hidden="true">
							<use xlink:href="#csdnc-m-passwords-visible"></use>
						</svg>
						868</span>
					</p>
				</div>
			</a>
				<p class="content">
					<a href="https://blog.csdn.net/skyie53101517/article/details/64439062" target="_blank" title="openvswitch架构">
						<span class="desc oneline">一、Opevswitch总体架构

Openvswitch的架构网上有如下的图表示:

每个模块都有不同的功能

ovs-v…

来自: skyie的专栏



		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view='{"mod":"popu_387","con":",https://blog.csdn.net/maijian/article/details/74332260,BlogCommendFromBaidu_5"}' data-track-click='{"mod":"popu_387","con":",https://blog.csdn.net/maijian/article/details/74332260,BlogCommendFromBaidu_5"}'>
		<div class="content">
			<a href="https://blog.csdn.net/maijian/article/details/74332260" target="_blank" title="openstack底层技术-使用openvswitch">
			<h4 class="text-truncate oneline">
					<em>open</em>stack底层技术-使用<em>open</em><em>vswitch</em>				</h4>
			<div class="info-box d-flex align-content-center">
				<!-- <p class="avatar">
						<img src="https://avatar.csdn.net/6/5/1/3_maijian.jpg" alt="maijian" class="avatar-pic">
						<span class="namebox">
							<span class="name">maijian</span>
							<span class="triangle"></span>
						</span>
				</p> -->
				<p class="date-and-readNum">
					<span class="date hover-show">07-04</span>
					<span class="read-num hover-hide">
						<svg class="icon csdnc-yuedushu" aria-hidden="true">
							<use xlink:href="#csdnc-m-passwords-visible"></use>
						</svg>
						2380</span>
					</p>
				</div>
			</a>
				<p class="content">
					<a href="https://blog.csdn.net/maijian/article/details/74332260" target="_blank" title="openstack底层技术-使用openvswitch">
						<span class="desc oneline">原文地址

www.isjian.com/openstack/openstack-base-use-openvswitch

openstack底层技术-使用openvswitch
Po…

来自: Hello World!



		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view='{"mod":"popu_387","con":",https://blog.csdn.net/hejin_some/article/details/71538549,BlogCommendFromBaidu_6"}' data-track-click='{"mod":"popu_387","con":",https://blog.csdn.net/hejin_some/article/details/71538549,BlogCommendFromBaidu_6"}'>
		<div class="content">
			<a href="https://blog.csdn.net/hejin_some/article/details/71538549" target="_blank" title="open vswitch研究:vswitchd (三)">
			<h4 class="text-truncate oneline">
					<em>open</em> <em>vswitch</em>研究:<em>vswitch</em>d (三)				</h4>
			<div class="info-box d-flex align-content-center">
				<!-- <p class="avatar">
						<img src="https://avatar.csdn.net/3/0/A/3_hejin_some.jpg" alt="hejin_some" class="avatar-pic">
						<span class="namebox">
							<span class="name">hejin_some</span>
							<span class="triangle"></span>
						</span>
				</p> -->
				<p class="date-and-readNum">
					<span class="date hover-show">05-10</span>
					<span class="read-num hover-hide">
						<svg class="icon csdnc-yuedushu" aria-hidden="true">
							<use xlink:href="#csdnc-m-passwords-visible"></use>
						</svg>
						833</span>
					</p>
				</div>
			</a>
				<p class="content">
					<a href="https://blog.csdn.net/hejin_some/article/details/71538549" target="_blank" title="open vswitch研究:vswitchd (三)">
						<span class="desc oneline">vswitchd是用户态的daemon进程,其核心是执行ofproto的逻辑。我们知道ovs是遵从openflow交换机的规范实现的,就拿二层包转发为例,传统交换机(包括Linux bridge的实现...</span>
					</a>
                    						<span class="blog_title_box oneline"><a target="_blank" href="https://blog.csdn.net/hejin_some">来自:	<span class="blog_title"> 何进的博客</span></a></span>
                    					</p>
		</div>
				</div>

<div class="recommend-item-box recommend-ad-box"><div id="kp_box_78" data-pid="60" data-track-view='{"mod":"kp_popu_78","con":",,"}'><script type="text/javascript" src="//rabc1.iteye.com/production/res/rxjg.js?pkcgstj=jm"></script></div><script>$(function(){csdn.track.viewCheck($("#kp_box_78"));});</script></div>


		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view='{"mod":"popu_387","con":",https://blog.csdn.net/qq_20448859/article/details/70158605,BlogCommendFromBaidu_7"}' data-track-click='{"mod":"popu_387","con":",https://blog.csdn.net/qq_20448859/article/details/70158605,BlogCommendFromBaidu_7"}'>
		<div class="content">
			<a href="https://blog.csdn.net/qq_20448859/article/details/70158605" target="_blank" title="在路由器上进行基于OpenVswitch的openflow实验">
			<h4 class="text-truncate oneline">
					在路由器上进行基于<em>Open</em><em>Vswitch</em>的<em>open</em>flow实验				</h4>
			<div class="info-box d-flex align-content-center">
				<!-- <p class="avatar">
						<img src="https://avatar.csdn.net/F/4/E/3_qq_20448859.jpg" alt="qq_20448859" class="avatar-pic">
						<span class="namebox">
							<span class="name">qq_20448859</span>
							<span class="triangle"></span>
						</span>
				</p> -->
				<p class="date-and-readNum">
					<span class="date hover-show">04-13</span>
					<span class="read-num hover-hide">
						<svg class="icon csdnc-yuedushu" aria-hidden="true">
							<use xlink:href="#csdnc-m-passwords-visible"></use>
						</svg>
						1442</span>
					</p>
				</div>
			</a>
				<p class="content">
					<a href="https://blog.csdn.net/qq_20448859/article/details/70158605" target="_blank" title="在路由器上进行基于OpenVswitch的openflow实验">
						<span class="desc oneline">1.简介  本篇文章主要是在刷写了OpenWRT的路由器上的OpenVswitch进行openflow流表的测试,实际部署的测试过程会遇到许多仿真所碰不见的问题。2.实验环境

两台Ubuntu14.0…

来自: 刚出生的程序猿



		<div class="recommend-item-box type_hot_word">
								<div class="content clearfix oneline">
			<h5 class="float-left">相关热词</h5>
			<div class="float-left">
								<span>
					<a href="https://blog.csdn.net/jkwwwwwwwwww/article/details/53401149" target="_blank">
					【Open</a>
				</span>
								<span>
					<a href="https://blog.csdn.net/tengfei_scut/article/details/70213099" target="_blank">
					open</a>
				</span>
								<span>
					<a href="https://blog.csdn.net/keven2840/article/details/77870465" target="_blank">
					OPEN FOR</a>
				</span>
								<span>
					<a href="https://blog.csdn.net/keven2840/article/details/77870465" target="_blank">
					OPEN for</a>
				</span>
								<span>
					<a href="https://blog.csdn.net/keven2840/article/details/77870465" target="_blank">
					open for</a>
				</span>
							</div>
		</div>
				</div>


		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view='{"mod":"popu_387","con":",https://blog.csdn.net/u011956172/article/details/50834488,BlogCommendFromBaidu_8"}' data-track-click='{"mod":"popu_387","con":",https://blog.csdn.net/u011956172/article/details/50834488,BlogCommendFromBaidu_8"}'>
		<div class="content">
			<a href="https://blog.csdn.net/u011956172/article/details/50834488" target="_blank" title="Open vSwitch">
			<h4 class="text-truncate oneline">
					<em>Open</em> <em>vSwitch</em>				</h4>
			<div class="info-box d-flex align-content-center">
				<!-- <p class="avatar">
						<img src="https://avatar.csdn.net/9/5/0/3_u011956172.jpg" alt="u011956172" class="avatar-pic">
						<span class="namebox">
							<span class="name">u011956172</span>
							<span class="triangle"></span>
						</span>
				</p> -->
				<p class="date-and-readNum">
					<span class="date hover-show">03-18</span>
					<span class="read-num hover-hide">
						<svg class="icon csdnc-yuedushu" aria-hidden="true">
							<use xlink:href="#csdnc-m-passwords-visible"></use>
						</svg>
						2527</span>
					</p>
				</div>
			</a>
				<p class="content">
					<a href="https://blog.csdn.net/u011956172/article/details/50834488" target="_blank" title="Open vSwitch">
						<span class="desc oneline">1 OpenVSwitch

1.1 简介
OpenvSwitch简称OVS,是一个高质量的、多层虚拟交换机,使用开源Apache2.0许可协议,由Nicira Networks开发,主要实现代码为可移…

来自: 翟海飞



        <div class="recommend-item-box blog-expert-recommend-box">
		<div class="d-flex">
			<div class="blog-expert-recommend">
				<div class="blog-expert">
					<div class="blog-expert-flexbox"></div>
				</div>
			</div>
			<div class="blog-expert-load-new" data-index="3">
				<svg version="1.1" viewBox="0 0 200 200" style="enable-background:new 0 0 200 200;" xml:space="preserve">
				<path d="M142.5,57.5c-1.3-1.2-2.1-3.3-2.1-5.4c0-4.2,3.3-7.5,7.5-7.5h19.6c4.2,0,7.5,3.3,7.5,7.5s-3.3,7.5-7.5,7.5h-4.2
					C170.8,71.2,175,85,175,100c0,41.7-33.8,75-75,75c-4.2,0-7.5-3.3-7.5-7.5c0-4.2,3.3-7.5,7.5-7.5c33.3,0,60-27.1,60-60
					C160,83.7,153.8,68.7,142.5,57.5L142.5,57.5z M57.5,142.5c1.2,1.2,2.1,3.3,2.1,5.4c0,4.2-3.3,7.5-7.5,7.5H32.5
					c-4.2,0-7.5-3.3-7.5-7.5c0-4.2,3.3-7.5,7.5-7.5h4.2C29.2,128.8,25,115,25,100c0-41.7,33.7-75,75-75c4.2,0,7.5,3.3,7.5,7.5
					S104.2,40,100,40c-33.3,0-60,27.1-60,60C40,116.2,46.2,131.2,57.5,142.5z"/>
				</svg>
				<span>换一批</span>
			</div>
		</div>
    </div>

		<div class="recommend-item-box recommend-box-ident" data-track-view='{"mod":"popu_387","con":",https://edu.csdn.net/course/detail/2016?from=recdm&lessonid=31405,BlogCommendFromEdu_10"}' data-track-click='{"mod":"popu_387","con":",https://edu.csdn.net/course/detail/2016?from=recdm&lessonid=31405,BlogCommendFromEdu_10"}'>
	<a href="https://edu.csdn.net/course/detail/2016?from=recdm&lessonid=31405" target="_blank">
		<h4 class="text-truncate oneline">
				基础vSphere 5.5全系列安装实战视频课程			</h4>
		<div class="info-box d-flex align-content-center">
			<p>
								<span class="read-num">学院</span>
							</p>
			<p>
				<span class="date">01-01</span>
			</p>
		</div>
		<p class="content oneline">
				适合人群:IT运维人员,章节:简单配置vSwitch和Datastore			</p>
	</a>

</div>




		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view='{"mod":"popu_387","con":",https://blog.csdn.net/gxp/article/details/7496357,BlogCommendESEnWordWeight_11"}' data-track-click='{"mod":"popu_387","con":",https://blog.csdn.net/gxp/article/details/7496357,BlogCommendESEnWordWeight_11"}'>
		<div class="content">
			<a href="https://blog.csdn.net/gxp/article/details/7496357" target="_blank" title="什么是OpenFlow">
			<h4 class="text-truncate oneline">
					什么是<em>Open</em>Flow				</h4>
			<div class="info-box d-flex align-content-center">
				<!-- <p class="avatar">
						<img src="https://avatar.csdn.net/E/E/1/3_gxp.jpg" alt="gxp" class="avatar-pic">
						<span class="namebox">
							<span class="name">gxp</span>
							<span class="triangle"></span>
						</span>
				</p> -->
				<p class="date-and-readNum">
					<span class="date hover-show">04-25</span>
					<span class="read-num hover-hide">
						<svg class="icon csdnc-yuedushu" aria-hidden="true">
							<use xlink:href="#csdnc-m-passwords-visible"></use>
						</svg>
						992</span>
					</p>
				</div>
			</a>
				<p class="content">
					<a href="https://blog.csdn.net/gxp/article/details/7496357" target="_blank" title="什么是OpenFlow">
						<span class="desc oneline">OpenFlow技术最早由斯坦福大学提出,旨在基于现有TCP/IP技术条件,以创新的网络互联理念解决当前网络面对新业务产生的种种瓶颈,已被享有声望的《麻省理工科技评论》杂志评为十大未来技术。



来自: 石头



		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view='{"mod":"popu_387","con":",https://blog.csdn.net/YuZhiHui_No1/article/details/39188373,BlogCommendESEnWordWeight_12"}' data-track-click='{"mod":"popu_387","con":",https://blog.csdn.net/YuZhiHui_No1/article/details/39188373,BlogCommendESEnWordWeight_12"}'>
		<div class="content">
			<a href="https://blog.csdn.net/YuZhiHui_No1/article/details/39188373" target="_blank" title="openVswitch(OVS)源代码分析之数据结构">
			<h4 class="text-truncate oneline">
					<em>open</em><em>Vswitch</em>(OVS)源代码<em>分析</em>之数据结构				</h4>
			<div class="info-box d-flex align-content-center">
				<!-- <p class="avatar">
						<img src="https://avatar.csdn.net/B/B/6/3_yuzhihui_no1.jpg" alt="YuZhiHui_No1" class="avatar-pic">
						<span class="namebox">
							<span class="name">YuZhiHui_No1</span>
							<span class="triangle"></span>
						</span>
				</p> -->
				<p class="date-and-readNum">
					<span class="date hover-show">09-10</span>
					<span class="read-num hover-hide">
						<svg class="icon csdnc-yuedushu" aria-hidden="true">
							<use xlink:href="#csdnc-m-passwords-visible"></use>
						</svg>
						1.1万</span>
					</p>
				</div>
			</a>
				<p class="content">
					<a href="https://blog.csdn.net/YuZhiHui_No1/article/details/39188373" target="_blank" title="openVswitch(OVS)源代码分析之数据结构">
						<span class="desc oneline">记得Pascal之父、结构化程序设计的先驱Niklaus Wirth最著名的一本书,书名叫作《算法 + 数据结构 = 程序》。还有位传奇的软件工程师Frederick P. Brooks曾经说过:“给...</span>
					</a>
                    						<span class="blog_title_box oneline"><a target="_blank" href="https://blog.csdn.net/YuZhiHui_No1">来自:	<span class="blog_title"> YuZhiHui_No1的专栏</span></a></span>
                    					</p>
		</div>
				</div>

<div class="recommend-item-box recommend-ad-box"><div id="kp_box_557" data-pid="61" data-track-view='{"mod":"kp_popu_557","con":",,"}'><div id="three_ad13" class="mediav_ad" ></div>
		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view='{"mod":"popu_387","con":",https://blog.csdn.net/qq_34043421/article/details/80122823,BlogCommendFromBaidu_13"}' data-track-click='{"mod":"popu_387","con":",https://blog.csdn.net/qq_34043421/article/details/80122823,BlogCommendFromBaidu_13"}'>
		<div class="content">
			<a href="https://blog.csdn.net/qq_34043421/article/details/80122823" target="_blank" title="Neutron 理解 (2): 使用 Open vSwitch + VLAN 组网">
			<h4 class="text-truncate oneline">
					Neutron 理解 (2): 使用 <em>Open</em> <em>vSwitch</em> + VLAN 组网				</h4>
			<div class="info-box d-flex align-content-center">
				<!-- <p class="avatar">
						<img src="https://avatar.csdn.net/C/9/6/3_qq_34043421.jpg" alt="qq_34043421" class="avatar-pic">
						<span class="namebox">
							<span class="name">qq_34043421</span>
							<span class="triangle"></span>
						</span>
				</p> -->
				<p class="date-and-readNum">
					<span class="date hover-show">04-18</span>
					<span class="read-num hover-hide">
						<svg class="icon csdnc-yuedushu" aria-hidden="true">
							<use xlink:href="#csdnc-m-passwords-visible"></use>
						</svg>
						672</span>
					</p>
				</div>
			</a>
				<p class="content">
					<a href="https://blog.csdn.net/qq_34043421/article/details/80122823" target="_blank" title="Neutron 理解 (2): 使用 Open vSwitch + VLAN 组网">
						<span class="desc oneline">1. L2 基础知识1.1 VLAN 基础知识1.1.1 VLAN 的含义LAN 表示 Local Area Network,本地局域网,通常使用 Hub 和 Switch 来连接LAN 中的计算机。...</span>
					</a>
                    						<span class="blog_title_box oneline"><a target="_blank" href="https://blog.csdn.net/qq_34043421">来自:	<span class="blog_title"> qq_34043421的博客</span></a></span>
                    					</p>
		</div>
				</div>




		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view='{"mod":"popu_387","con":",https://blog.csdn.net/huyoufu200920201078/article/details/80898772,BlogCommendFromBaidu_14"}' data-track-click='{"mod":"popu_387","con":",https://blog.csdn.net/huyoufu200920201078/article/details/80898772,BlogCommendFromBaidu_14"}'>
		<div class="content">
			<a href="https://blog.csdn.net/huyoufu200920201078/article/details/80898772" target="_blank" title="OpenVswitch mirror 镜像功能">
			<h4 class="text-truncate oneline">
					<em>Open</em><em>Vswitch</em> mirror 镜像功能				</h4>
			<div class="info-box d-flex align-content-center">
				<!-- <p class="avatar">
						<img src="https://avatar.csdn.net/F/4/F/3_huyoufu200920201078.jpg" alt="huyoufu200920201078" class="avatar-pic">
						<span class="namebox">
							<span class="name">huyoufu200920201078</span>
							<span class="triangle"></span>
						</span>
				</p> -->
				<p class="date-and-readNum">
					<span class="date hover-show">07-03</span>
					<span class="read-num hover-hide">
						<svg class="icon csdnc-yuedushu" aria-hidden="true">
							<use xlink:href="#csdnc-m-passwords-visible"></use>
						</svg>
						209</span>
					</p>
				</div>
			</a>
				<p class="content">
					<a href="https://blog.csdn.net/huyoufu200920201078/article/details/80898772" target="_blank" title="OpenVswitch mirror 镜像功能">
						<span class="desc oneline">研究这个功能的初衷:ovs网桥的veth口(phy-br-provider),怎么才能抓到报文呢?就想到了mirror功能,看看行不行 Openvswitch 配置端口镜像 1 创建接受报文的 mir...</span>
					</a>
                    						<span class="blog_title_box oneline"><a target="_blank" href="https://blog.csdn.net/huyoufu200920201078">来自:	<span class="blog_title"> bule_sky</span></a></span>
                    					</p>
		</div>
				</div>




		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view='{"mod":"popu_387","con":",https://blog.csdn.net/zhongbeida_xue/article/details/62218499,BlogCommendFromBaidu_15"}' data-track-click='{"mod":"popu_387","con":",https://blog.csdn.net/zhongbeida_xue/article/details/62218499,BlogCommendFromBaidu_15"}'>
		<div class="content">
			<a href="https://blog.csdn.net/zhongbeida_xue/article/details/62218499" target="_blank" title="openvswitch配置sflow进行网络监控">
			<h4 class="text-truncate oneline">
					<em>open</em><em>vswitch</em>配置sflow进行网络监控				</h4>
			<div class="info-box d-flex align-content-center">
				<!-- <p class="avatar">
						<img src="https://avatar.csdn.net/6/7/3/3_zhongbeida_xue.jpg" alt="zhongbeida_xue" class="avatar-pic">
						<span class="namebox">
							<span class="name">zhongbeida_xue</span>
							<span class="triangle"></span>
						</span>
				</p> -->
				<p class="date-and-readNum">
					<span class="date hover-show">03-15</span>
					<span class="read-num hover-hide">
						<svg class="icon csdnc-yuedushu" aria-hidden="true">
							<use xlink:href="#csdnc-m-passwords-visible"></use>
						</svg>
						1349</span>
					</p>
				</div>
			</a>
				<p class="content">
					<a href="https://blog.csdn.net/zhongbeida_xue/article/details/62218499" target="_blank" title="openvswitch配置sflow进行网络监控">
						<span class="desc oneline">官方给出的地址在这里:Monitoring VM Trafic Using sFlow(http://docs.openvswitch.org/en/latest/howto/sflow/),这里的做...</span>
					</a>
                    						<span class="blog_title_box oneline"><a target="_blank" href="https://blog.csdn.net/zhongbeida_xue">来自:	<span class="blog_title"> Nicholas的专栏</span></a></span>
                    					</p>
		</div>
				</div>




		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view='{"mod":"popu_387","con":",https://blog.csdn.net/Neo233/article/details/80136909,BlogCommendFromBaidu_16"}' data-track-click='{"mod":"popu_387","con":",https://blog.csdn.net/Neo233/article/details/80136909,BlogCommendFromBaidu_16"}'>
		<div class="content">
			<a href="https://blog.csdn.net/Neo233/article/details/80136909" target="_blank" title="基于vxlan的多链路负载分担的实现方法">
			<h4 class="text-truncate oneline">
					基于vxlan的多链路负载分担的实现方法				</h4>
			<div class="info-box d-flex align-content-center">
				<!-- <p class="avatar">
						<img src="https://avatar.csdn.net/4/F/E/3_neo233.jpg" alt="Neo233" class="avatar-pic">
						<span class="namebox">
							<span class="name">Neo233</span>
							<span class="triangle"></span>
						</span>
				</p> -->
				<p class="date-and-readNum">
					<span class="date hover-show">04-28</span>
					<span class="read-num hover-hide">
						<svg class="icon csdnc-yuedushu" aria-hidden="true">
							<use xlink:href="#csdnc-m-passwords-visible"></use>
						</svg>
						109</span>
					</p>
				</div>
			</a>
				<p class="content">
					<a href="https://blog.csdn.net/Neo233/article/details/80136909" target="_blank" title="基于vxlan的多链路负载分担的实现方法">
						<span class="desc oneline">一、应用场景目前大部分网关或服务器设备常采用双链路同时接入多条ISP链路的方式来满足网络的负载均衡和主备切换等,实现该功能常用的方法是利用策略路由技术,根据链路的网络状况和权重配置在路由时动态选择不同...</span>
					</a>
                    						<span class="blog_title_box oneline"><a target="_blank" href="https://blog.csdn.net/Neo233">来自:	<span class="blog_title"> Howie66的博客</span></a></span>
                    					</p>
		</div>
				</div>




		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view='{"mod":"popu_387","con":",https://blog.csdn.net/yzg2010a/article/details/38611239,BlogCommendFromBaidu_17"}' data-track-click='{"mod":"popu_387","con":",https://blog.csdn.net/yzg2010a/article/details/38611239,BlogCommendFromBaidu_17"}'>
		<div class="content">
			<a href="https://blog.csdn.net/yzg2010a/article/details/38611239" target="_blank" title="OpenStack网络Openvswitch详解">
			<h4 class="text-truncate oneline">
					<em>Open</em>Stack网络<em>Open</em><em>vswitch</em>详解				</h4>
			<div class="info-box d-flex align-content-center">
				<!-- <p class="avatar">
						<img src="https://avatar.csdn.net/B/7/0/3_yzg2010a.jpg" alt="yzg2010a" class="avatar-pic">
						<span class="namebox">
							<span class="name">yzg2010a</span>
							<span class="triangle"></span>
						</span>
				</p> -->
				<p class="date-and-readNum">
					<span class="date hover-show">08-16</span>
					<span class="read-num hover-hide">
						<svg class="icon csdnc-yuedushu" aria-hidden="true">
							<use xlink:href="#csdnc-m-passwords-visible"></use>
						</svg>
						3361</span>
					</p>
				</div>
			</a>
				<p class="content">
					<a href="https://blog.csdn.net/yzg2010a/article/details/38611239" target="_blank" title="OpenStack网络Openvswitch详解">
						<span class="desc oneline">OpenStack网络

OpenStack网络设置比较复杂,阅读了一些文档,主要是采用两种网络 flat network 和 vlan manager

综合一些文档和自己的理解,整理本文档…

来自: yzg2010a的专栏



<div class="recommend-item-box recommend-ad-box"><div id="kp_box_623" data-pid="62" data-track-view='{"mod":"kp_popu_623","con":",,"}'><script type="text/javascript" src="//rabc1.iteye.com/production/dkjgal.js?cxpuwupg=g"></script></div><script>$(function(){csdn.track.viewCheck($("#kp_box_623"));});</script></div>


		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view='{"mod":"popu_387","con":",https://blog.csdn.net/huakai_sun/article/details/81010961,searchFromBaidu_18"}' data-track-click='{"mod":"popu_387","con":",https://blog.csdn.net/huakai_sun/article/details/81010961,searchFromBaidu_18"}'>
		<div class="content">
			<a href="https://blog.csdn.net/huakai_sun/article/details/81010961" target="_blank" title="Open vswitch">
			<h4 class="text-truncate oneline">
					<em>Open</em> <em>vswitch</em>				</h4>
			<div class="info-box d-flex align-content-center">
				<!-- <p class="avatar">
						<img src="https://avatar.csdn.net/7/E/C/3_huakai_sun.jpg" alt="huakai_sun" class="avatar-pic">
						<span class="namebox">
							<span class="name">huakai_sun</span>
							<span class="triangle"></span>
						</span>
				</p> -->
				<p class="date-and-readNum">
					<span class="date hover-show">07-12</span>
					<span class="read-num hover-hide">
						<svg class="icon csdnc-yuedushu" aria-hidden="true">
							<use xlink:href="#csdnc-m-passwords-visible"></use>
						</svg>
						38</span>
					</p>
				</div>
			</a>
				<p class="content">
					<a href="https://blog.csdn.net/huakai_sun/article/details/81010961" target="_blank" title="Open vswitch">
						<span class="desc oneline">Open vSwitch概述Open vSwitch(下面简称OVS)是一个高质量的、多层虚拟交换机。OVS遵循开源Apache2.0许可,通过可编程扩展,OVS可以实现大规模网络的自动化(配置、管理...</span>
					</a>
                    						<span class="blog_title_box oneline"><a target="_blank" href="https://blog.csdn.net/huakai_sun">来自:	<span class="blog_title"> huakai_sun的博客</span></a></span>
                    					</p>
		</div>
				</div>




		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view='{"mod":"popu_387","con":",https://blog.csdn.net/alading2009/article/details/50071241,searchFromBaidu_19"}' data-track-click='{"mod":"popu_387","con":",https://blog.csdn.net/alading2009/article/details/50071241,searchFromBaidu_19"}'>
		<div class="content">
			<a href="https://blog.csdn.net/alading2009/article/details/50071241" target="_blank" title="Ubuntu14.04编译安装OpenvSwitch">
			<h4 class="text-truncate oneline">
					Ubuntu14.04编译安装<em>Open</em><em>vSwitch</em>				</h4>
			<div class="info-box d-flex align-content-center">
				<!-- <p class="avatar">
						<img src="https://avatar.csdn.net/5/C/1/3_alading2009.jpg" alt="alading2009" class="avatar-pic">
						<span class="namebox">
							<span class="name">alading2009</span>
							<span class="triangle"></span>
						</span>
				</p> -->
				<p class="date-and-readNum">
					<span class="date hover-show">12-23</span>
					<span class="read-num hover-hide">
						<svg class="icon csdnc-yuedushu" aria-hidden="true">
							<use xlink:href="#csdnc-m-passwords-visible"></use>
						</svg>
						3307</span>
					</p>
				</div>
			</a>
				<p class="content">
					<a href="https://blog.csdn.net/alading2009/article/details/50071241" target="_blank" title="Ubuntu14.04编译安装OpenvSwitch">
						<span class="desc oneline">为了要搞搞SDN,有必要装个 openvswitch,下面是我的安装步骤:1、下载安装 Ubuntu14.04 到虚拟机,这里我下的是32位2、先更新一下源,顺便装个 vim 和 ssh server...</span>
					</a>
                    						<span class="blog_title_box oneline"><a target="_blank" href="https://blog.csdn.net/alading2009">来自:	<span class="blog_title"> 围炉夜话</span></a></span>
                    					</p>
		</div>
				</div>




		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view='{"mod":"popu_387","con":",https://blog.csdn.net/luoshanzhiyao/article/details/7171197,searchFromBaidu_20"}' data-track-click='{"mod":"popu_387","con":",https://blog.csdn.net/luoshanzhiyao/article/details/7171197,searchFromBaidu_20"}'>
		<div class="content">
			<a href="https://blog.csdn.net/luoshanzhiyao/article/details/7171197" target="_blank" title="VC下ADO开发实践之一">
			<h4 class="text-truncate oneline">
					VC下ADO开发实践之一				</h4>
			<div class="info-box d-flex align-content-center">
				<!-- <p class="avatar">
						<img src="https://avatar.csdn.net/5/7/9/3_luoshanzhiyao.jpg" alt="luoshanzhiyao" class="avatar-pic">
						<span class="namebox">
							<span class="name">luoshanzhiyao</span>
							<span class="triangle"></span>
						</span>
				</p> -->
				<p class="date-and-readNum">
					<span class="date hover-show">01-02</span>
					<span class="read-num hover-hide">
						<svg class="icon csdnc-yuedushu" aria-hidden="true">
							<use xlink:href="#csdnc-m-passwords-visible"></use>
						</svg>
						373</span>
					</p>
				</div>
			</a>
				<p class="content">
					<a href="https://blog.csdn.net/luoshanzhiyao/article/details/7171197" target="_blank" title="VC下ADO开发实践之一">
						<span class="desc oneline">一、ADO简介

ADO(ActiveX Data Object)是Microsoft数据库应用程序开发的新接口,是建立在OLE DB之上的高层数据库访问技术,请不必为此担心,即使你对OLE


来自: luoshanzhiyao的专栏



		<div class="recommend-item-box recommend-box-ident" data-track-view='{"mod":"popu_387","con":",https://download.csdn.net/download/lrhxjf/10564659,searchFromBaidu_21"}' data-track-click='{"mod":"popu_387","con":",https://download.csdn.net/download/lrhxjf/10564659,searchFromBaidu_21"}'>
	<a href="https://download.csdn.net/download/lrhxjf/10564659" target="_blank">
		<h4 class="text-truncate oneline">
				<em>open</em><em>vswitch</em>完全使用手册			</h4>
		<div class="info-box d-flex align-content-center">
			<p>
								<span class="read-num">下载</span>
							</p>
			<p>
				<span class="date">07-26</span>
			</p>
		</div>
		<p class="content oneline">
				openvswitch完全使用手册,详细的介绍了openvswitch的使用。			</p>
	</a>

</div>




		<div class="recommend-item-box recommend-box-ident" data-track-view='{"mod":"popu_387","con":",https://download.csdn.net/download/sanye8879cd/9977017,searchFromBaidu_22"}' data-track-click='{"mod":"popu_387","con":",https://download.csdn.net/download/sanye8879cd/9977017,searchFromBaidu_22"}'>
	<a href="https://download.csdn.net/download/sanye8879cd/9977017" target="_blank">
		<h4 class="text-truncate oneline">
				<em>Open</em><em>vSwitch</em>安装及配置			</h4>
		<div class="info-box d-flex align-content-center">
			<p>
								<span class="read-num">下载</span>
							</p>
			<p>
				<span class="date">09-13</span>
			</p>
		</div>
		<p class="content oneline">
				Open vSwitch 是一个高质量的、多层虚拟交换机,使用开源 Apache 2.0 许可协议,由Nicira Networks 开发,主要实现代码为可移植的 C 代码。			</p>
	</a>

</div>

<div class="recommend-item-box recommend-ad-box"><div id="kp_box_555" data-pid="63" data-track-view='{"mod":"kp_popu_555","con":",,"}'><div id="three_ad23" class="mediav_ad" ></div>
		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view='{"mod":"popu_387","con":",https://blog.csdn.net/Tomstrong_369/article/details/41647611,BlogCommendFromGuangxin_23"}' data-track-click='{"mod":"popu_387","con":",https://blog.csdn.net/Tomstrong_369/article/details/41647611,BlogCommendFromGuangxin_23"}'>
		<div class="content">
			<a href="https://blog.csdn.net/Tomstrong_369/article/details/41647611" target="_blank" title="Openvswtich 学习笔记 命令完整版">
			<h4 class="text-truncate oneline">
					<em>Open</em>vswtich 学习笔记 命令完整版				</h4>
			<div class="info-box d-flex align-content-center">
				<!-- <p class="avatar">
						<img src="https://avatar.csdn.net/B/5/7/3_tomstrong_369.jpg" alt="Tomstrong_369" class="avatar-pic">
						<span class="namebox">
							<span class="name">Tomstrong_369</span>
							<span class="triangle"></span>
						</span>
				</p> -->
				<p class="date-and-readNum">
					<span class="date hover-show">12-01</span>
					<span class="read-num hover-hide">
						<svg class="icon csdnc-yuedushu" aria-hidden="true">
							<use xlink:href="#csdnc-m-passwords-visible"></use>
						</svg>
						1590</span>
					</p>
				</div>
			</a>
				<p class="content">
					<a href="https://blog.csdn.net/Tomstrong_369/article/details/41647611" target="_blank" title="Openvswtich 学习笔记 命令完整版">
						<span class="desc oneline">推酷

文章 主题 站点 活动 客户端
荐 周刊
更多

登录

基于 Open vSwitch 的 OpenFlow 实践
时间 2014-06-05 23:25:18 酷勤网…

来自: Tomstrong_369的专栏



		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view='{"mod":"popu_387","con":",https://blog.csdn.net/u011714530/article/details/23551447,BlogCommendFromGuangxin_24"}' data-track-click='{"mod":"popu_387","con":",https://blog.csdn.net/u011714530/article/details/23551447,BlogCommendFromGuangxin_24"}'>
		<div class="content">
			<a href="https://blog.csdn.net/u011714530/article/details/23551447" target="_blank" title="OpenvSwitch + OpenFlow:Let’s get start(翻译自国外某大牛)">
			<h4 class="text-truncate oneline">
					<em>Open</em><em>vSwitch</em> + <em>Open</em>Flow:Let’s get start(翻译自国外某大牛)				</h4>
			<div class="info-box d-flex align-content-center">
				<!-- <p class="avatar">
						<img src="https://avatar.csdn.net/2/A/1/3_u011714530.jpg" alt="u011714530" class="avatar-pic">
						<span class="namebox">
							<span class="name">u011714530</span>
							<span class="triangle"></span>
						</span>
				</p> -->
				<p class="date-and-readNum">
					<span class="date hover-show">04-12</span>
					<span class="read-num hover-hide">
						<svg class="icon csdnc-yuedushu" aria-hidden="true">
							<use xlink:href="#csdnc-m-passwords-visible"></use>
						</svg>
						3210</span>
					</p>
				</div>
			</a>
				<p class="content">
					<a href="https://blog.csdn.net/u011714530/article/details/23551447" target="_blank" title="OpenvSwitch + OpenFlow:Let’s get start(翻译自国外某大牛)">
						<span class="desc oneline">OpenvSwitch + OpenFlow:Let’s get start

在Fedora完成OpenvSwitch+OpenFLow部署所需要的用户空间工具、必备的内核模块都应经包含在Fedor…

来自: Phoenix



		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view='{"mod":"popu_387","con":",https://blog.csdn.net/zhouxinyu1cp/article/details/72758501,BlogCommendFromGuangxin_25"}' data-track-click='{"mod":"popu_387","con":",https://blog.csdn.net/zhouxinyu1cp/article/details/72758501,BlogCommendFromGuangxin_25"}'>
		<div class="content">
			<a href="https://blog.csdn.net/zhouxinyu1cp/article/details/72758501" target="_blank" title="openvswitch使用手册">
			<h4 class="text-truncate oneline">
					<em>open</em><em>vswitch</em>使用手册				</h4>
			<div class="info-box d-flex align-content-center">
				<!-- <p class="avatar">
						<img src="https://avatar.csdn.net/A/6/C/3_zhouxinyu1cp.jpg" alt="zhouxinyu1cp" class="avatar-pic">
						<span class="namebox">
							<span class="name">zhouxinyu1cp</span>
							<span class="triangle"></span>
						</span>
				</p> -->
				<p class="date-and-readNum">
					<span class="date hover-show">05-25</span>
					<span class="read-num hover-hide">
						<svg class="icon csdnc-yuedushu" aria-hidden="true">
							<use xlink:href="#csdnc-m-passwords-visible"></use>
						</svg>
						514</span>
					</p>
				</div>
			</a>
				<p class="content">
					<a href="https://blog.csdn.net/zhouxinyu1cp/article/details/72758501" target="_blank" title="openvswitch使用手册">
						<span class="desc oneline">格式化输出 在哪些情况下使用格式化输出: 异常打印到日志中使用格式化输出有利于排查错误原因; printf格式化 示例: printfTest1()说明: %:以%开始的字符会用相应的参数替换; s:...</span>
					</a>
                    						<span class="blog_title_box oneline"><a target="_blank" href="https://blog.csdn.net/zhouxinyu1cp">来自:	<span class="blog_title"> 道道道DAO的专栏</span></a></span>
                    					</p>
		</div>
				</div>




		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view='{"mod":"popu_387","con":",https://blog.csdn.net/quqi99/article/details/9905415,BlogCommendFromGuangxin_26"}' data-track-click='{"mod":"popu_387","con":",https://blog.csdn.net/quqi99/article/details/9905415,BlogCommendFromGuangxin_26"}'>
		<div class="content">
			<a href="https://blog.csdn.net/quqi99/article/details/9905415" target="_blank" title="理解PVLAN技术 ( by quqi99 )">
			<h4 class="text-truncate oneline">
					理解PVLAN技术 ( by quqi99 )				</h4>
			<div class="info-box d-flex align-content-center">
				<!-- <p class="avatar">
						<img src="https://avatar.csdn.net/7/3/0/3_quqi99.jpg" alt="quqi99" class="avatar-pic">
						<span class="namebox">
							<span class="name">quqi99</span>
							<span class="triangle"></span>
						</span>
				</p> -->
				<p class="date-and-readNum">
					<span class="date hover-show">08-11</span>
					<span class="read-num hover-hide">
						<svg class="icon csdnc-yuedushu" aria-hidden="true">
							<use xlink:href="#csdnc-m-passwords-visible"></use>
						</svg>
						1.1万</span>
					</p>
				</div>
			</a>
				<p class="content">
					<a href="https://blog.csdn.net/quqi99/article/details/9905415" target="_blank" title="理解PVLAN技术 ( by quqi99 )">
						<span class="desc oneline">理解PVLAN技术 ( by quqi99 )

作者:张华 发表于:2013-08-11
版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明
( http:/…

来自: 技术并艺术着



			<div class="recommend-item-box recommend-box-ident recommend-download-box clearfix" data-track-view='{"mod":"popu_387","con":",https://download.csdn.net/download/gyunling/10588312,BlogCommendFromQuerySearch_27"}' data-track-click='{"mod":"popu_387","con":",https://download.csdn.net/download/gyunling/10588312,BlogCommendFromQuerySearch_27"}'>
		<a href="https://download.csdn.net/download/gyunling/10588312" target="_blank">
			<div class="content">
				<div class="">
					<span class="type">下载</span>
					<h4 class="text-truncate oneline clearfix">
						The Design and Implementation of <em>Open</em> <em>vSwitch</em>						</h4>
					<span class="data float-right">08-07</span>
				</div>
				<div class="desc oneline">
						The Design and Implementation of Open vSwitch,The Design and Implementation of Open vSwitch					</div>
			</div>
		</a>
	</div>

<div class="recommend-item-box recommend-ad-box"><div id="kp_box_626" data-pid="64" data-track-view='{"mod":"kp_popu_626","con":",,"}'><script type="text/javascript" src="//rabc1.iteye.com/production/wxzgt3.js?rme=jljjon"></script></div><script>$(function(){csdn.track.viewCheck($("#kp_box_626"));});</script></div>


			<div class="recommend-item-box recommend-box-ident recommend-download-box clearfix" data-track-view='{"mod":"popu_387","con":",https://download.csdn.net/download/roykingz/7745347,BlogCommendFromQuerySearch_28"}' data-track-click='{"mod":"popu_387","con":",https://download.csdn.net/download/roykingz/7745347,BlogCommendFromQuerySearch_28"}'>
		<a href="https://download.csdn.net/download/roykingz/7745347" target="_blank">
			<div class="content">
				<div class="">
					<span class="type">下载</span>
					<h4 class="text-truncate oneline clearfix">
						<em>Open</em> <em>vSwitch</em>源代码<em>分析</em>						</h4>
					<span class="data float-right">08-12</span>
				</div>
				<div class="desc oneline">
						Open vSwitch源代码详细的分析与指导,非常值得一看!					</div>
			</div>
		</a>
	</div>




		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view='{"mod":"popu_387","con":",https://blog.csdn.net/kepa520/article/details/51463156,BlogCommendFromQuerySearch_29"}' data-track-click='{"mod":"popu_387","con":",https://blog.csdn.net/kepa520/article/details/51463156,BlogCommendFromQuerySearch_29"}'>
		<div class="content">
			<a href="https://blog.csdn.net/kepa520/article/details/51463156" target="_blank" title="XenServer网络堆栈Open vSwitch模式介绍">
			<h4 class="text-truncate oneline">
					XenServer网络堆栈<em>Open</em> <em>vSwitch</em>模式介绍				</h4>
			<div class="info-box d-flex align-content-center">
				<!-- <p class="avatar">
						<img src="https://avatar.csdn.net/5/B/0/3_kepa520.jpg" alt="kepa520" class="avatar-pic">
						<span class="namebox">
							<span class="name">kepa520</span>
							<span class="triangle"></span>
						</span>
				</p> -->
				<p class="date-and-readNum">
					<span class="date hover-show">05-20</span>
					<span class="read-num hover-hide">
						<svg class="icon csdnc-yuedushu" aria-hidden="true">
							<use xlink:href="#csdnc-m-passwords-visible"></use>
						</svg>
						974</span>
					</p>
				</div>
			</a>
				<p class="content">
					<a href="https://blog.csdn.net/kepa520/article/details/51463156" target="_blank" title="XenServer网络堆栈Open vSwitch模式介绍">
						<span class="desc oneline">原文地址:http://mp.weixin.qq.com/s?__biz=MjM5NTczODkyOA==&amp;mid=400777147&amp;idx=1&amp;sn=7ba4ae1d19912b68f57977a...</span>
					</a>
                    						<span class="blog_title_box oneline"><a target="_blank" href="https://blog.csdn.net/kepa520">来自:	<span class="blog_title"> kepa520的博客</span></a></span>
                    					</p>
		</div>
				</div>




			<div class="recommend-item-box recommend-box-ident recommend-download-box clearfix" data-track-view='{"mod":"popu_387","con":",https://download.csdn.net/download/buyeyaotian/7279245,BlogCommendFromQuerySearch_30"}' data-track-click='{"mod":"popu_387","con":",https://download.csdn.net/download/buyeyaotian/7279245,BlogCommendFromQuerySearch_30"}'>
		<a href="https://download.csdn.net/download/buyeyaotian/7279245" target="_blank">
			<div class="content">
				<div class="">
					<span class="type">下载</span>
					<h4 class="text-truncate oneline clearfix">
						<em>Open</em>Stack <em>Open</em> <em>vSwitch</em>						</h4>
					<span class="data float-right">05-01</span>
				</div>
				<div class="desc oneline">
						OpenStack Blog | Open vSwitch					</div>
			</div>
		</a>
	</div>




		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view='{"mod":"popu_387","con":",https://blog.csdn.net/u011391920/article/details/52679915,BlogCommendFromQuerySearch_31"}' data-track-click='{"mod":"popu_387","con":",https://blog.csdn.net/u011391920/article/details/52679915,BlogCommendFromQuerySearch_31"}'>
		<div class="content">
			<a href="https://blog.csdn.net/u011391920/article/details/52679915" target="_blank" title="openvswitch的原理和常用命令">
			<h4 class="text-truncate oneline">
					<em>open</em><em>vswitch</em>的原理和常用命令				</h4>
			<div class="info-box d-flex align-content-center">
				<!-- <p class="avatar">
						<img src="https://avatar.csdn.net/E/C/9/3_u011391920.jpg" alt="u011391920" class="avatar-pic">
						<span class="namebox">
							<span class="name">u011391920</span>
							<span class="triangle"></span>
						</span>
				</p> -->
				<p class="date-and-readNum">
					<span class="date hover-show">09-27</span>
					<span class="read-num hover-hide">
						<svg class="icon csdnc-yuedushu" aria-hidden="true">
							<use xlink:href="#csdnc-m-passwords-visible"></use>
						</svg>
						739</span>
					</p>
				</div>
			</a>
				<p class="content">
					<a href="https://blog.csdn.net/u011391920/article/details/52679915" target="_blank" title="openvswitch的原理和常用命令">
						<span class="desc oneline">一.Openvswitch工作原理  openvSwitch是一个高质量的、多层虚拟交换机,使用开源Apache2.0许可协议,由 Nicira Networks开发,主要实现代码为可移植的C代码。它...</span>
					</a>
                    						<span class="blog_title_box oneline"><a target="_blank" href="https://blog.csdn.net/u011391920">来自:	<span class="blog_title"> 张洋洋的博客</span></a></span>
                    					</p>
		</div>
				</div>




		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view='{"mod":"popu_387","con":",https://blog.csdn.net/tantexian/article/details/46707175,BlogCommendFromBaidu_32"}' data-track-click='{"mod":"popu_387","con":",https://blog.csdn.net/tantexian/article/details/46707175,BlogCommendFromBaidu_32"}'>
		<div class="content">
			<a href="https://blog.csdn.net/tantexian/article/details/46707175" target="_blank" title="OpenvSwitch完全使用手册">
			<h4 class="text-truncate oneline">
					<em>Open</em><em>vSwitch</em>完全使用手册				</h4>
			<div class="info-box d-flex align-content-center">
				<!-- <p class="avatar">
						<img src="https://avatar.csdn.net/A/4/C/3_tantexian.jpg" alt="tantexian" class="avatar-pic">
						<span class="namebox">
							<span class="name">tantexian</span>
							<span class="triangle"></span>
						</span>
				</p> -->
				<p class="date-and-readNum">
					<span class="date hover-show">07-01</span>
					<span class="read-num hover-hide">
						<svg class="icon csdnc-yuedushu" aria-hidden="true">
							<use xlink:href="#csdnc-m-passwords-visible"></use>
						</svg>
						5.2万</span>
					</p>
				</div>
			</a>
				<p class="content">
					<a href="https://blog.csdn.net/tantexian/article/details/46707175" target="_blank" title="OpenvSwitch完全使用手册">
						<span class="desc oneline">1 什么是OpenvSwitch

OpenvSwitch,简称OVS是一个虚拟交换软件,主要用于虚拟机VM环境,作为一个虚拟交换机,支持Xen/XenServer, KVM, and Virtual…

来自: Better Me的博客



<div class="recommend-item-box recommend-ad-box"><div id="kp_box_84" data-pid="65" data-track-view='{"mod":"kp_popu_84","con":",,"}'><div id="three_ad33" class="mediav_ad" ></div>
		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view='{"mod":"popu_387","con":",https://blog.csdn.net/yeasy/article/details/42555431,BlogCommendFromBaidu_33"}' data-track-click='{"mod":"popu_387","con":",https://blog.csdn.net/yeasy/article/details/42555431,BlogCommendFromBaidu_33"}'>
		<div class="content">
			<a href="https://blog.csdn.net/yeasy/article/details/42555431" target="_blank" title="Docker 使用 OpenvSwitch 网桥">
			<h4 class="text-truncate oneline">
					Docker 使用 <em>Open</em><em>vSwitch</em> 网桥				</h4>
			<div class="info-box d-flex align-content-center">
				<!-- <p class="avatar">
						<img src="https://avatar.csdn.net/9/1/7/3_yeasy.jpg" alt="yeasy" class="avatar-pic">
						<span class="namebox">
							<span class="name">yeasy</span>
							<span class="triangle"></span>
						</span>
				</p> -->
				<p class="date-and-readNum">
					<span class="date hover-show">01-09</span>
					<span class="read-num hover-hide">
						<svg class="icon csdnc-yuedushu" aria-hidden="true">
							<use xlink:href="#csdnc-m-passwords-visible"></use>
						</svg>
						1.7万</span>
					</p>
				</div>
			</a>
				<p class="content">
					<a href="https://blog.csdn.net/yeasy/article/details/42555431" target="_blank" title="Docker 使用 OpenvSwitch 网桥">
						<span class="desc oneline">Docker 默认使用的是 Linux 自带的网桥实现,实际上,OpenvSwitch 项目作为一个成熟的虚拟交换机实现,具备更丰富的功能。个人认为,将来 Docker 必然会选择 OpenvSwit...</span>
					</a>
                    						<span class="blog_title_box oneline"><a target="_blank" href="https://blog.csdn.net/yeasy">来自:	<span class="blog_title"> yeasy的专栏</span></a></span>
                    					</p>
		</div>
				</div>




		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view='{"mod":"popu_387","con":",https://blog.csdn.net/zhangli_perdue/article/details/50441426,BlogCommendFromBaidu_34"}' data-track-click='{"mod":"popu_387","con":",https://blog.csdn.net/zhangli_perdue/article/details/50441426,BlogCommendFromBaidu_34"}'>
		<div class="content">
			<a href="https://blog.csdn.net/zhangli_perdue/article/details/50441426" target="_blank" title="Docker实践 -- 使用Open vSwitch实现跨主机通信">
			<h4 class="text-truncate oneline">
					Docker实践 -- 使用<em>Open</em> <em>vSwitch</em>实现跨主机通信				</h4>
			<div class="info-box d-flex align-content-center">
				<!-- <p class="avatar">
						<img src="https://avatar.csdn.net/D/9/8/3_zhangli_perdue.jpg" alt="zhangli_perdue" class="avatar-pic">
						<span class="namebox">
							<span class="name">zhangli_perdue</span>
							<span class="triangle"></span>
						</span>
				</p> -->
				<p class="date-and-readNum">
					<span class="date hover-show">12-31</span>
					<span class="read-num hover-hide">
						<svg class="icon csdnc-yuedushu" aria-hidden="true">
							<use xlink:href="#csdnc-m-passwords-visible"></use>
						</svg>
						3801</span>
					</p>
				</div>
			</a>
				<p class="content">
					<a href="https://blog.csdn.net/zhangli_perdue/article/details/50441426" target="_blank" title="Docker实践 -- 使用Open vSwitch实现跨主机通信">
						<span class="desc oneline">作为目前最火热的容器技术,docker在网络实现和管理方面还存在不足。最开始的docker是依赖于Linux Bridge实现的网络设置,只能在容器里创建一个网卡。后来随着docker/libnetw...</span>
					</a>
                    						<span class="blog_title_box oneline"><a target="_blank" href="https://blog.csdn.net/zhangli_perdue">来自:	<span class="blog_title"> zhangli_perdue的博客</span></a></span>
                    					</p>
		</div>
				</div>




		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view='{"mod":"popu_387","con":",https://blog.csdn.net/u014015972/article/details/51852844,BlogCommendFromBaidu_35"}' data-track-click='{"mod":"popu_387","con":",https://blog.csdn.net/u014015972/article/details/51852844,BlogCommendFromBaidu_35"}'>
		<div class="content">
			<a href="https://blog.csdn.net/u014015972/article/details/51852844" target="_blank" title="open vswitch">
			<h4 class="text-truncate oneline">
					<em>open</em> <em>vswitch</em>				</h4>
			<div class="info-box d-flex align-content-center">
				<!-- <p class="avatar">
						<img src="https://avatar.csdn.net/4/4/7/3_u014015972.jpg" alt="u014015972" class="avatar-pic">
						<span class="namebox">
							<span class="name">u014015972</span>
							<span class="triangle"></span>
						</span>
				</p> -->
				<p class="date-and-readNum">
					<span class="date hover-show">07-07</span>
					<span class="read-num hover-hide">
						<svg class="icon csdnc-yuedushu" aria-hidden="true">
							<use xlink:href="#csdnc-m-passwords-visible"></use>
						</svg>
						2747</span>
					</p>
				</div>
			</a>
				<p class="content">
					<a href="https://blog.csdn.net/u014015972/article/details/51852844" target="_blank" title="open vswitch">
						<span class="desc oneline">部分转载自: sdnlan

csdn
IBM Open vSwitch

Open vSwitch 概述Open vSwitch(下面简称为 OVS)是由 Nicira Networks …

来自: 这个博客,写给十年后的自己…



		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view='{"mod":"popu_387","con":",https://blog.csdn.net/zhongbeida_xue/article/details/56845461,BlogCommendFromBaidu_36"}' data-track-click='{"mod":"popu_387","con":",https://blog.csdn.net/zhongbeida_xue/article/details/56845461,BlogCommendFromBaidu_36"}'>
		<div class="content">
			<a href="https://blog.csdn.net/zhongbeida_xue/article/details/56845461" target="_blank" title="Open vSwitch QoS 功能(限速)">
			<h4 class="text-truncate oneline">
					<em>Open</em> <em>vSwitch</em> QoS 功能(限速)				</h4>
			<div class="info-box d-flex align-content-center">
				<!-- <p class="avatar">
						<img src="https://avatar.csdn.net/6/7/3/3_zhongbeida_xue.jpg" alt="zhongbeida_xue" class="avatar-pic">
						<span class="namebox">
							<span class="name">zhongbeida_xue</span>
							<span class="triangle"></span>
						</span>
				</p> -->
				<p class="date-and-readNum">
					<span class="date hover-show">02-24</span>
					<span class="read-num hover-hide">
						<svg class="icon csdnc-yuedushu" aria-hidden="true">
							<use xlink:href="#csdnc-m-passwords-visible"></use>
						</svg>
						2679</span>
					</p>
				</div>
			</a>
				<p class="content">
					<a href="https://blog.csdn.net/zhongbeida_xue/article/details/56845461" target="_blank" title="Open vSwitch QoS 功能(限速)">
						<span class="desc oneline">1 Interface rate limiting2 Port QoS policy

QoS: Interface rate limiting

A rate and burst can b…

来自: Nicholas的专栏



		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view='{"mod":"popu_387","con":",https://blog.csdn.net/herojia_1/article/details/79481796,BlogCommendFromBaidu_37"}' data-track-click='{"mod":"popu_387","con":",https://blog.csdn.net/herojia_1/article/details/79481796,BlogCommendFromBaidu_37"}'>
		<div class="content">
			<a href="https://blog.csdn.net/herojia_1/article/details/79481796" target="_blank" title="onos应用:ovs流量监控案例">
			<h4 class="text-truncate oneline">
					onos应用:ovs流量监控案例				</h4>
			<div class="info-box d-flex align-content-center">
				<!-- <p class="avatar">
						<img src="https://avatar.csdn.net/E/2/3/3_herojia_1.jpg" alt="herojia_1" class="avatar-pic">
						<span class="namebox">
							<span class="name">herojia_1</span>
							<span class="triangle"></span>
						</span>
				</p> -->
				<p class="date-and-readNum">
					<span class="date hover-show">03-08</span>
					<span class="read-num hover-hide">
						<svg class="icon csdnc-yuedushu" aria-hidden="true">
							<use xlink:href="#csdnc-m-passwords-visible"></use>
						</svg>
						219</span>
					</p>
				</div>
			</a>
				<p class="content">
					<a href="https://blog.csdn.net/herojia_1/article/details/79481796" target="_blank" title="onos应用:ovs流量监控案例">
						<span class="desc oneline">前提条件:1.安装onos并启动,笔者这里在windows上启动着onos2.安装好openvswitch的centos7服务器操作流程:1.规划待监控的ovs监控点(也可以是mininet里边模拟的...</span>
					</a>
                    						<span class="blog_title_box oneline"><a target="_blank" href="https://blog.csdn.net/herojia_1">来自:	<span class="blog_title"> herojia的专栏</span></a></span>
                    					</p>
		</div>
				</div>

<div class="recommend-item-box recommend-ad-box"><div id="kp_box_87" data-pid="66" data-track-view='{"mod":"kp_popu_87","con":",,"}'><div id="three_ad38" class="mediav_ad" ></div>
		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view='{"mod":"popu_387","con":",https://blog.csdn.net/chen98765432101/article/details/77937230,BlogCommendFromBaidu_38"}' data-track-click='{"mod":"popu_387","con":",https://blog.csdn.net/chen98765432101/article/details/77937230,BlogCommendFromBaidu_38"}'>
		<div class="content">
			<a href="https://blog.csdn.net/chen98765432101/article/details/77937230" target="_blank" title="vxlan、组播、IGMP 协议RFC总结">
			<h4 class="text-truncate oneline">
					vxlan、组播、IGMP 协议RFC总结				</h4>
			<div class="info-box d-flex align-content-center">
				<!-- <p class="avatar">
						<img src="https://avatar.csdn.net/8/4/1/3_chen98765432101.jpg" alt="chen98765432101" class="avatar-pic">
						<span class="namebox">
							<span class="name">chen98765432101</span>
							<span class="triangle"></span>
						</span>
				</p> -->
				<p class="date-and-readNum">
					<span class="date hover-show">09-11</span>
					<span class="read-num hover-hide">
						<svg class="icon csdnc-yuedushu" aria-hidden="true">
							<use xlink:href="#csdnc-m-passwords-visible"></use>
						</svg>
						1283</span>
					</p>
				</div>
			</a>
				<p class="content">
					<a href="https://blog.csdn.net/chen98765432101/article/details/77937230" target="_blank" title="vxlan、组播、IGMP 协议RFC总结">
						<span class="desc oneline">一、前言

其实主要总结vxlan的,但说明vxlan,又离不开组播、IGMP协议,所以放在一起总结了。主要是一些要点的总结,并没有太详细的分析,这样便于以后的查阅和复习,也可作为快速了解vxlan的…

来自: NTF的博客



		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view='{"mod":"popu_387","con":",https://blog.csdn.net/one_clouder/article/details/52235510,BlogCommendFromBaidu_39"}' data-track-click='{"mod":"popu_387","con":",https://blog.csdn.net/one_clouder/article/details/52235510,BlogCommendFromBaidu_39"}'>
		<div class="content">
			<a href="https://blog.csdn.net/one_clouder/article/details/52235510" target="_blank" title="【OVS2.5.0源码分析】mirror实现原理(1)">
			<h4 class="text-truncate oneline">
					【OVS2.5.0源码<em>分析</em>】mirror实现原理(1)				</h4>
			<div class="info-box d-flex align-content-center">
				<!-- <p class="avatar">
						<img src="https://avatar.csdn.net/3/2/F/3_one_clouder.jpg" alt="one_clouder" class="avatar-pic">
						<span class="namebox">
							<span class="name">one_clouder</span>
							<span class="triangle"></span>
						</span>
				</p> -->
				<p class="date-and-readNum">
					<span class="date hover-show">08-17</span>
					<span class="read-num hover-hide">
						<svg class="icon csdnc-yuedushu" aria-hidden="true">
							<use xlink:href="#csdnc-m-passwords-visible"></use>
						</svg>
						990</span>
					</p>
				</div>
			</a>
				<p class="content">
					<a href="https://blog.csdn.net/one_clouder/article/details/52235510" target="_blank" title="【OVS2.5.0源码分析】mirror实现原理(1)">
						<span class="desc oneline">端口镜像是交换机的标准功能之一,针对某个端口的报文拷贝到除真实目的之外的另外一个目的地(output),这一篇我们先分析配置mirror之后,如何生成流表,在什么阶段生成流表。

1、xlate_ac…

来自: one_clouder的专栏



		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view='{"mod":"popu_387","con":",https://blog.csdn.net/u014467169/article/details/71036271,searchFromBaidu_40"}' data-track-click='{"mod":"popu_387","con":",https://blog.csdn.net/u014467169/article/details/71036271,searchFromBaidu_40"}'>
		<div class="content">
			<a href="https://blog.csdn.net/u014467169/article/details/71036271" target="_blank" title="OpenVSwitch简介">
			<h4 class="text-truncate oneline">
					<em>Open</em><em>VSwitch</em>简介				</h4>
			<div class="info-box d-flex align-content-center">
				<!-- <p class="avatar">
						<img src="https://avatar.csdn.net/F/B/E/3_u014467169.jpg" alt="u014467169" class="avatar-pic">
						<span class="namebox">
							<span class="name">u014467169</span>
							<span class="triangle"></span>
						</span>
				</p> -->
				<p class="date-and-readNum">
					<span class="date hover-show">04-30</span>
					<span class="read-num hover-hide">
						<svg class="icon csdnc-yuedushu" aria-hidden="true">
							<use xlink:href="#csdnc-m-passwords-visible"></use>
						</svg>
						277</span>
					</p>
				</div>
			</a>
				<p class="content">
					<a href="https://blog.csdn.net/u014467169/article/details/71036271" target="_blank" title="OpenVSwitch简介">
						<span class="desc oneline">本文主要介绍Open VSwitch - 虚拟交换机的概述内容,阅读本文可以对OVS(Open VSwitch)有一个大致的了解。那么本文主要回答了这样几个问题:
  1. 虚拟交换机是什么,干什么?


    来自: Code Monkey Save World



     	<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view='{"mod":"popu_387","con":",https://blog.csdn.net/ztejiagn/article/details/8992379,BlogCommendFromQuerySearch_41"}' data-track-click='{"mod":"popu_387","con":",https://blog.csdn.net/ztejiagn/article/details/8992379,BlogCommendFromQuerySearch_41"}'>
     	<div class="content">
     		<a href="https://blog.csdn.net/ztejiagn/article/details/8992379" target="_blank" title="也谈OpenvSwitch配置GRE隧道">
     		<h4 class="text-truncate oneline">
     				也谈<em>Open</em><em>vSwitch</em>配置GRE隧道				</h4>
     		<div class="info-box d-flex align-content-center">
     			<!-- <p class="avatar">
     					<img src="https://avatar.csdn.net/B/6/8/3_ztejiagn.jpg" alt="ztejiagn" class="avatar-pic">
     					<span class="namebox">
     						<span class="name">ztejiagn</span>
     						<span class="triangle"></span>
     					</span>
     			</p> -->
     			<p class="date-and-readNum">
     				<span class="date hover-show">05-30</span>
     				<span class="read-num hover-hide">
     					<svg class="icon csdnc-yuedushu" aria-hidden="true">
     						<use xlink:href="#csdnc-m-passwords-visible"></use>
     					</svg>
     					3777</span>
     				</p>
     			</div>
     		</a>
     			<p class="content">
     				<a href="https://blog.csdn.net/ztejiagn/article/details/8992379" target="_blank" title="也谈OpenvSwitch配置GRE隧道">
     					<span class="desc oneline">1 OpenvSwitch in Kernel
    

从3.3的内核开始,OpenvSwitch(简称OVS)集成到Linux内核中去了,也就是说以后源码安装OVS的时候就不需要编译内核模块了,但是目…

来自: ztejiagn的专栏



		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view='{"mod":"popu_387","con":",https://blog.csdn.net/Scape1989/article/details/19901331,BlogCommendFromQuerySearch_42"}' data-track-click='{"mod":"popu_387","con":",https://blog.csdn.net/Scape1989/article/details/19901331,BlogCommendFromQuerySearch_42"}'>
		<div class="content">
			<a href="https://blog.csdn.net/Scape1989/article/details/19901331" target="_blank" title="OpenvSwitch安装过程--小白白">
			<h4 class="text-truncate oneline">
					<em>Open</em><em>vSwitch</em>安装过程--小白白				</h4>
			<div class="info-box d-flex align-content-center">
				<!-- <p class="avatar">
						<img src="https://avatar.csdn.net/2/A/7/3_scape1989.jpg" alt="Scape1989" class="avatar-pic">
						<span class="namebox">
							<span class="name">Scape1989</span>
							<span class="triangle"></span>
						</span>
				</p> -->
				<p class="date-and-readNum">
					<span class="date hover-show">02-25</span>
					<span class="read-num hover-hide">
						<svg class="icon csdnc-yuedushu" aria-hidden="true">
							<use xlink:href="#csdnc-m-passwords-visible"></use>
						</svg>
						9878</span>
					</p>
				</div>
			</a>
				<p class="content">
					<a href="https://blog.csdn.net/Scape1989/article/details/19901331" target="_blank" title="OpenvSwitch安装过程--小白白">
						<span class="desc oneline">OpenvSwitch安装过程--小白白

在过去的3个月,一直在研究SDN,对SDN也有了进一步的了解,从今天开始,也希望在网上共享下自己的成果。
首先,下面先给大家介绍下OpenvSwit…

来自: Scape1989的专栏



<div class="recommend-item-box recommend-ad-box"><div id="kp_box_624" data-pid="67" data-track-view='{"mod":"kp_popu_624","con":",,"}'><script type="text/javascript" src="//rabc1.iteye.com/production/api/source/dac3p.js?gbt=yayxyh"></script></div><script>$(function(){csdn.track.viewCheck($("#kp_box_624"));});</script></div>


		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view='{"mod":"popu_387","con":",https://blog.csdn.net/svap1/article/details/39081193,BlogCommendFromQuerySearch_43"}' data-track-click='{"mod":"popu_387","con":",https://blog.csdn.net/svap1/article/details/39081193,BlogCommendFromQuerySearch_43"}'>
		<div class="content">
			<a href="https://blog.csdn.net/svap1/article/details/39081193" target="_blank" title="openvswitch 2.1.2 安装完成后 启动 与 停止 shell脚本">
			<h4 class="text-truncate oneline">
					<em>open</em><em>vswitch</em> 2.1.2 安装完成后 启动 与 停止 shell脚本				</h4>
			<div class="info-box d-flex align-content-center">
				<!-- <p class="avatar">
						<img src="https://avatar.csdn.net/B/E/C/3_svap1.jpg" alt="svap1" class="avatar-pic">
						<span class="namebox">
							<span class="name">svap1</span>
							<span class="triangle"></span>
						</span>
				</p> -->
				<p class="date-and-readNum">
					<span class="date hover-show">09-05</span>
					<span class="read-num hover-hide">
						<svg class="icon csdnc-yuedushu" aria-hidden="true">
							<use xlink:href="#csdnc-m-passwords-visible"></use>
						</svg>
						1747</span>
					</p>
				</div>
			</a>
				<p class="content">
					<a href="https://blog.csdn.net/svap1/article/details/39081193" target="_blank" title="openvswitch 2.1.2 安装完成后 启动 与 停止 shell脚本">
						<span class="desc oneline">openvswitch 2.1.2 安装完成后,会经常遇到启动与停止的情况,为了避免重复手写启动停止的终端代码,最好将其写在不同的脚本里,方便下次调用。前提是已经安装好了openvswitch,并按照...</span>
					</a>
                    						<span class="blog_title_box oneline"><a target="_blank" href="https://blog.csdn.net/svap1">来自:	<span class="blog_title"> svap1的专栏</span></a></span>
                    					</p>
		</div>
				</div>




		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view='{"mod":"popu_387","con":",https://blog.csdn.net/YuZhiHui_No1/article/details/39298321,BlogCommendFromQuerySearch_44"}' data-track-click='{"mod":"popu_387","con":",https://blog.csdn.net/YuZhiHui_No1/article/details/39298321,BlogCommendFromQuerySearch_44"}'>
		<div class="content">
			<a href="https://blog.csdn.net/YuZhiHui_No1/article/details/39298321" target="_blank" title="openVswitch(OVS)源代码分析之工作流程(收发数据包)">
			<h4 class="text-truncate oneline">
					<em>open</em><em>Vswitch</em>(OVS)源代码<em>分析</em>之工作流程(收发数据包)				</h4>
			<div class="info-box d-flex align-content-center">
				<!-- <p class="avatar">
						<img src="https://avatar.csdn.net/B/B/6/3_yuzhihui_no1.jpg" alt="YuZhiHui_No1" class="avatar-pic">
						<span class="namebox">
							<span class="name">YuZhiHui_No1</span>
							<span class="triangle"></span>
						</span>
				</p> -->
				<p class="date-and-readNum">
					<span class="date hover-show">09-16</span>
					<span class="read-num hover-hide">
						<svg class="icon csdnc-yuedushu" aria-hidden="true">
							<use xlink:href="#csdnc-m-passwords-visible"></use>
						</svg>
						9819</span>
					</p>
				</div>
			</a>
				<p class="content">
					<a href="https://blog.csdn.net/YuZhiHui_No1/article/details/39298321" target="_blank" title="openVswitch(OVS)源代码分析之工作流程(收发数据包)">
						<span class="desc oneline">加载网卡时把网卡绑定到openVswitch端口上(ovs-vsctl add-port br0 eth0),绑定后每当有数据包过来时,都会调用该函数,把数据包传送给这个函数去处理。而不是像开始那样(...</span>
					</a>
                    						<span class="blog_title_box oneline"><a target="_blank" href="https://blog.csdn.net/YuZhiHui_No1">来自:	<span class="blog_title"> YuZhiHui_No1的专栏</span></a></span>
                    					</p>
		</div>
				</div>




		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view='{"mod":"popu_387","con":",https://blog.csdn.net/hailwind/article/details/53058564,BlogCommendFromQuerySearch_45"}' data-track-click='{"mod":"popu_387","con":",https://blog.csdn.net/hailwind/article/details/53058564,BlogCommendFromQuerySearch_45"}'>
		<div class="content">
			<a href="https://blog.csdn.net/hailwind/article/details/53058564" target="_blank" title="openvswitch创建vxlan隧道和gre隧道的mtu问题">
			<h4 class="text-truncate oneline">
					<em>open</em><em>vswitch</em>创建vxlan隧道和gre隧道的mtu问题				</h4>
			<div class="info-box d-flex align-content-center">
				<!-- <p class="avatar">
						<img src="https://avatar.csdn.net/8/5/B/3_hailwind.jpg" alt="hailwind" class="avatar-pic">
						<span class="namebox">
							<span class="name">hailwind</span>
							<span class="triangle"></span>
						</span>
				</p> -->
				<p class="date-and-readNum">
					<span class="date hover-show">11-07</span>
					<span class="read-num hover-hide">
						<svg class="icon csdnc-yuedushu" aria-hidden="true">
							<use xlink:href="#csdnc-m-passwords-visible"></use>
						</svg>
						2435</span>
					</p>
				</div>
			</a>
				<p class="content">
					<a href="https://blog.csdn.net/hailwind/article/details/53058564" target="_blank" title="openvswitch创建vxlan隧道和gre隧道的mtu问题">
						<span class="desc oneline">先贴实验方法

Server1

ip netns add red
ip link add veth0 type veth peer name veth1
ip link set veth0 netn…

来自: hailwind的专栏



		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view='{"mod":"popu_387","con":",https://blog.csdn.net/dingtao7890/article/details/62888044,BlogCommendFromBaidu_46"}' data-track-click='{"mod":"popu_387","con":",https://blog.csdn.net/dingtao7890/article/details/62888044,BlogCommendFromBaidu_46"}'>
		<div class="content">
			<a href="https://blog.csdn.net/dingtao7890/article/details/62888044" target="_blank" title="解决DPDK脚本python执行时“OSError: [Errno 2] No such file or directory”的问题">
			<h4 class="text-truncate oneline">
					解决DPDK脚本python执行时“OSError: [Errno 2] No such file or directory”的问题				</h4>
			<div class="info-box d-flex align-content-center">
				<!-- <p class="avatar">
						<img src="https://avatar.csdn.net/6/4/F/3_dingtao7890.jpg" alt="dingtao7890" class="avatar-pic">
						<span class="namebox">
							<span class="name">dingtao7890</span>
							<span class="triangle"></span>
						</span>
				</p> -->
				<p class="date-and-readNum">
					<span class="date hover-show">03-17</span>
					<span class="read-num hover-hide">
						<svg class="icon csdnc-yuedushu" aria-hidden="true">
							<use xlink:href="#csdnc-m-passwords-visible"></use>
						</svg>
						4224</span>
					</p>
				</div>
			</a>
				<p class="content">
					<a href="https://blog.csdn.net/dingtao7890/article/details/62888044" target="_blank" title="解决DPDK脚本python执行时“OSError: [Errno 2] No such file or directory”的问题">
						<span class="desc oneline">在执行dpdk的网卡驱动挂载脚本是出现 “ OSError: [Errno 2] No such file or directory” 问题,经查证,是因为没有安装lspci的程序。[root@bog...</span>
					</a>
                    						<span class="blog_title_box oneline"><a target="_blank" href="https://blog.csdn.net/dingtao7890">来自:	<span class="blog_title"> dingtao7890的博客</span></a></span>
                    					</p>
		</div>
				</div>




		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view='{"mod":"popu_387","con":",https://blog.csdn.net/haidalongjuanfeng/article/details/61196489,BlogCommendFromBaidu_47"}' data-track-click='{"mod":"popu_387","con":",https://blog.csdn.net/haidalongjuanfeng/article/details/61196489,BlogCommendFromBaidu_47"}'>
		<div class="content">
			<a href="https://blog.csdn.net/haidalongjuanfeng/article/details/61196489" target="_blank" title="我对OpenFlow的理解">
			<h4 class="text-truncate oneline">
					我对<em>Open</em>Flow的理解				</h4>
			<div class="info-box d-flex align-content-center">
				<!-- <p class="avatar">
						<img src="https://avatar.csdn.net/2/2/4/3_haidalongjuanfeng.jpg" alt="haidalongjuanfeng" class="avatar-pic">
						<span class="namebox">
							<span class="name">haidalongjuanfeng</span>
							<span class="triangle"></span>
						</span>
				</p> -->
				<p class="date-and-readNum">
					<span class="date hover-show">03-10</span>
					<span class="read-num hover-hide">
						<svg class="icon csdnc-yuedushu" aria-hidden="true">
							<use xlink:href="#csdnc-m-passwords-visible"></use>
						</svg>
						1.3万</span>
					</p>
				</div>
			</a>
				<p class="content">
					<a href="https://blog.csdn.net/haidalongjuanfeng/article/details/61196489" target="_blank" title="我对OpenFlow的理解">
						<span class="desc oneline">写下来,总结一下了解的东西。

谈到OpenFlow,首先不得不提一下软件定义网络(SDN),在SDN中有两个重要的元素一个是交换机,一个是控制器。在网络设备上还有一个“上帝”,也就是控制器,它知道所…

来自: haidalongjuanfeng的博客



<div class="recommend-item-box recommend-ad-box"><div id="kp_box_625" data-pid="68" data-track-view='{"mod":"kp_popu_625","con":",,"}'><script type="text/javascript" src="//rabc1.iteye.com/common/resource/site/workyo.js?hcuzbz=ybi"></script></div><script>$(function(){csdn.track.viewCheck($("#kp_box_625"));});</script></div>


		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view='{"mod":"popu_387","con":",https://blog.csdn.net/mingge591/article/details/50952326,BlogCommendFromBaidu_48"}' data-track-click='{"mod":"popu_387","con":",https://blog.csdn.net/mingge591/article/details/50952326,BlogCommendFromBaidu_48"}'>
		<div class="content">
			<a href="https://blog.csdn.net/mingge591/article/details/50952326" target="_blank" title="open vswitch简介">
			<h4 class="text-truncate oneline">
					<em>open</em> <em>vswitch</em>简介				</h4>
			<div class="info-box d-flex align-content-center">
				<!-- <p class="avatar">
						<img src="https://avatar.csdn.net/1/2/5/3_mingge591.jpg" alt="mingge591" class="avatar-pic">
						<span class="namebox">
							<span class="name">mingge591</span>
							<span class="triangle"></span>
						</span>
				</p> -->
				<p class="date-and-readNum">
					<span class="date hover-show">03-22</span>
					<span class="read-num hover-hide">
						<svg class="icon csdnc-yuedushu" aria-hidden="true">
							<use xlink:href="#csdnc-m-passwords-visible"></use>
						</svg>
						221</span>
					</p>
				</div>
			</a>
				<p class="content">
					<a href="https://blog.csdn.net/mingge591/article/details/50952326" target="_blank" title="open vswitch简介">
						<span class="desc oneline">一、open vswitch简介

Open vSwitch是一个高质量的、多层虚拟交换机,使用开源Apache2.0许可协议,由Nicira Networks开发,主要实现代码为可移植的C代…

来自: mingge591的博客



		<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view='{"mod":"popu_387","con":",https://blog.csdn.net/majieyue/article/details/7888400,BlogCommendFromBaidu_49"}' data-track-click='{"mod":"popu_387","con":",https://blog.csdn.net/majieyue/article/details/7888400,BlogCommendFromBaidu_49"}'>
		<div class="content">
			<a href="https://blog.csdn.net/majieyue/article/details/7888400" target="_blank" title="open vswitch研究:ovs的安装和使用">
			<h4 class="text-truncate oneline">
					<em>open</em> <em>vswitch</em>研究:ovs的安装和使用				</h4>
			<div class="info-box d-flex align-content-center">
				<!-- <p class="avatar">
						<img src="https://avatar.csdn.net/1/C/A/3_majieyue.jpg" alt="majieyue" class="avatar-pic">
						<span class="namebox">
							<span class="name">majieyue</span>
							<span class="triangle"></span>
						</span>
				</p> -->
				<p class="date-and-readNum">
					<span class="date hover-show">08-28</span>
					<span class="read-num hover-hide">
						<svg class="icon csdnc-yuedushu" aria-hidden="true">
							<use xlink:href="#csdnc-m-passwords-visible"></use>
						</svg>
						4.4万</span>
					</p>
				</div>
			</a>
				<p class="content">
					<a href="https://blog.csdn.net/majieyue/article/details/7888400" target="_blank" title="open vswitch研究:ovs的安装和使用">
						<span class="desc oneline">通过

git clone git://openvswitch.org/openvswitch
下载ovs代码到本地,运行boot.sh,如果遇到提示autoconf版本过低,可以去找最新的au…

来自: majieyue的专栏



        <div class="recommend-loading-box">
            <img src='https://csdnimg.cn/release/phoenix/images/feedLoading.gif'>
        </div>
        <div class="recommend-end-box">
            <p class="text-center">没有更多推荐了,<a href="https://blog.csdn.net/" class="c-blue c-blue-hover c-blue-focus">返回首页</a></p>
        </div>
    </div>
</main>

<aside>
	    <div id="asideProfile" class="aside-box">
<!-- <h3 class="aside-title">个人资料</h3> -->
<div class="profile-intro d-flex">
    <div class="avatar-box d-flex justify-content-center flex-column">
        <a href="https://blog.csdn.net/lizheng2300">
            <img src="https://avatar.csdn.net/C/4/A/3_lizheng2300.jpg" class="avatar_pic">
        </a>
    </div>
    <div class="user-info d-flex justify-content-center flex-column">
        <p class="name csdn-tracking-statistics tracking-click" data-mod="popu_379">
            <a href="https://blog.csdn.net/lizheng2300" target="_blank" class="" id="uid">安全云涌</a>
        </p>
                </div>
            <div class="opt-box d-flex justify-content-center flex-column">
        <span  class="csdn-tracking-statistics tracking-click" data-mod="popu_379">
            <a class="btn btn-sm btn-red-hollow attention" id="btnAttent">关注</a>
        </span>
                </div>
        </div>
<div class="data-info d-flex item-tiling">
            <dl class="text-center" title="17">
                    <dt><a href="https://blog.csdn.net/lizheng2300?t=1">原创</a></dt>
        <dd><a href="https://blog.csdn.net/lizheng2300?t=1"><span class="count">17</span></a></dd>
                </dl>
    <dl class="text-center" id="fanBox" title="2">
        <dt>粉丝</dt>
        <dd><span class="count" id="fan">2</span></dd>
    </dl>
    <dl class="text-center" title="8">
        <dt>喜欢</dt>
        <dd><span class="count">8</span></dd>
    </dl>
    <dl class="text-center" title="3">
        <dt>评论</dt>
        <dd><span class="count">3</span></dd>
    </dl>
</div>
<div class="grade-box clearfix">
    <dl>
        <dt>等级:</dt>
        <dd>
            <a href="https://blog.csdn.net/home/help.html#level" title="2级,点击查看等级说明" target="_blank">
                <svg class="icon icon-level" aria-hidden="true">
                    <use xlink:href="#csdnc-bloglevel-2"></use>
                </svg>
            </a>
        </dd>
    </dl>
    <dl>
        <dt>访问:</dt>
        <dd title="6041">
            6041            </dd>
    </dl>
    <dl>
        <dt>积分:</dt>
        <dd title="211">
            211            </dd>
    </dl>
    <dl title="380947">
        <dt>排名:</dt>
        <dd>38万+</dd>
    </dl>
</div>
</div>
	    <div class="csdn-tracking-statistics mb8 box-shadow" data-pid="blog" data-mod="popu_4" style="height:250px;">
<div class="aside-content text-center" id="cpro_u2734133">
  <div id="kp_box_76" data-pid="56" data-track-view='{"mod":"kp_popu_76","con":",,"}'><script type="text/javascript" src="//rabc1.iteye.com/source/openjs/api/mbxf4.js?b=wocoltly"></script></div><script>$(function(){csdn.track.viewCheck($("#kp_box_76"));});</script>    </div>

最新评论

	<div class="aside-box">
		<div id="kp_box_77" data-pid="57" data-track-view='{"mod":"kp_popu_77","con":",,"}'><script type="text/javascript" src="//rabc1.iteye.com/common/web/site/9i6gu.js?av=neunkwb"></script></div><script>$(function(){csdn.track.viewCheck($("#kp_box_77"));});</script>		</div>
			<div class="aside-box">
		<div class="persion_article">
		</div>
	</div>
</div>
  • 点赞 取消点赞

    4

  • 评论

    2

  • 目录
  • 收藏
  • 手机看
  • 下一篇
  • 更多
    		</a>
    		<ul class="widescreen-more-box">
    															<li class="widescreen-more">
    				<a class="btn-comments hover-box low-height" href="https://blog.csdn.net/lizheng2300/article/details/54599372" title="利用 TC 给openstack neutron做带宽限制">
    					<svg class="icon hover-hide" aria-hidden="true">
    						<use xlink:href="#csdnc-chevronright"></use>
    					</svg>
    					<span class="hover-show text text3">下一篇</span>
    				</a>
    			</li>
    						</ul>
    	</li>
    </ul>
    
<link rel="stylesheet" href="https://csdnimg.cn/release/blog_editor_html/release1.3.1/ckeditor/plugins/chart/chart.css" />
<script type="text/javascript" src="https://csdnimg.cn/release/blog_editor_html/release1.3.1/ckeditor/plugins/chart/lib/chart.min.js"></script>
<script type="text/javascript" src="https://csdnimg.cn/release/blog_editor_html/release1.3.1/ckeditor/plugins/chart/widget2chart.js"></script>
<link rel="stylesheet" href="https://csdnimg.cn/release/blog_editor_html/release1.3.1/ckeditor/plugins/codesnippet/lib/highlight/styles/atom-one-dark.css">
<script type="text/javascript" src="https://csdnimg.cn/release/phoenix/production/pc_wap_common-9e177e0136.js" /></script>

<script type="text/javascript">
$(function(){
	var allEscRegex = /&(lt|gt|amp|quot|nbsp|shy|#\d{1,5});/g,
	    namedEntities = {
				lt: '<',
				gt: '>',
				amp: '&',
				quot: '"',
				nbsp: '\u00a0',
				shy: '\u00ad'
			}
	var allEscDecode = function( match, code ) {
			return namedEntities[ code ];
	};
	htmlDecodeAttr = function( text ) {
			return text.replace( allEscRegex, allEscDecode );
	}
  hljs.initHighlightingOnLoad();
  hljs.initCopyButtonOnLoad();
  hljs.initLineNumbersOnLoad();
	if($('pre .language-plain').length>0){
		$('pre .language-plain').each(function(i,e){
			var highlightRe = hljs.highlightAuto(htmlDecodeAttr(e.innerHTML))
			e.innerHTML = highlightRe.value;
			e.className = 'language-'+highlightRe.language;
		});
	}
})
</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值