2.11 活动-活动连接(Active-Active)
思科数据中心I/O整合
以太网通道
以太网通道是一种端口聚合技术,在1994年由思科公司提出,并且在2000年,由IEEE 802的IEEE 802.3ad 项目实现了标准化。这个协议在思科和非思科交换机上都得到了广泛应用。
以太网通道支持将多个物理以以太网链路聚合为一个逻辑以太网链路,其带宽等同于所聚合链路的带宽之和。以太网通道可以聚合二至八条链路,而且所有高层协议都会将多条链路视为一个连接,如图2-18所示。
以太网通道有利于在交换机、路由器和服务器之间实现容错和高速的链路,同时不会阻塞任何端口,从而能够利用所有的链路。
以太网通道的缺点是聚合的所有物理端口都必须位于同一个交换机上。为此,出现了下面三种解决方案(VSS、vPC和以太网主机虚拟器),具体参见图2-19。
在图2-19中,4台接入层交换机连接了两台汇聚层交换机,而他们的上行链路则保持活动—活动状态。(例如,STP不会裁剪任何链路。)
虚拟交换系统(VSS)
VSS是思科公司支持使用以太网通道将一台接入层交换机连接到两台汇聚层交换机的两种技术中最早使用的技术,如图2-20所示。
具体的实现方式是,VSS通过集群方式将两台物理交换机形成一台逻辑实体。由于每个物理设备变得不可区分,因此接入层交换机会将上游交换机视为一台汇聚层交换机(参见图2-18)。
此外,VSS还具有许多的优点,因为它能够提高设备的高可用性、可扩展性、管理性和维护性。
思科VSS技术的关键因素是一条名为虚拟交换链路(VSL)的特殊链路,它能够将两台物理交换机绑定在一起,并且能够传递特殊的控制信息。
VSL链路是两台交换机的内部矩阵之间的连接,能够将它们组合为一个逻辑网络实体,并且使外部观察者无法区分它们。因此,接入层交换机可以使用多条上行链路连接两台交换机,并将它们配置为标准的以太网通道,可以这样做的原因是,VSS是作为一个逻辑交换机或路由器而出现的。
在思科VSS中,从数据平面看,两台交换机都处于活动状态,但是从控制和管理平面看,只有一台交换机处于活动状态,而另一台则处于热待机状态,与双引擎交换机的情况很相似(例如,Catalyst 6500)。
所有控制平面功能,包括管理(SNMP、Telnet、SSH)、2层协议(STP、LACP等)和3层路由协议都由活动交换机集中管理。此外,这台交换机还负责管理两台交换机的硬件转发信息。
VSS要求两台集群成员交换机严格管理和整合。
虚拟端口通道(vPC)
vPC(也称为多机箱以太网通道/虚拟端口通道,MCEC/vPC),实现了与VSS相似的结果,但是不需要在vPC交换机之间实现像VSS同等水平的严格整合(参见图2-21)。具体地讲,vPC不是一种类似VSL私有协议的概念,而且vPC交换机之间的整合要求也不像VSS那么高。
从接入层交换机的角度看,没有任何变化:vPC仍然使用未修改的以太网通道,并且将vPC交换机视为一个STP逻辑网桥。
每一个vPC交换机都维护其身份、管理及控制平面,但是它们会与其他vPC交换机一起协作,实现活动—活动(Active-Active)的虚拟端口通道。vPC的目标并不是将两台vPC交换机整合在一起,而在VSS中是整合的。
vPC交换机之间的链路被称为对等链路,这是一种常规的数据链路,涉及控制平面和数据平面转发。特别是,该链路在以下方面发挥着重要作用:
vPC交换机之间与vPC相关的控制平面信息的交换;
vPC交换机之间的心跳机制;
故障情况下的数据流量;
不对称连接的主机/交换机之间的数据流量;
广播/组播/泛洪帧。
vPC(VSS中也存在)的主要挑战是如何保证每个帧只被转发一次,避免出现帧被复制和环路转发。在一些与两台汇聚层交换机连接以及一些没使用生成树协议,且只连接一台汇聚层交换机(例如,一条上行链路出现故障)的接入层交换机上,这个问题是必须解决的。
为了实现这个目标,每一个vPC交换机都需要将端口划分成三个组(参见图2-21)。
对等链路端口:这些端口连接其他的vPC交换机。
vPC端口:这些端口连接一台活动的vPC(例如,主机或交换机链接到这些端口的同时,还连接着其他的vPC交换机)。
非vPC端口:连接一些“孤立的”主机或交换机(例如,由于配置或故障原因,它们不与其他vPC交换机连接)。
关于帧转发工作方式的完整讨论不属于本书的阐述范围,但是在一般情况下:
来自vPC端口或非vPC端口的单播帧会像普通交换机端口转发单播帧一样被转发;
来自对等链路要转发到vPC端口的单播帧会被丢弃,因为接收端交换机会假定该帧已经通过另一台vPC交换机、顺利地被传输到目标地址;
来自对等链路要转发到非vPC端口的单播帧会被转发,因为在另一台vPC交换机上没有直接传输该帧的路径;
来自任意非对等链路端口的组播/广播帧会被传输到所有其他端口;
来自对等链路的组播/广播帧会被传输到所有非vPC端口,因为接收端交换机会假定它已经被传输到其他vPC交换机的vPC端口上。
以太网主机虚拟器(Ethernet Host Virtualizer)
VSS和vPC是汇聚层交换机实现的一种技术手段,它允许接入层交换机继续以传统方式使用以太网通道。
接入层交换机还可以使用一种名为以太网主机虚拟器的技术来解决这个问题。
如图2-22所示,接入层交换机实现了以太网虚拟器,而汇聚层交换机则继续运行传统的STP。
运行以太网主机虚拟器的交换机会将端口分成两组:主机端口和网络端口。这两种端口都可以是一个接口或一个以太网通道。然后,交换机会给每一个主机端口关联一个网络端口,这个过程称为绑定(pinning)。
除非出现故障,否则同一个主机端口总是使用同一个网络端口。在这种情况下,接入层交换机会将绑定转移到另一个网络端口。
在如图2-22所示的例子中,MAC-A总是位于左边的网络端口,而MAC-B则总是位于右边的网络端口。
对于特定主机端口的网络端口的选择,取决于如何人工配置或者交换机根据其负载状况决定,这种关系会一直维持到主机端口或网络端口断开连接。
如果出现这种情况,关联的主机端口会被重新分配给剩余的其他活动的网络端口。
必须特别注意组播和广播帧,避免出现环路和重复帧。一般情况下,部署这个特性的接入层交换机会有以下表现:
它们不会将来自网络端口的帧传输给另一个网络端口;
它们会根据组播组划分组播/广播流量,而且会为每一个组播组分配一个网络端口,只有一个网络端口可以传输和接收该组播组流量。
以太网主机虚拟器比下一节中将要讨论的二层多路径技术更为少见,而且只适用于连接到主机或存储阵列的接入层交换机,不适用于汇聚层或核心层交换机。但它的最大优势是部署简单,不需要任何改动就能够连接到现有的核心—汇聚层网络中。