云数据中心网络虚拟化——大二层技术巡礼之NVo3技术DC间隧道

NVo3体系框架只是要求隧道构建在IP网络上,并没有要求一定是要端到端的,因此DC间跨越Internet进行互联的一些技术也属于NVo3框架中。这类技术往往部署在汇聚层设备上,隧道起于DC边缘,终止于DC边缘。
HSRP需要跨DC收敛,常常会导致出向路由次优。

  • 传统的二层VPN一般为有连接的pseudo-wires隧道,开销较大,维护复杂且可扩展性差。
  • 对多宿主的场景不提供支持,或者不支持PE双活与负载均衡。
  • 因此,很有必要重新设计DC间互联的VPN技术,以满足大二层和两地三中心的组网需求,一般称之为DCI(Datacenter Interconnect)。目前DCI技术主要有Cisco OTV,Huawei EVN,H3C EVI。

    1)Cisco OTV

    OTV(Overlay Transport Virtualization)是Cisco提出的DCI技术,在Nexux 7000提供了支持。OTV通过为传统的二层VPN增加控制平面来进行MAC地址学习和ARP代理,避免了不必要的跨Internet泛洪;通过在DC间隔离STP BDPU和HSRP Hello,实现了出向路由最优;通过动态封装建立无连接、无状态的隧道增强了可扩展性;自动完成对多宿主的探测,支持基于VLAN的负载分担和基于vPC的双活机制。

    OTV数据平面的封装格式如上图所示,外层IP头后面跟着8字节的OTV Shim头,原始以太网帧中的VLAN header也被移到了Shim头中作为租户二层网络的标识。Shim头具体的格式就不太清楚了,毕竟OTV是Cisco的私有实现。控制平面通过IGMP加入OTV组播组,在ED(OTV Edge Device)间建立邻居,使用IS-IS在邻居间学习(VLAN,MAC,Remote IP)的转发信息。考虑到Internet对IP组播的限制,OTV支持头端复制的伪广播机制模拟邻居间的3层组播,这种情况下就只能手配邻居了。一个OTV网络中典型的单播通信流程如下所示,假设OTV邻居已经建立:

    VM 1发送ARP请求到ED 1上;ED 1学习MAC 1的本地连接端口,然后封装OTV Shim头通过data组播组发送到ED 2。同时,ED 1通过control组播组传输IS-IS LSP,告知ED 2 VM 1的位置信息;ED 2收到IS-IS更新,得知VM 1连接在ED 1上;ED 2收到data组播组的ARP请求后解封装,本地泛洪到VM 2;VM 2单播ARP回复到ED 2;ED 2学习MAC 2的本地连接端口,然后封装OTV Shim头封装好ED 1的IP地址单播给ED 1。同时,ED 2通过control组播组传输IS-IS LSP,告知ED 1 VM 2的位置信息;ED 1收到IS-IS更新,得知VM 2连接在ED 2上;ED 1收到携带ARP回复的单播后,解封装转发给VM 1。

    上述过程中ED一旦学习到IS-IS LSP的触发就会在control组播组中告诉邻居相应的信息,因此在VM跨数据中心迁移场景下,ED间能迅速得知VM的新位置,大大缩短了收敛的时间。除了上述优势外,OTV还具备以下特性:

    • STP隔离。OTV将STP BPDU在ED上进行阻塞,避免了跨站点STP计算。由于站点间通过控制平面进行MAC学习,因此DC间不会出现环路,因此只要在每个DC站点内部运行生成树协议保证DC内无环就可以了。这种做法极大地提高了二层的收敛速度和可扩展性。
    • 未知单播隔离。OTV禁止未知单播的跨站点广播,认为IS-IS能够学习到所有合法MAC地址的信息。针对静默主机,可以手工配置静态MAC地址对应远端OTV接口的表项。
    • ARP代理。对远端站点返回的ARP 回复进行监听,当再收到本地查询同样目的IP的ARP请求时直接代理回复,减少跨站点的泛洪。
    • 出向/入向路径优化。OTV在ED上阻塞HSRP Hello,避免站点A中的主机到站点B中网关进行路由所引发的次优路径问题;OTV设备支持健康路由注入和LISP,以实现入向路径最优。
    • 多宿、负载分担和双活机制。ED设备间自动选举AED(Authority Edge Device)作为主设备转发流量,其他ED作为备份。ED间也可以基于VLAN进行AED选举,实现负载均衡。ED间还支持vPC跨设备链路聚合,以实现ED的双活。

    OTV是项非常不错的技术,而且它的自动化封装非常好,一般情况下4条命令就足以实现DCI,Cisco在数通领域的深厚功力可窥一二。如果说OTV有什么限制的话,一是ED邻居数量比较有限,目前看到的资料表明它最多支持8个站点的互联。另外,OTV不支持网关一体化,需要配合VDC技术做本地的业务整合。

    这两年华为和华三也都跟进了DCI技术,华为的叫做EVN,华三的叫做EVI。

    2)Huawei EVN

    EVN(Ethernet Virtual Network)是华为参照EVPN(Ethernet VPN,RFC 7209)提出的DCI技术。其转发原理与OTV完全相同,只不过其控制平面从IS-IS换做了EVPN-BGP,数据平面仿照VxLAN换成了MACinUDP的封装。一些DCI的特性,比如STP/VRRP抑制,ARP代理,未知单播隔离等等都是效仿的OTV。

    由于EVPN主要对多宿主部署做了详细的描述,因此相比于OTV,EVN主要加强了PE双活机制和MP2MP(Multipath to Multipath)机制。它细化了负载分担的策略粒度,支持PE多虚一的GEO Cluster模式,还支持基于UDP源端口的ECMP。另外,EVN支持的站点数量比OTV多,好像号称是可以达到64个(如有知情人士,烦请向作者确认),EVN支持网关一体化。由于EVN使用了BGP,而且自动化封装的不是很好,因此EVN在配置上要比OTV麻烦很多。

    3)H3C EVI

    EVI(Ethernet Virtualization Interconnect)是华三的DCI技术,其实也难为这帮子厂家了,起名字真是够费劲的。EVI的控制平面使用ENDP(EVI Neighbor Discovery Protocol)建立邻居,使用IS-IS进行地址学习,数据平面用了GRE的封装,如下图所示。


    EVI实现的特性主要包括ARP代理、未知流量抑制。好像没有对STP/VRRP这些的优化机制,多宿PE的负载均衡策略也只能通过VLAN来做。目前了解到EVI有一个特性是它会在邻居间选举出一个DIS做控制信息的分发,类似于OSPF中的DR的角色,此外EVI还支持IS-IS虚拟系统来扩展LSP的分片数量,以增加系统所能发布的MAC地址数量。

    老规矩,技术都讲完了,列表对比一下。这三种都是私有技术,以下都是从网上能够搜集的资料中整理的,一些内容也不一定准确。

    隧道类型

    控制平面

    STP隔离

    出向路径优化

    入向路径优化

    ARP代理

    OTV

    MACinShim

    IS-IS,IGMP

    支持

    HSRP阻塞

    RHI,LISP

    支持

    EVN

    MACinUDP

    EVPN-BGP

    支持

    VRRP阻塞

    主机路由注入

    支持

    EVI

    MACinGRE

    IS-IS,ENDP

    不支持

    不支持

    不支持

    支持

    未知流

    量抑制

    VM迁移

    感知

    多宿主

    多活

    负载分担

    头端复制

    OTV

    支持

    支持

    AED选举

    vPC

    基于VLAN

    支持

    EVN

    支持

    支持

    DF选举

    支持

    基于流

    支持

    EVI

    支持

    支持

    DED选举

    不支持

    基于VLAN

    支持

    站点数量

    网关一体化

    VLAN Bundle

    管理配置

    特性

    OTV

    8

    不支持

    支持

    简单

     

    EVN

    64

    支持

    支持

    复杂

    Geo Cluster

    EVI

    没找到相关资料

    支持

    支持

    较为复杂

    DIS选举、

    IS-IS虚拟系统

    从技术上来讲,DCI技术也可以用作端到端隧道,DCI的控制平面就相当于NVA的角色。不过,这种做法的显著缺陷在于,目前DCI技术只支持VLAN作为租户标识,这意味着租户数量最多为4k,与VxLAN这种端到端的隧道动辄支持个16million租户相比,不禁相形见绌。EVN在PE上用了VxLAN的封装,也可以提供16million的租户,华为自己也宣称EVN可以用于端到端虚拟化,不过想一想要在数据中心这些交换机上配BGP,好像应该是不太现实的。而且要是用于端到端,DCI技术里的一些per DC特性也就没有了用武之地,目前看来DCI和端到端还是两类完全不同的技术,至于市场如何做出选择,等到讲完下一节的内容我们再说。

    作者简介:
    张晨,北京邮电大学未来网络理论与应用实验室研究生
    主要研究方向:SDN、虚拟化、数据中心
    个人博客:http://sdnv.xyz/
    个人邮箱:zhangchen9211@126.com


    • 本站原创文章仅代表作者观点,不代表SDNLAB立场。所有原创内容版权均属SDNLAB,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用,转载须注明来自 SDNLAB并附上本文链接。 本站中所有编译类文章仅用于学习和交流目的,编译工作遵照 CC 协议,如果有侵犯到您权益的地方,请及时联系我们。
    • 本文链接https://www.sdnlab.com/15825.html
    分享到:
    相关文章
    条评论

    登录后才可以评论

    张晨 发表于16-02-14
    4