FabricPath使用案例

Download Report

Transcript FabricPath使用案例

多路径二层网的
FabricPath简介
陈 刚
[email protected]
Presentation_ID
© 2008 Cisco Systems, Inc. All rights reserved.
Cisco Public
1
议程
 二层网络现状和面临的挑战
 高扩展高可用的二层解决方案
 FabricPath的技术细节
 FabricPath的部署案例
 FabricPath的监控与排错
Presentation_ID
© 2008 Cisco Systems, Inc. All rights reserved.
Cisco Public
2
Spanning Tree的不足
 路径选择的非最优
两个网桥之间只能有单一的可达路径
最短路径只是从根桥的角度去判断的
 带宽闲置不用
为了二层逻辑拓扑不存在环路,冗余链路被
Blocking
链路速度越快,浪费的带宽越多
11 条物理链路
 控制平面缺乏安全
根桥是按照switch-ID选举出来的, 可能因为操作
不当造成故障
 链路故障的收敛缓慢并且不可靠
即使使用RSTP,也会出现数秒的服务中断
5 条逻辑链路
Presentation_ID
© 2008 Cisco Systems, Inc. All rights reserved.
Cisco Public
3
网络设计中的困扰
使用L2还是L3?
 L3互联的数据中心在提供以下服
务方面存在不足:
Layer 3
Network
L3
Core
 VMWare应用( Fault Tolerant VM、HA
VM、Cluster VM)
 网段分开提供了故障隔离
 控制平面支持多路径和多拓扑,扩展性好
 HA与Cluster应用(MS MSCS、Oracle RAC
 支持快速收敛的HA
、HP TruCluster、IBM HACMP)
 数据平面支持额外的环路避免机制l (e.g. TTL,
 check,
物理服务器平滑搬迁
RPF
etc.)
 数据中心容量不足时的扩展
Cisco 具有足够的L2和L3技术
来满足客户的需求
Layer 3?
Layer 2?
Access
L2
VLAN
VLAN
VLAN
VLAN
Presentation_ID
VLAN
VLAN
VLAN
VLAN
© 2008 Cisco Systems, Inc. All rights reserved.
Cisco Public
 简单 (不需要进行地址规划和配置,不需要控制
平面)
 用于unicast, broadcast, and multicast的控制
简单
 应用开发简单
4
二层与三层网络的不同世界
Network Address
10.0.0.0/24
10.0.0.10 /24
0011.1111.1111
Non-hierarchical
Address
0011.1111.1111
Host Address
10.0.0.10
0011.1111.1111
10.0.0.0/16
0011.1111.1111
0011.1111.1111
0011.1111.1111
10.0.0.10
二层转发(桥接)
 Data-plane学习
 扁平的地址空间和转发表 (MAC
everywhere!!!)
 对未知的单播地址实行Flooding
 为了避免flooding, 同一网络中的所有交
换机必须学习目的MAC地址
Presentation_ID
© 2008 Cisco Systems, Inc. All rights reserved.
10.0.0.0/24
Cisco Public
20.0.0.0/16
20.0.0.0/24
20.0.0.20
三层转发 (路由)
 Control-plane学习
 层次化的地址空间与转发
 只有路由表中匹配的目的地址才被转发
 Flooding 被网段隔离
 路由表的维护不依赖于data-plane
5
如何改进二层网络?
 地址的编码机制: 扁平  层次化
需要额外的Header信息 来允许L2的“路由”而不是 “桥接”
提供类似TTL的环路避免技术
 地址的学习: 数据平面  控制平面
不再需要每一台交换机学习所有的MAC地址来避免flooding
 控制平面: Distance-Vector  Link-State
提高扩展性, 减少收敛时间, 允许多路径
最终的解决方案应该同时考虑控制平面与数据平面!!!
Presentation_ID
© 2008 Cisco Systems, Inc. All rights reserved.
Cisco Public
6
前人的努力之一
-- VL2,来自MS,SIGCOMM 2009
 使用高冗余的多路径三层网络构建Virtual Layer 2网络
 使用TCP(Layer 4!)来管理拥塞
Presentation_ID
© 2008 Cisco Systems, Inc. All rights reserved.
Cisco Public
7
前人的努力之二
-- PMAC,Hierarchical Pseudo MAC
 使用Fabric Manager 来改写目的MAC 地址成PMAC
 不需要额外的Header, 内置支持Multicast
Presentation_ID
© 2008 Cisco Systems, Inc. All rights reserved.
Cisco Public
8
前人的努力之三
-- Server-centric Source Routing
 使用传统的交换机
 平滑的性能下降,适合集装箱式的模块化数据中心
Presentation_ID
© 2008 Cisco Systems, Inc. All rights reserved.
Cisco Public
9
Cisco的解决之道
-- FabricPath
“FabricPath 为灵活的二层桥接网络带来的三层
路由的好处”
交换
路由
 配置简单
 即插即用(Plug & Play)
 管理灵活
 多路径 (ECMP)
 快速收敛
 高扩展性
FabricPath
自动发现
操作简单
Presentation_ID
灵活的 Workload
迁移
© 2008 Cisco Systems, Inc. All rights reserved.
Cisco Public
带宽高扩展
高可用性
10
FabricPath在数据平面的操作
-- 通过封装来建立层次化的地址机制
 FabricPath的包头部由入口交换机产生
 入口和出口交换机地址用于决定 “Routing”
 L2 Fabric中不需要学习Client MAC
S42
FabricPath
Header
S11
FabricPath Routing
C
S11  S42
A
DATA
S11
STP
FabricPath
Domain
Ingress Switch
S42
Egress Switch
AC
C
A
DATA
A
C
STP Domain 1
STP Domain 2
AC
Presentation_ID
© 2008 Cisco Systems, Inc. All rights reserved.
L2 Bridging
AC
Cisco Public
11
FabricPath在控制平面的操作
-- 使用Plug-N-Play L2 IS-IS来管理转发拓扑
 自动为所有的FabricPath enabled switches 分配地址 (不需要
用户配置)
 计算最短路径
 支持任意一对FabricPath交换机之间的等价路径
S1
S2
S3
S4
FabricPath
Routing Table
Presentation_ID
Switch
IF
S1
L1
S2
L2
S3
L3
S4
L4
S12
L1, L2, L3, L4
…
…
S42
L1, L2, L3, L4
L1
L2
L3
L4
S11
© 2008 Cisco Systems, Inc. All rights reserved.
Cisco Public
S12
L2 Fabric
S42
12
FabricPath的环路避免
-- 使用TTL和RPF Check来减少loop的影响
Root
STP Domain
S1
S2
Root
TTL=2
TTL=1
L2 Fabric
S10
TTL=3
TTL=0
 Block冗余路径来防止环路
 一旦STP失败,以太帧会一
直Loop
 Flooding可能引起全网异常
Presentation_ID
© 2008 Cisco Systems, Inc. All rights reserved.
Cisco Public




TTL 是FabricPath头部的一部分
每一跳减去1
当 TTL=0时,数据帧被丢弃
基于“树”信息为组播进行RPF
检查
13
FabricPath的技术细节
-- FabricPath的数据帧封装
使用16字节的头部来建立层次化的地址空间,从而实现增强的特性
(Classical) Ethernet Frame
DMAC
SMAC
802.1Q
Header
Ether
Type
Payload
DMAC
SMAC
802.1Q
Header
Ether
Type
Payload
CRC
Cisco FabricPath Frame
Outer
DA
(48)*
Outer
SA
(48)*
FP
TAG
(32*)
CRC
(New)
* Lengths for all fields are shown in “bits”
I/G
U/L
EndNode_ID
(5:0)
EndNode
_ID
(7:6)
RSVD
(1)*
OOO/
DL
(1)
Switch
ID
(12)
Sub-Switch
ID
(8)
Port ID
(16)
Ether
Type
Tree
ID
(10)
TTL
(6)
 Switch ID: 用于识别L2 Fabric每一台设备的唯一号码
 Port ID: 用于提供L2 Fabric边界的 MAC-to-Interface关联信息
 Tree ID: 帮助识别每个分布层“Tree”的唯一号码
 TTL: 每一跳递减,以防故障造成的数据帧无限Loop
Presentation_ID
© 2008 Cisco Systems, Inc. All rights reserved.
Cisco Public
14
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
FabricPath Port
CE Port
Presentation_ID
© 2008 Cisco Systems, Inc. All rights reserved.
Cisco Public
15
FabricPath的技术细节
-- FabricPath的“路由表”
包括L2 Fabric中用于转发L2 单播流量的信息
Switch
IF
S2
L1, …, L101
…
…
S16
L1, …, L101
S100
L1
S200
L101
S1
 已知的单播地址
S100
S2
One Ingress Switch  One Egress Switch
S200
S16
L101
L102
L116
L1
L2
L16
S100
A
Presentation_ID
S200
L2 Fabric
FabricPath Port
CE Port
© 2008 Cisco Systems, Inc. All rights reserved.
 根据destination Switch-ID 选择转发路
径
 L2 Fabric中的每一台交换机根据从L2
IS-IS接收到的信息计算本地交换表
 交换表包括 {Switch-ID, Output
Interfaces}等基本信息
 对于指定的Switch-ID,最多可达16个
‘Next-hop Interfaces’ (i.e. L2 ECMP)
C
Cisco Public
16
FabricPath的技术细节
-- 边界交换机的MAC学习
优化资源利用 – 只学习需要的 MAC 地址
250
MACs
500
MACs
250
MACs
500
MACs
MAC
IF
L2 Fabric
STP
Domain
MAC
IF
B
2/1
S11
500
MACs
500
MACs
250
MACs
250
MACs
A
B
MAC
IF
C
3/1
A
S11
C
 每一台交换机学习所有的
MACs
 Local MAC: 只有从CE端口接受到数据才学习
Source-MAC
 大型的 L2 domain 网络
和大量的虚拟化给MAC
表的扩展性带来挑战
 Remote MAC: 只有当Destination-MAC已经作
为Local时, 从FabricPath Ports接收数据时才
学习 Source-MAC
Presentation_ID
© 2008 Cisco Systems, Inc. All rights reserved.
Cisco Public
17
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)
5. S1 继续基于本地的”tree 1”信息flood this frame (L5, L9)
6. S12 与S42 移除FabricPath header 并且向所有CE端口flood the frame
1.
2.
3.
4.
S1
Tree #
IF
1
L1, L5, L9
S2
L1
S3
L2
L3
L4
L7
L6
L5
S4
L8
L10
Tree #
IF
1
L1, L2, L3, L4
S11
L2 Fabric
S12
L11
No Learning on Remote MAC
since DMAC is unknown
L9
L12
S42
MAC
MAC
IF
A
1/1
Encap
MAC
1/1
IF
IF
3/1
Decap
Decap
A
Presentation_ID
© 2008 Cisco Systems, Inc. All rights reserved.
B
Cisco Public
C
FabricPath Port
CE Port
18
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
5. S1继续顺着”tree 1” floods this frame (L1, L5)
6. S11继续顺着”tree 1” floods this frame (L2~L4). 同理,移除FabricPath
Header, S11 发现目标地址A 已经是本地学习的,于是将C 作为Remote MAC
加入表格并且与S42相关联.
1.
2.
3.
4.
S1
Tree #
IF
1
L1, L5, L9
S2
L1
S3
L2
L3
L4
L7
L6
L5
S4
L8
L10
Tree #
IF
S11
1
L1, L2, L3, L4
HIT!
Presentation_ID
L2 Fabric
S12
MAC
IF
A
1/1
C
S4
2
Decap
MAC
1/1
L11
L9
IF
1
L9
MAC
IF
C
3/1
L12
S42
MISS
IF
3/1
Encap
Decap
A
© 2008 Cisco Systems, Inc. All rights reserved.
Tree #
B
Cisco Public
C
FabricPath Port
CE Port
19
Host A与C通讯的过程(三)
-- FabricPath对已知单播的转发
1. Host A 在解决ARP之后向Host C发送数据流
2. S11 发现C已经作为remote学习了, 并且和S42关联. 对到C所有后续进行封装
,在 FabricPath header中将S42作为目的地址
3. S11的“路由表”显示到S42有多条路径. 执行 ECMP hash算法,选择 L4 作
为next-hop
4. S4的“路由表”显示 L12 as next hop for S42
5. S42 发现自己是FabricPath header的目的地,并且 C 是本地已知的. 于是, 将
A 作为remote加入表格, 并且与S11关联.
S1
S2
L1
S3
L2
L3
L6
L5
S4
IF
…
…
S42
L7
…
S42
L12
L8
L2 Fabric
S12
…
L11
L9
L12
S42
L1, L2, L3, L4
HIT!
Presentation_ID
S11
IF
L4
L10
Switch
Switch
MA
C
IF
A
1/1
C
S4
2
HIT!
MAC
IF
C
3/1
A
S1
1
Encap
1/1
3/1
Decap
A
© 2008 Cisco Systems, Inc. All rights reserved.
B
Cisco Public
C
FabricPath Port
CE Port
20
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
Presentation_ID
© 2008 Cisco Systems, Inc. All rights reserved.
Cisco Public
21
FabricPath与TRILL的关系
-- FP= PreStandard TRILL? FP=Enhanced TRILL?
TRILL 帧格式
Presentation_ID
© 2008 Cisco Systems, Inc. All rights reserved.
FabricPath 帧格式
Cisco Public
22
E-TRILL与802.1AH
TRILL进入SP市场还有哪些障碍?
E-TRILL 帧格式
802.1ah 帧格式
Outer MAC DA
Outer MAC DA
Outer MAC DA
Outer MAC SA
Outer MAC SA
Outer MAC DA
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 VLAN
Payload
Payload ….
Presentation_ID
© 2008 Cisco Systems, Inc. All rights reserved.
C MAC SA
Eth = 802.1Q
C VLAN
Payload
Payload ….
Cisco Public
23
另外的L2扩展技术
-- OTV的MAC路由
1. 二层查找目的MAC. MAC 3 通过IP B
可达.
2. 边界设备封装以太网帧.
3. 骨干传输网将数据包分发到site East.
4. site East 的边界设备接收并解开数据包.
5. 查看原始帧的Layer 2信息. MAC 3 是本地
MAC.
6. 该以太网帧被发送到目的地.
3
Transport
Infrastructure
MAC TABLE
1
Layer 2
Lookup
VLAN
MAC
IF
100
MAC 1
Eth 2
100 OTV MAC 2
Eth 1
100
MAC 3
IP B
100
MAC 4
IP B
MAC 1  MAC 3
Presentation_ID
IP A
OTV
2
Encap
MAC 1  MAC 3
MAC 1
© 2008 Cisco Systems, Inc. All rights reserved.
IP A  IP B
West
Site
Cisco Public
MAC TABLE
Decap
IP B
4
OTV
MAC 1  MAC 3
East
Site
IP A  IP B
VLAN
MAC
IF
100
MAC 1
IP A
100
MAC 2OTV IP A
100
MAC 3
Eth 3
100
MAC 4
Eth 4
MAC 1  MAC 3
5
Layer 2
Lookup
6
MAC 3
24
当vPC遇上FabricPath
-- FabricPath下的增强版vPC
MAC Table
MAC Table
A  ???
A  S4
B
B
S3
S3
L2 Fabric
L2 Fabric
S3 S1 B
A
S3 S2 B
Payload
S1
vPC
B
A
A
Payload
S2
S3 S4 B
A
Payload
S3 S4 B
S1
vPC+
Payload
S2
MAC Table
MAC Table
B  S3
B  S3
Payload
S4
A
B
对于位于L2 Fabric Edge的所有交换机
 为了给dual-homed的CE设备提供
active/active L2 paths, 仍然需要vPC
 然而, MAC Table 只允许MAC和
Switch ID的1-to-1 mapping
Presentation_ID
A
© 2008 Cisco Systems, Inc. All rights reserved.
Cisco Public
A
Payload
A
 对L2 Frabric的其余部分而言,每个
vPC domain代表了一个unique
‘Virtual Switch’
 ‘Virtual Switch’的 Switch ID 在
FabricPath 封装中作为源地址
25
FabricPath使用案例
-- 高性能计算
8,192 10GE ports
512 10GE FabricPath ports per system
16 Chassis
Spine Switch
16-port Etherchannel
16-way ECMP
FabricPath
256 10GE FabricPath Ports
32 Chassis
Edge Switch
160 Tbps System Bandwidth
Open I/O Slots for
connectivity
HPC的需求
FabricPath 给HPC带来的好处
 HPC Clusters 需要高密度的计算
节点
 FabricPath 适合建设高密度的fattree network
 尽可能小的over-subscription
 通过FabricPath ECMP & portchannels 达成Fully non-blocking
 server to server 延时很低
 通过减少交换机的HOP跳数来降低
server to server的延迟
Presentation_ID
© 2008 Cisco Systems, Inc. All rights reserved.
Cisco Public
26
FabricPath使用案例
-- 为2048台万兆服务器扩展带宽

带宽性能提升16X

需要管理的设备从 74 减少到12台设备

网络可用性增加2X+

简化IT 操作
传统基于Spanning Tree的网络
基于FabricPath 的网络
2:1
8:1
Network Fabric
4
Pods
Fully Non-Blocking
Oversubscription 16:1
Blocked Links
8 Access Switches
64 Access Switches
2, 048 Servers
2, 048 Servers
Presentation_ID
© 2008 Cisco Systems, Inc. All rights reserved.
Cisco Public
27
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
Presentation_ID
© 2008 Cisco Systems, Inc. All rights reserved.
Cisco Public
28
FabricPath的排错
-- 使用DCNM图形化管理
 抽象的Fabric视图
 Identify fabric ‘hot-spots’
 FabricPath state awareness
 流量监控
 Frames distribution visibility
Up to 16-Way L2 ECMP
 Threshold crossing alerts for
bandwidth management
Cisco FabricPath
Classical Ethernet
Classical Ethernet
 排错
 Visualize unicast, multicast and
broadcast paths
 Check reachability between source
and destination nodes
 配置专家
 Manage FabricPath topologies with
Wizard tools
 Simplify fine-tuning FabricPath
Presentation_ID
© 2008 Cisco Systems, Inc. All rights reserved.
Cisco Public
29
FabricPath Roadmap
Cairo
Delhi
Freetown
32-port F1 Series 10G SFP+
32-port F1 Series 10G BaseT
48-port F2 Series 10G
(SFP+ & 10GBase-T) 550G fabric
FabricPath Native mode
FabricPath TRILL mode
VLAN Pruning
VTP/ISIS pruning interaction
Multicast Trees (2 trees)
Multicast Trees (>2 trees)
1 topology
Multiple topologies
Anycast FHRP
4 or more active default gateways
2 way anycast router / FHRP
16-Way ECMP
STP termination
VPC+
IEEE 1588 Pong
L2 proxy learning
Q4CY2010
Q1CY2011
2HCY2011
EagleHawk
E.Rocks
Fairheaven
Nexus 5548P (48-port 10G SFP+)
Nexus 5596 (96-port 10G SFP+)
FabricPath Native and TRILL modes
Nexus 5500
Nexus 7000
(November 2010, please check the Nexus 7000 and Nexus 5000 wikis for latest roadmap information)
Presentation_ID
VLAN pruning, VTP/ISIS interaction.
16 way ECMP
STP termination
vPC+
Anycast FHRP
Multiple topologies
Mulitcast trees (>2)
© 2008 Cisco Systems, Inc. All rights reserved.
Cisco Public
30
总结:
 FabricPath是如何综合二层网和三层网优点的。
 FabricPath包括了独立的控制平面来管理二层拓扑,用
于取代传统的生成树协议。
 FabricPath保留了二层技术的“Plug-n-Play”简单性
 最多16条ECMP路径来实行二层网络的扩展性和灵活性
,以满足数据中心的要求
 高可用的快速收敛。
Presentation_ID
© 2008 Cisco Systems, Inc. All rights reserved.
Cisco Public
31
Presentation_ID
© 2008 Cisco Systems, Inc. All rights reserved.
Cisco Public
32