• 文章搜索:
  • IP技术专栏

        • 分享到...

        • 新浪微博
        • 腾讯微博
        • 推荐到豆瓣 豆瓣空间
        • 分享到搜狐微博 搜狐微博
        • 分享到QQ空间 QQ空间
        • 分享到腾讯朋友 腾讯朋友
        • 网易微博分享 网易微博
        • 添加到百度搜藏 百度搜藏
        • 转贴到开心网 开心网
        • 转发好友 告诉聊友
    • 推荐
    • 打印
    • 收藏

    EVI技术基本原理(一)

    一、 EVI概述

    上一期我们讨论了数据中心跨站点二层互联需求的由来,以及涉及的几种主流技术。下面将重点介绍H3C公司推出的跨站点二层互联技术——EVI( Ethernet Virtualization Interconnect,以太网虚拟化互联)。

    通过EVI技术连接到IP核心网的数据中心站点,就像是直接连接到一个二层交换机上,站点间能够实现二层互通。传统的二层网络中,相同VLAN下的站点能够互通,EVI也是以VLAN为单位控制站点间的互通和隔离。如图1所示,site1、site2和site5这三个站点的VLAN10之间能够互通,而所有站点的VLAN20之间能够互通。对于单个站点site1来说,就像是通过两个虚拟公网接口连接到两个不同的、物理隔离的二层交换机上一样。其中一个二层交换机负责使VLAN10互通,另一个交换机负责使VLAN20互通。这两个虚拟的二层交换机可以看做是EVI的两个不同的实例。EVI实例与VLAN相关联,相同EVI实例所关联的VLAN能够实现跨站点二层互通。

    图1:EVI多实例

    要实现穿越IP核心网的二层网络互通,要考虑两个问题:一个是控制层面的问题,即站点间通信时依靠什么来寻址,又是如何建立指导转发的地址表项的;另一个是数据层面的问题,即二层数据通过何种封装方式来穿越IP核心网。

    二、 EVI的术语及基本概念

    EVI的网络模型如图2所示,在了解EVI的工作原理之前,我们先来了解一下EVI涉及的几个基本概念。

    图中三个数据中心站点内部都有VLAN100~200,这些需要实现跨站点二层互通的VLAN称之为扩展VLAN。

    每个站点内都有一台执行EVI功能的设备,它是三层网络和二层网络的边界,所以称之为边缘设备(Edge Device,ED)。

    在这些需要互通的站点的边缘设备上都存在一个全网统一的编号——Network ID。Network ID与扩展VLAN相关联,它们的组合称之为一个EVI实例。只有配置了相同EVI实例的边缘设备才能实现扩展VLAN在站点间二层互通。

    从单个站点边缘设备的角度来看,EVI隧道是一个点到多点的隧道。好比从北京出发,通过XXX高速公路,可以到达多个城市,这条专用的高速公路就是EVI隧道。而连接北京与某个具体城市之间的,点对点的双向通道则叫做EVI连接(EVI Link)。EVI连接承载于EVI隧道之上。也可以将EVI连接想象为连接两个站点的一条逻辑的虚拟链路,站点间二层互访时,去往IP核心网的出接口就是这条EVI虚拟连接的一个逻辑接口,这个逻辑接口对原始数据完成特定的封装后再由其对应的物理接口将报文发送出去。

    图2:EVI网络模型和基本术语

    三、 EVI的控制层面

    传统的二层通信依靠MAC地址表寻址,EVI网络也不例外。站点内的MAC地址学习和普通的MAC地址学习机制保持一致即可,剩下的问题就是站点间如何互相学习对方站点内的MAC地址。主机首次通信之前要相互交互ARP报文,与此同时,传统的二层设备便可以依靠ARP的广播请求和单播响应学习主机的MAC地址,形成MAC地址表指导转发。跨站点的主机通信也少不了ARP报文的交互,那么能否直接利用ARP报文来学习MAC地址呢。答案是肯定的,至于ARP报文如何封装穿越IP核心网则是数据层面需要考虑的问题。

    实际上,MPLS VPLS技术就是使用上述方式实现寻址的。但在数据中心跨站点通信时,这么做存在一定的弊端。由于仍然沿用了数据层面驱动MAC地址学习的机制,则不能对ARP广播和未知单播在IP核心网的泛洪加以控制,否则必然影响MAC地址的学习效率。而EVI的设计原则之一,便是尽量避免广播(ARP请求)和未知单播在IP核心网的泛洪。这样一来,就需要考虑使用独立的控制层面来完成针对远端站点内的MAC地址学习。

    EVI使用扩展后的L2 IS-IS(中间系统到中间系统的域内路由信息交换协议),也称之为EVI IS-IS作为控制层面协议来实现站点间的MAC地址交换和表项同步。同步完成之后,站点边缘设备上所形成的MAC地址表如图3所示,目的MAC为远端站点主机的MAC地址表项中,出接口为EVI连接的逻辑接口。

    图3:边缘设备完成同步后的MAC地址表

    EVI IS-IS和标准的IS-IS在整体协议框架上没有太大的区别,取消了标准IS-IS中Level的概念,并对标准协议报文做了部分扩展以便携带主机的MAC地址和其他控制信息。选择IS-IS作为控制层面协议的主要原因有以下几点:

    (1)IS-IS在邻居建立、LSDB同步等处理流程方面完全符合EVI对于站点间二层寻址的需求。站点的边缘设备之间也需要建立邻居关系,继而互相交换站点内的MAC地址并保持同步。

    (2)IS-IS可以直接承载于数据链路层之上,在IP核心网上传输时封装开销小。

    (3)IS-IS的PDU可变长部分采用CLV(Code/Length/Value,或者叫TLV)结构,具备良好的可扩展性。

    四、 EVI的数据层面

    为了实现站点间穿越IP核心网的二层网络互通,必须使用一种通用的隧道封装技术。此外,由于EVI IS-IS为经过扩展后的私有协议,公网设备可能并不能识别和处理,所以控制层面的报文交互也必须使用隧道封装。隧道的端点即为站点内的边缘设备。EVI的控制层面报文和用户的业务数据在IP核心网传输时,均采用GRE(Generic Routing Encapsulation,通用路由封装)封装。这是一种“MAC in IP”的封装方式,以业务数据为例,如图4所示,在IP核心网上传输的数据包中,GRE头的内层为原始以太帧,外层IP头则指示隧道的两个端点的IP地址。数据在隧道的一个端点完成封装,发往IP核心网。只要两个站点之间IP可达,沿途的公网设备便可根据GRE封装的外层IP头,将数据包一路转发至目的站点,最后由目的站点的边缘设备解封装后再完成站点内的二层转发。

    图4:EVI数据封装

    图5:EVI IS-IS封装

    五、 小结

    通过本期内容,读者们应该能够结合相关术语的解释掌握EVI技术的基本概念,了解EVI独特的控制层面设计以及数据层面的封装方式。关于EVI的协议实现细节以及具体工作原理等内容,我们将在下一期内容中共同讨论和学习。

    【发布时间:2013-03-28】