©2008CiscoSystems,Inc.Allrightsreserved.CiscoPublicPresentation_ID1©2008CiscoSystems,Inc.Allrightsreserved.CiscoPublicPresentation_ID1多路径二层网的FabricPath简介陈刚cgang@cisco.com©2008CiscoSystems,Inc.Allrightsreserved.CiscoPublicPresentation_ID2©2008CiscoSystems,Inc.Allrightsreserved.CiscoPublicPresentation_ID2议程二层网络现状和面临的挑战高扩展高可用的二层解决方案FabricPath的技术细节FabricPath的部署案例FabricPath的监控与排错©2008CiscoSystems,Inc.Allrightsreserved.CiscoPublicPresentation_ID3©2008CiscoSystems,Inc.Allrightsreserved.CiscoPublicPresentation_ID3SpanningTree的不足11条物理链路5条逻辑链路路径选择的非最优两个网桥之间只能有单一的可达路径最短路径只是从根桥的角度去判断的带宽闲置不用为了二层逻辑拓扑不存在环路,冗余链路被Blocking链路速度越快,浪费的带宽越多控制平面缺乏安全根桥是按照switch-ID选举出来的,可能因为操作不当造成故障链路故障的收敛缓慢并且不可靠即使使用RSTP,也会出现数秒的服务中断©2008CiscoSystems,Inc.Allrightsreserved.CiscoPublicPresentation_ID4©2008CiscoSystems,Inc.Allrightsreserved.CiscoPublicPresentation_ID4网络设计中的困扰使用L2还是L3?VLANVLANVLANVLANAccessCoreLayer3NetworkVLANVLANVLANVLANL3L2简单(不需要进行地址规划和配置,不需要控制平面)用于unicast,broadcast,andmulticast的控制简单应用开发简单网段分开提供了故障隔离控制平面支持多路径和多拓扑,扩展性好支持快速收敛的HA数据平面支持额外的环路避免机制l(e.g.TTL,RPFcheck,etc.)Cisco具有足够的L2和L3技术来满足客户的需求Layer2?Layer3?L3互联的数据中心在提供以下服务方面存在不足:VMWare应用(FaultTolerantVM、HAVM、ClusterVM)HA与Cluster应用(MSMSCS、OracleRAC、HPTruCluster、IBMHACMP)物理服务器平滑搬迁数据中心容量不足时的扩展©2008CiscoSystems,Inc.Allrightsreserved.CiscoPublicPresentation_ID5©2008CiscoSystems,Inc.Allrightsreserved.CiscoPublicPresentation_ID5二层与三层网络的不同世界10.0.0.10/24NetworkAddress10.0.0.0/24HostAddress10.0.0.100011.1111.1111Non-hierarchicalAddress二层转发(桥接)Data-plane学习扁平的地址空间和转发表(MACeverywhere!!!)对未知的单播地址实行Flooding为了避免flooding,同一网络中的所有交换机必须学习目的MAC地址0011.1111.11110011.1111.11110011.1111.11110011.1111.11110011.1111.1111三层转发(路由)Control-plane学习层次化的地址空间与转发只有路由表中匹配的目的地址才被转发Flooding被网段隔离路由表的维护不依赖于data-plane10.0.0.1020.0.0.2010.0.0.0/2410.0.0.0/1620.0.0.0/1620.0.0.0/24©2008CiscoSystems,Inc.Allrightsreserved.CiscoPublicPresentation_ID6©2008CiscoSystems,Inc.Allrightsreserved.CiscoPublicPresentation_ID6如何改进二层网络?地址的编码机制:扁平层次化需要额外的Header信息来允许L2的“路由”而不是“桥接”提供类似TTL的环路避免技术地址的学习:数据平面控制平面不再需要每一台交换机学习所有的MAC地址来避免flooding控制平面:Distance-VectorLink-State提高扩展性,减少收敛时间,允许多路径最终的解决方案应该同时考虑控制平面与数据平面!!!©2008CiscoSystems,Inc.Allrightsreserved.CiscoPublicPresentation_ID7©2008CiscoSystems,Inc.Allrightsreserved.CiscoPublicPresentation_ID7前人的努力之一--VL2,来自MS,SIGCOMM2009使用高冗余的多路径三层网络构建VirtualLayer2网络使用TCP(Layer4!)来管理拥塞©2008CiscoSystems,Inc.Allrightsreserved.CiscoPublicPresentation_ID8©2008CiscoSystems,Inc.Allrightsreserved.CiscoPublicPresentation_ID8前人的努力之二--PMAC,HierarchicalPseudoMAC使用FabricManager来改写目的MAC地址成PMAC不需要额外的Header,内置支持Multicast©2008CiscoSystems,Inc.Allrightsreserved.CiscoPublicPresentation_ID9©2008CiscoSystems,Inc.Allrightsreserved.CiscoPublicPresentation_ID9前人的努力之三--Server-centricSourceRouting使用传统的交换机平滑的性能下降,适合集装箱式的模块化数据中心©2008CiscoSystems,Inc.Allrightsreserved.CiscoPublicPresentation_ID10©2008CiscoSystems,Inc.Allrightsreserved.CiscoPublicPresentation_ID10Cisco的解决之道--FabricPath“FabricPath为灵活的二层桥接网络带来的三层路由的好处”配置简单即插即用(Plug&Play)管理灵活多路径(ECMP)快速收敛高扩展性交换路由FabricPath带宽高扩展自动发现操作简单灵活的Workload迁移高可用性©2008CiscoSystems,Inc.Allrightsreserved.CiscoPublicPresentation_ID11©2008CiscoSystems,Inc.Allrightsreserved.CiscoPublicPresentation_ID11STPDomainFabricPathSTPDomain1STPDomain2FabricPath在数据平面的操作--通过封装来建立层次化的地址机制FabricPath的包头部由入口交换机产生入口和出口交换机地址用于决定“Routing”L2Fabric中不需要学习ClientMACACS11S42CADATACADATAFabricPathHeaderS11S42S11S42FabricPathRoutingL2BridgingACACACEgressSwitchIngressSwitch©2008CiscoSystems,Inc.Allrightsreserved.CiscoPublicPresentation_ID12©2008CiscoSystems,Inc.Allrightsreserved.CiscoPublicPresentation_ID12FabricPath在控制平面的操作--使用Plug-N-PlayL2IS-IS来管理转发拓扑自动为所有的FabricPathenabledswitches分配地址(不需要用户配置)计算最短路径支持任意一对FabricPath交换机之间的等价路径L1L2S1S2S3S4S11S12S42L2FabricL3L4FabricPathRoutingTableSwitchIFS1L1S2L2S3L3S4L4S12L1,L2,L3,L4……S42L1,L2,L3,L4©2008CiscoSystems,Inc.Allrightsreserved.CiscoPublicPresentation_ID13©2008CiscoSystems,Inc.Allrightsreserved.CiscoPublicPresentation_ID13FabricPath的环路避免--使用TTL和RPFCheck来减少loop的影响STPDomainBlock冗余路径来防止环路一旦STP失败,以太帧会一直LoopFlooding可能引起全网异常RootL2FabricS1S10S2TTL=3TTL=2TTL=1TTL=0TTL是FabricPath头部的一部分每一跳减去1当TTL=0时,数据帧被丢弃基于“树”信息为组播进行RPF检查Root©2008CiscoSystems,Inc.Allrightsreserved.CiscoPublicPresentation_ID14©2008CiscoSystems,Inc.Allrightsreserved.CiscoPublicPresentation_ID14FabricPath的技术细节--FabricPath的数据帧封装CiscoFabricPathFrameEtherTypeTreeID(10)TTL(6)(Classical)EthernetFrameSwitchID(12)Sub-SwitchID(8)PortID(16)OOO/DL(1)RSVD(1)*EndNode_ID(5:0)EndNode_ID(7:6)I/GU/LOuterDA(48)*OuterSA(48)*FPTAG(32*)DMACSMACEtherTypePayload802.1QHeaderCRCDMACSMACEtherTypePayload802.1QHeaderCRC(New)使用16字节的头部来建立层次化的地址空间,从而实现增强的特性SwitchID:用于识别L2Fabric每一台设备的唯一号码PortID:用于提供L2Fabric边界的MAC-to-Interface关联信息TreeID:帮助识别每个分布层“Tree”的唯一号码TTL:每一跳递减,以防故障造成的数据帧无限Loop*Lengthsforallfieldsareshownin“bits”©2008CiscoSystems,Inc.Allrightsreserved.CiscoPublicPresentation_ID15©2008CiscoSystems,Inc.Allrightsreserved.CiscoPublicPresentation_ID15FabricPath的“路由”计算--Layer2IS-IS只需要很少的了解,缺省不需要用户的配置maint