想了解一个事物/概念,最好的办法是知道它是为什么出现的,为了解决那些问题而出现。这里,就用这种方式来学习一下VXLAN

VXLAN (Virtual eXtensible Local Area Network)可以理解为扩展的VLAN。VXLAN很大程度上是为了解决VLAN的不足而出现的,所以,想了解VXLAN,你得有一定的VLAN基础。下面我们看一下VXLAN的出现是为了解决那些问题。

TOR MAC地址表问题

数据中心的每一个机柜(Rack)上通常会有一个交换机叫TOR交换机(top of rack)。这个交换机负责该rack下所有机器的二层交换。熟悉二层交换机制的话应该知道,交换机需要维护一个MAC address表来提高交换效率。在虚拟化技术出现之前,一个机柜下的机器再多也是有限的,这个MAC address table不会太大。但虚拟化技术出现后,一个宿主机上可能有多个VM,而一个机柜下又有很多个宿主机,这就会导致MAC address table的尺寸变得非常大,甚至超出了普通交换机能够支持的大小。

多租户问题

一个数据中心可能被多个租户使用。对于每个租户,他们都应该可以独立的为自己的机器分配mac地址,VLAN ID 等资源。我们需要一些机制来隔离这些租户,这样,不同租户之间的MAC地址和VLAN即使重复也不会冲突。

STP问题

VLAN解决方案中需要用STP协议来防止环路,因此在VLAN环境中很多冗余的链路会被禁掉,这其实是一种资源浪费,因为这些环路完全可以用来负载均衡流量以及提供高可用。

VLAN数量问题

VLAN的VLAN Tag长度为12-bit,所以VLAN的数量最大为4096个,在现代支持虚拟化和云服务的数据中心中4096个VLAN远不够用。

大二层

实际场景中可能一个两个VM同属一个二层,但是需要部署在两个DC之间,这用传统的VLAN 二层技术是做不到的

以上就是传统VLAN面临且无法解决的问题。 后面我们会继续讲解VXLAN的原理以及他如何解决上述问题

[vxlan] 一 Why VXLAN的更多相关文章

  1. VXLAN 概念(Part I) - 每天5分钟玩转 OpenStack(108)

    除了前面讨论的 local, flat, vlan 这几类网络,OpenStack 还支持 vxlan 和 gre 这两种 overlay network. overlay network 是指建立在 ...

  2. Neutron 理解 (3): Open vSwitch + GRE/VxLAN 组网 [Netruon Open vSwitch + GRE/VxLAN Virutal Network]

    学习 Neutron 系列文章: (1)Neutron 所实现的虚拟化网络 (2)Neutron OpenvSwitch + VLAN 虚拟网络 (3)Neutron OpenvSwitch + GR ...

  3. Neutron 理解(14):Neutron ML2 + Linux bridge + VxLAN 组网

    学习 Neutron 系列文章: (1)Neutron 所实现的虚拟化网络 (2)Neutron OpenvSwitch + VLAN 虚拟网络 (3)Neutron OpenvSwitch + GR ...

  4. Docker+OpenvSwitch搭建VxLAN实验环境

    一.概述                                                    1.环境:我这里是2台linux机器(host1和host2),发行版是kali2.0, ...

  5. Neutron VxLAN + Linux Bridge 环境中的网络 MTU

    1. 基础知识 1.1 MTU   一个网络接口的 MTU 是它一次所能传输的最大数据块的大小.任何超过MTU的数据块都会在传输前分成小的传输单元.MTU 有两个测量层次:网络层和链路层.比如,网络层 ...

  6. 深入 理解vxlan

    VXLAN RFC 文档 : https://tools.ietf.org/html/rfc7348 作为网络虚拟化的重要技术,VXLAN备受关注,该协议是如何运作的?如何通过数据与控制层面的分离实现 ...

  7. Vxlan——原理

    1. 为什么需要Vxlan 普通的VLAN数量只有4096个,无法满足大规模云计算IDC的需求,而IDC为何需求那么多VLAN呢,因为目前大部分IDC内部结构主要分为两种L2,L3.L2结构里面,所有 ...

  8. [Virtualization][SDN] VXLAN到底是什么 [转]

    写在转发之前: 几个月以前,在北大机房和燕园大厦直接拉了一根光钎.两端彼此为校园内公网IP.为了方便连接彼此机房,我做个一个VPN server在燕园的边界,北大机房使用client拨回.两个物理机房 ...

  9. ML2 配置 OVS VxLAN - 每天5分钟玩转 OpenStack(146)

    今天我们开始学习 OVS 如何实现 Neutron VxLAN,关于 VxLAN 的概念以及 Linux Bridge 实现,大家可以参考前面相关章节. Open vSwitch 支持 VXLAN 和 ...

随机推荐

  1. System.currentTimeMillis()与日期之间的相互转换

    System.currentTimeMillis()与日期 之间是可以相互转换的,大多数Android开发者都知道 通过 SimpleDateFormat dateformat = new Simpl ...

  2. mysqldump 使用详解

    基本的使用方法总结: 1 导出所有库 系统命令行 mysqldump -uusername -ppassword --all-databases > all.sql  2 导入所有库 mysql ...

  3. Microsoft Windows Server

    Microsoft Windows Server Microsoft Windows Microsoft Windows 是微软推出的个人版操作系统: Microsoft Windows Server ...

  4. delphi jinchengneicun

    http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Configuring_the_Memory_Manager https://docs.micros ...

  5. tensorflow note

    #!/usr/bin/python # -*- coding: UTF- -*- # @date: // : # @name: first_tf_1223 # @author:vickey-wu fr ...

  6. day02五大运算符:逻辑运算符、成员运算符、算数、比较、赋值、

    # -*- encoding: utf-8 -*-# print('hello 中国')# 变量# print(10 + 20 + 3 + 15)# print((10 + 20 + 3 + 15)* ...

  7. JavaScript设计模式基础之面向对象的JavaScript(一)

    动态语言类型与鸭子类型 此内容取自JavaScript设计模式与开发实践一书 编程语言按照数据类型大体可以分为2类,一类就是静态类型语言,另一类则是动态类型语言 静态类型语言也可以称之为编译语言,而动 ...

  8. 串的基本操作(KMP算法实现)

    #include <iostream> #include <math.h> using namespace std; void StrAssign(char *T) { cha ...

  9. [LUOGU] P3004 [USACO10DEC]宝箱Treasure Chest

    第一眼:区间DP,可以瞎搞 f[i][j]=max(sum(i,j)-f[i+1][j],sum(i,j)-f[i][j-1]) 提出来就是f[i][j]=sum(i,j)-min(f[i+1][j] ...

  10. 杭电 2647 Reward (拓扑排序反着排)

    Description Dandelion's uncle is a boss of a factory. As the spring festival is coming , he wants to ...