1 / 32

多路径二层网的 FabricPath 简介

多路径二层网的 FabricPath 简介. 陈 刚 cgang@cisco.com. 议程. 二层网络现状和面临的挑战 高扩展高可用的二层解决方案 FabricPath 的技术细节 FabricPath 的部署案例 FabricPath 的监控与排错. Spanning Tree 的不足. 路径选择的非最优 两个网桥之间只能有单一的可达路径 最短路径只是从根桥的角度去判断的 带宽闲置不用 为了二层逻辑拓扑不存在环路,冗余链路被 Blocking 链路速度越快,浪费的带宽越多 控制平面缺乏安全

lapis
Download Presentation

多路径二层网的 FabricPath 简介

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 多路径二层网的FabricPath简介 陈 刚 cgang@cisco.com

  2. 议程 • 二层网络现状和面临的挑战 • 高扩展高可用的二层解决方案 • FabricPath的技术细节 • FabricPath的部署案例 • FabricPath的监控与排错

  3. Spanning Tree的不足 • 路径选择的非最优 两个网桥之间只能有单一的可达路径 最短路径只是从根桥的角度去判断的 • 带宽闲置不用 为了二层逻辑拓扑不存在环路,冗余链路被Blocking 链路速度越快,浪费的带宽越多 • 控制平面缺乏安全 根桥是按照switch-ID选举出来的, 可能因为操作不当造成故障 • 链路故障的收敛缓慢并且不可靠 即使使用RSTP,也会出现数秒的服务中断 11 条物理链路 5 条逻辑链路

  4. 网络设计中的困扰使用L2还是L3? • L3互联的数据中心在提供以下服务方面存在不足: • VMWare应用( Fault Tolerant VM、HA VM、Cluster VM) • HA与Cluster应用(MS MSCS、Oracle RAC、HP TruCluster、IBM HACMP) • 物理服务器平滑搬迁 • 数据中心容量不足时的扩展 Layer 3 Network • 网段分开提供了故障隔离 • 控制平面支持多路径和多拓扑,扩展性好 • 支持快速收敛的HA • 数据平面支持额外的环路避免机制l (e.g. TTL, RPF check, etc.) L3 Core Cisco 具有足够的L2和L3技术 来满足客户的需求 Layer 3? Layer 2? Access • 简单 (不需要进行地址规划和配置,不需要控制平面) • 用于unicast, broadcast, and multicast的控制简单 • 应用开发简单 L2 VLAN VLAN VLAN VLAN VLAN VLAN VLAN VLAN

  5. 二层与三层网络的不同世界 Network Address 10.0.0.0/24 10.0.0.10 /24 Host Address 10.0.0.10 0011.1111.1111 0011.1111.1111 10.0.0.0/16 20.0.0.0/16 0011.1111.1111 10.0.0.0/24 20.0.0.0/24 0011.1111.1111 Non-hierarchical Address 0011.1111.1111 10.0.0.10 20.0.0.20 0011.1111.1111 • 二层转发(桥接) • Data-plane学习 • 扁平的地址空间和转发表 (MAC everywhere!!!) • 对未知的单播地址实行Flooding • 为了避免flooding, 同一网络中的所有交换机必须学习目的MAC地址 • 三层转发 (路由) • Control-plane学习 • 层次化的地址空间与转发 • 只有路由表中匹配的目的地址才被转发 • Flooding 被网段隔离 • 路由表的维护不依赖于data-plane

  6. 如何改进二层网络? • 地址的编码机制:扁平层次化 需要额外的Header信息来允许L2的“路由”而不是 “桥接” 提供类似TTL的环路避免技术 • 地址的学习: 数据平面控制平面 不再需要每一台交换机学习所有的MAC地址来避免flooding • 控制平面: Distance-Vector Link-State 提高扩展性, 减少收敛时间, 允许多路径 最终的解决方案应该同时考虑控制平面与数据平面!!!

  7. 前人的努力之一 -- VL2,来自MS,SIGCOMM 2009 • 使用高冗余的多路径三层网络构建Virtual Layer 2网络 • 使用TCP(Layer 4!)来管理拥塞

  8. 前人的努力之二 -- PMAC,Hierarchical Pseudo MAC • 使用Fabric Manager 来改写目的MAC 地址成PMAC • 不需要额外的Header, 内置支持Multicast

  9. 前人的努力之三 -- Server-centric Source Routing • 使用传统的交换机 • 平滑的性能下降,适合集装箱式的模块化数据中心

  10. 自动发现 操作简单 灵活的 Workload 迁移 带宽高扩展 高可用性 Cisco的解决之道 -- FabricPath “FabricPath 为灵活的二层桥接网络带来的三层路由的好处” 交换 路由 • 配置简单 • 即插即用(Plug & Play) • 管理灵活 • 多路径 (ECMP) • 快速收敛 • 高扩展性 FabricPath

  11. FabricPath在数据平面的操作 -- 通过封装来建立层次化的地址机制 • FabricPath的包头部由入口交换机产生 • 入口和出口交换机地址用于决定 “Routing” • L2 Fabric中不需要学习Client MAC C S42 A S11 DATA FabricPath Header FabricPath Routing S11  S42 C STP Domain FabricPath A S11 S42 DATA Ingress Switch Egress Switch A  C L2 Bridging STP Domain 1 STP Domain 2 A  C A  C A C

  12. FabricPath在控制平面的操作 -- 使用Plug-N-Play L2 IS-IS来管理转发拓扑 • 自动为所有的FabricPath enabled switches 分配地址 (不需要用户配置) • 计算最短路径 • 支持任意一对FabricPath交换机之间的等价路径 S1 S2 S3 S4 FabricPath Routing Table L1 L2 L3 L4 S11 S12 S42 L2 Fabric

  13. FabricPath的环路避免 -- 使用TTL和RPF Check来减少loop的影响 Root STP Domain S1 S2 Root TTL=2 TTL=1 L2 Fabric M  S2 S10 TTL=3 TTL=0 • Block冗余路径来防止环路 • 一旦STP失败,以太帧会一直Loop • Flooding可能引起全网异常 • TTL 是FabricPath头部的一部分 • 每一跳减去1 • 当 TTL=0时,数据帧被丢弃 • 基于“树”信息为组播进行RPF 检查

  14. FabricPath的技术细节 -- FabricPath的数据帧封装 使用16字节的头部来建立层次化的地址空间,从而实现增强的特性 (Classical) Ethernet Frame Cisco FabricPath Frame DMAC SMAC 802.1Q Header Ether Type Payload CRC Outer DA (48)* Outer SA (48)* FP TAG (32*) CRC (New) DMAC SMAC 802.1Q Header Ether Type Payload * Lengths for all fields are shown in “bits” Ether Type Tree ID (10) TTL (6) • Switch ID: 用于识别L2 Fabric每一台设备的唯一号码 • Port ID: 用于提供L2 Fabric边界的 MAC-to-Interface关联信息 • Tree ID:帮助识别每个分布层“Tree”的唯一号码 • TTL: 每一跳递减,以防故障造成的数据帧无限Loop EndNode_ID (5:0) U/L I/G EndNode_ID (7:6) RSVD (1)* OOO/DL (1) Switch ID (12) Sub-Switch ID (8) Port ID (16)

  15. FabricPath的“路由”计算 -- Layer 2 IS-IS • 只需要很少的了解,缺省不需要用户的配置 maintain PnP nature of Layer 2 • 基于 ISO/IEC 10589 • 可扩展的协议设计,允许 Layer 2信息通过IS-IS交换 • Single-level IS-IS with support for P2P links • 为转发流量计算转发信息 • 支持ECMP的Link-state 协议,提高故障检测,网络恢复,高可用 L2 Fabric IS-IS Update IS-IS Update IS-IS Update IS-IS Update FabricPath Port CE Port

  16. FabricPath的技术细节 -- FabricPath的“路由表” 包括L2 Fabric中用于转发L2 单播流量的信息 • 已知的单播地址 • One Ingress Switch  One Egress Switch • 根据destination Switch-ID 选择转发路径 • L2 Fabric中的每一台交换机根据从L2 IS-IS接收到的信息计算本地交换表 • 交换表包括{Switch-ID, Output Interfaces}等基本信息 • 对于指定的Switch-ID,最多可达16个 ‘Next-hop Interfaces’ (i.e. L2 ECMP) S100 S200 S1 S2 S16 L101 L102 L116 L1 L2 L16 S100 S200 L2 Fabric FabricPath Port A C CE Port

  17. FabricPath的技术细节 -- 边界交换机的MAC学习 优化资源利用– 只学习需要的 MAC 地址 250 MACs 250 MACs 500 MACs 500 MACs L2 Fabric B C A S11 STP Domain 500 MACs 500 MACs 250 MACs 250 MACs • 每一台交换机学习所有的 MACs • 大型的 L2 domain 网络和大量的虚拟化给MAC 表的扩展性带来挑战 • Local MAC: 只有从CE端口接受到数据才学习Source-MAC • Remote MAC: 只有当Destination-MAC已经作为Local时,从FabricPath Ports接收数据时才学习 Source-MAC

  18. Host A与C通讯的过程(一) -- FabricPath对广播的转发 Host A 与Host C 第一次通讯. 向C发送ARP请求 S11 把 A 加入 MAC 表,因为是来自CE端口的源地址学习 由于目的MAC是‘All F’, S11 向所有的CE端口Flood该数据包 同时, S11 选择‘Tree 1’, 在FabricPath header中记录并 floods this frame 到所有属于”tree 1”的 FabricPath ports (L1 ~ L4) S1 继续基于本地的”tree 1”信息flood this frame (L5, L9) S12 与S42 移除FabricPath header 并且向所有CE端口flood the frame A B C S1 S2 S3 S4 S11 FF (1) A  FF L1 L2 L3 L4 L7 L8 L6 L5 L10 L11 No Learning on Remote MAC since DMAC is unknown L12 L2 Fabric S11 S12 S42 L9 Decap Decap Encap 1/1 3/1 A  FF A  FF A  FF FabricPath Port CE Port

  19. Host A与C通讯的过程(二) -- FabricPath对未知单播的转发 Host C 向Host A送回ARP Reply S42 从CE端口根据源地址学习原理将C 加入MAC Table 由于 A is unknown, S42向所有CE端口 floods this frame 同时, S42 根据选择的‘Tree 1’, 在FabricPath header中记录并且向所有的FabricPath ports (L9) floods this frame S1继续顺着”tree 1” floods this frame (L1, L5) S11继续顺着”tree 1” floods this frame (L2~L4). 同理,移除FabricPath Header, S11 发现目标地址A 已经是本地学习的,于是将C 作为Remote MAC加入表格并且与S42相关联. A B C S1 S2 S3 S4 A  C FF S42 (1) A  C FF S42 (1) L1 L2 L3 L4 L7 L8 L6 L5 L10 L11 L12 L2 Fabric S11 S12 S42 L9 Decap Encap Decap MISS 1/1 3/1 HIT! A  C A  C FabricPath Port C  A CE Port

  20. Host A与C通讯的过程(三) -- FabricPath对已知单播的转发 Host A 在解决ARP之后向Host C发送数据流 S11 发现C已经作为remote学习了, 并且和S42关联. 对到C所有后续进行封装,在 FabricPath header中将S42作为目的地址 S11的“路由表”显示到S42有多条路径. 执行 ECMP hash算法,选择 L4 作为next-hop S4的“路由表”显示 L12 as next hop for S42 S42 发现自己是FabricPath header的目的地,并且 C 是本地已知的. 于是, 将A 作为remote加入表格, 并且与S11关联. A B C S1 S2 S3 S4 A  C S11 S42 S11 S42 A  C L1 L2 L3 L4 L7 L8 L6 L5 L10 L11 L12 L2 Fabric S11 S12 S42 L9 HIT! Decap Encap 1/1 3/1 A  C HIT! A  C FabricPath Port CE Port

  21. FabricPath的配置 • 不需要 L2 IS-IS 配置 • 新的‘feature-set’ 关键词会自动将FabricPath需要的多个Service同时打开 (e.g. L2 IS-IS, LLDP, etc.) • 非常简单的操作 – 只需要3条命令让FabricPath跑起来 N7K(config)# feature-set fabricpath N7K(config)# vlan 10-19 N7K(config-vlan)# mode fabricpath N7K(config)# interface port-channel 1 N7K(config-if)# switchport mode fabricpath L2 Fabric FabricPath Port CE Port

  22. FabricPath与TRILL的关系 -- FP= PreStandard TRILL? FP=Enhanced TRILL? TRILL 帧格式 FabricPath 帧格式 Conversation based MAC learning 16 ECMP TTL,RPF Multi-Topo CE Inter-OP

  23. E-TRILL与802.1AH TRILL进入SP市场还有哪些障碍? E-TRILL 帧格式 802.1ah 帧格式 Outer MAC DA Outer MAC DA Outer MAC DA Outer MAC SA Outer MAC DA Outer MAC SA Outer MAC SA Outer MAC SA Eth = 0x88a8 Outer VLAN Eth = 0x88a8 B VLAN Eth = PR-TAG PCP/TTL, SID Eth = .1ah PCP/R, I-SID SID C MAC DA I-SID C MAC DA C MAC DA C MAC DA C MAC SA C MAC SA C MAC SA Eth = 802.1Q C MAC SA Eth = 802.1Q C VLAN Payload C VLAN Payload Payload …. Payload ….

  24. 5 2 1 4 另外的L2扩展技术 -- OTV的MAC路由 site East 的边界设备接收并解开数据包. 查看原始帧的Layer 2信息. MAC 3 是本地 MAC. 该以太网帧被发送到目的地. 二层查找目的MAC. MAC 3 通过IP B可达. 边界设备封装以太网帧. 骨干传输网将数据包分发到site East. OTV Layer 2 Lookup Layer 2 Lookup 3 Transport Infrastructure Decap IP A IP B OTV OTV OTV OTV Encap MAC 1  MAC 3 IP A  IP B IP A  IP B MAC 1  MAC 3 MAC 1  MAC 3 MAC 1  MAC 3 6 West Site East Site MAC 1 MAC 1  MAC 3 MAC 3

  25. 当vPC遇上FabricPath -- FabricPath下的增强版vPC B B L2 Fabric S3 L2 Fabric S3 S3 S2 B A Payload S3 S1 B A Payload S3 S4 B A Payload S3 S4 B A Payload Payload B A S1 S2 vPC+ S1 S2 vPC S4 A B A Payload A 对于位于L2 Fabric Edge的所有交换机 • 为了给dual-homed的CE设备提供active/active L2 paths, 仍然需要vPC • 然而, MAC Table 只允许MAC和Switch ID的1-to-1 mapping • 对L2 Frabric的其余部分而言,每个vPC domain代表了一个unique ‘Virtual Switch’ • ‘Virtual Switch’的 Switch ID 在FabricPath 封装中作为源地址

  26. FabricPath使用案例 -- 高性能计算 8,192 10GE ports 512 10GE FabricPath ports per system Spine Switch 16 Chassis 16-port Etherchannel 16-way ECMP FabricPath 256 10GE FabricPath Ports 32 Chassis Edge Switch Open I/O Slots for connectivity 160 Tbps System Bandwidth HPC的需求 • HPC Clusters 需要高密度的计算节点 • 尽可能小的over-subscription • server to server 延时很低 • FabricPath 给HPC带来的好处 • FabricPath 适合建设高密度的fat-tree network • 通过FabricPath ECMP & port-channels 达成Fully non-blocking • 通过减少交换机的HOP跳数来降低server to server的延迟

  27. FabricPath使用案例 -- 为2048台万兆服务器扩展带宽 • 带宽性能提升16X • 需要管理的设备从 74 减少到12台设备 • 网络可用性增加2X+ • 简化IT 操作 基于FabricPath 的网络 传统基于Spanning Tree的网络 Blocked Links Fully Non-Blocking Oversubscription 16:1 2:1 Network Fabric 4 Pods 8:1 8 Access Switches 2, 048 Servers 64 Access Switches 2, 048 Servers

  28. FabricPath的排错 -- 提高Layer 2的可视化 • 利用为三层技术设计的相同工具 • Routing table • Link-state database • Distribution trees • ECMP path selection • Pong – L2 Ping + Traceroute • Provide info on all devices on a given path in L2 Fabric • Check on link health • FabricPath的性能衡量 Through IEEE 1588 timestamp and pong to help estimate average end-to-end latency

  29. FabricPath的排错 -- 使用DCNM图形化管理 • 抽象的Fabric视图 • Identify fabric ‘hot-spots’ • FabricPath state awareness • 流量监控 • Frames distribution visibility • Threshold crossing alerts for bandwidth management • 排错 • Visualize unicast, multicast and broadcast paths • Check reachability between source and destination nodes • 配置专家 • Manage FabricPath topologies with Wizard tools • Simplify fine-tuning FabricPath Up to 16-Way L2 ECMP Cisco FabricPath Classical Ethernet Classical Ethernet

  30. FabricPath Roadmap (November 2010, please check the Nexus 7000 and Nexus 5000 wikis for latest roadmap information)

  31. 总结: • FabricPath是如何综合二层网和三层网优点的。 • FabricPath包括了独立的控制平面来管理二层拓扑,用于取代传统的生成树协议。 • FabricPath保留了二层技术的“Plug-n-Play”简单性 • 最多16条ECMP路径来实行二层网络的扩展性和灵活性,以满足数据中心的要求 • 高可用的快速收敛。

More Related