本文共 5721 字,大约阅读时间需要 19 分钟。
本节书摘来自异步社区《NX-OS与Cisco Nexus交换技术:下一代数据中心架构(第2版)》一书中的第2章,第2.8节,作者 【美】Ron Fuller, CCIE#5851 , David Jansen, CCIE #5952 , Matthew McPherson,更多章节内容可以访问云栖社区“异步社区”公众号查看
NX-OS与Cisco Nexus交换技术:下一代数据中心架构(第2版)
从历史角度来看,由于网络管理员通常都基于生成树的限制、硬件MAC地址表以及二层泛洪特性来设计网络,因而二层网络一般都不需要高级扩展能力,从而将二层网络限制在较小的范围内,并通过三层路由设备将这些二层网络相互隔离。网络管理员在这些小型二层基础设施周围设置三层边界之后,就可以依靠更具扩展性和弹性能力的路由协议来扩展他们的网络。但是,随着HPC(High-Performance Computing,高性能计算)、虚拟化等领域的快速发展,人们对更加灵活的基础设施的需求越来越迫切,使得大量组织机构开始重新关注二层技术。虽然vPC等新技术的出现有助于客户构建更大的二层域,但是这些技术在本质上仍然依赖于生成树。对于由生成树创建的拓扑结构来说,链路翻动等局部问题可能会给整个网络基础设施带来灾难性的影响,而更具智能化的三层路由协议(如OSPF和EIGRP)可以容忍此类故障,并通过复杂的算法处理这类故障。为此,人们迫切需要一种更灵活的协议,将二层和三层最佳特性整合在一起,从而满足上述网络部署需求。Cisco FabricPath引入了一种全新的构建和运营二层网络的实现方式。FabricPath允许网络管理员构建大规模二层网络,并解决了不同生成树实现所带来的各种挑战。FabricPath采用的技术很容易理解,利用三层路由IP数据包的相关技术来携带二层可达性信息,因此,网络管理员不但能实现大型二层网络的灵活性,而且还能实现大型三层网络的弹性能力。
可以将Cisco FabricPath划分成两类完全不同的操作领域:控制平面和数据平面。控制平面负责构建并传播网络中的设备可达性信息,而数据平面则负责通过FabricPath网络进行数据包的封装、解封装以及转发。
FabricPath控制平面利用IS-IS(Intermediate System-to-Intermediate System,中间系统到中间系统)来代替生成树。由于IS-IS是一种多区域(层级)路由协议,不依赖于IP,而且可以通过自定义的TLV实现轻松扩展,因而IS-IS能够在二层很好地交换路由信息。FabricPath的控制平面功能可以分成两大主要部分:首先,FabricPath域由大量必须进行唯一标识的交换机组成,也可以由大量用于隔离不同类型流量的逻辑拓扑结构组成。FabricPath提供的DRAP(Dynamic Resource Allocation Protocol,动态资源分配协议)可以为交换机自动分配一个唯一的12位SID(Switch-ID,交换机ID),该协议构建在IS-IS邻接关系之上,其中,IS-IS邻接关系是在接口首次连接到其他FabricPath交换机时建立的。此外,网络管理员也可以静态配置SID。接下来利用FabricPath的IS-IS邻接关系来交换用于填充U2RIB(Unicast Layer 2 Routing Information Base,单播二层路由信息库)的路由信息,通过最短路径计算机制来确定去往目的端的最优路径或其他路径。FabricPath IS-IS将选择开销最小的路径(包括等价路径,最多16条)。
对于多目的端流量(如广播、多播或未知单播)来说,FabricPath IS-IS会创建多目的地树(multidestination tree)。这些多目的地树是通过根选举进程自动创建的。其中,根选举进程就是基于优先级、系统ID和交换机ID将某台交换机选举为根交换机。接下来再由根交换机为多目的地树分配FTag(Fabric Path Topology identifier,交换矩阵路径拓扑结构标识符)。
FabricPath数据平面负责在FabricPath网络中封装、解封装及转发数据包。FabricPath采取了MAC-in-MAC封装技术。该封装技术在现有的L2数据帧上增加了16字节报头,由该报头指示数据帧如何通过交换矩阵进行转发。FabricPath报头信息如图2-8所示。
从表面上来看,FabricPath报头就像一个简单的包含了源地址和目的地址的另一个二层报头,但是这些地址并不是常规意义上的MAC地址。ODA(Outer Destination Address,外层目的地址)报头包含了该数据帧去往某个SID的特殊信息以及端口信息。此外,FP标签包含了FabricPath FTag,指定了该数据帧将要被交换到的拓扑结构。
如前所述,FabricPath实现了TTL(Time-To-Live,生存期)字段,从而利用了传统的三层技术。FabricPath设备每次在交换数据帧的时候,都要递减TTL,当TTL递减至零后就会丢弃该数据帧,从而防止数据包出现无限循环并产生风暴。
FabricPath技术包含了两类主要接口:FabricPath边缘端口和FabricPath核心端口。顾名思义,FabricPath边缘端口表示FabricPath网络的边缘。FabricPath边缘端口是通过CE(Classic Ethernet,传统以太网)连接主机或其他交换机的地方,这些端口进行传统的MAC地址学习,并以标准的以太网报头转发数据帧。FabricPath核心端口是建立FabricPath IS-IS邻接关系的地方,所有数据帧都必须封装在FabricPath报头中进行转发。根据这些接口类型,可以将携带流量穿越交换矩阵的交换机定义为三种角色。
首先,入站FabricPath交换机在所连接的边缘端口上收到数据帧。入站FabricPath交换机不但要执行MAC表查找操作以确定宣告了该目的MAC地址可达性的SID,而且还要确定转发该数据帧的接口。然后入站FabricPath交换机再据此转发该数据帧。其次,核心FabricPath交换机在FabricPath核心端口上收到数据帧并基于FabricPath报头中的SID来确定下一跳接口,然后核心FabricPath交换机再据此转发数据帧。最后,出站FabricPath交换机在FabricPath核心端口上收到这些数据帧并检查FabricPath报头,发现是目的SID之后,就通过LID(Local Identifier,本地标识符)字段来确定应该将该数据帧转发到哪个FabricPath边缘端口上。然后出站FabricPath交换机会删除FabricPath报头并将该数据帧转发到相应的CE端口。有时也将入站FabricPath交换机和出站FabricPath交换机称为二层网关。
利用这些已定义的功能,通过会话式学习机制可以优化MAC地址的学习过程。在传统的以太网实现中,每台交换机都要无条件地根据数据帧的源地址填充其MAC地址表(即使该交换机仅仅是一台转接交换机),这样会消耗大量宝贵的交换机资源。而对于FabricPath技术来说,只有FabricPath边缘端口需要进行传统的MAC地址学习,FabricPath核心交换机无需学习任何MAC地址,即使在FabricPath边缘,也只是无条件地学习本地MAC地址,FabricPath边缘交换机仅学习目的MAC地址已经位于其本地MAC地址表中的源MAC地址。
在Nexus 7000上启用FabricPath必须满足以下条件:
必须安装增强型二层许可证;
必须为所有FabricPath接口使用F1、F2或F2e线卡。配置FabricPath的第一步就是启用相应的功能特性集(如例2-73所示)。例2-73 启用FabricPath功能特性集
满足以上条件并启用了FabricPath功能特性集之后,就可以开始进行与FabricPath相关的配置任务了。后面将以图2-9所示的拓扑结构为例来解释FabricPath的配置过程。
如前所述,虽然FabricPath IS-IS可以为交换机自动分配唯一的交换机ID,但交换机ID通常都是由网络管理员进行静态分配的。由于交换机ID是一个12位标识符,因而网络管理员可以在4094个唯一的交换机ID中进行选择。交换机ID的配置方式如例2-74所示。
例2-74 配置交换机ID
为本示例拓扑结构定义了交换机ID之后,接下来就要定义通过该FabricPath网络进行传送的VLAN。需要在每台交换机上定义VLAN并将其配置为FabricPath VLAN。例2-75给出了将一组VLAN定义为FabricPath VLAN的配置方式。
警告:VLAN被设置为FabricPath模式之后,M系列线卡就无法再携带该VLAN了。
例2-75 将VLAN配置为FabricPath模式定义了交换机ID并将VLAN配置为FabricPath模式后,就可以配置FabricPath接口并在这些接口之间建立FabricPath IS-IS邻接关系了。对于需要建立FabricPath IS-IS邻接关系的接口来说,必须使用命令switchport mode fabricpath。下面将以图2-10所示拓扑结构为例来解释相应的配置方法。
为了验证FabricPath IS-IS邻接关系的建立情况,可以使用命令show fabricpath isis adjacency(如例2-76所示)。
例2-76 验证FabricPath邻接关系
邻接关系建立之后,就可以测试跨FabricPath网络核心的连接性了(如例2-77所示)。
例2-77 测试跨FabricPath网络核心的连接性
为了进一步理解FabricPath交换进程,有必要详细分析其后台处理行为。首先,本地交换机会解析10.10.10.4的MAC地址(如例2-78所示)。
例2-78 验证ARP解析
检查MAC地址表后会发现,此时提供的是FabricPath可达性信息,而不是指向交换机的出站接口(如例2-79所示)。
例2-79 验证MAC地址表
从例2-79的输出结果可以看出,对于去往0026.982e.b044的流量来说,将使用SWID 4、SSID 0和LID 1054的信息对数据帧进行FabricPath封装。为了确定向外转发该数据包的接口,可以查看FabricPath路由表(如例2-80所示)。
例2-80 显示FabricPath路由表
从例2-80的输出结果可以看出,为了到达SWID 4,将通过接口Ethernet 2/7向外发送该流量。此后,所有的中间FabricPath交换机都要重复上述过程,直至数据帧到达SWID 4,或者FabricPath报头中的TTL被递减至零。
FabricPath在设计之初就可以与其他二层技术(如vPC)实现互操作。vPC+是vPC扩展技术,可以将传统以太网设备连接到FabricPath网络。vPC+不但允许FabricPath网络将整个vPC域视为一台虚拟交换机,而且还允许传统以太网设备(如主机)或STP域通过FabricPath网络进行通信。从STP的角度来看,部署了vPC+技术的FabricPath网络就相当于一台二层网桥。
此外,为了创建活动/活动(双活)模式的FHRP(First Hop Redundancy Protocol,第一跳冗余协议,如HSRP和GLBP),vPC+还允许FabricPath节点联合成一台虚拟交换机以运行在活动/活动模式下。有关这些协议的详细信息将在第3章进行讨论。
警告:必须记住以下与vPC+相关的要点:
vPC对等链路和所有vPC成员都必须位于F1、F2或F2e线卡上;不建议在vPC+域配置中使用对等交换机;应该以足够低的STP优先级来配置vPC+,以确保其成为所连接的L2域的根网桥。基于上述FabricPath拓扑结构以及所用的配置信息,本节将以图2-11为例解释另一台通过vPC+连接到FabricPath网络中的配置过程。
首先,必须按照本章前面的配置方式启用vPC,步骤如下:
启用vPC功能特性;
定义vPC域;配置对等保持激活;配置对等链路。上述配置操作如例2-81所示。例2-81 配置vPC域
由于Port-Channel 1运行在FabricPath模式下,因而必须完成vPC+配置之后才能启用对等链路。例2-82给出了相应的差错消息。
例2-82 vPC+配置未完成时的差错消息
为了完成vPC+配置,必须在vPC+域的两个成员上配置虚拟交换机ID。该配置操作可以在vPC域配置模式下通过命令fabricpath switch-id来完成(如例2-83所示)。
完成vPC+域的配置且可以运行之后,就可以按照本章前面的描述来创建去往CE设备的vPC。图2-12给出了示例拓扑结构的相应配置信息。
利用命令show vpc可以验证vPC+的配置情况(如例2-85所示)。
例2-85 验证vPC配置
将例2-85的输出结果与前面(非vPC+)的输出结果进行比较,可以发现一个新列,该列提供了vPC+的属性信息,包括哪台设备是多播指派转发设备(DF:Yes)以及该指定vPC的subswitch ID(MAC: 12.11.0)。此时,其他FabricPath设备就能以SWID 12和SSID 11的ODA封装数据帧,从而到达vPC所连接设备的下游设备。
例2-86 位于vPC+所连接的交换机上的MAC地址(如FabricPath边缘设备所示)
转载地址:http://xuhtx.baihongyu.com/