Open vSwitch on Linux, FreeBSD and NetBSD
Linux Bridge 和物理网络一样,虚拟网络要通信,必须借助一些交换设备来转发数据。因此,对于网络虚拟化来说,交换设备的虚拟化是很关键的一环。 上文「网络虚拟化」已经大致介绍了 Linux 内核为了满足网络虚拟化的要求,实现了一套虚拟交换设备——Bridge。本文重点介绍下 Bridge 的加强版——Open vSwitch(OVS),并从 Bridge 过渡到 OVS 的缘由讲起,让大家有个全面的认识。 借助 Linux Bridge 功能,同主机或跨主机的虚拟机之间能够轻松实现通信,也能够让虚拟机
Open vSwitch(OVS)项目的开发人员对其性能稍加改进,正如他们所说已经将其提升到了惊人的速度。 这项工作已经持续了一段时间,但具体细节直到今天才在Network Heresy博客上得以总结。这个团队也会在今天的Open vSwitch会议上进一步阐述细节方面做的改进,该会议在VMware总部—加州的Palo Alto举行。 OVS的核心问题,也是过去一到两年中这个团队优先考虑的问题,即它在处理Linux用户空间上花费太多时间,这也被称为慢路径。(另一种是在内核空间中的快速路径。)此前,该小组表示
DPDK与SR-IOV两者目前主要用于提高IDC(数据中心)中的网络数据包的加速。但是在NFV(网络功能虚拟化)场景下DPDK与SR-IOV各自的使用场景是怎样的?以及各自的优缺点?
概述 数据平面开发套件(DPDK)可提供高性能的数据包处理库和用户空间驱动程序。自Open vSwitch(OVS)2.4版 (http://openvswitch.org/releases/NEWS-2.4.0)起,我们将可在OVS中使用DPDK优化的vHost路径。OVS自2.2版起开始提供DPDK支持。 将DPDK与OVS结合使用可为我们带来诸多性能优势。与其他基于DPDK的应用相同,我们可以在OVS中看到网络包吞吐量显著提升,延迟显著降低。 此外,DPDK包处理库还对OVS内的多个性能热点区域进行了
一、GNS3简介 GNS3是一个专业的网络模拟器,可以用它来模拟交换机、路由器、防火墙等网络设备。它的功能非常强大,基于它能搭建一个近似于 “真实”的模拟环境。 Wireshark是一个跨平台的网络数据包分析工具,和tcpdump比较它提供了一个友好的GUI界面。GNS3中已经对它进行了集成(安装GNS3的时候自动安装),可以通过GNS3界面直接对网络拓扑中的某条链路抓包分析。 1.1 GNS3架构 GNS3由三部分组成,我们平时使用的是GNS3-GUI,这是一个用Python编写的GUI界面,通过这个界面
在上期《云计算与虚拟化硬核技术内幕 (14) —— 不忘初心,删繁就简》中,我们介绍了Linux网桥,也遗留了一些问题:
一、为什么OVN会出现? OpenvSwitch (OVS) 以其丰富的功能和相对优秀的性能,成为OpenStack中广泛使用的虚拟交换机。下图是2年前的一个调查,时过境迁,nova-network已
大家晚上好。那我们开始吧。主要还是抛装引玉,互相学习交流。今天和大家分享下面一些内容: 1.关于openstack中VNF网络性能的一些思考和思路 2.相关的开源项目 3.OVS 2.4 DPDK with IVSHMEM/vHost-user(w/DPDK) 和vHost (w/oDPDK)性能测试数据 4.后续可以一起来做的一些工作 第一部分 关于openstack中VNF网络性能的一些思考和思路 先来介绍一下背景,目前openstack社区版本的一些网络服务如routing,fip,snat,fw,v
从Gartner分析报告谈起 根据Gartner的《Gartner2016年度新兴技术成熟度曲线》,目前SDx目前处于期望膨胀期的末期,也标志着此类技术基本已经成熟状态。软件定义一切(SDx)是市场上一系列技术的总称,包含了通过自动化云计算、开发运营(DevOp),以及快速基础设施配置的驱动,为基础设施可编程性和数据中心互用性改进标准。用“软件定义”一词的潮流源自软件定义网络(SDN),它能将大量不同的个人设备中分散的网络逻辑和政策集成一个软件。由于SDN将软硬件分开,因此可能分离了购买决策,并且允许采用通
运行ovs后,Linux系统中会多出一块状态是down掉的网卡ovs-system:
一.前言 由于OpenStack Neutron项目本身的高度复杂性和抽象性,加之我仅作为一名初学者,其理解能力有限。因此这里,阐述的仅是凤毛麟角而已,其目的是帮助、引导和我一样对Neutron又敬又畏的朋友们!如果本文中出现纰漏和错误,恳请指正。接受教育,本身也是一种学习。 📷 在这里,需要指出的是,本文仅从宏观角度而言,起一个引导、抛砖引玉的作用。 ——即实现Neutron的整体原理是什么。 好了,下面让我们一起踏上Neutron这条不归之路吧! 二.Neutron架构 Neu
一、前言 本文提供了一种可行的、灵活的方案用于构建跨主机的Docker容器网络。鉴于目前的各类网络方案均依赖其他大型项目(比如CoreOS,Kubernetes)。本文的主旨就是抛开其他不必要的依赖,构建一个在大多数平台上都能运行的网络方案。 pipework,是由Docker的工程师Jérôme Petazzoni开发的一个Docker网络配置工具,由200多行shell代码写成,适合在多种不同的网络环境下配置容器网络,支持多种功能。github获取地址:https://github.com/jpetaz
编者按:众所周知在Linux系统中PID、IPC、Network等都是全局性的资源,任何的修改和删减都会对整个系统造成影响,这也是为什么KVM之类的虚拟化技术需要模拟一个完整成主机系统的原因。但是,在Linux NameSpace中这些PID、IPC、Network等都不再是全局性的资源,基于NameSpace的虚拟化技术是内核级别的虚拟化,具有敏捷、安全、资源轻消耗等优点。在云计算的信息化建设中,计算资源和存储资源的虚拟化已经做的非常好并且具有丰富的解决方案。但是网络的虚拟化的技术还在逐步成熟的过程中,在
在上一期,我们留下了一个问题:如何通过让专业的人做专业的事,提升虚拟化网元vSwitch的性能?
一.前言 由于OpenStack Neutron项目本身的高度复杂性和抽象性,加之作为一名初学者,其理解能力有限。因此这里,阐述的仅是凤毛麟角而已,其目的是帮助、引导和我一样对Neutron又敬又畏的朋友们!如果本文中出现纰漏和错误,恳请指正。接受教育,本身也是一种学习。 在这里,需要指出的是,本文仅从宏观角度而言,起一个引导、抛砖引玉的作用。 ——即实现Neutron的整体原理是什么。 二.Neutron架构 Neutron项目共由约1千多个文件构成(k版)。 # tree -l 1 neutron/ 3
wget http://openvswitch.org/releases/openvswitch-1.2.2.tar.gz ;
https://zhuanlan.zhihu.com/p/273536550zhuanlan.zhihu.com
在过去十几年中,虚拟化已经改变了应用、数据、服务的实现部署方式。服务器的虚拟化给数据中心网络带来了根本性的变化。在传统的数据中心网络架构基础上,出现了一个新的、位于物理服务器内的接入层。这个新的接入层包含的设备是运行在x86服务器中的vSwitch,而这些vSwitch连接着一个服务器内的多个workload(包括容器和虚机)。
OpenStack在这几年风生水起。随着核心模块稳定性的提高,OpenStack已经有了很多大规模商用的案例,所有与云相关的,无论是商用软件还是开源平台都在积极地寻求着与OpenStack的对接,OpenStack正在成为云计算业界事实上的IaaS标准。 在网络这一口,OpenStack经历了由nova-network到Quantum再到Neutron的演进过程。我们首先来简要地看看各个版本网络的特征: 1)Nova-network是隶属于nova项目的网络实现,它利用了linux-bridge(早期,
为了使虚拟机与外部进行网络通信,需要为虚拟机配置网络环境。KVM虚拟化支持Linux网桥、Open vSwitch网桥等多种类型的网桥。如图所示,数据传输路径为"虚拟机 -> 虚拟网卡设备 -> Linux网桥或Open vSwitch网桥 -> 物理网卡"。
OpenStack在这几年风生水起。随着核心模块稳定性的提高,OpenStack已经有了很多大规模商用的案例,所有与云相关的,无论是商用软件还是开源平台都在积极地寻求着与OpenStack的对接,OpenStack正在成为云计算业界事实上的IaaS标准。 在网络这一口,OpenStack经历了由nova-network到Quantum再到Neutron的演进过程。我们首先来简要地看看各个版本网络的特征: 1 Nova-network是隶属于nova项目的网络实现,它利用了linux-bridge(早期,目前
云计算是一种按需分配、按使用量收费的使用模式,提供了一个可配置的资源共享池,用户可以通过网络访问,获取存储空间、网络带宽、服务器、应用软件等等服务。
PVE默认使用Linux自带的网桥提供网络交换服务,在划分vlan的时候还需要修改IP路由表文件,配置稍显繁琐。
概念 现在云计算大行其道,以kvm和docker为代表,极大地利用了机器的硬件资源,模拟了操作系统,而在海量虚拟机场景下,传统的硬件交换机越来越难以满足需求了。为了更加高效地利用网络,SDN应运而生。而SDN如何落地很大程度上取决于如何用软件交换机替代传统的交换机。 从名称来看,openvswitch就是一个用软件实现的虚拟交换机。一个物理交换机基本支持flows, VLANs, trunking, QoS, port aggregation, firewalling, 还有一些具备3层交换的功能,而虚拟环
本文通过docker的网络介绍容器网络的原理以及一些实践,通过实践一遍相信大家会对网络底层的原理有个更深的理解,最后给出对接ovs的教程,这对下一篇k8s对接ovn的原理理解打下一个基础。
惠伟:networking-sfc deep dive 2zhuanlan.zhihu.com
接前面这个写起,比较过linux kernel vxlan device和ovs vxlan的性能,很好奇ovs vxlan是怎么实现的,linux kernel vxlan device是用如下命令创建的。
首先介绍一下自己的来路,我是一个纯粹的开发出身,比较熟悉的开发语言是Java和Python。之前的工作也基本上都是和开发相关,对于云计算仅仅懂得“调用调用API”。 和很多初入云计算和SDN的人一样,随着工作和“云计算”的关系越来越深入,特别是自己加入到电信之后发现对“网络”的要求越来越高。没有任何传统网络基础的我是一脸懵逼,凭借着大学时候学过《计算机网络》的一点基础知识通过很长时间的摸爬滚打有那么一点“感悟”。现在把自己的“感悟”分享出来,希望能对“在路上”的朋友有点帮助。 我先分享一下自己对SDN和做S
一、Openstack网络基础 下面对Openstack和Neutron的介绍,要从几个关键词入手。 1. 三代网络 在网络这一口,OpenStack经历了由nova-network到Quantum再到Neutron的演进过程。我们直观地来看看三代网络的对比分析: 📷 1)Nova-network是隶属于nova项目的网络实现,它利用了linux-bridge(早期,目前也支持OVS)作为交换机,具备Flat、Flat DHCP、VLAN三种组网模式。优点是性能出色,工作稳定,支持mu
Mininet作为一个轻量级的SDN仿真工具,在其系统实现架构中充分利用了Linux命名空间内核技术,其中Linux Network Namespace机制更是Mininet软件架构的基石,对网络资源
基于3月26号,在 Dockone 社区的分享整理的内容,效果还不错,最后的QA环节问题超级多,据说是之前最多一次的两倍。这次只是基本概念的介绍,具体我们的架构实现以及开源的信息会之后放出来。
顾名思义,veth-pair 就是一对的虚拟设备接口,和 tap/tun 设备不同的是,它都是成对出现的。一端连着协议栈,一端彼此相连着。如下图所示:
我们接着上一篇博文OpenStack icehouse系列之控制节点搭建继续往下开始搭建下面是环境介绍。
OpenStack作为当前和可预见时间内最为热门的云计算技术(没有之一),业已获得广泛的企业市场应用和众多IT巨头的支持,更是以近日(7月17日)一位最具重量级的新成员——Google,签约加入Ope
由之前发布的文章知道 Open vSwitch(Open Source Virtual Switch) 是一款基于软件实现的开源虚拟交换机。
1. NSH-SFC概述 当前SFC的实现方案主要分为两种:一种基于NSH(network service header)。数据封装时,在L2或者L3数据后添加NSH头,然后进行L3或L4的封装。转发时,根据nshheader去转发SFC中的数据,整个过程都是依据同一个SPI(service path id)和递减的SI(service index);另一种无NSH头,在转发过程中,SFF需要不停对新来的数据包进行判断,确定是否属于某个SFC。ODL的子项目SFC就是第一种的实现。 1.1 NSH-SFC组
本文为3月26日灵雀云Kubernetes专家刘梦馨在Dockone社区的主题分享。他从Kubernetes网络的局限性、OVS和OVN网络方案的能力、OVN和Kubernetes的结合、Kubernetes网络增强的未来方向等方面分享了他本人的思考,以及灵雀云在此方面的产品进展。灵雀云近期研发的基于OVN的Kubernetes网络将很快与大家见面。欢迎各位关注!
本文为笔者阅读大量文档和做实验的心得。本文不包含任何认证考试解密内容,如想系统性学习红帽OpenStack,请联系红帽公司培训部门。
CL210考试环境 笔者在今年5月份参加了OpenStack CL210培训。但是对培训过程中实验环境的网络拓扑当时没有弄明白,后来看了一些资料,总算有了大概的了解。 书上实验的拓扑图见上图。乍一看
前言 上一章介绍了GNS3的使用以及OVN系统的架构,搭建了实验环境,阐述了OVN各个进程的用途、彼此之间的关系,以及产生的日志(OVN实战一之GNS3操作指南及OVN入门,http://www.sd
惠伟:openstack网络设计-(一)试探zhuanlan.zhihu.com
在前一篇文章 《从计算虚拟化到网络虚拟化》中提到,将虚拟私有云(VPC)中,各个网络节点互联的是通过虚拟网元实现的。那么,在现实中,谁扮演虚拟网元的角色呢?
OpenStack最基本和常用的操作就是启动虚机。虚机启动的过程中涉及很多内容,其中非常重要的一个环节就是创建并绑定虚机的虚拟网卡。虚机的创建和管理是Nova的任务,虚机网络的创建和管理是Neutron的任务,而虚机网卡,作为连接虚机和虚机网络的桥梁,其创建和管理则同时涉及了Nova和Neutron。这次介绍一下,OpenStack中虚机的网卡的创建过程。虽然本文的介绍将基于OpenVSwitch,但是你可以发现,很少有特殊于OpenVSwitch的地方,所以其他的二层机制(例如:Linux Bridge)
前一段时间自己私下一直学习Open vSwitch。起初学习Open vSwitch的目的,只是为了更好的学习OpenFlow协议,然而当我看到Open vSwitch处理OpenFlow协议的入口函数时(即handle_OpenFlow__),突然感觉这代码的写的太NB啦。为什么这么说呢?因为Open vSwitch最新版本,号称支持of1.0,of1.1,of1.2,of1.3,of1.4,of1.5。然而它只用一个switch-case解决了协议版本差异性,它是怎么做到呢?带着这种疑问,开始了我学习O
阅读本文大概 4.7 分钟 在前文「从 Bridge 到 OVS」中,我们已经对 OVS 进行了一番探索。本文决定从 OVS 的整体架构到各个组件都进行一个详细的介绍。 OVS 架构 OVS 是产品级的虚拟交换机,大量应用在生产环境中,支撑整个数据中心虚拟网络的运转。OVS 基于 SDN 的思想,将整个核心架构分为控制面和数据面,数据面负责数据的交换工作,控制面实现交换策略,指导数据面工作。 📷 从整体上看,OVS 可以划分为三大块,管理面、数据面和控制面。 数据面就是以用户态的 ovs-vswitchd
众所周知,OpenvSwitch 以其丰富的功能和不错的性能,已经成为 Openstack 部署中最受欢迎的虚拟交换机。由于 Openstack Neutron 的架构引入了一些性能问题,比如 neutron-server 要与非常多的 agent 通信,RPC 就是一个性能瓶颈,还有 neutron 里面用到非常多的 namespace,namespace 资源有限而且系统开销比较大,这也是一个性能瓶颈。OVS 社区觉得从长远来看,Neutron 应该让一个其它的项目来做虚拟网络的控制平面,Neutron 只需要提供 API 的处理,于是 OVS 社区推出了 OVN(Open Virtual Switch)这个项目,OVN 是 OVS 的控制平面,它给 OVS 增加了对虚拟网络的原生支持,大大提高了 OVS 在实际应用环境中的性能和规模。
-- --id=@newqos create qos type=linux-htb other-config:max-rate=100000000 queues=0=@q0,1=@q1 \
领取专属 10元无门槛券
手把手带您无忧上云