什么是OpenStack?
本文详细介绍了Openstack的网络原理和实现,主要内容包括:Neutron的网络架构及网络模型还有neutron虚拟化的实现和对二三层网桥的理解。一、Neutron概述Neutron是一个用Python写的分布式软件项目,用来实现OpenStack中的虚拟网络服务,实现软件定义网络。Neutron北向有自己的REST API,中间有自己的业务逻辑层,有自己的DB和进程之间通讯的消息机制。同时Neutron常见的进程包括Neutron-server和Neutron-agent,分布式部署在不同的操作系统。OpenStack发展至今,已经经历了20个版本。虽然版本一直在更替,发展的项目也越来越多,但是Neutron作为OpenStack三大核心之一,它的地位是不会动摇的。只不过当初的Neutron也只是Nova项目的一个模块而已,到F版本正式从中剥离,成为一个正式的项目。从Nova-Network起步,经过Quantum,多年的积累Neutron在网络各个方面都取得了长足的发展。其主要的功能为:(1)支持多租户隔离(2)支持多种网络类型同时使用(3)支持隧道技术(VXLAN、GRE)(4)支持路由转发、SNAT、DNAT技术(5)支持Floating IP和安全组多平面租户私有网络图中同时有VXLAN和VLAN两种网络,两种网络之间互相隔离。租户A和B各自独占一个网络,并且通过自己的路由器连接到了外部网络。路由器为租户的每个虚拟机提供了Float IP,完成vm和外网之间的互相访问。二、Neutron架构及网络模型1、Neutron架构Neutron-sever可以理解为类似于nova-api那样的一个专门用来接收API调用的组件,负责将不同的api发送到不同Neutron plugin。Neutron-plugin可以理解为不同网络功能实现的入口,接收server发来的API,向database完成一些注册信息。然后将具体要执行的业务操作和参数通知给对应的agent来执行。Agent就是plugin在设备上的代理,接受相应的plugin通知的业务操作和参数,并转换为具体的命令行操作。总得来说,server负责交互接收请求,plugin操作数据库,agent负责具体的网络创建。2、Neutron架构之Neutron-Server(1)Neutron-server的本质是一个Python Web Server Gateway Interface(WSGI),是一个Web框架。(2)Neutron-server接收两种请求:REST API请求:接收REST API请求,并将REST API分发到对应的Plugin(L3RouterPlugin)。RPC请求:接收Plugin agent请求,分发到对应的Plugin(NeutronL3agent)。3、Neutron架构之Neutron-PluginNeutron-plugin分为Core-plugin和Service-plugin。Core-plugin:ML2负责管理二层网络,ML2主要包括Network、Subnet、Port三类核心资源,对三类资源进行操作的REST API是原生支持的。Service-plugin:实现L3-L7网络,包括Router、Firewall、VPN。4、Neutron架构之Neutron-Agent(1)Neutron-agent配置的业务对象是部署在每一个网络节点或者计算节点的网元。(2)网元区分为PNF和VNF:PNF:物理网络功能,指传统的路由器、交换机等硬件设备VNF:虚拟网络功能,通过软件实现的网络功能(二层交换、三层路由等)(3)Neutron-agent三层架构如下图:Neutron-agent架构分为三层,北向为Neutron-server提供RPC接口,供Neutron server调用,南向通过CLI协议栈对Neutron VNF进行配置。在中间会进行两种模型的转换,从RPC模型转换为CLI模型。5、Neutron架构之通信原理(1)Neutron是OpenStack的核心组件,官网给出Neutron的定义是NaaS。(2)Naas有两层含义:对外接口:Neutron为Network等网络资源提供了RESTful API、CLI、GUI等模型。内部实现:利用Linux原生或者开源的虚拟网络功能,加上硬件网络,构建网络。Neutron接收到API请求后,交由模块WSGI进行初步的处理,然后这个模块通过Python API调用neutron的Plugin。Plugin做了相应的处理后,通过RPC调用Neutron的Agent组件,agent再通过某种协议对虚拟网络功能进行配置。其中承载RPC通信的是AMQP server,在部署中常用的开源软件就是RabbitMQ6、Neutron架构之控制节点网络模型控制节点没有实现具体的网络功能,它对各种虚拟设备做管理配合的工作。(1)Neutron:Neutron-server核心组件。(2)API/CLI:Neutron进程通过API/CLI接口接收请求。(3)OVS Agent:Neutron通过RPC协议与agent通信。控制节点部署着各种服务和Neutron-server,Neutron-server通过api/cli接口接收请求信息,通过RPC和Agent进行交互。Agent再调用ovs/linuxbridge等网络设备创建网络。7、Neutron架构之计算节点网络模型(1)qbr:Linux Bridge网桥(2)br-int:OVS网桥(3)br-tun:OVS隧道网桥(4)VXLAN封装:网络类型的转变8、Neutron架构之网络节点网络模型网络节点部署了Router、DHCP Server服务,网桥连接物理网卡。(1)Router:路由转发(2)DHCP: 提供DNS、DHCP等服务。(3)br-ex: 连接物理网口,连接外网三、Neutron虚拟化实现功能及设备介绍1、Neutron虚拟化实现功能Neutron提供的网络虚拟化能力包括:(1)二层到七层网络的虚拟化:L2(virtual Switch)、L3(virtual Router 和 LB)、L47(virtual Firewall )等(2)网络连通性:二层网络和三层网络(3)租户隔离性(4)网络安全性(5)网络拓展性(6)REST API(7)更高级的服务,包括 LBaaS,FWaaS,VPNaaS 等2、Neutron虚拟化功能之二层网络(1)按照用户权限创建网络:Provider network:管理员创建,映射租户网络到物理网络Tenant network:租户创建的普通网络External network:物理网络(2)按照网络类型:Flat network:所有租户网络在一个网络中Local network:只允许在服务器内通信,不通外网VLAN network:基于物理VLAN实现的虚拟网络VXLAN network:基于VXLAN实现的虚拟网络3、Neutron虚拟化实现功能之租户隔离Neutron是一个支持多租户的系统,所以租户隔离是Neutron必须要支持的特性。(1)租户隔离三种含义:管理面隔离、数据面的隔离、故障面的隔离。(2)不同层次租户网络的隔离性租户与租户之间三层隔离同一租户不同网络之间二层隔离同一租户同一网络不同子网二层隔离(3)计算节点的 br-int 上,Neutron 为每个虚机连接 OVS 的 access port 分配了内部的 VLAN Tag。这种 Tag 限制了网络流量只能在 Tenant Network 之内。(4)计算节点的 br-tun 上,Neutron 将内部的 VLAN Tag 转化为 VXLAN Tunnel ID,然后转发到网络节点。(5)网络节点的 br-tun 上,Neutron 将 VXLAN Tunnel ID 转发了一一对应的 内部 VLAN Tag,使得 网络流被不同的服务处理。(6)网络节点的 br-int 上连接的 DHCP 和 L3 agent 使用 Linux Network Namespace 进行隔离。4、Neutron虚拟化实现功能之租户网络安全除了租户隔离以外 Neutron还提供数据网络与外部网络的隔离性。(1)默认情况下,所有虚拟机通过外网的流量全部走网络节点的L3 agent。在这里,内部的固定IP被转化为外部的浮动IP地址(1)Neutron还利用Linux iptables特性,实现其Security Group特性,从而保证访问虚机的安全性(3)Neutron利用网络控制节点上的Network Namespace中的iptables,实现了进出租户网络的网络防火墙,从而保证了进出租户网络的安全性。5、Neutron虚拟化设备(1)端口:Port代表虚拟网络交换机上的一个虚拟交换机端口虚拟机的网卡连接到Port上就会拥有MAC地址和IP地址(2)虚拟交换机:Neutron默认采用开源的Openvswitch,同时还支持Linux Bridge(3)虚拟路由器VR:路由功能一个VR只属于一个租户,租户可以有多个VR一个VR可以有若干个子网VR之间采用Namespace隔离四、Neutron网桥及二三层网络理解1、Neutron-Local-Bridge仅用于测试;网桥没有与物理网卡相连VM不通外网。图中创建了两个local network,分别有其对应的qbr网桥。Vm123的虚拟网卡通过tap连接到qbr网桥上。其中2和3属于同一个network可以通信,1属于另一个网络不能和23进行通信。并且qbr网桥不连物理网卡,所以说local网络虚拟机只能同网络通信,不能连通外网。2、Neutron-Flat-BridgeLinux Bridge直接与物联网卡相连每个Flat独占一个物理网卡配置文件添加响应mappingFlat网络是在local网络的基础上实现不同宿主机之间的二层互联,但是每个flat network都会占用一个宿主机的物理接口。其中qbr1对应的flatnetwork 连接 eth1 qbr2,两个网络的虚机在物理二层可以互联。其它跟local network类似。3、Neutron-VLAN-Bridge在基于linux bridge的vlan网络中,eht1物理网卡上创建了两个vlan接口,1.1连接到qbr1网桥,1.2连接到了qbr2网桥。在这种情况下vm通过eth1.1或者eth1.2发送到eth1的包会被打上各自的vlan id。此时vm2和vm3属于同一个network所以是互通的,vm与vm2和vm3不通。4、Neutron-VXLAN-Bridge这个是以Linux bridge作agent的Vxlan网络:Vxlan网络比Vxlan网络多了个VXLAN隧道,在Openstack中创建好内部网络和实例后,agent就会在计算节点和网络节点创建一对vxlan vtep.组成隧道的两个端点。Vxlan连接在eth0网口。在网络节点多了两个组件dhcp 和router,他们分别通过一对veth与qbr网桥连接在一起,多个dhcp和路由之间使用namesapce隔离,当vm产生ping包时,发往linux 网桥qbr1,通过网桥在vxlan12上封装数据包,数据通过eth0网卡出计算节点到网络节点的eth0,在vxlan12解包。到达路由器之后经过nat地址转换,从eth1出去访问外网,由租户网络到运营商网络再到外部网络。5、Neutron-VLAN-OVS与Linux bridge不同,openvswitch 不是通过eth1.1 eth1.2这样的vlan接口来隔离不同的vlan,而是通过openvswitch的流表规则来指定如何对进出br-int的数据进行转发,实现不同vlan的隔离。图中计算节点的所有虚拟机都连接在int网桥上,虚拟机分为两个网络。Int网桥会对到来的数据包根据network的不同打上vlan id号,然后转发到eth网桥,eth网桥直连物理网络。这时候流量就从计算节点到了网络节点。网络节点的ehx int网桥的功能相似,多了一个ex网桥,这个网桥是管理提前创建好的,和物理网卡相连,ex网桥和int网桥之间通过一对patch-port相连,虚拟机的流量到达int网桥后经过路由到ex网桥。6、Neutron-VXLAN-OVSVxlan的模型和vlan的模型十分相似,从表面上来看,他俩相比只有一个不同,vlan对应的是ethx网桥,而vxlan对应的是tun网桥。在这里ethx和tun都是ovs网桥,所以说两者的差别不是实现组件的差别而是组件所执行功能的差别,ethx执行的是普通二层交换机的功能,tun执行的是vxlan中的vtep的功能,图中俩tun对应的接口ip就是vxlan的隧道终结点ip。所以说虚机的数据包在到达tun网桥之前是打的是vlan tag,而到达tun之后会发生网络类型的转换,从vlan封装为vxlan然后到达网络节点。而之前的vlan类型的网络,虚机数据包的类型一直都是vlan。7、物理的二层与虚拟的二层(VLAN模式)(1)物理的二层指的是:物理网络是二层网络,基于以太网协议的广播方式进行通信。(2)虚拟的二层指的是:Neutron实现的虚拟网络也是二层网络(openstack的vm机所用的网络必须是大二层),也是基于以太网协议的广播方式进行通信,但毫无疑问的是该虚拟网络是依赖于物理的二层网络。(3)物理二层+虚拟二层的典型代表:VLAN网络模式。8、物理的三层与虚拟的二层(GRE模式与VXLAN模式)(1)物理三层指的是:物理网络是三层网络,基于IP路由的方式进行通信。(2)虚拟的二层指的是:Neutron实现的虚拟网络仍然是二层网络(openstack的vm机所用的网络必须是大二层),仍然是基于以太网的广播方式进行通信,但毫无疑问的是该虚拟机网络是依赖于物理的三层网络,这点有点类似于VPN的概念,根本原理就是将私网的包封装起来,最终打上隧道的ip地址传输。(3)物理三层+虚拟二层的典型代表:GRE模式与VXLAN模式。
OpenStack 是一个开源云平台,主要由私有云供应商和提供公共云服务的商业公司使用,这些公共云服务将 OpenStack 作为其基础架构的一部分进行部署。埃科锐的私有云搭建允许企业和应用程序所有者将基础设施作为服务使用,而无需考虑安装服务器、存储和网络的复杂性∞
OpenStack 起源于Rackspace Hosting 和 NASA 的联合项目,它是一个流行的云平台,有超过 740 个组织与开源平台相关联。 它广泛用于提供私有云服务的数据中心。 此外,OpenStack 安装支持基础架构即服务 (IaaS) 模型,例如我们在 Accrets.com 上的 OpenStack IaaS 解决方案提供了一种新的模型∞
openstack.org 网站指出,OpenStack“控制着整个数据中心的大型计算、存储和网络资源池; 所有这些都通过具有通用身份验证机制的 API 进行管理和配置。” OpenStack 还为系统管理员提供了基于 Web 的仪表板、命令行工具和 RESTful API 来管理这些资源。它允许用户通过 Web 界面配置资源。埃科锐国际通过搭建OpenStack云平台对计算、网络、存储和控制服务等进行管理进而加速和优化企业的云之旅∞

华为交换机支持 vxlan 技术么
http://e.huawei.com/cn/products/enterprise-networking/switches/data-center-switches/ce12800 这里有哦
航运涯烈喳喳赫闹

vxlan和vlan区别是什么?
vxlan和vlan区别是:VXLAN是一种网络虚拟化技术,可以改进大型云计算在部署时的扩展问题,是对VLAN的一种扩展。VXLAN是一种功能强大的工具,可以穿透三层网络对二层进行扩展。它可通过封装流量并将其扩展到第三层网关,以此来解决VMS(虚拟内存系统)的可移植性限制,使其可以访问在外部IP子网上的服务器。VLAN(Virtual Local Area Network)的中文名为"虚拟局域网"。虚拟局域网(VLAN)是一组逻辑上的设备和用户,这些设备和用户并不受物理位置的限制,可以根据功能、部门及应用等因素将它们组织起来,相互之间的通信就好像它们在同一个网段中一样,由此得名虚拟局域网。基本原理VXLAN(Virtual eXtensible Local Area Network)是一种隧道技术,能在三层网络的基础上建立二层以太网网络隧道,从而实现跨地域的二层互连。VXLAN采取了将原始以太网报文封装在UDP数据包里的封装格式。将原来的二层数据帧加上VXLAN头部一起封装在一个UDP数据包里。VXLAN头部包含有一个VXLAN标识(即VNI,VXLAN Network Identifier),只有在同一个VXLAN上的虚拟机之间才能相互通信。VNI在数据包之中占24比特,故可支持1600万个VXLAN的同时存在,远多于VLAN的4094个,因此可适应大规模租户的部署。VXLAN一般通过安装在服务器上的软件实现报文的封装与解封装,网络只要IP路由可达即可。VXLAN实现了应用与物理网络的解耦,但网络与虚拟机还是相互独立的。业界一般通过网络控制器(如SDN,Software Defined Network)实现VXLAN网络与云业务的联动。当虚拟机发生迁移后,虚机/存储控制器会把虚拟机迁移信息通知给网络控制器,网络控制器根据虚拟机迁移的新位置,重新调整网络配置,从而实现网络与云业务的联动。也就是说,物理网络可以是传统的三层IP网络,路由可达即可。虚拟机可跨三层IP网络远距离迁移,不再受限于二层技术。物理网络也无需允许所有VLAN通过。接入交换机需要学习的MAC地址的数量也大大减少,削弱了网络设备MAC地址表项规格对虚拟机规模的约束。

vxlan支持哪几种配置
VLAN作为数通领域最基础的技术,项目中使用非常多,那么VLAN如何配置呢,下面以华为交换机为例,为大家介绍VLAN配置。 1. 本拓扑包含两台交换机及四台PC;2. 四台PC分别被规划到两个VLAN,VLAN10及VLAN20;3. PC的IP规划如图所示,VLAN10使用192.168.10.0/24的地址空间;VLAN20使用192.168.20.0/24的地址空间配置要求1. 根据图中所示,在交换机上创建相关VLAN;2. 将PC所连接的端口划分给相应的VLAN;3. 配置完成后,仅在交换机上查看VLAN即可。步骤及配置SW1的配置如下:SW2的配置如下:完成上述配置后,我们来检验一下:[SW1] display vlan 我们看到本机一共有3个VLAN:1、10、20,其中VLAN1为默认VLAN,在默认情况下,交换机的所有端口均划分到VLAN1。经过我们上述的配置后,可以通过display vlan命令看到VLAN10中已经添加了GE0/0/1接口,VLAN20中已经添加了GE0/0/2接口。
然后看具体的状况,一般情况下的话它应该支持三种到4种配置,都是完全没有任何问题,可以达到好的效果的。
找人设计,拿这个配置,这个颜色有很多的设计比较简约,你陪着,要不然他都应该就没办,就是最正经还是要注意的。
我感觉你如果想看一下它的配置的话,非常简单,直接打开只是一个设置,然后拍它的型号上面肯定会有的。
Vex LAN支持哪几种配置,它是支持中高两种配置的。

vxlan和sdn是什么关系?
一、VLAN介绍VLAN,是英文VirtualLocalAreaNetwork的缩写,中文名为"虚拟局域网",VLAN是 一种将局域网(LAN)设备从逻辑上划分(注意,不是从物理上划分)成一个个网段(或者 说是更小的局域网LAN),从而实现虚拟工作组(单元)的数据交换技术。 VLAN这一新兴技术主要应用于交换机和路由器中,但目前主流应用还是在交换机之中 。不过不是所有交换机都具有此功能,只有三层以上交换机才具有此功能,这一点可以查 看相应交换机的说明书即可得知。VLAN的好处主要有三个: (1)端口的分隔。即便在同一个交换机上,处于不同VLAN的端口也是不能通信的。这 样一个物理的交换机可以当作多个逻辑的交换机使用。 (2)网络的安全。不同VLAN不能直接通信,杜绝了广播信息的不安全性。 (3)灵活的管理。更改用户所属的网络不必换端口和连线,只更改软件配置就可以了。 二、VXLAN介绍什么是VXLANVXLAN全称VirtualeXtensibleLAN,是一种覆盖网络技术或隧道技术。VXLAN将虚拟机发出的数据包封装在UDP中,并使用物理网络的IP/MAC作为outer-header进行封装,然后在物理IP网上传输,到达目的地后由隧道终结点解封并将数据发送给目标虚拟机。为什么需要Vxlanvlan的数量限制 4096个vlan远不能满足大规模云计算数据中心的需求2.物理网络基础设施的限制基于IP子网的区域划分限制了需要二层网络连通性的应用负载的部署3.TOR交换机MAC表耗尽虚拟化以及东西向流量导致的MAC表项4.多租户场景IP地址重叠?什么是隧道技术隧道技术(Tunneling)是一种通过使用互联网络的基础设施在网络之间传递数据的方式。使用隧道传递的数据(或负载)可以是不同协议的数据帧或包。隧道协议将其它协议的数据帧或包重新封装然后通过隧道发送。新的帧头提供路由信息,以便通过互联网传递被封装的负载数据。这里所说的隧道类似于点到点的连接,这种方式能够使来自许多信息源的网络业务在同一个基础设施中通过不同的隧道进行传输。隧道技术使用点对点通信协议代替了交换连接,通过路由网络来连接数据地址。隧道技术允许授权移动用户或已授权的用户在任何时间、任何地点访问企业网络。通过隧道的建立,可实现:*将数据流强制送到特定的地址*隐藏私有的网络地址*在IP网上传递非IP数据包*提供数据安全支持隧道技术好处隧道协议有很多好处,例如在拨号网络中,用户大都接受ISP分配的动态IP地址,而企业网一般均采用防火墙、NAT等安全措施来保护自己的网络,企业员工通过ISP拨号上网时就不能穿过防火墙访问企业内部网资源。采用隧道协议后,企业拨号用户就可以得到企业内部网IP地址,通过对PPP帧进行封装,用户数据包可以穿过防火墙到达企业内部网。隧道的应用VPN具体实现是采用隧道技术,将企业网的数据封装在隧道中进行传输。隧道协议可分为第二层隧道协议PPTP、L2F、L2TP和第三层隧道协议GRE、IPsec。它们的本质区别在于用户的数据包是被封装在哪种数据包中在隧道中传输的。 三、GRE介绍GRE特点跨不同网络实现二次IP通信2.L3上面包装L33.封装在IP报文中4.点对点隧道GRE好处不用变更底层网络架构重建L2、L3通信实现不同host之间网络guest互通方便guest迁移支持网络数量扩大对于GRE遂道,缺点主要是一是增加了GRE表头会导致本应由交换机硬件来分片的变成由软件来分片(STT技术可以弥补这一点);二是GRE广播,且遂道将虚拟二层打通了,广播风暴更厉害。但对于虚机来说,因为虚拟交换机是完全能够知道虚机的IP和MAC地址的映射关系的,根本不需要通过ARP广播来根据IP找MAC地址,目前Neutron中有这类似的blueprint可以禁止广播。所以个人比较看好STT技术,因为目前openvswitch与linuxkernel还未实现STT,所以Neutron目前没有STT插件(但有VXLAN和GRE插件)。

本文由 在线网速测试 整理编辑,转载请注明出处。