交换和生成树协议.ppt
1福建师范大学软件学院FACULTY OF SOFTWARE交换和生成树协议SwitchingandSTP熊金波福建师范大学软件学院2福建师范大学软件学院问题的提出问题的提出(Bring forward some problems)I want to send a frame to host Y.服务器服务器/主机主机Y网段网段 1网段网段 2服务器服务器/主机主机 X路由器路由器 Z问题问题1:交换的交换的方式有哪些?方式有哪些?交换由什么实交换由什么实现?交换机的现?交换机的功能有哪些?功能有哪些?问题问题2:为了提高网络为了提高网络性能,可以采取冗余拓性能,可以采取冗余拓扑结构,其主要优点是扑结构,其主要优点是什么?但却给网路带来什么?但却给网路带来物理环路,环路能导致物理环路,环路能导致哪些问题?如何解决?哪些问题?如何解决?3福建师范大学软件学院教学目标(教学目标(Objectives )5.1 第第2层交换层交换(The Layer 2 Switching)5.2 生成树协议生成树协议(Spanning Tree Protocol)4福建师范大学软件学院5.1 第第2层交换层交换(The Layer 2 Switching)5.1.1交换基础(BasicofSwitching)5.1.2第2层交换的优越性和局限性(Theadvantageanddisadvantageofthelayer2switching)5.1.3两种交换方法(TwoSwitchingMethods)5.1.4交换机三种交换功能(ThreeSwitchFunctions)5福建师范大学软件学院5.1.1 交换基础交换基础(Basic of Switching)1第2层交换是在LAN上使用设备硬件地址对网络进行分段的过程Thelayer2switchingisaprocesswhichuseMACaddresstosubnetinLAN.2交换技术能将大的冲突域分隔为小的冲突域Switchingtechnologycanseparatethemajorconflictdomainintosmallseparateconflictdomain.3生成树协议可以防止在第2层交换式网络中产生环路Spanning-TreeProtocolcanpreventloopinThelayer2switchingnetwork.4交换机实现第2层交换Switchesimplementthelayer2switching.6福建师范大学软件学院5.1.2 第第2层交换的优越性层交换的优越性(The advantage of the layer 2 switching)基于硬件的桥接(ApplicationSpecificIntegratedCircuits,ASIC)线速(Wirespeed)低延迟(Low-latency)低成本(Low-cost)7福建师范大学软件学院5.1.2 第第2层交换的局限性层交换的局限性(The disadvantage of the layer 2 switching)1默认不能分隔广播域(cannotseparatebroadcastdomain)2广播、组播、以及生成树协议的慢收敛,降低了网络性能,因此,第2层交换机不能完全取代路由器(broadcast、multicastandSTPsslowconvergence,reducingthenetworkperformance,so,switchescannotcompletelyreplacetherouters)8福建师范大学软件学院5.1.3 两种交换方法两种交换方法(Two Switching Methods)9福建师范大学软件学院5.1.3 存储转发特征存储转发特征(Store-and-forward Feature)1.在转发之前整个帧被接收Theentireframeisreceivedbeforeanyforwardingtakesplace.2.由于交换开始之前要接收完整个帧,较大的数据帧延迟会较大Latencyisgreaterwithlargerframesbecausetheentireframemustbereceivedbeforetheswitchingprocessbegins.10福建师范大学软件学院5.1.3 直通特征直通特征(Cut-through Feature)1.在接收完整帧之前,帧就被转发。Theframeisforwardedthroughtheswitchbeforetheentireframeisreceived.2.最快的是只要读到目的地址就转发。Ataminimumtheframedestinationaddressmustbereadbeforetheframecanbeforwarded.3.这种模式降低了延迟,但是不进行检错Thismodedecreasesthelatencyofthetransmission,butalsoreduceserrordetection.直通转发的类型:直通转发的类型:一、快速转发(Fast-forward)二、无碎片方式(Fragment-free)11福建师范大学软件学院地址学习(Addresslearning)决定转发或过滤帧(Forward/Filterframedecision)避免环路(Loopavoidance)5.1.4 交换机的三种交换功能交换机的三种交换功能(Three Switch Functions)12福建师范大学软件学院5.1.4 交换机学习主机地址交换机学习主机地址(Switch Learn Host Address)初始MAC地址表是空的InitialMACaddresstableisemptyMAC address table0260.8c01.11110260.8c01.22220260.8c01.33330260.8c01.4444E0E1E2E3ABCD13福建师范大学软件学院5.1.4 交换机学习主机地址交换机学习主机地址(Switch Learn Host Address)A向C发送帧(StationAsendsaframetoStationC)交换机将A的MAC地址和其对应的接口E0放入MAC地址表SwitchcachesstationAMACaddresstoportE0bylearningthesourceaddressofdataframes该帧向除了E0接口的所有接口泛洪TheframefromstationAtostationCisfloodedouttoallportsexceptportE0MAC address table0260.8c01.11110260.8c01.22220260.8c01.33330260.8c01.4444E0:0260.8c01.1111E0E1E2E3DCBA14福建师范大学软件学院5.1.4 交换机学习主机地址交换机学习主机地址(Switch Learn Host Address)D向C发送帧(StationDsendsaframetostationC)交换机将D的MAC地址和其对应的接口E3放入MAC地址表SwitchcachesstationDMACaddresstoportE3bylearningthesourceAddressofdataframes该帧向除了E3接口的所有接口泛洪TheframefromstationDtostationCisfloodedouttoallportsexceptportE3(unknownunicastareflooded)MAC address table0260.8c01.11110260.8c01.22220260.8c01.33330260.8c01.4444E0:0260.8c01.1111E3:0260.8c01.4444E0E1E2E3DCAB15福建师范大学软件学院5.1.4 交换机过滤帧交换机过滤帧(Switches Filter Frames)A向C发送帧StationAsendsaframetostationC目的地址已知,帧不被泛洪Destinationisknown,frameisnotflooded0260.8c01.11110260.8c01.22220260.8c01.33330260.8c01.4444E0E1E2E3X XX XDCABMAC address table16福建师范大学软件学院5.1.4 交换机避免环路交换机避免环路(Loop avoidance)1交换机之间的冗余链路是一件好事,万一某个链路出现故障,冗余链路可以用来防止整个网络失效。Redundantlinkbetweenswitchesisagoodthing,oncealinkfailure,redundantlinkscanbeusedtopreventthefailureoftheentirenetwork.2虽然冗余链路有用,但是它同时带来非常严重的问题,数据帧可以同时被广播到所有冗余链路上,导致网络环路。Althoughredundantlinkisuseful,butitalsobringsomeseriousproblems,dataframescanbesimultaneouslybroadcasttoallredundantlinks,theresultisnetworkloop.3生成树协议可以避免网络环路。SpanningTreeProtocolcanbeavoidedloopnetwork.17福建师范大学软件学院主机D发送广播帧或多点帧StationDsendsabroadcastframeorMulticastframe广播帧或多点帧泛洪到除源端口外的所有端口AbroadcastframeorMulticastframeisfloodedouttoallportsexceptportE35.1.4 广播帧和多点传送帧广播帧和多点传送帧(broadcast frame and Multicast frame)0260.8c01.11110260.8c01.22220260.8c01.33330260.8c01.4444E0E1E2E3DCABE0:0260.8c01.1111E2:0260.8c01.2222E1:0260.8c01.3333E3:0260.8c01.4444MAC地址表地址表18福建师范大学软件学院5.1.4 网络冗余拓扑网络冗余拓扑(Network Redundant Topology)冗余拓扑消除了由于单点故障所引致的网络不通问题Agoalofredundanttopologiesistoeliminatenetworkoutagescausedbyasinglepointoffailure.冗余拓扑却带来了广播风暴、重复帧和MAC地址表不稳定等问题 Butredundanttopologyhasbroughtthebroadcaststorms,multipleframecopiesandMACaddresstableinstabilityproblems.网段网段 1网段网段 2服务器服务器/主机主机 X路由器路由器 Y所有的网络需要冗余来提高可靠性Allnetworksneedredundancyforenhancedreliability.19福建师范大学软件学院主机X发送一广播信息StationXsendsabroadcastmessages 5.1.4(1)(1)广播风暴广播风暴(Broadcast Storm)交换机交换机 A交换机交换机 B网段网段 1网段网段 2服务器服务器/主机主机 X路由器路由器 Y broadcast 20福建师范大学软件学院5.1.4(1)(1)广播风暴广播风暴(Broadcast Storm)主机X发送一广播信息StationXsendsabroadcastmessages交换机交换机 A交换机交换机 B网段网段 1网段网段 2服务器服务器/主机主机 X路由器路由器 Y broadcast 21福建师范大学软件学院交换机不停地发出广播信息Switchesconstantlybroadcastmessages5.1.4(1)(1)广播风暴广播风暴(Broadcast Storm)交换机交换机 A交换机交换机 B网段网段 1网段网段 2服务器服务器/主机主机 X路由器路由器 Y broadcast 22福建师范大学软件学院5.1.4(2)(2)重复帧重复帧(Repeat Frame)主机X发关一单点帧给路由器YStationXsendsaunicastframetorouterY.路由器Y的MAC地址还没有被交换机A和B学习到TheMACaddressofrouterYhasnotbeenlearnedbyswitchAandB.sotheunknownunicastframetoRouterYwillbeflooded.unicast交换机交换机 A交换机交换机 B网段网段 1网段网段 2服务器服务器/主机主机 X路由器路由器 Y unicast23福建师范大学软件学院主机X发关一单点帧给路由器YStationXsendsaunicastframetorouterY.路由器Y的MAC地址还没有被交换机A和B学习到TheMACaddressofrouterYhasnotbeenlearnedbyswitchAandB.路由器Y会收到同一帧的两个拷贝RoutersYwillreceivetwocopiesofthesameframe5.1.4(2)(2)重复帧重复帧(Repeat Frame)unicastunicastunicast交换机交换机 A交换机交换机 B网段网段 1网段网段 2服务器服务器/主机主机 X路由器路由器 Y24福建师范大学软件学院主机X发送一单点帧给路由器Y路由器Y的MAC地址还没有被交换机A和B学习到交换机A和B都学习到主机X的MAC地址对应端口05.1.4(3)MAC(3)MAC地址表不稳定地址表不稳定(MAC address table instability)unicast unicast端口端口 0端口端口1端口端口0端口端口1交换机交换机 A交换机交换机 B网段网段 1网段网段 2服务器服务器/主机主机 X路由器路由器 Y25福建师范大学软件学院主机X发送一单点帧给路由器Y路由器Y的MAC地址还没有被交换机A和B学习到交换机A和B都学习到主机X的MAC地址对应端口0到路由器Y的数据帧在交换机A和B上会泛洪处理交换机A和B都错误学习到主机X的MAC地址对应端口15.1.4(3)MAC(3)MAC地址表不稳定地址表不稳定(MAC address table instability)Unicast unicast端口端口 0端口端口1端口端口0端口端口1交换机交换机 A交换机交换机 B网段网段 1网段网段 2服务器服务器/主机主机 X路由器路由器 Yunicast26福建师范大学软件学院更复杂的拓扑结构可能导致多重回路Morecomplextopologymayleadtomultipleloop.在第2层没有能够防止这种回路的机制Layer2hasnomechanismtostoploops.5.1.4(4)(4)多重回路问题多重回路问题(Multiple loop Problem)服务器服务器/主机主机工作站工作站回路回路1回路回路2回路回路3 broadcast27福建师范大学软件学院5.1.4 回路的解决办法回路的解决办法:生成树协议生成树协议(Spanning-Tree Protocol)将某些端口置于阻塞状态就能防止冗余结构的网络拓扑中产生回路Aloopedtopologyisoftendesiredtoprovideredundancy,butloopedtrafficisundesirable.TheSpanningTreeProtocolwasoriginallydesignedforbridges.Today,itisalsoappliedtoLANswitchesandroutersoperatingasabridge.STPensuresallbridgedsegmentsarereachablebutanypointswhereloopsoccurwillbeblocked.阻阻 塞塞x28福建师范大学软件学院5.2 生成树协议生成树协议(Spanning Tree Protocol)5.2.1创建逻辑无环路拓扑(Creatingalogicalloopfreetopology)5.2.2STP术语(STPTerms)5.2.3Spanning-TreeProtocol5.2.4生成树操作(Spanning-TreeOperation)5.2.5生成树端口状态(Spanning-TreePortStates)29福建师范大学软件学院5.2.1 创建逻辑无环路拓扑创建逻辑无环路拓扑(Creating a logical loop free topology)1.冗余增加了可靠性,但是同时将物理环路带进网络Reliabilityisincreasedbyredundancy.redundancyconnectionsintroducephysicalloopsintothenetwork.2.解决办法就是创建逻辑无环路拓扑,同时保留物理环存在Thesolutionistoallowphysicalloops,butcreatealoopfreelogicaltopology.3.无环路拓扑称为树,并且是可扩展的树Theloopfreelogicaltopologycreatediscalledatree.Itisaspanningtreebecausealldevicesinthenetworkarereachableorspanned.4.创建逻辑无环路拓扑结构的算法称为生成树算法Thealgorithmusedtocreatethisloopfreelogicaltopologyisthespanning-treealgorithm.30福建师范大学软件学院5.2.2 STP术语术语(STP Terms)桥桥ID(Bridge ID)开销开销(Cost)桥协议数据单元桥协议数据单元(BPDU)31福建师范大学软件学院5.2.2 桥桥ID(Bridge ID,BID)1.BID用来识别每一个交换机用来识别每一个交换机/网桥。网桥。2.BID用来确定网络的中心,在用来确定网络的中心,在STP中称为根桥。中称为根桥。3.优先级默认为优先级默认为32768The BID consists of a bridge priority that defaults to 3276832福建师范大学软件学院5.2.2 开销开销(Cost)最短路径是cost累加,而cost是基于链路的速率的。Shortestpathisbasedoncumulativelinkcosts.Linkcostsarebasedonthespeedofthelink.33福建师范大学软件学院5.2.2 桥协议数据单元桥协议数据单元(BPDU)1.交换机发送的创建逻辑无环路的数据信息称为BPDUThemessagethataswitchsends,allowingtheformationofaloopfreelogicaltopology,iscalledaBridgeProtocolDataUnit(BPDU).2.BPDU在阻塞的接口上也可以接收,这确保如果链路或设备出现问题,新的生成树会被计算BPDUscontinuetobereceivedonblockedports.Thisensuresthatifanactivepathordevicefails,anewspanningtreecanbecalculated.3.默认情况下,BPDU每2秒发送一次BydefaultBPDUsaresenteverytwoseconds.34福建师范大学软件学院5.2.3 Spanning-Tree Protocol35福建师范大学软件学院5.2.4 生成树操作生成树操作(Spanning-Tree Operation)36福建师范大学软件学院 Spanning-Tree Operation1.选举根桥,BID最小即是Selectasingleswitchthatwillactastherootofthespanningtree.2.计算自己到根桥距离Calculatetheshortestpathfromitselftotherootswitch.3.选择根端口,距离根桥最近的接口Chooseoneofitsportsasitsrootport,foreachnon-rootswitch.Thisistheinterfacethatgivesthebestpathtotherootswitch.4.选择指定端口和非指定端口,非指定端口被阻塞。Selectportsthatarepartofthespanningtree,thedesignatedports.Non-designatedportsareblocked.37福建师范大学软件学院BPDU=Bridge protocol data unit(缺省地每缺省地每2秒发送秒发送BPDU数据数据)根桥根桥=有最低桥识别码的桥有最低桥识别码的桥桥识别码桥识别码=桥优先级桥优先级+桥桥MAC地址地址例中,例中,哪个交换机的桥识别码最低哪个交换机的桥识别码最低?交换机交换机 Y缺省的优先级缺省的优先级 32768(8000 十六进制十六进制)MAC 0c0022222222交接机交接机 X缺省的优先级缺省的优先级 32768(8000 十六进制十六进制)MAC 0c0011111111 BPDU Root Bridge的选择的选择(Select the Root Bridge)38福建师范大学软件学院请指出请指出:根桥根桥指定端口、非指定端口和根端口指定端口、非指定端口和根端口?各端口分别是转发还是阻塞状态各端口分别是转发还是阻塞状态?端口端口的选择的选择(Select the Port)交换机交换机YMAC 0c0022222222缺省的优先级缺省的优先级 32768交换机交换机XMAC 0c0011111111缺省的优先级缺省的优先级 32768 端口端口0端口端口1端口端口 0端口端口1交换机交换机 ZMac 0c0011110000缺省的优先级缺省的优先级 32768端口端口 0 100baseT100baseTCost=19Cost=19Cost=19根端口:根端口:具有最低根路径的接口指定端口要考虑的因素:指定端口要考虑的因素:1最低的根桥ID2最低的根路径代价3最低发送者桥ID4最低发送者端口ID39福建师范大学软件学院 端口端口的选择的选择(Select the Port)端口端口 0 100baseT100baseT指定端口指定端口(F)根端口根端口(F)非指定端口非指定端口(阻塞阻塞)指定端口指定端口(F)根端口根端口(F)交换机交换机YMAC 0c0022222222缺省的优先级缺省的优先级 32768交换机交换机XMAC 0c0011111111缺省的优先级缺省的优先级 32768 端口端口0端口端口1端口端口 0端口端口1交换机交换机 ZMac 0c0011110000缺省的优先级缺省的优先级 32768Cost=19Cost=19Cost=19根桥根桥非根桥非根桥非根桥非根桥40福建师范大学软件学院5.2.4 生成树操作规则生成树操作规则(Spanning-Tree Operation Rules)1.每个网络只有一个根桥Onerootbridgepernetwork.2.每个非根桥只有一个根端口Onerootportpernonrootbridge.3.每个段只有一个指定端口Onedesignatedportpersegment.4.非指定端口不被使用Nondesignatedportsareunused.41福建师范大学软件学院5.2.5 生成树端口状态生成树端口状态(Spanning-Tree Port States)42福建师范大学软件学院5.2.5 生成树端口状态生成树端口状态(Spanning-Tree Port States)1.在阻塞状态,端口仅能接收BPDU,需要20秒改变这种状态Intheblockingstate,portscanonlyreceiveBPDUs.Itmaytakeupto20secondstochangefromthisstate.2.在侦听状态,交换机确定是否有到根桥的其它路径。该状态持续15秒。在该状态,用户的数据不能转发,也不能学习MAC地址Inlisteningstate,switchesdetermineifthereareanyotherpathstotherootbridge.theforwarddelayandlastsfor15seconds.Inthelisteningstate,userdataisnotbeingforwardedandMACaddressesarenotbeinglearned.43福建师范大学软件学院5.2.5 生成树端口状态生成树端口状态(Spanning-Tree Port States)3.在学习状态,用户的数据不能转发,但是可以学习MAC地址,该状态持续15秒Inlearningstateuserdataisnotforwarded,butMACaddressesarelearnedfromanytrafficthatisseen.Thelearningstatelastsfor15secondsandisalsocalledtheforwarddelay.4.在转发状态,用户数据被转发,MAC地址继续学习,BPDU仍然工作InforwardingstateuserdataisforwardedandMACaddressescontinuetobelearned.BPDUsarestillprocessed.44福建师范大学软件学院Case StudyRefer to the exhibit.All switches have the default STP configuration and all links are Fast Ethernet.Which port on which switch will Spanning Tree place in blockingmode?45福建师范大学软件学院6 总结总结(Summarize)1 交换的基本概念交换的基本概念2 交换的方式交换的方式3 交换机的交换功能交换机的交换功能4 冗余拓扑导致网络环路问题冗余拓扑导致网络环路问题5 生成树协议解决环路问题生成树协议解决环路问题6 STP工作原理和操作工作原理和操作7 STP的端口状态的端口状态46福建师范大学软件学院7 思考题思考题(Questions)1.交换机三种主要的功能是什么?交换机三种主要的功能是什么?2.交换机怎样学习主机地址?交换机怎样学习主机地址?3.什么是存储转发?什么是存储转发?4.什么是快速转发?什么是快速转发?5.什么是无碎片方式转发?什么是无碎片方式转发?6.环路的存在,会导致环路的存在,会导致 、和和 问题。问题。7.交换机的交换机的ID由由 和和 组成。组成。8.选举根桥时,具有较选举根桥时,具有较 值的桥值的桥ID的交换机会成为根桥。的交换机会成为根桥。9.100M链路的新链路的新STP Cost为为 。10.STP收敛后收敛后 口和口和 口是处于转发状态的。口是处于转发状态的。11.决定指定端口时,会按顺序考虑决定指定端口时,会按顺序考虑 、和和 因素。因素。12.缺省时,转发延时为缺省时,转发延时为 秒,秒,Hello时间为时间为 秒,秒,BPDU的存活时的存活时间为间为 秒。秒。13.STP中,交换机的端口有中,交换机的端口有 、和和 状态。状态。