zoukankan      html  css  js  c++  java
  • 服务器虚拟化

    服务器虚拟化 - 从感性上认识VXLAN(四)

    任何技术的产生,都有其特定的时代背景与实际需求。自从云计算这个概念提出来以后,云计算凭借其系统利用率高,人力、管理成本低,灵活性和可扩展性强的方面已经表现出了优势。所以,越来越多的企业开始部署云桌面,云服务器了。而要部署云服务,就必须大量地部署虚拟机。简单来理解,云计算的基本技术模式就是虚拟化。

    而服务器虚拟化的广泛部署,又极大增加了数据中心的计算密度。由于虚拟机是要基于物理设备上运行的,有时候虚拟机需要从一台物理设备迁移到另一台物理设备。虚拟机的迁移必须要满足这迁移前和迁移后的物理服务器在同一个网段,也就是同一个二层网络中。所以,为了让虚拟机能够在网络中不受限迁移,二层网络也必须做得足够大。但是有网络基础的人都知道,二层网络大了,不仅MAC地址的数量空前增加,而且二层环路带来的风险也会变大。于是,这又为数据中心网络带来了新的挑战:一个二层网络,必须支持上千台服务器和网络交换机稳定高效的运行。

    Trill技术,只是一个基本的二层网络的基本技术,但是要解决MAC地址空间巨大、传统VLAN隔离能力有限的问题,VXLAN技术才应运而生。那么,VXLAN到底是什么东西?VXLAN和传统VLAN有什么联系和区别?VXLAN和SDN之间又有什么关系?我们在剩下的章节里面慢慢地说。

    四、VXLAN的部署方式

    因为VXLAN的技术还不算特别成熟,甚至还有一些利益之争,所以在目前常见的企业网中,VXLAN一般都部署在开发测试区域,Spine设备作为数据中心核心设备的一个“区域汇聚”。在VXLAN网络中,如果不同的虚拟机需要在不同的网段,并且虚拟机还要和核心网络其他区域的服务器互访,就要考虑在VXLAN网络中如何设置网关的问题了。

    4.1集中式网关

    集中式网关,就是让所有的VNI的网关都在Spine设备上,各个Leaf与Spine之间建立VXLAN隧道,即可实现不同VNI之间的虚拟机VM进行通信。

    把网关集中在Spine设备上,部署起来比较简单,但是也有一定的问题。在集中式网关的环境中,同一Leaf下挂的不同网段VM之间的通信,都需要在Spine上进行绕行,这样就导致Leaf与Spine之间的链路上,存在冗余的报文,额外占用了大量的带宽。同时, Spine作为VXLAN三层网关时,所有通过三层转发的终端租户的表项都需要在该设备上生成。但是, Spine的表项规格有限,当终端租户的数量越来越多时,容易成为网络瓶颈。所以,在VXLAN网络规模不大的场合,可以考虑使用集中式网关。

    4.2分布式网关

    分布式网关,即把VNI的业务网关下沉到Leaf设备上:

    在下图的网络环境中,VM-1、2、3、4分别是10.112.1.0/24、10.112.2.0/24、10.112.3.0/24、10.112.4.0/24,四个不同的子网。VM-1和VM-2的网关在Leaf-1上,VM-3和VM-4的网关在Leaf-2上。

    如果是VM-1和VM-2互访,或者是VM-3和VM-4互访,这属于同Leaf下的互访。在分布式网关的环境下,同Leaf下不同网段VM之间的相互通信。此时, VM1和VM2互访时,流量只需要在Leaf1节点进行转发,不再需要经过Spine节点,从而节约了大量的带宽资源。

    如果是在不同Leaf下的VM-1和VM-3互访呢?两个Leaf的VXLAN三层网关之间通过BGP动态建立VXLAN隧道,并通过BGP的remote-nexthop属性发布本网关下挂的主机路由信息给其他BGP邻居,从而实现跨Leaf节点不同部门VM之间的相互通信。

    Leaf作为VXLAN三层网关时,只学习其下挂终端租户的表项,而不必像集中式三层网关一样,需要学习网络中所有终端租户的表项,从而解决了集中式三层网关带来表项瓶颈问题。

    五、总结

    本篇内容,我们通过介绍VXLAN出现的时代背景、 VXLAN的概念及网络模型、VXLAN报文的封装格式,让你对VXLAN有了初步的了解;通过介绍VXLAN隧道的建立及报文的转发流程,让你熟悉了VXLAN的控制面及转发面的工作机制。

    总的来说,VXLAN通过MAC-in-UDP的方式,实现了二层报文在三层网络上的覆盖透传,解决了云计算中虚拟化带来的一系列问题。

  • 相关阅读:
    对Android开发者有益的40条优化建议
    git推送tag到远端服务器
    详细注释!二维码条码扫描源码,使用Zxing core2.3
    探秘腾讯Android手机游戏平台之不安装游戏APK直接启动法
    android的logcat详细用法!
    【Android】开源项目汇总-备用
    android 中theme.xml与style.xml的区别
    Android实现对HOME键的捕获和屏蔽
    java中newInstance()和new()
    java Stack
  • 原文地址:https://www.cnblogs.com/liujunjun/p/14076664.html
Copyright © 2011-2022 走看看