想了解一个事物/概念,最好的办法是知道它是为什么出现的,为了解决那些问题而出现。这里,就用这种方式来学习一下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. docker 新手入门(docker的安装)

    docker的安装(在centos7下面) 1. 卸载在liunx下,先看有没有安装docker,docker version,如果有的话,可以先移除 yum remove ........ 可以使用 ...

  2. js运行机制(线程)

    浏览器线程 js运作在浏览器中,是单线程的,即js代码始终在一个线程上执行,这个线程称为js引擎线程. 浏览器是多线程的,除了js引擎线程,它还有:  UI渲染线程 浏览器事件触发线程 http请求线 ...

  3. CPP-STL:vector容器

    1.     vector容器简介: vector向量容器是一种随机访问的数组类型,它提供了对数组元素的快速访问.随机访问,以及在序列尾部快速.随机地插入和删除操作.它类似于数据结构中的队列.数组和堆 ...

  4. 抓取oracle数据库耗费资源的sql语句

    oracle数据库连接业务系统,而有些sql语句的执行严重影响了oracle的性能,就如同mysql的慢查询一样,mysql可以开启慢查询日志定位这些造成数据库性能下降的语句,而oracle同样可以做 ...

  5. android滚动图片

    关于广告轮播,大家肯定不会陌生,它在现手机市场各大APP出现的频率极高,它的优点在于"不占屏",可以仅用小小的固定空位来展示几个甚至几十个广告条,而且动态效果很好,具有很好的用户& ...

  6. spring注解开发-扩展原理(源码)

    1.BeanFactoryPostProcessor BeanPostProcessor:bean后置处理器,bean创建对象初始化前后进行拦截工作的; BeanFactoryPostProcesso ...

  7. 【转】Unable to load native-hadoop library for your platform(已解决)

    1.增加调试信息寻找问题 2.两种方式解决unable to load native-hadoop library for you platform 附:libc/glibc/glib简介 参考: 1 ...

  8. JavaIO基础学习笔记

    JavaIO JavaIO即Java的输入输出系统.比如我们的程序要读取一个文本文件.一张图片或者要获取控制台输入的内容,就要用到输入流:又或者程序要将生成的一段字符窜以文件的形式保存到系统中就要用到 ...

  9. MindManager 设置默认Note字体大小

    工具栏 Design > Notes Theme > Default Font

  10. Python Tornado简单的http request

    这是关于chunk encoding传输以前相关传输编码的处理.没有做压缩解码的处理. import tornado.ioloop import tornado.iostream import soc ...