OpenStack Neutron网络里使用VLAN, VXLAN和GRE要注意什么

原创 2015年11月19日 14:27:00

在OpenStack Neutron的官方Wiki上有一个链接,指向了一篇介绍Neutron的文章。这个文章写到非常好,关键还居然是中文写的,链接如下:

https://yeasy.gitbooks.io/openstack_understand_neutron/content/intro/index.html


这篇文章对于Neutron中的VLAN, GRE, VXLAN, NameSpace以及DVR(Distributed Virtual Route)给出了非常详细的介绍和数据说明。在这里我要由衷的感谢文章的作者。


然而在实际学习、使用Neutron的过程中,我还是遇到了很多问题,而这些问题在网上基本很难找到答案。于是我结合自己对于Neutron的理解以及处理问题的过程,写下如下文字,希望帮助后来者少走弯路。


首先需要理解Neutron或者Open vSwitch里涉及的一些虚拟网络设备和基本概念,虚拟网络设备中最重要的就是qbr-XXX, br-int, br-tun, br-ex以及br-ethX。

-- qbr-XXX是一个Linux Bridge,位于虚机网卡(tap-xxx)和br-int之间,主要作用是提供Security Group功能。

-- br-int是集成网桥(Integration Bridge),所有虚机网卡(tap-xxx)通过qbr虚拟设备后,再连接到 br-int。同一个物理节点上的同一VLAN(或者VXLAN, 或者GRE)的虚拟机可以通过br-int通信,不同VLAN(或者VXLAN, 或者GRE)就需要转发到br-tun或者br-ethX。

-- br-tun是隧道网桥f(Tunnel Bridge),负责接收来自br-int的需要做VXLAN或者GRE封装的数据包,封装后发往其它节点的br-tun设备。对于来自其它节点br-tun的VXLAN或者GRE数据包,它会在检查确认tunnel ID符合后,将tunnel ID转换为内部的VLAN ID,并将转换完成的数据包发给br-int处理。

-- br-ethX是专门用户处理VLAN数据包的网桥,它会接收来自br-int的需要做VLAN tag转换的数据包,转换后发送给物理网卡ethX,然后到物理交换机处理。对于来自物理网卡ethX的带有VLAN tag的数据包,它会在检查VLAN tag符合后,将相应的数据包转发给br-int处理。br-int负责将来自br-ethX的数据包做反相的VLAN tag转换。

-- 这里有一个很重要的概念就是会出现两种VLAN tag,一种是虚拟机网卡出来的数据包带的vlan tag,一种是在br-ethx转换后的vlan tag。前者是Open vSwitch内部(主要是br-int)用来标记数据包所属网络的方式,所有类型(VLAN, VXLAN, GRE)的网络都会有这种vlan tag。而后者才是实际上创建VLAN网络时分配的VLAN ID。


如下是一些问题的解答:


问题1: 在使用GRE或者VXLAN作为Tunnel类型时,是否还能在租户网络里使用VLAN

==> 答案是不能,因为如果租户网络类型是VLAN,虚拟机发出的带有内部VLAN tag的数据包会被br-int直接转发到br-ethX处理,而不会经过br-tun。所以br-tun不会起到数据传输的作用。如果没有配置br-ethX,VLAN就无法使用。


问题2: 如果在租户网络里使用VLAN,要注意什么?

==> 需要注意两个方面:1. 要配置br-ethX,并且将br-ethX的一个port设置为实际的物理网卡ethX;2. 物理网卡ethX连接的交换机端口需要配置为Trunk模式,允许所有VLAN tag通过。


问题3: 在使用GRE作为Tunnel类型时,是否还能在租户网络里使用VXLAN?反过来是否也可行?

==> 答案是不行。Tunnel类型为GRE时,租户网络类型也只能是GRE。对于VXLAN也适用


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

使用ml2 plugin配置OpenStack Neutron gre 网络

OS:RHEL6.4 OpenStack version:Havana ALL_IN_ONE模式,所有服务都在一台机器上: 1. 为了在RHEL6.4上支持GRE,需要从RDO源: ht...

OpenStack OVS GRE/VXLAN网络

学习或者使用OpenStack普遍有这样的现象:50%的时间花费在了网络部分;30%的时间花费在了存储方面;20%的时间花费在了计算方面。OpenStack网络是不得不逾越的鸿沟,接下来我们一起尝试努...

深入理解Neutron -- OpenStack网络实现:VXLAN模式

VXLAN模式 VXLAN 模式下,网络的架构跟 GRE 模式类似,所不同的是,不同节点之间通过 VXLAN 隧道互通,即虚拟化层是采用的 VXLAN 协议。 基本结构如下图所示。 其中,节点...

深入理解Neutron -- OpenStack网络实现:GRE模式

GRE模式 下图给出了在OpenStack中网络实现的一个简化的架构示意。 一般的,OpenStack中网络实现包括vlan、gre、vxlan 等模式,此处以gre模式为例。 ...

玩转OpenStack网络Neutron(4)--网络隧道技术 VXALN & GRE

欢迎转载,转载请保留原作者信息 欢迎交流学习,共同进步! 作者:颜海峰 个人博客:http://yanheven.github.io 微博:海峰_云计算 http://weibo.com/34...

深入理解Neutron -- OpenStack网络实现:VLAN模式

VLAN模式 Vlan模式下的系统架构跟GRE模式下类似,如下图所示。 需要注意的是,在vlan模式下,vlan tag的转换需要在br-int和br-ethx两个网桥上进行相互配合。...

配置neutron GRE模式出错,未解决,打算用vlan

GRE模式听说很少用, 但是openstack icehouse的安装文档openstack-install-guide-yum-icehouse.pdf就仅仅讲了这个.我配置了下,出错了. lab...

Openstack Neutron using VXLAN

http://www.opencloudblog.com/?p=300 The networking part of Openstack provides sever...

Openstack组件实现原理 — OpenVswitch/Gre/vlan

目录目录 前文提要 Neutron 管理的网络相关实体 OpenVswitchOVS OVS 的架构 VLan GRE 隧道 Compute Node 中的 Instance 通过 GRE 访问 Pu...
  • Jmilk
  • Jmilk
  • 2016-08-15 00:42
  • 2408

OpenStack Neutron新功能VLAN-aware-VMs介绍

作者: 赵怡 一、VLAN aware VMs简介 "VLAN aware VMs"有时也叫做"VM trunk ports", 主要是让虚拟机收发的vlan tagged报文, 能够被虚拟网络...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)