一種自組分域冗余轉(zhuǎn)發(fā)交換機(jī)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種生成樹(shù)技術(shù)領(lǐng)域,具體地說(shuō)是一種自組分域冗余轉(zhuǎn)發(fā)交換機(jī)。
【背景技術(shù)】
[0002]生成樹(shù)協(xié)議是一種二層管理協(xié)議,它通過(guò)有選擇性地阻塞網(wǎng)絡(luò)冗余鏈路來(lái)達(dá)到消除網(wǎng)絡(luò)二層環(huán)路的目的,同時(shí)具備鏈路的備份功能。生成樹(shù)協(xié)議包括,IEEE802.1D生成樹(shù)協(xié)議(S T P )、I E E E 8 O 2.I w快速生成樹(shù)協(xié)議(簡(jiǎn)寫(xiě):R S T P,英文全稱rapidspanningTreeProtocol)、以及IEEE802.1q多生成樹(shù)協(xié)議(MSTP)。STP協(xié)議中定義了根#(RootBridge)J|^i| 口(RootPort)、指定端口(DesignatedPort)、路徑開(kāi)銷(PathCost)等概念,通過(guò)構(gòu)造一棵自然樹(shù)的方法達(dá)到裁剪冗余環(huán)路的目的,同時(shí)實(shí)現(xiàn)鏈路備份和路徑最優(yōu)化。
[0003]當(dāng)拓?fù)浒l(fā)生變化時(shí),如鏈路故障或者有新的設(shè)備添加到拓?fù)渲?,新的配置消息要?jīng)過(guò)一定的時(shí)延才能傳播到整個(gè)網(wǎng)絡(luò),生成樹(shù)協(xié)議需要根據(jù)新的變化重新進(jìn)行收斂計(jì)算過(guò)程。收斂過(guò)程包括從根橋到所有的橋計(jì)算新的生成樹(shù)以及將某些橋端口指定為“轉(zhuǎn)發(fā)”或“丟棄”。通過(guò)該收斂過(guò)程,提供了無(wú)環(huán)回的拓?fù)洹?br>[0004]RSTP為根端口和指定端口設(shè)置了快速切換用的替換端口(AlternatePort)和備份端口(BackupPort)兩種角色,當(dāng)根端口/指定端口失效的情況下,替換端口 /備份端口就會(huì)無(wú)時(shí)延地進(jìn)入轉(zhuǎn)發(fā)狀態(tài),同時(shí),兩個(gè)交換端口的點(diǎn)對(duì)點(diǎn)鏈路中,指定端口只需與下游網(wǎng)橋進(jìn)行一次握手就可以無(wú)時(shí)延地進(jìn)入轉(zhuǎn)發(fā)。這樣RSTP加快了建立生成樹(shù)的收斂時(shí)間。
[0005]MSTP將快速生成樹(shù)協(xié)議和虛擬局域網(wǎng)(VLAN)技術(shù)二者的最好方面結(jié)合了起來(lái)。在MSTP中,可以將若干VLAN映射到單一生成樹(shù)實(shí)例,這里稱作MST實(shí)例(MSTI),并且每個(gè)生成樹(shù)實(shí)例獨(dú)立于其他生成樹(shù)實(shí)例。每個(gè)MSTI由一個(gè)區(qū)域中本地有意義的MSTI號(hào)碼來(lái)識(shí)別;MSTI不跨越MST區(qū)域。這種方式為數(shù)據(jù)業(yè)務(wù)量提供了多個(gè)轉(zhuǎn)發(fā)路經(jīng),支持了負(fù)載平衡,并減少了支持大量VLAN所需的生成樹(shù)實(shí)例的數(shù)目。
[0006]生成樹(shù)協(xié)議能夠解決網(wǎng)絡(luò)環(huán)路問(wèn)題,但是有些端口被阻塞,造成網(wǎng)絡(luò)帶寬浪費(fèi)。生成樹(shù)協(xié)議數(shù)據(jù)單元BPDU (BPDU是運(yùn)行STP的交換機(jī)之間交換的消息幀)在快速生成樹(shù)協(xié)議RSTP每個(gè)交換機(jī)之間傳送信息;其結(jié)構(gòu)包括根ID、根路徑代價(jià)、指定的橋ID、指定的端口 ID、端口 ID;每一個(gè)端口接收到BPDU后,將與自已保持BPDU向量進(jìn)行比較;如果接收到的BPDU信息優(yōu)先于端口保存向量信息,那么將觸發(fā)重新計(jì)算所有端口角色〔例如,根端口、指定端口、備份端口和替代端口〕,即重新生成一顆新的端口樹(shù);包括在生成的樹(shù)中選擇一個(gè)根橋、每個(gè)橋上的根端口、每個(gè)鏈路或指定端口、替代端口、備份端口 ;根橋具有最低的橋標(biāo)識(shí)符,根端口提供到根橋的最短矩離,替代端口和備份端口將在在其它網(wǎng)絡(luò)部件故障的情況下連通;處于丟棄(discarding)狀態(tài)的端口只有旁邊的鏈路斷開(kāi),該端口才能切換成轉(zhuǎn)發(fā)狀態(tài)進(jìn)行報(bào)文傳遞;正常情況下,丟棄狀態(tài)的端口不進(jìn)行報(bào)文傳遞。如圖1所示,生成樹(shù)是根據(jù)當(dāng)前端口到root之間路徑花費(fèi)作為衡量,對(duì)于sw2端口與swl端口之間路徑是最優(yōu)的。但是由于sw3端口A處于discarding狀態(tài)(阻斷),局部路徑如端口 sw2和端口 sw3之間路徑并不是最優(yōu),端口sw2和端口sw3之間的通信需要通過(guò)端口swl和端口sw4才能進(jìn)行,所以這樣沒(méi)有充分利用鏈路資源,造成帶寬浪費(fèi)。
[0007]
【發(fā)明內(nèi)容】
本發(fā)明的技術(shù)任務(wù)是提供一種采用優(yōu)化數(shù)據(jù)鏈路層二層局部鏈路的方法減少網(wǎng)絡(luò)路徑中阻塞的端口,針對(duì)每一條報(bào)文選取最佳的轉(zhuǎn)發(fā)路徑,同環(huán)路鏈路和主鏈路可以負(fù)載均衡,可有效使用帶寬資源同時(shí)又不會(huì)引起轉(zhuǎn)發(fā)混亂以及廣播風(fēng)暴的一種自組分域冗余轉(zhuǎn)發(fā)交換機(jī)。
[0008]本發(fā)明的技術(shù)任務(wù)是按以下方式實(shí)現(xiàn)的,生成樹(shù)由交換機(jī)生成,生成樹(shù)中二層MAC地址轉(zhuǎn)發(fā)表里包含了MAC地址與轉(zhuǎn)發(fā)端口對(duì)應(yīng)關(guān)系,即二層MAC地址轉(zhuǎn)發(fā)表包括MAC地址、端口所屬的VLANID、轉(zhuǎn)發(fā)出端口的端口號(hào),在MAC地址轉(zhuǎn)發(fā)表的表項(xiàng)中增加了輔助優(yōu)先轉(zhuǎn)發(fā)出端口的端口號(hào),轉(zhuǎn)發(fā)出端口由生成樹(shù)中的轉(zhuǎn)發(fā)(forwarding)端口構(gòu)成,輔助優(yōu)先轉(zhuǎn)發(fā)出端口由生成樹(shù)中的涉及(Involving)端口組成,輔助優(yōu)先轉(zhuǎn)發(fā)出端口的端口號(hào)用來(lái)記錄和選擇局部鏈路中報(bào)文較快的轉(zhuǎn)發(fā)路徑;生成樹(shù)由交換機(jī)自組分域生成。
[0009]生成樹(shù)中當(dāng)端口處于丟棄(discarding)狀態(tài),此時(shí)端口可以接受廣播報(bào)文,但不傳遞廣播報(bào)文;當(dāng)二層交換機(jī)接受到廣播報(bào)文時(shí),如果報(bào)文來(lái)自丟棄(discarding)狀態(tài)的端口,首先根據(jù)源mac地址查找二層MAC地址轉(zhuǎn)發(fā)表中轉(zhuǎn)發(fā)出端口的端口號(hào)項(xiàng)是否有信息,如果有則保持原有態(tài);如果轉(zhuǎn)發(fā)出端口的端口號(hào)項(xiàng)為空,那么進(jìn)一步查看輔助優(yōu)先轉(zhuǎn)發(fā)出端口的端口號(hào)信息,如果有,保持原有狀態(tài);如果輔助優(yōu)先轉(zhuǎn)發(fā)出端口的端口號(hào)信息也為空,這時(shí)將輔助優(yōu)先轉(zhuǎn)發(fā)出端口的端口號(hào)的信息置為該端口,同時(shí)端口信息由丟棄(discarding)狀態(tài)轉(zhuǎn)變成涉及(Involving)狀態(tài),處于涉及(Involving)狀態(tài)的端口不參與生成樹(shù)的計(jì)算,也不學(xué)習(xí)鏈路信息,但學(xué)習(xí)廣播報(bào)文的信息;這樣保證整個(gè)網(wǎng)絡(luò)的沒(méi)有環(huán)路不產(chǎn)生網(wǎng)絡(luò)風(fēng)暴;當(dāng)報(bào)文轉(zhuǎn)發(fā)查詢二層MAC地址轉(zhuǎn)發(fā)表,如果有輔助優(yōu)先轉(zhuǎn)發(fā)出端口的端口號(hào)信息時(shí),優(yōu)先從輔助優(yōu)先轉(zhuǎn)發(fā)出端口轉(zhuǎn)發(fā)出去,這樣保證最優(yōu)鏈路的使用;當(dāng)輔助優(yōu)先轉(zhuǎn)發(fā)出端口繁忙時(shí),可以從轉(zhuǎn)發(fā)出端口的端口號(hào)項(xiàng)指示的路徑轉(zhuǎn)發(fā),這樣形成二層鏈路的負(fù)載均衡,更加有效利用的帶寬。當(dāng)端口從涉及(Involving)狀態(tài)切換成轉(zhuǎn)發(fā)(forwarding)狀態(tài)時(shí),與該端口的對(duì)應(yīng)輔助優(yōu)先轉(zhuǎn)發(fā)出端口的端口號(hào)都置空,保證另外的局部?jī)?yōu)先的鏈路的建立。
[0010]生成樹(shù)由交換機(jī)自組分域生成的具體步驟為:
[0011](I)、交換機(jī)與鄰近的交換機(jī)建立域子樹(shù):交換機(jī)先向鄰近的交換機(jī)域申請(qǐng)建立域子樹(shù),當(dāng)某一交換機(jī)域子樹(shù)的交換機(jī)數(shù)目多時(shí),申請(qǐng)的交換機(jī)不能加入該交換機(jī)域,這時(shí)交換機(jī)向另外鄰近的交換機(jī)域提出申請(qǐng),直到申請(qǐng)成功加入交換機(jī)域,如果鄰近的交換機(jī)域都不能接收該交換機(jī),那么該交換機(jī)將生成一個(gè)新的交換機(jī)域;
[0012](2)、域子樹(shù)建立后將建立域間樹(shù):連接兩個(gè)或多個(gè)域子樹(shù)之間的交換機(jī)成為邊界交換機(jī),各個(gè)域子樹(shù)看成一臺(tái)邏輯交換機(jī),將邊界交換機(jī)的端口看成邏輯交換機(jī)的端口,這樣在邊界交換機(jī)建立一顆邏輯樹(shù),實(shí)現(xiàn)域間樹(shù)的建立,把各個(gè)邏輯樹(shù)相連起來(lái);本發(fā)明與STP和RSTP技術(shù)兼容,可以混合搭建無(wú)環(huán)網(wǎng)絡(luò)。
[0013]本發(fā)明的一種自組分域冗余轉(zhuǎn)發(fā)交換機(jī)具有以下優(yōu)點(diǎn):采用優(yōu)化數(shù)據(jù)鏈路層二層局部鏈路的方法減少網(wǎng)絡(luò)路徑中阻塞的端口,針對(duì)每一條報(bào)文選取最佳的轉(zhuǎn)發(fā)路徑,同環(huán)路鏈路和主鏈路可以負(fù)載均衡,可有效使用帶寬資源同時(shí)又不會(huì)引起轉(zhuǎn)發(fā)混亂以及廣播風(fēng)暴;因而,具有很好的推廣使用價(jià)值。
【附圖說(shuō)明】
[0014]下面結(jié)合附圖對(duì)本發(fā)明進(jìn)一步說(shuō)明。
[0015]附圖1為現(xiàn)有技