数据中心的传统网络设计都是三层架构,目的是为了进行业务隔离,形成一个扁平型的网络流量模型,南北和东西流量进行二八互分,这种网络架构流行了几十年,现在的数据中心依然也都正使用着这种架构。然而随着虚拟化技术的引入,需要网络支持虚拟机动态迁移技术,这就要求网络支持大范围的二层域,传统三层网络逐渐要退出历史舞台。当然,这是一个渐进发展的过程,而且二层区域越大,实际上网络越不安全,广播区域也会造成带宽的浪费,单点故障容易引发整网的故障。那么数据中心的二层网络规模需要多大,这取决于应用场景和技术选择,二层网络规模有多大,虚拟机才能迁移有多远,这样二层网络规模完全看虚拟机部署的迁移规模。根据二层网络所处的不同位置,二层网络技术进行了延伸发展,逐渐形成了三大流派的二层技术。下面,本文将一一道来。

物理二层区域内转发

数据中心网络中,相同VLAN内的终端属于同一广播域,具有一致的VLAN-ID,二层连通;不同VLAN内的终端需要通过网关互相访问,二层隔离,三层连通。这里所提的物理二层区域指的就是相同VLAN内的转发(或者相同VXLAN ID),这样的网络天然可以支持虚拟机迁移,只要按照以太MAC地址查找完成转发即可。现在一台服务器可以虚拟出很多个虚拟机,这些虚拟机要完成二层互通,有的需要经过网络,也有的直接在服务器内部就可以完成转发,这时服务器内部会包含有实现二层转发的交换模块,比如:VMware实现的Linux网桥、OpenvSwitch,不过这样实现对服务器性能有消耗,还有802.1Qbg EVB。边缘虚拟桥EVB(Edge Virtual Bridging)技术是当前用于解决虚拟化环境的虚拟机与网络之间的连接与管理边界问题而产生,并在此标准802.1Qbg定义的框架基础上可以实现虚拟机生命周期与网络的自动化关联、网络属性的灵活变更。EVB衍生出了VEB、VEPA、Multi Channel等技术,这些技术均可实现二层网络内的虚拟机迁移,有的偏重硬件转发,提升效率,有的偏重软件转发,注重灵活,各有优缺点,都获得了部分厂家的支持。

跨三层网的二层交换

现有数据中心都是三层网络,为了支持云计算,总不能将现有网络推倒重建,这就需要在现有三层网络基础上,再构建一个虚拟的二层网络,让虚拟机之间实现二层转发,虚拟机感知不到三层网络的存在。这种技术既保护了现有网络,又引入了云计算新技术,将数据中心平滑过渡到云数据中心。这里有两大类技术,一种是通过虚拟化技术,将所有的网络设备虚拟化成一台设备,完成二层转发,这样不仅便于管理网络,也消除了二层环路问题。另一种是通过隧道封装技术实现。隧道技术代表是TRILL、SPB,都是通过借用IS-IS路由协议的计算和转发模式,实现二层网络的大规模扩展,之所以成为隧道技术,这类技术通过MACinMAC的封装,在原始报文上添加新的报文头,包括PBB、Fabric Path、E-TRILL、L2MP等也都属于隧道技术。这些技术都是不同网络厂家提出的,有些隧道封装具有私有属性,技术实现有排它性,不像TRILL技术具有通用性,已经渐渐成为跨三层网络的二层协议标准,受到广泛支持。

跨数据中心二层交换

数据中心内部的虚拟机迁移已经无法满足云计算的发展,很多数据中心往往由多地数据中心组成,要实现不同数据中心之间的虚拟机自由迁移,如此可以极大方便业务部署,同时还大大提升了系统可靠性。一旦一个数据中心出现故障,业务虚拟可以自动迁移到其它数据中心继续工作,业务可靠性大幅提升,真正才能做到全年业务零秒中断。跨数据中心之间要实现二层互通,也有很多办法。除了光纤直接互联打通之外,还有很多隧道封装技术可以实现。这些隧道封装技术使用的是IPINIP,与数据中心内部的隧道技术有所不同,这也使得隧道技术要丰富一些。比如有基于MPLS的二层互联,包括VLL和VPLS技术,还有PTN,PTN是基于 MPLS-TP实现,最初面向二层互联,现已支持三层;有基于IP网络的三层互联LISP(思科私有协议,目的是解决 IP 地址既当作位置信息,又当作识别信息的耦合);有基于GRE隧道实现的NVGRE;有VMware实现的STT,VCDNI(vCloud Director Network Isolation);还有L2TPV3、OTV、VXLAN等等,这类技术的确不少,让人看得有些眼花缭乱,其实万变不离其宗,仔细研读这些网络协议,很容易发现都具有共同的属性,就是三层封装,通过在原始报文上增加一个新的报文头,实现虚拟机跨数据中心的二层迁移。像MPLS和GRE以及IPINIP技术很多人都不陌生,这些技术实际上早已在网络中有大量应用,为了区分局域网和骨干网业务,在网络层面进行隔离,就需要使用这些封装技术。所以,这些技术早已成为跨数据中心的重要技术,不过要很好地支持虚拟机迁移,这些技术都存在一定的局限性,毕竟这些技术的设计初衷并没有考虑到虚拟机迁移,那时虚拟机迁移的技术还没有出现。这样就又涌现出了新技术,比如最近最火的VXLAN技术,这个由Cisco和VMware发起,目前Brocade、Avaya、Arista等均已支持,得到了数据中心广泛认可。VXLAN用24位VXLAN ID(VNI)取代原先的12位VLAN ID,隧道两端是VTEP,负责进行封装(VLAN ID->VNI)和解封装(VNI -> VLAN ID)。控制平面上可以用封装的ARP包来进行定位,利用IP组播来询问和传播位置信息。VXLAN技术能天然支持SDN,可以和SDN很好地融合,是实现软件定义网络最好的基础协议,这也是VXLAN能够得到认可的关键因素。

随着云计算、大数据技术普及,数据中心二层(虚拟)网络规模将越来越大,拥有这些二层技术,数据中心才能获得高速发展。