[vxlan] 一 Why VXLAN
想了解一个事物/概念,最好的办法是知道它是为什么出现的,为了解决那些问题而出现。这里,就用这种方式来学习一下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的更多相关文章
- VXLAN 概念(Part I) - 每天5分钟玩转 OpenStack(108)
除了前面讨论的 local, flat, vlan 这几类网络,OpenStack 还支持 vxlan 和 gre 这两种 overlay network. overlay network 是指建立在 ...
- Neutron 理解 (3): Open vSwitch + GRE/VxLAN 组网 [Netruon Open vSwitch + GRE/VxLAN Virutal Network]
学习 Neutron 系列文章: (1)Neutron 所实现的虚拟化网络 (2)Neutron OpenvSwitch + VLAN 虚拟网络 (3)Neutron OpenvSwitch + GR ...
- Neutron 理解(14):Neutron ML2 + Linux bridge + VxLAN 组网
学习 Neutron 系列文章: (1)Neutron 所实现的虚拟化网络 (2)Neutron OpenvSwitch + VLAN 虚拟网络 (3)Neutron OpenvSwitch + GR ...
- Docker+OpenvSwitch搭建VxLAN实验环境
一.概述 1.环境:我这里是2台linux机器(host1和host2),发行版是kali2.0, ...
- Neutron VxLAN + Linux Bridge 环境中的网络 MTU
1. 基础知识 1.1 MTU 一个网络接口的 MTU 是它一次所能传输的最大数据块的大小.任何超过MTU的数据块都会在传输前分成小的传输单元.MTU 有两个测量层次:网络层和链路层.比如,网络层 ...
- 深入 理解vxlan
VXLAN RFC 文档 : https://tools.ietf.org/html/rfc7348 作为网络虚拟化的重要技术,VXLAN备受关注,该协议是如何运作的?如何通过数据与控制层面的分离实现 ...
- Vxlan——原理
1. 为什么需要Vxlan 普通的VLAN数量只有4096个,无法满足大规模云计算IDC的需求,而IDC为何需求那么多VLAN呢,因为目前大部分IDC内部结构主要分为两种L2,L3.L2结构里面,所有 ...
- [Virtualization][SDN] VXLAN到底是什么 [转]
写在转发之前: 几个月以前,在北大机房和燕园大厦直接拉了一根光钎.两端彼此为校园内公网IP.为了方便连接彼此机房,我做个一个VPN server在燕园的边界,北大机房使用client拨回.两个物理机房 ...
- ML2 配置 OVS VxLAN - 每天5分钟玩转 OpenStack(146)
今天我们开始学习 OVS 如何实现 Neutron VxLAN,关于 VxLAN 的概念以及 Linux Bridge 实现,大家可以参考前面相关章节. Open vSwitch 支持 VXLAN 和 ...
随机推荐
- 如何理解Python中的if __name__ == '__main__'
1. 摘要 通俗的理解__name__ == '__main__':假如你叫小明.py,在朋友眼中,你是小明(__name__ == '小明'):在你自己眼中,你是你自己(__name__ == '_ ...
- Java中wait()方法为什么要放在同步块中?(lost wake-up 问题)
问题起源 事情得从一个多线程编程里面臭名昭著的问题"Lost wake-up problem"说起. 这个问题并不是说只在Java语言中会出现,而是会在所有的多线程环境下出现. 假 ...
- js 跨域深入理解与解决方法
参考博客: https://www.cnblogs.com/2050/p/3191744.html
- MFC隐藏在黑暗之中的大坑
大坑一:CDC会随着窗口状态的改变而改变 void K5::OnPaint() { CDC *pDC=this->GetDC(); //CDC最好设为局部变量 ... this->Rele ...
- EBS ORACLE工单齐套率的计算程序
PROCEDURE Get_wip_accept_item_date(p_use_id in number, p_org_id IN NUMBER, p_start_date IN DATE, p_e ...
- 第1节 flume:6、flume的入门测试案例
案例:使用网络telent命令向一台机器发送一些网络数据,然后通过flume采集网络端口数据. 1.2.1 Flume的安装部署 第一步:下载解压修改配置文件 Flume的安装非常简单,只需要解压即可 ...
- zabbix监控流程图
- Ext 6.5.3 classic版本,自定义实现togglefield开关控件
1,在Ext 6.5.3的classic版中没有提供开关控件,参照modern版中 togglefield开关的实现,继承滑动器(sliderfield),自定义一个开关按钮.支持value绑定和点击 ...
- STL 源码分析六大组件-allocator
1. allocator 基本介绍 分配器(allocator))是C ++标准库的一个组件, 主要用来处理所有给定容器(vector,list,map等)内存的分配和释放.C ++标准库提供了默认使 ...
- Linux文件属性和压缩解压
目 录 第1章 Linux系统文件的属性 1 1.1 命令ls 1 1.2 inode 2 1.3 文件属性 2 1.4 env命令 2 1.5 注意: 2 第2章 ...