DA000028_生成樹原理ISSUE1.0_第1頁
DA000028_生成樹原理ISSUE1.0_第2頁
DA000028_生成樹原理ISSUE1.0_第3頁
DA000028_生成樹原理ISSUE1.0_第4頁
DA000028_生成樹原理ISSUE1.0_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、課程 DA000028生成樹原理ISSUE 1.0DA000028 生成樹原理 ISSUE1.0ISSUE 1.0目 錄目 錄課程說明1課程介紹1課程目標(biāo)1第1章 透明橋接概述21.1 透明網(wǎng)橋的應(yīng)用21.2 路徑回環(huán)的產(chǎn)生41.3 生成樹協(xié)議的引入5第2章 STP協(xié)議62.1 生成樹協(xié)議基本原理62.2 配置消息介紹72.3 生成樹比較92.4 配置消息舉例112.5 鏈路故障處理132.6 臨時(shí)回路處理172.7 拓?fù)涓淖儠r(shí)處理212.8 生成樹協(xié)議的不足25第3章 快速生成樹協(xié)議(RSTP)263.1 快速生成樹協(xié)議介紹263.2 快速生成樹協(xié)議改進(jìn)273.3 生成樹和快速生成樹的比較3

2、2iDA000028 生成樹原理 ISSUE1.0課程說明課程說明課程介紹本課程主要介紹STP(Spanning Tree Protocol)。在以太網(wǎng)中為了避免單點(diǎn)故障進(jìn)行鏈路冗余備份,鏈路的冗余備份又會導(dǎo)致路徑環(huán)路,從而產(chǎn)生網(wǎng)絡(luò)風(fēng)暴。STP協(xié)議可應(yīng)用于環(huán)路網(wǎng)絡(luò),通過一定的算法阻斷某些冗余路徑,將環(huán)路網(wǎng)絡(luò)修剪成無環(huán)路的樹型網(wǎng)絡(luò),從而避免報(bào)文在環(huán)路網(wǎng)絡(luò)中的增生和無限循環(huán)。課程目標(biāo)完成本課程的學(xué)習(xí)后,您應(yīng)該能夠: l 掌握路徑環(huán)路產(chǎn)生的原因l 掌握STP協(xié)議的基本原理l 掌握RSTP協(xié)議的基本原理32DA000028 生成樹原理 ISSUE1.0第2章 STP協(xié)議第1章 透明橋接概述1.1 透明

3、網(wǎng)橋的應(yīng)用對于一般的透明網(wǎng)橋來說,通常都具有以下的特點(diǎn):拓展LAN能力:通過透明網(wǎng)橋的應(yīng)用,可以使原先只在小范圍LAN上操作的站點(diǎn)能夠在更大范圍的LAN環(huán)境中工作。l 透明網(wǎng)橋能夠自主學(xué)習(xí)站點(diǎn)的地址信息,從而有效控制網(wǎng)絡(luò)中的數(shù)據(jù)包數(shù)量。當(dāng)網(wǎng)橋的某個(gè)端口上收到含有某個(gè)源MAC地址的數(shù)據(jù)幀時(shí),它就把該MAC地址和接收該數(shù)據(jù)幀的端口號保存在MAC地址表中。MAC地址表能夠指明該MAC地址與透明網(wǎng)橋的哪個(gè)端口相連。當(dāng)網(wǎng)橋收到一個(gè)數(shù)據(jù)幀時(shí),會查找這張地址表,找到目的MAC所對應(yīng)的端口。然后分下列三種情況進(jìn)行處理:如果目的端口是接收端口,則拋棄這個(gè)幀;如果不是接收端口,則從那個(gè)端口轉(zhuǎn)發(fā)該幀。如果收到的數(shù)據(jù)

4、幀不能從該表中找到對應(yīng)目的地址的端口,則要從除收到該數(shù)據(jù)之外所有其他端口廣播出去。另外如果網(wǎng)橋收到的是廣播幀,也要把該幀從除接收端口以外的所有其他端口轉(zhuǎn)發(fā)出去。但問題是“透明”網(wǎng)橋畢竟不是路由器,它不會對報(bào)文做任何修改的,報(bào)文中不會記錄到底經(jīng)過了幾個(gè)網(wǎng)橋,如果網(wǎng)絡(luò)中存在環(huán)路,報(bào)文有可能在環(huán)路中不斷循環(huán)和增生,造成網(wǎng)絡(luò)的擁塞,因而導(dǎo)致了網(wǎng)絡(luò)中“路徑回環(huán)”問題的產(chǎn)生。1.2 路徑回環(huán)的產(chǎn)生圖中是一個(gè)由于環(huán)路造成報(bào)文循環(huán)和增生的例子。假定A站點(diǎn)還沒有發(fā)送過任何包,因此網(wǎng)橋B1、B2和B3的地址表中都沒有A的地址的記錄。當(dāng)A發(fā)送了一個(gè)包,最初三個(gè)網(wǎng)橋都接受了這個(gè)包,記錄A的地址在LAN1上,并排隊(duì)等待

5、將這個(gè)包轉(zhuǎn)發(fā)到LAN2上。根據(jù)LAN的規(guī)則,其中的一個(gè)網(wǎng)橋?qū)⑹紫瘸晒Φ陌l(fā)送包到LAN2上,假設(shè)這個(gè)網(wǎng)橋是B1,那么B2和B3將會再次接收到這個(gè)包,因?yàn)锽1對于B2和B3來說是透明的,這個(gè)包就好像是A在LAN2上發(fā)送的一樣,于是B2和B3記錄A在LAN2上,排隊(duì)等待將這個(gè)新包轉(zhuǎn)發(fā)到LAN1上,假設(shè)這時(shí)B2成功將最初的包轉(zhuǎn)發(fā)到LAN2上,那么B1和B3都接收到這個(gè)包。B3還好,只是認(rèn)為A仍然在LAN2上,而B1又發(fā)現(xiàn)A已經(jīng)轉(zhuǎn)移到LAN2上了,然后B1和B3都會排隊(duì)等待轉(zhuǎn)發(fā)新包到LAN1上。如此下去,包就在環(huán)路中不斷循環(huán),更糟糕的是每次成功的包發(fā)送都會導(dǎo)致網(wǎng)絡(luò)中出現(xiàn)兩個(gè)新包。1.3 生成樹協(xié)議的引入

6、盡管透明網(wǎng)橋存在這個(gè)隱患,但是它的應(yīng)用還是相當(dāng)有誘惑力的,因?yàn)橥该骶W(wǎng)橋在無回路的網(wǎng)絡(luò)中發(fā)揮的作用是無可指摘的。那么是不是就認(rèn)為我們不能組建有回路的網(wǎng)絡(luò)呢?這顯然是不合適的,因?yàn)榛芈返拇嬖诳梢栽谕負(fù)浣Y(jié)構(gòu)的某條鏈路斷開之后,仍然保證網(wǎng)絡(luò)的連通性。為此,我們找到了一種很好的算法,它通過阻斷冗余鏈路將一個(gè)有回路的橋接網(wǎng)絡(luò)修剪成一個(gè)無回路的樹型拓?fù)浣Y(jié)構(gòu),這樣既解決了回路問題,又能在某條活動(active)的鏈路斷開時(shí),通過激活被阻斷的冗余鏈路重新修剪拓?fù)浣Y(jié)構(gòu)以恢復(fù)網(wǎng)絡(luò)的連通。上面的圖中給出了一個(gè)應(yīng)用生成樹的橋接網(wǎng)絡(luò)的例子,其中字符ROOT所標(biāo)識的網(wǎng)橋是生成樹的樹根,實(shí)線是活動的鏈路,也就是生成樹的枝條,

7、而虛線則是被阻斷的冗余鏈路,只有在活動鏈路斷開時(shí)才會被激活。第2章 STP協(xié)議2.1 生成樹協(xié)議基本原理生成樹算法的基本原理也很簡單,網(wǎng)橋之間彼此傳遞一種特殊的配置消息,802.1D協(xié)議將這種配置消息稱為“配置橋協(xié)議數(shù)據(jù)單元”或者“配置BPDU”。配置消息中包含了足夠的信息來保證網(wǎng)橋完成生成樹的計(jì)算。交換機(jī)會根據(jù)BPDU消息來完成如下的工作:l 在橋接網(wǎng)絡(luò)的所有參與生成樹計(jì)算的網(wǎng)橋中,選出一個(gè)作為樹根(Root Bridge);l 計(jì)算出其他網(wǎng)橋到這個(gè)根網(wǎng)橋的最短路徑;l 為每一個(gè)LAN選出一個(gè)指定網(wǎng)橋,該網(wǎng)橋必須是離根網(wǎng)橋最近的。指定網(wǎng)橋負(fù)責(zé)將這個(gè)LAN上的包轉(zhuǎn)發(fā)給根橋;l 為每個(gè)網(wǎng)橋選擇一

8、個(gè)根端口,該端口給出的路徑是本網(wǎng)橋到根網(wǎng)橋的最短路徑;l 選擇包含在生成樹上的端口,由根端口和LAN連接其指定網(wǎng)橋的那些端口(指定端口)組成。2.2 配置消息介紹配置消息也被稱作橋協(xié)議數(shù)據(jù)單元(BPDU),它主要包括以下內(nèi)容:即橋接網(wǎng)絡(luò)中的根橋ID,從指定網(wǎng)橋到根網(wǎng)橋的最小路徑開銷,指定網(wǎng)橋ID和指定端口ID四項(xiàng)內(nèi)容。網(wǎng)橋之間通過傳遞這些內(nèi)容就足以能夠完成生成樹的計(jì)算。為了敘述方便,我們可以用矢量形式(RootID,RootPathCost,DesignatedBridgeID,DesignatedPortID)來描述某個(gè)網(wǎng)橋所發(fā)出的BPDU內(nèi)容。最初,所有的網(wǎng)橋都發(fā)送以自己為根橋的配置消息,

9、比如網(wǎng)橋B發(fā)送的配置消息為(B,0,B,PortID); 網(wǎng)橋?qū)⒔邮盏降呐渲孟⒑妥约旱呐渲孟⑦M(jìn)行優(yōu)先級比較,保留優(yōu)先級較高的配置消息,并據(jù)此完成生成樹的計(jì)算。橋接網(wǎng)絡(luò)中,每個(gè)網(wǎng)橋都有一個(gè)用來標(biāo)識自己的唯一的48位地址,生成樹協(xié)議中,使用網(wǎng)橋優(yōu)先級和該48位地址的組合作為網(wǎng)橋的ID在配置消息的數(shù)據(jù)部分中來表示這個(gè)網(wǎng)橋。對每個(gè)網(wǎng)橋來說,這個(gè)網(wǎng)橋的所有端口可以使用端口優(yōu)先級和端口索引值作為ID來表示,生成樹協(xié)議使用這個(gè)ID在配置消息中唯一的表示網(wǎng)橋中的某個(gè)特定端口。BPDU配置消息是以以太網(wǎng)數(shù)據(jù)幀的格式進(jìn)行傳遞的,它采用一個(gè)周知的多播MAC地址01-80-C2-00-00-00作為目的MAC地址

10、,網(wǎng)絡(luò)中所有的網(wǎng)橋收到該地址后都能夠判斷出該報(bào)文是生成樹協(xié)議的協(xié)議報(bào)文。源MAC地址域中填的是本網(wǎng)橋的MAC地址。數(shù)據(jù)鏈路層報(bào)頭中的S A P 值是0 1 0 0 0 0 1 0(0x42)。在報(bào)文的數(shù)據(jù)域中攜帶了用于生成樹計(jì)算的所有數(shù)據(jù)。它除了上面所提到的根橋ID,到根的最小路徑費(fèi)用,指定橋ID和指定端口ID外,還包含其它一些輔助信息的值。2.3 生成樹比較那么我們是如何根據(jù)優(yōu)先級比較的結(jié)果計(jì)算生成樹的呢?主要分如下的幾個(gè)步驟進(jìn)行:l 首先,配置消息中最小的那個(gè)根網(wǎng)橋ID將成為生成樹的根;l 如果自己就是根網(wǎng)橋,則最短路徑開銷為0;否則將最優(yōu)配置消息中的路徑開銷加上接收端口對應(yīng)鏈路的路徑開銷

11、就是本網(wǎng)橋到根的最短路徑開銷;l 然后選擇根端口,一般來說對應(yīng)最短路徑開銷的那個(gè)端口就是根端口,但是如果對應(yīng)最短路徑開銷的端口不止一個(gè),則ID號最小的端口將成為根端口。l 確定根和最短路徑之后,網(wǎng)橋得到自己的配置消息,并將自己作為接收到的配置消息比之劣的那些端口的指定網(wǎng)橋,而這些端口就是指定端口。l 最后,網(wǎng)橋從指定端口將自己的配置消息發(fā)送出去。配置消息優(yōu)先級比較的原則是:l 先比較根網(wǎng)橋的ID,數(shù)值較小的那個(gè)優(yōu)先級較高;l 如果根網(wǎng)橋ID相同,則比較發(fā)送網(wǎng)橋到根橋的最短路徑,數(shù)值較小的優(yōu)先級較高;l 如果前兩者都相同,則比較發(fā)送網(wǎng)橋的ID,數(shù)值較小的優(yōu)先級較高;l 最后如果前三者都相同,則比

12、較發(fā)送端口ID(即配置消息中的指定端口的ID),同樣是數(shù)值較小的優(yōu)先級較高。需要說明的是,如果前三者都相同,表明發(fā)送網(wǎng)橋的兩個(gè)端口連接到一個(gè)物理LAN上。2.4 配置消息舉例下面我們舉個(gè)例子來說明這個(gè)過程。圖中網(wǎng)橋B81總共有五個(gè)端口,分別接收到這樣的配置消息:Port1:(32,0,32)Port2:(23,18,123)Port3:(23,14,321)Port4:(23,14,100)Port5:(23,15,80)注意:在計(jì)算過程中,指定端口ID不影響根橋的選擇,但會影響根端口的選擇。在此,我們?yōu)楹喕鹨?,暫且不考慮指定端口ID。表示BPDU消息的優(yōu)先級矢量用(RootID,RootP

13、athCost,DesignatedBridgeID)來表示。經(jīng)過優(yōu)先級比較,可以確定最好的根橋是23;而且本網(wǎng)橋到根橋的最短路徑是14+1=15;網(wǎng)橋還必須從端口3和端口4中選出一個(gè)作為根端口,由于端口4的配置消息的發(fā)送橋ID為100,比端口3的321較小,所以端口4為根端口。網(wǎng)橋81將發(fā)送(23,15,81)的配置消息,該配置消息優(yōu)于端口1和2收到的配置消息,因此網(wǎng)橋81為端口1和2所連接的網(wǎng)段的指定網(wǎng)橋,并把自己的配置消息從端口1、2發(fā)送出去。這樣就確定了,阻塞端口3和端口5,端口4是根端口,端口1和端口2是指定端口。阻塞的端口不參與數(shù)據(jù)的轉(zhuǎn)發(fā),根端口或指定端口收到的需要轉(zhuǎn)發(fā)的數(shù)據(jù)只能從

14、其他的根端口或指定端口轉(zhuǎn)發(fā)出去。從整個(gè)網(wǎng)絡(luò)來看,就等于阻塞了某些鏈路,而其他的鏈路組成一個(gè)無回路的樹型拓?fù)浣Y(jié)構(gòu)。2.5 鏈路故障處理如果活動的鏈路發(fā)生故障怎么辦呢?生成樹算法提供了一種定時(shí)器策略,配置消息中攜帶了一個(gè)生存期的域值,根網(wǎng)橋從它的所有端口周期性的發(fā)送生存期為0的配置消息,收到配置消息的網(wǎng)橋也同樣從自己的指定端口發(fā)送自己的生存期為0的配置消息。如果生成樹的枝條出現(xiàn)故障,則這條鏈路下游的端口將不會收到新鮮的配置消息,自己的配置消息的生存期值不斷增長,直至到達(dá)一個(gè)極限。該網(wǎng)橋?qū)仐夁@個(gè)過時(shí)的配置消息,重新開始生成樹計(jì)算。其中,定時(shí)發(fā)送的周期為hello time;配置消息的生存期為mes

15、sage age;最大生存期為max age。假設(shè)網(wǎng)橋81的端口4上的配置消息過時(shí)了,則網(wǎng)橋81拋棄掉(23,14,100)這條配置消息,重新選擇端口3為新的根端口,仍然阻塞端口5,將端口1、端口2和端口4作為指定端口,自己的配置消息也沒有變化,從端口1、端口2和端口4發(fā)送(23,15,81)的配置消息。假設(shè)端口3的配置消息也過時(shí)了,則(23,14,321)這條配置消息也被丟棄,重新選擇端口5為新的根端口,將端口1、2、3、4都作為指定端口,自己的配置消息變?yōu)椋?3,16,81),并從四個(gè)指定端口發(fā)送出去。如果端口5的配置消息也過時(shí)了,則配置消息(23,15,80)丟掉,網(wǎng)橋以自己為根發(fā)送(8

16、1,0,81)的配置消息,直到收到更好的配置消息,重新計(jì)算生成樹。2.6 臨時(shí)回路處理當(dāng)鏈路發(fā)生故障,網(wǎng)絡(luò)的拓?fù)浒l(fā)生改變,新的配置消息總要經(jīng)過一定的時(shí)延才能傳遍整個(gè)網(wǎng)絡(luò)。那么在其他網(wǎng)橋發(fā)現(xiàn)拓?fù)涓淖冎皶l(fā)生什么事情呢?有這樣兩種可能性存在:l 一種可能是:在舊的拓?fù)渲刑幱谵D(zhuǎn)發(fā)狀態(tài)的端口在新的拓?fù)渲袘?yīng)該被阻塞,可是它自己并沒有意識到這一點(diǎn),造成臨時(shí)的路徑回環(huán);l 另一種可能是:在舊的拓?fù)渲斜蛔枞亩丝趹?yīng)該在新的拓?fù)渲袇⑴c數(shù)據(jù)轉(zhuǎn)發(fā),如果它自己不知道,則會造成網(wǎng)絡(luò)暫時(shí)失去連通性。第二種可能沒有太大關(guān)系,最多丟掉幾個(gè)包。而第一種可能的危害前面已經(jīng)說的很多,我想讀者們可能也為此而著急。不過沒關(guān)系,生成樹

17、算法的定時(shí)器策略提供了一種很好的解決方案。當(dāng)一個(gè)被阻塞的端口要變成轉(zhuǎn)發(fā)狀態(tài)時(shí),需要經(jīng)歷一定的延時(shí)。這個(gè)時(shí)延最起碼必須是新的配置消息傳播到整個(gè)網(wǎng)絡(luò)所須時(shí)間的兩倍。假設(shè)forward delay是配置消息傳遍整個(gè)網(wǎng)絡(luò)的時(shí)間,我們可以設(shè)計(jì)一個(gè)中間狀態(tài),處于中間狀態(tài)的端口只能夠?qū)W習(xí)站點(diǎn)的地址信息,而不能參與數(shù)據(jù)轉(zhuǎn)發(fā)。端口從阻塞狀態(tài)經(jīng)過forward delay的延時(shí)后進(jìn)入中間狀態(tài),再經(jīng)過forward delay延時(shí)后,才能開始轉(zhuǎn)發(fā)數(shù)據(jù)。為解決臨時(shí)回路的問題,生成樹協(xié)議引入了若干中間狀態(tài)。在802. 1D的協(xié)議中,端口有這樣幾種狀態(tài):l Disabled:表示該端口不可用,不接收和發(fā)送任何報(bào)文。這種狀

18、態(tài)可以是由于端口的物理狀態(tài)導(dǎo)致的,也可能是管理者手工配置的。l Blocking:處于這個(gè)狀態(tài)的端口不能夠參與轉(zhuǎn)發(fā)數(shù)據(jù)報(bào)文,但是可以接收配置消息,并交給CPU進(jìn)行處理。不過不能發(fā)送配置消息,也不進(jìn)行地址學(xué)習(xí)。l Listening:處于這個(gè)狀態(tài)的端口也不參與數(shù)據(jù)轉(zhuǎn)發(fā),不進(jìn)行地址學(xué)習(xí);但是可以接收并發(fā)送配置消息。l Learning:處于這個(gè)狀態(tài)的端口同樣不能轉(zhuǎn)發(fā)數(shù)據(jù),但是開始地址學(xué)習(xí),并可以接收、處理和發(fā)送配置消息。l Forwarding:一旦端口進(jìn)入該狀態(tài),就可以轉(zhuǎn)發(fā)任何數(shù)據(jù)了,同時(shí)也進(jìn)行地址學(xué)習(xí)和配置消息的接收、處理和發(fā)送。圖中顯示了端口的五種狀態(tài)的遷移關(guān)系。從圖中我們可以看出來,當(dāng)一個(gè)

19、端口被選為根端口或指定端口,就會從blocking狀態(tài)遷移到一個(gè)中間狀態(tài)listening狀態(tài);經(jīng)歷forward delay的延時(shí),遷移到下一個(gè)中間狀態(tài)learning狀態(tài);再經(jīng)歷一個(gè)forward delay延時(shí),遷移到forwarding狀態(tài)。當(dāng)一個(gè)端口由于拓?fù)浒l(fā)生改變不再是根端口或指定端口了,就會立刻遷移到blocking狀態(tài)。并且,處于任何狀態(tài)的端口都可能因?yàn)槎丝诳捎没蛘卟豢捎米兂蒬isabled狀態(tài)。從listening遷移到learning,或者從learning遷移到forwarding狀態(tài),都需要經(jīng)過forward delay延時(shí),通過這種延時(shí)遷移的方式,能夠保證網(wǎng)絡(luò)中需要遷

20、移到discarding狀態(tài)(即為膠片中的Blocking狀態(tài))的端口已經(jīng)完成了遷移,因此能夠有效的避免臨時(shí)環(huán)路的形成。2.7 拓?fù)涓淖儠r(shí)處理網(wǎng)橋通過“學(xué)習(xí)”了解站點(diǎn)信息,并把它保持在地址表中。由于站點(diǎn)可以被移動,因而網(wǎng)橋應(yīng)該能夠?qū)⒛承┱军c(diǎn)老化,除非這個(gè)站點(diǎn)能夠不斷被證明仍然存在。站點(diǎn)信息的老化是通過站點(diǎn)信息在一段時(shí)間內(nèi)沒有重新確認(rèn)而導(dǎo)致超時(shí)來實(shí)現(xiàn)的。如果站點(diǎn)位置的改變是由于站點(diǎn)物理上被移動了,則我們可以將站點(diǎn)信息老化時(shí)間以分鐘為數(shù)量級,這是因?yàn)榘蜗履硞€(gè)站點(diǎn)的插頭,再移動這個(gè)站點(diǎn)(物理上移動),然后再插上插頭到站點(diǎn)可以開始工作,很可能花掉十幾分鐘時(shí)間。而且被移動的站點(diǎn)可以通過某種策略,以盡快開

21、始工作。例如,它們可以向廣播地址發(fā)送包。當(dāng)所有的網(wǎng)橋看到從源S 發(fā)來的包后,它們將修正到S 的條目?;谏厦婵紤],一般將站點(diǎn)信息的老化時(shí)間設(shè)為15分鐘。然而,重新生成一棵生成樹會改變多個(gè)站點(diǎn)的位置。而且這種邏輯上的位置改變站點(diǎn)本身是無法主動覺察到的,因此也就不能通過某種特殊機(jī)制(如發(fā)廣播包)來修正站點(diǎn)的地址信息。讓很多站點(diǎn)在拓?fù)浣Y(jié)構(gòu)改變了1 5 分鐘之后都不能被訪問是不大現(xiàn)實(shí)的。因此,如果地址表的老化時(shí)間值大于生成樹重新計(jì)算所需的時(shí)間,我們認(rèn)為需要有兩個(gè)緩沖區(qū)超時(shí)值:1) 一般情況下使用的較長值(較大值)。2) 生成樹重新計(jì)算后使用的較短的緩沖區(qū)超時(shí)值。當(dāng)站點(diǎn)的物理位置發(fā)生變化,網(wǎng)橋?qū)W習(xí)到的地

22、址信息可能就不正確了,所以每條學(xué)習(xí)到的地址信息有一個(gè)生存期,如果在生存期內(nèi)沒有報(bào)文來確認(rèn)這條地址是正確的,就丟棄它。大家可以想象到,如果站點(diǎn)的物理位置變化,比如把一臺終端設(shè)備從一個(gè)接入端口拔下來,再插到另一個(gè)端口上,肯定會花費(fèi)比較長的時(shí)間,那么這段時(shí)間就不會發(fā)送任何報(bào)文,它的地址信息就會因此而從網(wǎng)橋的地址表中刪除掉。所以這種情況中的地址信息生存期可以是一個(gè)比較長的值。但是當(dāng)生成樹的拓?fù)浒l(fā)生變化,站點(diǎn)的相對位置也可能會相應(yīng)的變化。比如圖中,LANC上的站點(diǎn)對于根網(wǎng)橋來說,本來是端口1所在網(wǎng)段的;后來LANA的鏈路出現(xiàn)故障,導(dǎo)致生成樹重新計(jì)算并為網(wǎng)橋B2選擇了一條新的通往根橋的路徑,這個(gè)時(shí)候LAN

23、C上的站點(diǎn)對于根網(wǎng)橋來說就轉(zhuǎn)移到了端口2所在網(wǎng)段上。如果在很長一段時(shí)間內(nèi)根網(wǎng)橋沒有發(fā)現(xiàn)這個(gè)變化,就會將給LANC的報(bào)文從端口1轉(zhuǎn)發(fā)出去,而真正的目的地可能會收不到這些報(bào)文。怎么辦呢?我們的解決辦法是給每條學(xué)習(xí)到的地址信息加上一個(gè)較短的生存期。在網(wǎng)橋發(fā)現(xiàn)拓?fù)渥兓陂g,站點(diǎn)的相對位置變化的可能性最大,所以用這個(gè)較短的生存期來限制地址表項(xiàng)。這時(shí)您可能會問,為什么不擔(dān)心站點(diǎn)的物理位置變化會導(dǎo)致很長時(shí)間收不到報(bào)文呢?很簡單,因?yàn)檎军c(diǎn)物理位置變化期間是不需要收到任何報(bào)文的。但是問題又來了,并不是橋接網(wǎng)絡(luò)中的所有網(wǎng)橋都會發(fā)現(xiàn)拓?fù)湟呀?jīng)改變了的。比如上一頁圖中,B2的局部變化對網(wǎng)絡(luò)的其他部分沒有什么影響,網(wǎng)橋B

24、1、B3和B4可能根本就沒有意識到生成樹已經(jīng)和從前不同了,因?yàn)閷@些網(wǎng)橋來說,各個(gè)端口的狀態(tài)沒有任何變化,鏈路也是正常暢通的。不同的只是LANC的相對位置,可是這一點(diǎn)只有LANC上的站點(diǎn)發(fā)送報(bào)文的時(shí)候才能被發(fā)現(xiàn),而沒有發(fā)送之前這些網(wǎng)橋都錯誤地用舊地址轉(zhuǎn)發(fā)表項(xiàng)來轉(zhuǎn)發(fā)到LANC的數(shù)據(jù),所以有必要讓網(wǎng)絡(luò)中的所有網(wǎng)橋都意識到:網(wǎng)絡(luò)拓?fù)湟呀?jīng)變化了!地址轉(zhuǎn)發(fā)表項(xiàng)可能已經(jīng)出現(xiàn)異常了!必須給那些學(xué)習(xí)到的地址表項(xiàng)設(shè)置較短的生存期!這就是生成樹協(xié)議中拓?fù)涓淖儓?bào)文的用途。拓?fù)涓淖儓?bào)文有三種:拓?fù)涓淖兺ㄖ?,拓?fù)涓淖儜?yīng)答消息,拓?fù)涓淖兿?。下面分別來介紹一下三種報(bào)文的含義:(1) 拓?fù)涓淖兺ㄖⅲ喊l(fā)現(xiàn)拓?fù)涓淖兊木W(wǎng)

25、橋從根端口以hello time為周期定時(shí)向根網(wǎng)橋的方向發(fā)送拓?fù)涓淖兺ㄖ?,每一個(gè)收到這個(gè)通知消息的非根網(wǎng)橋也同樣要向根橋的方向發(fā)送這個(gè)消息。這個(gè)消息是一個(gè)格式比較特殊的報(bào)文,它沒有數(shù)據(jù)項(xiàng),只需要讓根知道拓?fù)涓淖兗纯伞?2) 拓?fù)涓淖儜?yīng)答消息:收到拓?fù)涓淖兺ㄖ⒌木W(wǎng)橋如果不是根網(wǎng)橋需要響應(yīng)一個(gè)拓?fù)涓淖儜?yīng)答消息,收到應(yīng)答消息的網(wǎng)橋就知道了:哦,你已經(jīng)收到我的通知消息,那我就停止發(fā)送通知消息吧。這個(gè)消息是攜帶在該網(wǎng)橋發(fā)送的下一個(gè)配置消息中,用一個(gè)拓?fù)涓淖儜?yīng)答標(biāo)志位來標(biāo)識。(3) 拓?fù)涓淖兿ⅲ焊W(wǎng)橋收到拓?fù)涓淖兺ㄖⅲ蛘咦约喊l(fā)現(xiàn)拓?fù)涓淖冎?,則在一個(gè)時(shí)間段內(nèi),在以hello time為周期

26、定時(shí)向其他網(wǎng)橋發(fā)送的配置消息中,攜帶一個(gè)拓?fù)涓淖兊臉?biāo)志位。收到這個(gè)消息的網(wǎng)橋?qū)?yīng)用那個(gè)較短的地址表項(xiàng)生存期,直到收到的配置消息中不再有這個(gè)標(biāo)志。上圖中顯示了拓?fù)涓淖兺ㄖ娜^程。2.8 生成樹協(xié)議的不足在前面我們介紹了有關(guān)生成樹協(xié)議的一些特性。在實(shí)際的應(yīng)用中,生成樹協(xié)議也有很多美中不足的地方。最主要的缺點(diǎn)是端口從阻塞狀態(tài)到轉(zhuǎn)發(fā)狀態(tài)需要兩倍的forward delay時(shí)延,導(dǎo)致網(wǎng)絡(luò)的連通性至少要幾十秒的時(shí)間之后才能恢復(fù)。如果網(wǎng)絡(luò)中的拓樸結(jié)構(gòu)變化頻繁,網(wǎng)絡(luò)會頻繁的失去連通性,這樣用戶就會無法忍受。為了盡量避免網(wǎng)絡(luò)失去連通性,我們的交換機(jī)應(yīng)用了一種“快速生成樹”算法。DA000028 生成樹原理

27、ISSUE1.0第3章 快速生成樹協(xié)議(RSTP)第3章 快速生成樹協(xié)議(RSTP)3.1 快速生成樹協(xié)議介紹快速生成樹(RSTP)是從生成樹算法的基礎(chǔ)上發(fā)展而來,承襲了它的基本思想,即也是通過配置消息來傳遞生成樹信息,并通過優(yōu)先級比較來進(jìn)行計(jì)算??焖偕蓸淠軌蛲瓿缮蓸涞乃泄δ?,不同之處就在于:快速生成樹在不會造成臨時(shí)環(huán)路的前提下,減小了端口從阻塞到轉(zhuǎn)發(fā)的時(shí)延,盡可能快的恢復(fù)網(wǎng)絡(luò)連通性,提供更好的用戶服務(wù)。3.2 快速生成樹協(xié)議改進(jìn)快速生成樹從三個(gè)方面實(shí)現(xiàn)“快速”功能:1)一個(gè)新的根端口從阻塞到轉(zhuǎn)發(fā):如果舊的根端口已經(jīng)知道自己不再是根端口了,并進(jìn)入阻塞狀態(tài),且此時(shí)新的根端口連接的網(wǎng)段的指定

28、端口正處于轉(zhuǎn)發(fā)狀態(tài),那么這個(gè)新的根端口就可以無延時(shí)的進(jìn)入轉(zhuǎn)發(fā)狀態(tài)。圖中所示的情況就是一種典型的根端口快速狀態(tài)遷移的例子。2)一個(gè)非邊緣指定端口從阻塞到轉(zhuǎn)發(fā):“非邊緣”的意思是這個(gè)端口連接著其他的網(wǎng)橋,而不是只連接到終端設(shè)備。等待進(jìn)入轉(zhuǎn)發(fā)狀態(tài)的指定端口向下游發(fā)送一個(gè)握手請求報(bào)文,如果下游的網(wǎng)橋響應(yīng)了一個(gè)贊同報(bào)文,則這個(gè)指定端口就可以無延時(shí)的進(jìn)入轉(zhuǎn)發(fā)狀態(tài)。握手請求報(bào)文是在該端口發(fā)送的下一個(gè)配置消息中,用一個(gè)握手標(biāo)志位來標(biāo)識;握手響應(yīng)報(bào)文也是攜帶在端口發(fā)送的下一個(gè)配置消息中,用一個(gè)贊同標(biāo)志位來標(biāo)識。圖中所示的情況是一個(gè)典型的非邊緣指定端口快速狀態(tài)遷移的例子。不過這種快速狀態(tài)遷移需要一個(gè)前提條件:發(fā)起握手的端口與響應(yīng)握手的端口之間是一條點(diǎn)對點(diǎn)鏈路!如果這個(gè)條件不滿足,握手將不會被響應(yīng)。那么這個(gè)指定端口只好等待兩倍的forward delay時(shí)延了??梢婞c(diǎn)對點(diǎn)鏈路對快速生成樹的性能有很大的影響,下面列舉了點(diǎn)對點(diǎn)鏈路的幾種情況:l

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論