给过热的“扁平网络”泼泼冷水
- 来源:计算机世界 smarty:if $article.tag?>
- 关键字:扁平网络,虚拟化,以太网 smarty:/if?>
- 发布时间:2012-06-07 15:59
虚拟化技术的普及为网络流量带来了新的压力,这迫使IT 部门需要重新审视现有的传统三层网络方案。这些分层网络的设计特性使其容易产生阻塞点和延迟,同时提供的冗余功能非常原始。
扁平网络由此应运而生。扁平网络一般被认作是一种网络架构(fabric),其优势在于能够允许更多的路径通过网络,以满足数据中心的新要求,包括对虚拟化网络和虚拟机迁移的支持。扁平网络旨在尽量缩短延迟,提高可用带宽,同时提供虚拟化环境下所需的众多网络路径。由于其将传统的接入、汇聚、核心三层网络架构进行了简化,因此人们形象地将其冠以“扁平”的称号。
不过,扁平网络的部署是需要一些“破旧立新”精神的,这包括重新设计数据中心局域网架构,并且采用新的标准。本文将分析扁平网络与传统分层基础架构有何不同,并且提出需要注意的问题。
扁平网络的起源
十多年前,以太网赢得了局域网之争,但是它仍存在一些重大局限。一个突出的问题就是转发机制。当以太网交换机在转发表中没有成对的MAC 地址和接口时,或者它收到广播的以太网帧时,交换机就会复制帧,将副本转发到所有接口。
由于以太网没有生存时间(TTL)报头字段来防止帧无限制地转发,如果网络中有物理回路,这些帧就会被不断复制,在整个网络中重复播送,直到网络崩溃为止。
知名网络工程师、英特尔实验室院士Radia Perlman 发明了生成树算法来解决这个问题,该算法已成为生成树协议(STP)的一部分。时至今日,依然有很多应用中的企业网从来没有更改过生成树的默认设置,却又能确保网络正常运行,同时提供一定的冗余功能。
不过,虽然STP解决了重大问题,但是其也迫使我们不得不采用一些并非是为当今数据中心需求而优化的网络设计。比如说,STP 路径在“南北树”中已经确定,这迫使流量必须从架顶式交换机向外传送到分配节点交换机,然后回过来头再传送到另一台架顶式交换机。相比之下,直接在两台架顶式交换机之间传送数据的“东西路径”将更有效,但是STP 不允许这样的路径。
各种扁平网络对比
这时候,扁平网络登场了。其可以减少延迟,以节省更多的带宽,并加大数据中心在网络基础架构方面的投资回报。
有几种方法来设计扁平网络或网络架构。你可以使用TRILL、SPB 或者一些厂商所提供的几种专有方案。这些方案有两种类型。
第一类包括TRILL( 来自IETF)、SPB( 来自IEEE)、思科的FabricPath 和博科的VirtualCluster Switching(VCS) 等, 这些技术旨在使局域网交换机更智能化。大体上来说,这些技术都能使用路由选择协议(IS-IS:IntermediateSystem to Intermediate System RoutingProtocol,用以规划通过网络的最佳路径)来处理任务。其原理是记住和分配转发路径,以及跨多条路径将流量从A 主机转发到B 主机。不过,它们的实现方式大不一样。
TRILL 为普通的以太网帧增添了一种新型的帧(TRILL 帧),可将它们在入站RBridge 与出站RBridge 之间转发。RBridges 就好比是邮政编码,一旦我们掌握了正确的邮政编码(出站RBridge),那么,其实最后的街道地址(相当于主机B 的目的地MAC)并不重要。入站RBridge 有一份最终MAC 地址与“邮政编码(RBridge)”之间的映射表,所有中间交换机都会将流量从一个“邮政编码”传送到另一个“邮政编码”。这个额外的封装报头还包括一个TTL 字段,有助于阻止物理回路带来的洪水流量。
同TRILL 不同的是,SPB并不是以一种新型的帧来封装流量,而是采用Q-in-Q 封装或MAC-in-MAC 封装。一旦交换机通过IS-IS记住了目的地地址到出站交换机的映射,就用一种新的Q-in-Q 帧或MAC-in-MAC 帧来封装原始帧,进而将新帧发送到出站交换机。
尽管目前有很多文章都提到了上述技术的优势,不过对于TRILL和SPB 存在的缺点却语焉不详。实际上,尽管它们解决了生成树的一些局限,不过其仍然存在不足。比如说,它们的拓扑结构可能需要在安全方面进行大量配置,以确保交换机只与授权交换机进行通信。
思科FabricPath 和博科VCS 同TRILL 类似,原因在于它们也封装流量,以便跨网络架构骨干网来进行传送。不过,这些是与TRILL 无法协同运行的私有技术。实际上,它们的运行模式与现有的生成树网络完全不同。VCS 要么会将生成树信息通过其专有网络架构传送,要么干脆完全丢弃。FabricPath 则在其专有网络架构的边缘干脆将生成树域终止。
第二类技术索性就摈弃了分层设计,从而消除生成树效率低下的问题。这种方案把所有交换机看做一个单一而且非常庞大的交换机或者网络架构。瞻博的QFabric 就是个例子。实际上,真实物理交换机只是被看作是这个虚拟的巨大网络架构里面的一组刀片。在瞻博的网络模型中,QF/Director 处理控制面板,负责协调交换机运作。整个网络架构不仅在连接的主机时看来像一个庞大的交换机,而且在同TRILL 或SPB 连接时也是如此。此外,其还可以被当做一台交换机来加以管理。
这一类型中的另一种代表性技术被称作多机箱链路聚合MC-LAG(Multi-Chassis Link AggregationGroup),大多数主流交换机厂商都提供这种技术。MC-LAG 交换机为下游STP 网桥充当了单一交换机,以消除冗余路径的生成树阻塞。这便于提高链路的利用率,并简化管理。大多数MC-LAG 部署将聚合交换机数量限制在两台。
扁平局域网架构确实大有希望,而且也被外界所“热炒”,但是我们并不建议盲目采用这一架构。如果你的工程师确实没时间来设置生成树根网桥的优先级值,以便生成树算法可以选择最佳的树,那么你真的认为TRILL、SPB 或者其他任何更复杂的架构会合理调优吗?
生成树所带来的局域网稳定性是不容忽视的,因此,你必须清楚地了解新的扁平化技术可能导致的后果。分层网络架构大行其道,是有其道理的。要知道,其的确切实可行。如果你决定走扁平网络这条路,那么采用上述这些新技术时一定要谨慎。
作者 Jeremy Littlejohn 编译 沈建苗
