應(yīng)用于堆疊分裂的流量切換方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本申請涉及網(wǎng)絡(luò)通信技術(shù),特別涉及應(yīng)用于堆疊分裂的流量切換方法和裝置。
【背景技術(shù)】
[0002]智能彈性架構(gòu)(IRF -1ntelligent Resilient Framework)是將多臺設(shè)備通過堆疊口連接在一起形成一臺“聯(lián)合設(shè)備”,這臺“聯(lián)合設(shè)備”就稱為一個IRF堆疊,IRF堆疊中所有的單臺設(shè)備稱為成員設(shè)備,IRF堆疊中成員設(shè)備連接在一起的堆疊口稱為IRF堆疊口。IRF堆疊中的成員設(shè)備按照功能不同,分為兩種角色:
[0003]主設(shè)備(master):成員設(shè)備的一種,由角色選舉產(chǎn)生,它負(fù)責(zé)管理整個IRF堆疊。一個IRF堆疊中同一時刻只能有一臺成員設(shè)備成為master。
[0004]從設(shè)備(slave):成員設(shè)備的一種,作為master的備份運行,IRF堆疊中除了master,其它設(shè)備都是slave,IRF堆疊中可存在多臺slave。
[0005]圖1示出了 IRF堆疊的結(jié)構(gòu)。在圖1中,設(shè)備A為master,設(shè)備B至D為slave,設(shè)備A至設(shè)備D通過IRF堆疊口連接形成IRF堆疊。
[0006]IRF堆疊有兩種拓?fù)浣Y(jié)構(gòu):鏈形拓?fù)浜铜h(huán)形拓?fù)洌瑘D1示出的IRF堆疊為環(huán)形拓?fù)浣Y(jié)構(gòu),圖2示出的IRF堆疊為鏈形拓?fù)浣Y(jié)構(gòu)。其中,環(huán)形拓?fù)浔孺溞瓮負(fù)涓煽?,?dāng)環(huán)形拓?fù)渲谐霈F(xiàn)一條鏈路故障時,IRF堆疊的功能和性能不會受到影響,當(dāng)鏈形拓?fù)渲谐霈F(xiàn)一條鏈路故障時,會引起IRF堆疊分裂。
[0007]當(dāng)IRF堆疊分裂時,原IRF堆疊可能會分裂成全局配置(比如IP地址、路由協(xié)議等所有功能配置)完全相同的兩個或者多個IRF堆疊,為便于描述,這里將從同一 IRF堆疊分裂出去的全局配置完全相同的IRF堆疊稱為IRF子堆疊。這些IRF子堆疊同時在網(wǎng)絡(luò)中運行會引起網(wǎng)絡(luò)故障。
[0008]多Active檢測(MAD:Multi_Active Detect1n)的主要功能是及時檢測出IRF堆疊發(fā)生分裂,并在分裂后的多個子IRF堆疊之間發(fā)起MAD競選。MAD競選獲勝的IRF子堆疊保持正常工作狀態(tài)(置于Active狀態(tài)),其余IRF子堆疊,需與網(wǎng)絡(luò)進(jìn)行隔離(置于Recovery狀態(tài)),以避免其它設(shè)備感知到網(wǎng)絡(luò)中存在多個全局配置完全相同的IRF子堆疊。比如圖3所示,第一 IRF堆疊分裂成全局配置完全相同的兩個IRF子堆疊,記為第二 IRF子堆疊和第三IRF子堆疊,第二 IRF子堆疊通過MAD競選確定為繼續(xù)正常工作,第三IRF子堆疊通過MAD競選確定為需與網(wǎng)絡(luò)進(jìn)行隔離。
[0009]對于需與網(wǎng)絡(luò)進(jìn)行隔離的IRF子堆疊,其通過關(guān)閉IRF子堆疊中所有成員設(shè)備上除IRF堆疊口和保留端口外的物理端口的方式與網(wǎng)絡(luò)進(jìn)行隔離。IRF子堆疊中的成員設(shè)備在關(guān)閉物理端口時,其會按照端口號從小至大的順序依次關(guān)閉(shut down)本地物理端口,并且為保持本設(shè)備中軟件和驅(qū)動上下層的狀態(tài)一致,成員設(shè)備在每關(guān)閉本地一個物理端口時,會通知本地應(yīng)用模塊處理物理端口被關(guān)閉的事件比如MAC地址刪除、點燈等。本地應(yīng)用模塊處理物理端口被關(guān)閉的事件的過程比較長,不能達(dá)到快速切換流量的目的。并且,在實際應(yīng)用中,成員設(shè)備連接下行服務(wù)器的物理端口的端口號小于其連接上行設(shè)備的物理端口的端口號,這就造成IRF子堆疊中的設(shè)備先關(guān)閉掉連接下行服務(wù)器的物理端口,最后關(guān)閉掉連接上行設(shè)備的物理端口,比如圖3所示的第三IRF子堆疊中的設(shè)備C會先關(guān)閉PortX3、后關(guān)閉Port S3,設(shè)備D會先關(guān)閉Port X4、后關(guān)閉Port S4,而這會導(dǎo)致上行設(shè)備轉(zhuǎn)發(fā)的來自因特網(wǎng)(INTERNET)訪問服務(wù)器的流量在到達(dá)IRF子堆疊中的成員設(shè)備時,因為該成員設(shè)備關(guān)閉掉連接服務(wù)器的物理端口而被中斷,也影響了流量的快速切換。
【發(fā)明內(nèi)容】
[0010]本申請?zhí)峁┝藨?yīng)用于堆疊分裂的流量切換方法和裝置,以實現(xiàn)堆疊分裂后的快速流量切換。
[0011]本申請?zhí)峁┑募夹g(shù)方案包括:
[0012]一種應(yīng)用于堆疊分裂的流量切換方法,該方法應(yīng)用于從IRF堆疊分裂出去的IRF子堆疊中的成員設(shè)備,包括:
[0013]在確定本設(shè)備需與網(wǎng)絡(luò)隔離時,按照端口帶寬從大至小的順序關(guān)閉本設(shè)備本地除保留端口之外的各物理端口,并禁止將各物理端口被關(guān)閉的消息通知給上層應(yīng)用模塊;
[0014]在確定本設(shè)備本地除保留端口之外的各物理端口都已被關(guān)閉后,將各物理端口被關(guān)閉的消息通知給上層應(yīng)用模塊。
[0015]一種應(yīng)用于堆疊分裂的流量切換裝置,該裝置應(yīng)用于從IRF堆疊分裂出去的IRF子堆疊中的成員設(shè)備,包括:
[0016]端口處理單元,用于在確定本設(shè)備需與網(wǎng)絡(luò)隔離時,按照端口帶寬從大至小的順序關(guān)閉本設(shè)備本地除保留端口之外的各物理端口,并禁止將各物理端口被關(guān)閉的消息通知給上層應(yīng)用模塊;
[0017]通知單元,用于在確定所述端口處理單元已將本設(shè)備本地除保留端口之外的各物理端口都已被關(guān)閉后,將各物理端口被關(guān)閉的消息通知給上層應(yīng)用模塊。
[0018]由以上技術(shù)方案可以看出,本發(fā)明中,當(dāng)IRF子堆疊中的成員設(shè)備在確定本設(shè)備需與網(wǎng)絡(luò)隔離時,先是按照端口帶寬從大至小的順序關(guān)閉本設(shè)備本地除保留端口之外的各物理端口,之后才將各物理端口被關(guān)閉的消息通知給上層應(yīng)用模塊,而非在關(guān)閉物理端口的同時將各物理端口被關(guān)閉的消息通知給上層應(yīng)用模塊,這解決了應(yīng)用模塊處理物理端口被關(guān)閉的事件的過程比較長,不能達(dá)到快速切換流量的缺陷;
[0019]進(jìn)一步地,本發(fā)明中,IRF子堆疊中的成員設(shè)備在關(guān)閉物理端口時,是按照端口帶寬從大至小的順序關(guān)閉本設(shè)備本地除保留端口之外的各物理端口,這能夠保證連接上行設(shè)備的各物理端口先關(guān)閉,而連接下行服務(wù)器的各物理端口后關(guān)閉,可以快速的完成將從INTERNET訪問服務(wù)器的流量切換,避免現(xiàn)有技術(shù)中成員設(shè)備因為按照端口編號從小至大的順序先關(guān)閉連接下行服務(wù)器的物理端口,后關(guān)閉連接上行設(shè)備的物理端口而導(dǎo)致的流量中斷。
【附圖說明】
[0020]圖1示出了 IRF堆疊的結(jié)構(gòu)圖;
[0021]圖2示出了鏈形拓?fù)浣Y(jié)構(gòu)的IRF堆疊結(jié)構(gòu)圖;
[0022]圖3示出了 IRF堆疊O分裂的結(jié)構(gòu)圖;
[0023]圖4為本發(fā)明提供的方法流程圖;
[0024]圖5為本發(fā)明提供的裝置結(jié)構(gòu)圖。
【具體實施方式】
[0025]為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面結(jié)合附圖和具體實施例對本發(fā)明進(jìn)行詳細(xì)描述。
[0026]本發(fā)明提供的方法能夠針對從同一 IRF堆疊分裂出去的IRF子堆疊,當(dāng)確定需要與網(wǎng)絡(luò)隔離時,通過按照端口帶寬從大至小的順序關(guān)閉本IRF子堆疊中各成員設(shè)備本地除保留端口之外的各物理端口,實現(xiàn)IRF堆疊分裂后的快速流量切換。
[0027]下面對本發(fā)明提供的方法進(jìn)行描述:
[0028]參見圖4,圖4為本發(fā)明提供的方法流程圖。該方法應(yīng)用于從IRF堆疊分裂出去的IRF子堆疊中的成員設(shè)備,如圖4所示,IRF子堆疊中的成員設(shè)備在確定本設(shè)備需與網(wǎng)絡(luò)隔離時,需執(zhí)行以下步驟401和步驟402。
[0029]在描述步驟401和步驟402之前,先簡單描述IRF子堆疊中的成員設(shè)備如何確定本設(shè)備需與網(wǎng)絡(luò)隔離:
[0030]作為一個優(yōu)選實施例,成員設(shè)備確定本設(shè)備是否需與網(wǎng)絡(luò)隔離主要是基于MAD實現(xiàn)的。MAD的主要功能是及時檢測出IRF堆疊發(fā)生分裂,并在分裂后的多個IRF子堆疊之間發(fā)起MAD競選。通過MAD競選獲勝的一個IRF子堆疊,保持正常工作,也就意味著MAD競選獲勝的IRF子堆疊中的成員設(shè)備繼續(xù)正常工作。至于其余的IRF子堆疊,相對于通過MAD競選獲勝的IRF子堆疊,其也就意味著MAD競選失敗。對于MAD競選失敗的IRF子堆疊,為避免其它設(shè)備感知到網(wǎng)絡(luò)中存在多個全局配置完全相同的IRF子堆疊,是需要與網(wǎng)絡(luò)進(jìn)行隔離的,也就意味著IRF子堆疊中的成員設(shè)備需與網(wǎng)絡(luò)進(jìn)行隔離。
[0031]目前,鏈路聚合控制協(xié)議(LACP:Link Aggr