一種檢測不對稱靜態(tài)聚合的方法及設(shè)備的制作方法
【專利摘要】本申請?zhí)峁┝艘环N檢測不對稱靜態(tài)聚合的方法和設(shè)備,在靜態(tài)聚合組成員口使能鄰居發(fā)現(xiàn)協(xié)議,通過靜態(tài)聚合組成員口與對端設(shè)備建立鄰居關(guān)系,接收攜帶鄰居摘要信息的鄰居發(fā)現(xiàn)協(xié)議報文,并根據(jù)所述鄰居摘要信息中的相關(guān)內(nèi)容判斷其與靜態(tài)聚合組的參考端口的相關(guān)信息是否一致,如果不一致,則靜態(tài)聚合組不選中所述鄰居所在的端口,阻塞所述鄰居所在的端口。該方案簡單通用,兼容性高。
【專利說明】一種檢測不對稱靜態(tài)聚合的方法及設(shè)備
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信【技術(shù)領(lǐng)域】,特別涉及一種檢測不對稱靜態(tài)聚合的方法以及設(shè)備。
【背景技術(shù)】
[0002]以太網(wǎng)鏈路聚合簡稱鏈路聚合,它是通過將多條以太網(wǎng)鏈路捆綁在一起成為一條邏輯鏈路,從而實現(xiàn)增加鏈路帶寬的目的,同時,這些捆綁在一起的鏈路通過相互間的備份,可以有效的提高鏈路的可靠性。
[0003]根據(jù)成員端口是否使能了LACP(Link Aggregat1n Control Protocol,鏈路匯聚控制協(xié)議),可以將鏈路聚合分為靜態(tài)聚合和動態(tài)聚合兩種模式。靜態(tài)聚合不是標準技術(shù),在實際應(yīng)用中,有一些廠家設(shè)備不支持靜態(tài)聚合,假設(shè)鏈路一端配置了靜態(tài)聚合,另一端不支持,這樣會使得鏈路兩端設(shè)備雙方不能互相感知,會導(dǎo)致出現(xiàn)聚合不對稱的情況,從而影響業(yè)務(wù)的轉(zhuǎn)發(fā)。
【發(fā)明內(nèi)容】
[0004]本發(fā)明提供一種鏈路檢測方法,包括以下步驟:
[0005]在靜態(tài)聚合組成員口使能鄰居發(fā)現(xiàn)協(xié)議;通過靜態(tài)聚合組成員口與對端設(shè)備建立鄰居關(guān)系,接收攜帶鄰居摘要信息的鄰居發(fā)現(xiàn)協(xié)議報文,所述鄰居摘要信息至少包括:鄰居端口的聚合使能狀態(tài)和/或鄰居端口所在的聚合組的ID ;解析所述鄰居發(fā)現(xiàn)協(xié)議報文,獲得該報文中攜帶的所述鄰居摘要信息,判斷所述鄰居摘要信息中的相關(guān)內(nèi)容與靜態(tài)聚合組的參考端口的是否一致,如果不一致,則靜態(tài)聚合組不選中所述鄰居所在的端口,阻塞所述鄰居所在的端口。
[0006]所述鄰居摘要信息還進一步包括鄰居設(shè)備的Chassis ID信息,所述鄰居發(fā)現(xiàn)協(xié)議為 LLDP。
[0007]所述方法進一步包括:當(dāng)有新的端口加入靜態(tài)聚合組時,通過LLDP報文上報鄰居摘要信息,如果摘要信息與聚合組的參考端口信息不一致,則新端口無法被選中。
[0008]所述方法進一步包括:如果一端口未收到鄰居摘要信息,確定鄰居摘要信息為空,判斷與靜態(tài)聚合組的參考端口的鄰居摘要信息是否一致,如不一致,則不選中所述端口。
[0009]所述方法進一步包括:如果一端口收到多個鄰居摘要信息,確定該端口連接了多個對端設(shè)備,判定與所述靜態(tài)聚合組參考端口鄰居摘要信息不一致,不選中所述端口。
[0010]基于同樣的思想,本申請還提供了一種檢測靜態(tài)聚合的裝置,包括以下模塊:處理模塊,用于在靜態(tài)聚合組成員口使能鄰居發(fā)現(xiàn)協(xié)議,通過靜態(tài)聚合組成員口與對端設(shè)備建立鄰居,接收攜帶鄰居摘要信息的鄰居發(fā)現(xiàn)協(xié)議報文,解析所述鄰居發(fā)現(xiàn)協(xié)議報文,獲得該報文中攜帶的所述鄰居摘要信息,其中,所述鄰居摘要信息至少包括:鄰居端口的聚合使能狀態(tài)和/或鄰居端口所在的聚合組的ID ;判斷模塊,用于判斷所述鄰居摘要信息中的相關(guān)內(nèi)容與靜態(tài)聚合組參考端口的是否一致;聚合模塊,用于當(dāng)判斷模塊的判斷結(jié)果為不一致時,不選中所述鄰居所在的端口,阻塞所述鄰居所在的端口。
[0011]所述處理模塊還進一步用于當(dāng)有新的端口加入靜態(tài)聚合組時,通過LLDP報文上報鄰居摘要信息,判斷模塊根據(jù)摘要信息判斷與靜態(tài)聚合組參考端口信息是否一致,如果不一致,聚合模塊不選中所述新端口。
[0012]所述處理模塊進一步用于當(dāng)有端口未收到鄰居摘要信息,確定鄰居摘要信息為空,判斷模塊根據(jù)摘要信息判斷與靜態(tài)聚合組的參考端口的鄰居摘要信息是否一致,如不一致,聚合模塊不選中所述端口。
[0013]所述處理模塊還用于當(dāng)有端口收到多個鄰居摘要信息,確定該端口連接了多個對端設(shè)備,判斷模塊根據(jù)摘要信息判定與所述靜態(tài)聚合組參考端口鄰居摘要信息不一致,聚合模塊不選中所述端口。
【專利附圖】
【附圖說明】
[0014]圖1是本申請?zhí)峁┑囊粋€實施例的應(yīng)用組網(wǎng)。
[0015]圖2是本申請?zhí)峁┑脑O(shè)備的硬件邏輯結(jié)構(gòu)圖。
[0016]圖3是本申請?zhí)峁┑囊粋€實施例的流程圖。
[0017]圖4是本申請?zhí)峁┑挠忠粋€實施例的流程圖。
【具體實施方式】
[0018]本申請?zhí)峁┮环N解決網(wǎng)絡(luò)中不對稱靜態(tài)聚合的方案,這個解決方案通過通用的協(xié)議傳遞兩端設(shè)備信息來解決聚合鏈路兩端無法通信互通的問題。比如說,當(dāng)一個鏈路的兩端設(shè)備,一個設(shè)備的端口配置了靜態(tài)聚合,另一個設(shè)備的端口不支持靜態(tài)聚合,通過本申請的解決方案可以提供一種協(xié)商機制,使得鏈路兩端的設(shè)備知曉對端設(shè)備的聚合配置情況,從而能夠充分發(fā)揮設(shè)備的性能,提供良好的網(wǎng)絡(luò)應(yīng)用服務(wù)。
[0019]在一個例子中,圖1展示了這個檢測不對稱靜態(tài)聚合的解決方案運作所需的典型網(wǎng)絡(luò)架構(gòu)。圖1所示的網(wǎng)絡(luò)架構(gòu)包括網(wǎng)絡(luò)設(shè)備SW11,網(wǎng)絡(luò)設(shè)備SW13,網(wǎng)絡(luò)設(shè)備SW15。這里的網(wǎng)絡(luò)設(shè)備為網(wǎng)絡(luò)中任意位置的設(shè)備,可以是接入層交換機,匯聚層交換機以及路由器等設(shè)備,只要涉及到端口匯聚性能,都有可能適用本申請的解決方案。在本申請給出示例中,Sffll的端口 Pl和P2分別與SW15的P5和P6相連,SW13的端口 P3和SW15的P4相連,在SW155側(cè),端口 P4,P5,P6配置了靜態(tài)聚合,且端口 P5為參考端口。
[0020]請參考圖2,其中網(wǎng)絡(luò)設(shè)備SW15包括處理器151、內(nèi)存152、非易失性存儲器153以及網(wǎng)絡(luò)接口 154,其中處理器151、內(nèi)存152、非易失性存儲器153以及網(wǎng)絡(luò)接口 154之間通過內(nèi)部總線155相連。所述網(wǎng)絡(luò)設(shè)備SW15的處理器151從非易失性存儲器153中將聚合判斷控制邏輯的計算機指令讀取到內(nèi)存中運行。
[0021]請一并參考圖3,所述網(wǎng)絡(luò)設(shè)備SW15上運行的聚合判斷控制邏輯包括處理模塊,聚合模塊以及判斷模塊,所述聚合判斷控制邏輯在上述模塊的共同作用下執(zhí)行如下處理流程:
[0022]步驟311:處理模塊在靜態(tài)聚合組成員口使能鄰居發(fā)現(xiàn)協(xié)議;
[0023]步驟313:處理模塊通過靜態(tài)聚合組成員口與對端設(shè)備建立鄰居,接收攜帶鄰居摘要信息的鄰居發(fā)現(xiàn)協(xié)議報文,所述鄰居摘要信息至少包括:鄰居端口的聚合使能狀態(tài)和/或鄰居端口所在的聚合組的ID ;
[0024]步驟315:處理模塊解析所述鄰居發(fā)現(xiàn)協(xié)議報文,獲得該報文中攜帶的所述鄰居摘要信息并通知判斷模塊,判斷模塊判斷所述鄰居摘要信息中的相關(guān)內(nèi)容與靜態(tài)聚合組參考端口的是否一致,并將結(jié)果通知聚合模塊,如果不一致,聚合模塊不選中所述鄰居所在的端口,阻塞所述鄰居所在的端口。
[0025]在一個實施例中,所述處理模塊還進一步用于當(dāng)有新的端口加入靜態(tài)聚合組時,通過LLDP報文上報鄰居摘要信息,判斷模塊根據(jù)鄰居摘要信息判斷與靜態(tài)聚合組參考端口信息是否一致,如果不一致,聚合模塊不選中所述新端口。
[0026]所述處理模塊進一步用于當(dāng)有端口未收到鄰居摘要信息,確定鄰居摘要信息為空,判斷模塊根據(jù)鄰居摘要信息判斷與靜態(tài)聚合組的成員口的鄰居摘要信息是否一致,如不一致,聚合模塊不選中所述端口。
[0027]所述處理模塊還用于當(dāng)有端口收到多個鄰居摘要信息,確定該端口連接了多個對端設(shè)備,判斷模塊根據(jù)鄰居摘要信息判定與所述靜態(tài)聚合組參考端口鄰居摘要信息不一致,聚合模塊不選中所述端口。
[0028]參考圖4,圖4是本申請?zhí)峁┑囊粋€具體的實例,以下結(jié)合圖2的組網(wǎng)通過更為詳細的例子來闡述網(wǎng)絡(luò)設(shè)備SW15與其他網(wǎng)絡(luò)設(shè)備SWll和網(wǎng)絡(luò)設(shè)備SW13之間的配合工作過程。
[0029]步驟411,網(wǎng)絡(luò)設(shè)備SW15在靜態(tài)聚合組的成員口上使能鄰居發(fā)現(xiàn)協(xié)議,并配置與靜態(tài)聚合模塊的聯(lián)動。
[0030]在一個例子中,在步驟311之前,網(wǎng)絡(luò)設(shè)備SWl5在自身的端口 P4、P5和P6配置了靜態(tài)聚合,端口 P4、P5和P6為靜態(tài)聚合組成員口,端口 P5為參考端口,網(wǎng)絡(luò)設(shè)備SW15通過靜態(tài)聚合組成員口將攜帶自身的設(shè)備信息的鄰居發(fā)現(xiàn)報文發(fā)送給鏈路對端設(shè)備:網(wǎng)絡(luò)設(shè)備SWll和網(wǎng)絡(luò)設(shè)備SW13。在一個例子中,所述鄰居發(fā)現(xiàn)報文可以是鏈路層發(fā)現(xiàn)協(xié)議LLDP報文,也可以是⑶P(Cisco Discovery Protocol)報文或其他類似協(xié)議的報文。本文以下的實施例均以LLDP報文為例。
[0031]步驟412:網(wǎng)絡(luò)設(shè)備SW15在靜態(tài)聚合組的成員口的LLDP鄰居建立以后,獲取收到的LLDP報文中攜帶的鄰居摘要信息。
[0032]在一個例子中,網(wǎng)絡(luò)設(shè)備15將自身的設(shè)備摘要信息寫入LLDP TLV(類型長度值)中,自身的設(shè)備摘要信息包括但不限于:自身所在的Chassis ID,自身的端口聚合使能情況,端口所在的聚合組ID以及其他存在的可選的非對稱聚合的判定條件。同樣,鏈路對端的網(wǎng)絡(luò)設(shè)備11和網(wǎng)絡(luò)設(shè)備13也會向網(wǎng)絡(luò)設(shè)備15發(fā)送鄰居發(fā)現(xiàn)報文以建立鄰居關(guān)系,所述鄰居發(fā)現(xiàn)報文攜帶自身的設(shè)備摘要信息。
[0033]網(wǎng)絡(luò)設(shè)備SW15收到來自鏈路對端的網(wǎng)絡(luò)設(shè)備SWll和SW13的鄰居設(shè)備摘要信息后,分別與對端的網(wǎng)絡(luò)設(shè)備SWll和網(wǎng)絡(luò)設(shè)備SW13建立LLDP鄰居,同時收集網(wǎng)絡(luò)設(shè)備SWll和SW13的鄰居摘要信息,所述鄰居摘要信息包括但不限于I)鄰居的Chassis ID信息;2)鄰居端口的聚合使能狀態(tài);3)鄰居端口所在的聚合組ID ;4)其他可選的非對稱聚合的判定條件。
[0034]步驟413:網(wǎng)絡(luò)設(shè)備SW15根據(jù)獲取的鄰居摘要信息是否一致,判斷是否進行聚合選中,如果摘要信息不一致,說明靜態(tài)聚合的多個成員的鄰居端口存在下列情況:不在同一臺設(shè)備上,或者,未同時使能聚合,或者,未同時加入同一聚合組。
[0035]網(wǎng)絡(luò)設(shè)備SW15根據(jù)獲取的鄰居摘要信息進行聚合判斷,如果鄰居的Chassis ID不同,說明靜態(tài)聚合組的成員口上的鄰居端口不在同一臺設(shè)備上,一并參看圖2,網(wǎng)絡(luò)設(shè)備Sff15的端口 P4收到的鄰居Chassis ID是網(wǎng)絡(luò)設(shè)備SWll的,而端口 P5和P6收到的鄰居Chassis ID是網(wǎng)絡(luò)設(shè)備SW13的,不屬于同一臺設(shè)備,這說明靜態(tài)聚合組所在組網(wǎng)為非對稱聚合組網(wǎng)。
[0036]同樣,如果存在鄰居端口的聚合使能狀態(tài)為未使能,則說明有鄰居端口未使能聚合,與靜態(tài)聚合組參考端口處于不同的聚合使能狀態(tài);如果存在鄰居端口所在的聚合組ID與靜態(tài)聚合組參考端口上的聚合組ID不一致,則說明存在鄰居端口與靜態(tài)聚合組參考端口加入的不是同一個聚合組的情況。
[0037]在上述任何一種情況,都屬于不對稱的靜態(tài)聚合的組網(wǎng),此時,靜態(tài)聚合組應(yīng)該阻塞冗余鏈路,不選中所述鄰居所在的端口,阻塞該端口的轉(zhuǎn)發(fā),只保留與參考端口一致的端口(包括參考端口)處于選中狀態(tài),避免不對稱導(dǎo)致的環(huán)路問題影響業(yè)務(wù)的正常轉(zhuǎn)發(fā)。在實際運用中,如果有新的端口加入靜態(tài)聚合組時,LLDP也會上報鄰居摘要信息來進行判斷,如果鄰居摘要信息與已經(jīng)存在的靜態(tài)聚合組參考端口的摘要信息不一致,則說明存在不對稱聚合組網(wǎng)的情況,則新加入的端口也將無法被選中,無法加入靜態(tài)聚合組。
[0038]對于未開啟LLDP或未開啟靜態(tài)聚合聯(lián)動的端口,不受本申請的技術(shù)方案的影響,可以默認信任該連接,不對其進行不對稱聚合檢查。
[0039]對于開啟了 LLDP并配置了靜態(tài)聚合聯(lián)動的端口,如果在固定時間內(nèi)一直沒有收到攜帶鄰居摘要信息的LLDP報文,則判斷鄰居摘要信息為空,如果和靜態(tài)聚合組里的其他的成員口鄰居摘要信息不一致,則不應(yīng)該被選中為靜態(tài)聚合組成員。
[0040]對于開啟了 LLDP并配置了靜態(tài)聚合聯(lián)動的端口,如果端口下有多個鄰居,則會收到多份鄰居摘要信息,因各鄰居的Chassis ID不一致,則可以判斷收到的鄰居摘要信息與靜態(tài)聚合組成員的鄰居摘要信息存在不一致,不應(yīng)該被選中。
[0041]以上所述僅為本公開的較佳例子而已,并不用以限制權(quán)利范圍,凡在本公開的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應(yīng)包含在本公開記載的權(quán)利范圍之內(nèi)。
【權(quán)利要求】
1.一種檢測不對稱靜態(tài)聚合的方法,其特征在于,包括以下步驟: 在靜態(tài)聚合組成員口使能鄰居發(fā)現(xiàn)協(xié)議; 通過靜態(tài)聚合組成員口與對端設(shè)備建立鄰居關(guān)系,接收攜帶鄰居摘要信息的鄰居發(fā)現(xiàn)協(xié)議報文,所述鄰居摘要信息至少包括:鄰居端口的聚合使能狀態(tài)和/或鄰居端口所在的聚合組的ID ; 解析所述鄰居發(fā)現(xiàn)協(xié)議報文,獲得該報文中攜帶的所述鄰居摘要信息,判斷所述鄰居摘要信息中的相關(guān)內(nèi)容與靜態(tài)聚合組的參考端口的是否一致,如果不一致,則靜態(tài)聚合組不選中所述鄰居所在的端口,阻塞所述鄰居所在的端口。
2.如權(quán)利要求1所述的方法,其特征在于,所述鄰居摘要信息還進一步包括鄰居設(shè)備的Chassis ID信息,所述鄰居發(fā)現(xiàn)協(xié)議為LLDP。
3.如權(quán)利要求2所述的方法,其特征在于,所述方法進一步包括: 當(dāng)有新的端口加入靜態(tài)聚合組時,通過LLDP報文上報鄰居摘要信息,如果摘要信息與聚合組的參考端口信息不一致,則新端口無法被選中。
4.如權(quán)利要求2所述的方法,其特征在于,所述方法進一步包括: 如果一端口未收到鄰居摘要信息,確定鄰居摘要信息為空,判斷與靜態(tài)聚合組的參考端口的鄰居摘要信息是否一致,如不一致,則不選中所述端口。
5.如權(quán)利要求2所述的方法,其特征在于,所述方法進一步包括: 如果一端口收到多個鄰居摘要信息,確定該端口連接了多個對端設(shè)備,判定與所述靜態(tài)聚合組參考端口鄰居摘要信息不一致,不選中所述端口。
6.一種檢測不對稱靜態(tài)聚合的裝置,其特征在于,包括以下模塊: 處理模塊,用于在靜態(tài)聚合組成員口使能鄰居發(fā)現(xiàn)協(xié)議,通過靜態(tài)聚合組成員口與對端設(shè)備建立鄰居,接收攜帶鄰居摘要信息的鄰居發(fā)現(xiàn)協(xié)議報文,解析所述鄰居發(fā)現(xiàn)協(xié)議報文,獲得該報文中攜帶的所述鄰居摘要信息,其中,所述鄰居摘要信息至少包括:鄰居端口的聚合使能狀態(tài)和/或鄰居端口所在的聚合組的ID ; 判斷模塊,用于判斷所述鄰居摘要信息中的相關(guān)內(nèi)容與靜態(tài)聚合組參考端口的是否一致; 聚合模塊,用于當(dāng)判斷模塊的判斷結(jié)果為不一致時,不選中所述鄰居所在的端口,阻塞所述鄰居所在的端口。
7.如權(quán)利要求6所述的裝置,其特征在于:所述處理模塊還進一步用于當(dāng)有新的端口加入靜態(tài)聚合組時,通過LLDP報文上報鄰居摘要信息,判斷模塊根據(jù)鄰居摘要信息判斷與靜態(tài)聚合組參考端口信息是否一致,如果不一致,聚合模塊不選中所述新端口。
8.如權(quán)利要求6所述的裝置,其特征在于,所述處理模塊進一步用于當(dāng)有端口未收到鄰居摘要信息,確定鄰居摘要信息為空,判斷模塊根據(jù)鄰居摘要信息判斷與靜態(tài)聚合組的參考端口的鄰居摘要信息是否一致,如不一致,聚合模塊不選中所述端口。
9.如權(quán)利要求6所述的裝置,其特征在于,所述處理模塊還用于當(dāng)有端口收到多個鄰居摘要信息,確定該端口連接了多個對端設(shè)備,判斷模塊根據(jù)摘要信息判定與所述靜態(tài)聚合組參考端口鄰居摘要信息不一致,聚合模塊不選中所述端口。
【文檔編號】H04L12/703GK104320333SQ201410604365
【公開日】2015年1月28日 申請日期:2014年10月31日 優(yōu)先權(quán)日:2014年10月31日
【發(fā)明者】徐鵬飛 申請人:杭州華三通信技術(shù)有限公司