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也适用


OpenStack网络基础——VXLAN网络

本文旨在介绍VXLAN的基本概念,以及OpenvSwitch中VXLAN的工作原理。最后通过一个实验让读者对VXLAN有一个直观的认识。...
  • zztflyer
  • zztflyer
  • 2016年07月12日 19:41
  • 10760

关于VLAN和VXLAN的理解

被公司调到新网路部门研究SDN,项目涉及到一些虚拟网络的概念。初次接触VLAN和VXLAN技术,特整理资料学习下。 VLAN ·概况      VLAN (Virtual Local Area Ne...
  • octopusflying
  • octopusflying
  • 2017年08月26日 22:48
  • 2266

OpenStack云平台网络模式(flat\flatdhcp\vlan)及其工作机制

网络,是OpenStack的部署中最容易出问题的,也是其结构中难以理清的部分。经常收到关于 OneStack部署网络方面问题和OpenStack网络结构问题的邮件。下面根据自己的理解,谈一谈OpenS...
  • zhongbeida_xue
  • zhongbeida_xue
  • 2017年05月17日 16:40
  • 771

openstack中为什么要用GRE和VLAN?

对于openstack中为什么要用VLAN和GRE的原因,这里算是解惑了: “对于网络隔离,可以采用传统的基于 802.1Q 协议的 VLAN 技术,但这受限于 VLAN ID 大小范围的限制, 并且...
  • epugv
  • epugv
  • 2013年12月06日 18:12
  • 6198

openstack网络(neutron)模式之GRE的基本原理(转)

分享到 捐助 openstack网络(neutron)模式之GRE的基本原理   作者:star...
  • tantexian
  • tantexian
  • 2015年06月12日 13:17
  • 8995

[管理篇6]VMWare搭建Openstack——将FlatDHCP网络转化为GRE网络——原理介绍

对于OpenStack的网络模型,有Flat、FlatDHCP、GRE、VLAN和VXLAN。 简单来说,Flat模型就是所有OpenStack的虚拟机在一个网段中192.168.1.0-1...
  • chinagissoft
  • chinagissoft
  • 2015年06月17日 11:45
  • 809

OpenStack云平台网络模式(flat\flatdhcp\vlan)及其工作机制

网络,是OpenStack的部署中最容易出问题的,也是其结构中难以理清的部分。经常收到关于 OneStack部署网络方面问题和OpenStack网络结构问题的邮件。下面根据自己的理解,谈一谈OpenS...
  • zhongbeida_xue
  • zhongbeida_xue
  • 2017年05月17日 16:40
  • 771

OpenStack网络基础——VXLAN网络

本文旨在介绍VXLAN的基本概念,以及OpenvSwitch中VXLAN的工作原理。最后通过一个实验让读者对VXLAN有一个直观的认识。...
  • zztflyer
  • zztflyer
  • 2016年07月12日 19:41
  • 10760

OpenStack网络指南(20)MTU注意事项

网络服务使用底层物理网络的MTU来计算虚拟网络组件(包括实例网络接口)的MTU。 默认情况下,它为底层物理网络假设一个标准的1500字节MTU。 网络服务仅引用底层物理网络MTU。 更改底层物理网络...
  • fyggzb
  • fyggzb
  • 2016年12月29日 14:08
  • 1015

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

GRE模式 下图给出了在OpenStack中网络实现的一个简化的架构示意。 一般的,OpenStack中网络实现包括vlan、gre、vxlan 等模式,此处以gre模式为例。 ...
  • zhangli_perdue
  • zhangli_perdue
  • 2015年11月19日 16:44
  • 1463
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:OpenStack Neutron网络里使用VLAN, VXLAN和GRE要注意什么
举报原因:
原因补充:

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