博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《NX-OS与Cisco Nexus交换技术:下一代数据中心架构(第2版)》一2.8 Cisco FabricPath...
阅读量:5941 次
发布时间:2019-06-19

本文共 5721 字,大约阅读时间需要 19 分钟。

本节书摘来自异步社区《NX-OS与Cisco Nexus交换技术:下一代数据中心架构(第2版)》一书中的第2章,第2.8节,作者 【美】Ron Fuller, CCIE#5851 , David Jansen, CCIE #5952 , Matthew McPherson,更多章节内容可以访问云栖社区“异步社区”公众号查看

2.8 Cisco FabricPath

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所示。

e4f8477d9e92e7f1f69b3d1c828bd81a96944a26

从表面上来看,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功能特性集

e6b3b78176b064781feef8b512211ad051ec19e3

满足以上条件并启用了FabricPath功能特性集之后,就可以开始进行与FabricPath相关的配置任务了。后面将以图2-9所示的拓扑结构为例来解释FabricPath的配置过程。

2c6ddf0138c66943e1a3c87710eb8fe521495e74

如前所述,虽然FabricPath IS-IS可以为交换机自动分配唯一的交换机ID,但交换机ID通常都是由网络管理员进行静态分配的。由于交换机ID是一个12位标识符,因而网络管理员可以在4094个唯一的交换机ID中进行选择。交换机ID的配置方式如例2-74所示。

例2-74 配置交换机ID

3f8133eda1fb64cd831b65580b362e41c5941a37

为本示例拓扑结构定义了交换机ID之后,接下来就要定义通过该FabricPath网络进行传送的VLAN。需要在每台交换机上定义VLAN并将其配置为FabricPath VLAN。例2-75给出了将一组VLAN定义为FabricPath VLAN的配置方式。

警告:VLAN被设置为FabricPath模式之后,M系列线卡就无法再携带该VLAN了。

例2-75 将VLAN配置为FabricPath模式

d66f7a0c2535d0c03a981509acc038728858e8d1

定义了交换机ID并将VLAN配置为FabricPath模式后,就可以配置FabricPath接口并在这些接口之间建立FabricPath IS-IS邻接关系了。对于需要建立FabricPath IS-IS邻接关系的接口来说,必须使用命令switchport mode fabricpath。下面将以图2-10所示拓扑结构为例来解释相应的配置方法。

c370ee17789606b089a2e0a1e35a3c9a33573a60

为了验证FabricPath IS-IS邻接关系的建立情况,可以使用命令show fabricpath isis adjacency(如例2-76所示)。

例2-76 验证FabricPath邻接关系

1e908a45e99f695122ae1a2840d26d237ff22a7b

邻接关系建立之后,就可以测试跨FabricPath网络核心的连接性了(如例2-77所示)。

例2-77 测试跨FabricPath网络核心的连接性

4d1482081907f210e00716aa8125475ef753c9b2

为了进一步理解FabricPath交换进程,有必要详细分析其后台处理行为。首先,本地交换机会解析10.10.10.4的MAC地址(如例2-78所示)。

例2-78 验证ARP解析

image

检查MAC地址表后会发现,此时提供的是FabricPath可达性信息,而不是指向交换机的出站接口(如例2-79所示)。

例2-79 验证MAC地址表

8ac77672e9409a654bcbe155d5628cd9d4f25ef0

从例2-79的输出结果可以看出,对于去往0026.982e.b044的流量来说,将使用SWID 4、SSID 0和LID 1054的信息对数据帧进行FabricPath封装。为了确定向外转发该数据包的接口,可以查看FabricPath路由表(如例2-80所示)。

例2-80 显示FabricPath路由表

ab7f8f5486a8ad77648b94b2c57b0ec480dd87fa

从例2-80的输出结果可以看出,为了到达SWID 4,将通过接口Ethernet 2/7向外发送该流量。此后,所有的中间FabricPath交换机都要重复上述过程,直至数据帧到达SWID 4,或者FabricPath报头中的TTL被递减至零。

2.8.1 vPC+

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域的根网桥。

2.8.2 配置vPC+

基于上述FabricPath拓扑结构以及所用的配置信息,本节将以图2-11为例解释另一台通过vPC+连接到FabricPath网络中的配置过程。

d6c5727f87f5b18deec16b0dd4869f6043794cb9

首先,必须按照本章前面的配置方式启用vPC,步骤如下:

启用vPC功能特性;

定义vPC域;
配置对等保持激活;
配置对等链路。
上述配置操作如例2-81所示。

例2-81 配置vPC域

9a445ddf14f75030065c5fbd382234c805d51d06

由于Port-Channel 1运行在FabricPath模式下,因而必须完成vPC+配置之后才能启用对等链路。例2-82给出了相应的差错消息。

例2-82 vPC+配置未完成时的差错消息

3b07c474543810d3b781442496082d3171579db3

为了完成vPC+配置,必须在vPC+域的两个成员上配置虚拟交换机ID。该配置操作可以在vPC域配置模式下通过命令fabricpath switch-id来完成(如例2-83所示)。

e8af700bae9e21e9f2ad5824c534462c11ac0c44

完成vPC+域的配置且可以运行之后,就可以按照本章前面的描述来创建去往CE设备的vPC。图2-12给出了示例拓扑结构的相应配置信息。

30338d84360705852692c0fab646204d5c497a5a

利用命令show vpc可以验证vPC+的配置情况(如例2-85所示)。

例2-85 验证vPC配置

2a459e3e4446f10ee6d01d85ac51baee2baad890

将例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边缘设备所示)

f14cfccf7d8420abc8068087494c0484a07da822

转载地址:http://xuhtx.baihongyu.com/

你可能感兴趣的文章
mysql出现unblock with 'mysqladmin flush-hosts'
查看>>
oracle exp/imp命令详解
查看>>
开发安全的 API 所需要核对的清单
查看>>
Mycat源码中的单例模式
查看>>
WPF Dispatcher介绍
查看>>
fiddler展示serverIP方法
查看>>
C语言中的随意跳转
查看>>
WPF中如何将ListViewItem双击事件绑定到Command
查看>>
《聚散两依依》
查看>>
小tips:你不知道的 npm init
查看>>
Mac笔记本中是用Idea开发工具在Java项目中调用python脚本遇到的环境变量问题解决...
查看>>
Jmeter也能IP欺骗!
查看>>
Rust 阴阳谜题,及纯基于代码的分析与化简
查看>>
ASP.NET Core的身份认证框架IdentityServer4(4)- 支持的规范
查看>>
(原創) array可以使用reference方式傳進function嗎? (C/C++)
查看>>
170多个Ionic Framework学习资源(转载)
查看>>
Azure:不能把同一个certificate同时用于Azure Management和RDP
查看>>
Directx11教程(15) D3D11管线(4)
查看>>
Microsoft Excel软件打开文件出现文件的格式与文件扩展名指定格式不一致?
查看>>
ios ble 参考
查看>>