一種端口的管理方法和設(shè)備的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種端口的管理方法和設(shè)備。
【背景技術(shù)】
[0002]由于大型數(shù)據(jù)中心開始利用FCoE(Fibre Channel over Ethernet,以太網(wǎng)光纖通道)等新技術(shù)將存儲傳輸以及IP傳輸融合到以太網(wǎng)連接上,而標準的STP(SpanningTree Protocol,生成樹協(xié)議)將不再適合融合網(wǎng)絡(luò)或超大型數(shù)據(jù)中心的擴展,且TRILL (Transparent Interconnect1n of Lots of Links,多鏈接透明互聯(lián))可以代替二層網(wǎng)絡(luò)上普遍使用的STP,使得TRILL具有很高的重要性。
[0003]在TRILL網(wǎng)絡(luò)中,各RB (Router Bridge,路由橋)設(shè)備會通過各端口發(fā)送TRILLHELLO報文,各RB設(shè)備之間通過TRILL HELLO報文的交互建立鄰居關(guān)系,并構(gòu)成網(wǎng)絡(luò)拓撲。由于各RB設(shè)備只有一個MAC(Media Access Control,介質(zhì)訪問控制)地址,因此各RB設(shè)備通過各端口發(fā)送的TRILL HELLO報文中均攜帶相同的源MAC地址。由于各RB設(shè)備建立鄰居關(guān)系時,以TRILL HELLO報文的源MAC地址作為鄰居標識,因此,當RB設(shè)備的多個端口連入TRILL網(wǎng)絡(luò)時,會導(dǎo)致鄰居RB設(shè)備認為該RB設(shè)備的接入端口頻繁發(fā)生變化,從而無法建立穩(wěn)定的鄰居關(guān)系,無法正常計算路由轉(zhuǎn)發(fā)表項,流量無法正確轉(zhuǎn)發(fā)。
[0004]如圖1所示,當RB_1的ETHl端口和ETH2端口通過SW_1連接到RB_2時,RB_2會通過SW_1接收到來自ETHl端口的TRILL HELLO報文和來自ETH2端口的TRILL HELLO報文,且兩個TRILL HELLO報文會攜帶相同的源MAC地址。因此,RB_2會認為RB_1發(fā)送TRILLHELLO報文的端口頻繁切換,從而導(dǎo)致RB_2建立的RB_1鄰居關(guān)系狀態(tài)頻繁震蕩,無法正常計算路由轉(zhuǎn)發(fā)表項。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實施例提供一種端口的管理方法,該方法應(yīng)用于包括路由橋RB設(shè)備和網(wǎng)絡(luò)設(shè)備的多鏈接透明互聯(lián)TRILL網(wǎng)絡(luò)中,所述RB設(shè)備的多個端口均通過所述網(wǎng)絡(luò)設(shè)備連接到其它RB設(shè)備,所述方法包括以下步驟:
[0006]所述RB設(shè)備通過第一端口收到TRILL HELLO報文時,判斷所述TRILL HELLO報文是否為所述RB設(shè)備的第二端口發(fā)出的TRILL HELLO報文;
[0007]如果是,則所述RB設(shè)備利用所述TRILL HELLO報文中攜帶的端口優(yōu)先級以及所述第一端口的端口優(yōu)先級確定所述第一端口是否為最優(yōu)端口 ;
[0008]如果所述第一端口不是最優(yōu)端口,則所述RB設(shè)備掛起所述第一端口。
[0009]所述TRILL HELLO報文中還攜帶源介質(zhì)訪問控制MAC地址、系統(tǒng)ID、端口 ID ;所述RB設(shè)備判斷所述TRILL HELLO報文是否為所述RB設(shè)備的第二端口發(fā)出的TRILL HELLO報文的過程,具體包括:
[0010]如果所述TRILL HELLO報文中攜帶的源MAC地址與所述RB設(shè)備的MAC地址相同,所述TRILL HELLO報文中攜帶的系統(tǒng)ID與所述RB設(shè)備的系統(tǒng)ID相同,且所述TRILL HELLO報文中攜帶的端口 ID與所述第一端口的端口標識不同,則所述RB設(shè)備確定所述TRILLHELLO報文是所述RB設(shè)備的第二端口發(fā)出的TRILL HELLO報文;否則,所述RB設(shè)備確定所述TRILL HELLO報文不是所述RB設(shè)備的第二端口發(fā)出的TRILL HELLO報文。
[0011]所述RB設(shè)備利用所述TRILL HELLO報文中攜帶的端口優(yōu)先級以及所述第一端口的端口優(yōu)先級確定所述第一端口是否為最優(yōu)端口的過程,具體包括:
[0012]當所述第一端口的端口優(yōu)先級大于/小于所述TRILL HELLO報文中攜帶的端口優(yōu)先級時,所述RB設(shè)備確定所述第一端口是最優(yōu)端口 ;
[0013]當所述第一端口的端口優(yōu)先級小于/大于所述TRILL HELLO報文中攜帶的端口優(yōu)先級時,所述RB設(shè)備確定所述第一端口不是最優(yōu)端口 ;
[0014]當所述第一端口的端口優(yōu)先級等于所述TRILL HELLO報文中攜帶的端口優(yōu)先級時,如果所述第一端口的端口標識大于/小于所述TRILL HELLO報文中攜帶的端口 ID,則所述RB設(shè)備確定所述第一端口是最優(yōu)端口 ;如果所述第一端口的端口標識小于/大于所述TRILL HELLO報文中攜帶的端口 ID,則所述RB設(shè)備確定所述第一端口不是最優(yōu)端口。
[0015]所述RB設(shè)備掛起所述第一端口的過程,具體包括執(zhí)行以下操作之一或者任意組合:所述RB設(shè)備停止在所述第一端口上發(fā)送TRILL HELLO報文;
[0016]所述RB設(shè)備清除所述第一端口下的指定虛擬局域網(wǎng)轉(zhuǎn)發(fā)者AVF信息;
[0017]所述RB設(shè)備清除所述第一端口下的使能虛擬局域網(wǎng)VLAN信息、指定VLAN信息、網(wǎng)橋協(xié)議數(shù)據(jù)單元BPDU信息;
[0018]所述RB設(shè)備將所述第一端口下建立的所有鄰居關(guān)系設(shè)置為DOWN。
[0019]所述方法進一步包括:
[0020]所述RB設(shè)備在掛起所述第一端口之后,為所述第一端口啟動掛起定時器;如果所述掛起定時器超時,則所述RB設(shè)備恢復(fù)所述第一端口為正常工作狀態(tài),通過所述第一端口發(fā)送TRILL HELLO報文,并刪除所述掛起定時器;
[0021]所述RB設(shè)備為所述第一端口啟動掛起定時器之后,在掛起定時器超時之前,如果所述RB設(shè)備通過第一端口收到第二端口發(fā)出的TRILL HELLO報文,當利用所述TRILLHELLO報文中攜帶的端口優(yōu)先級和第一端口的端口優(yōu)先級確定所述第一端口不是最優(yōu)端口時,所述RB設(shè)備重置所述掛起定時器;當利用所述TRILL HELLO報文中攜帶的端口優(yōu)先級和第一端口的端口優(yōu)先級確定所述第一端口是最優(yōu)端口時,所述RB設(shè)備拒絕重置所述掛起定時器。
[0022]本發(fā)明實施例提供一種路由橋RB設(shè)備,應(yīng)用于包括所述RB設(shè)備和網(wǎng)絡(luò)設(shè)備的多鏈接透明互聯(lián)TRILL網(wǎng)絡(luò)中,所述RB設(shè)備的多個端口均通過所述網(wǎng)絡(luò)設(shè)備連接到其它RB設(shè)備,所述RB設(shè)備具體包括:
[0023]判斷模塊,用于在通過第一端口收到TRILL HELLO報文時,判斷TRILL HELLO報文是否為所述RB設(shè)備的第二端口發(fā)出的TRILL HELLO報文;
[0024]確定模塊,用于當判斷結(jié)果為是時,利用所述TRILL HELLO報文中攜帶的端口優(yōu)先級和第一端口的端口優(yōu)先級確定所述第一端口是否為最優(yōu)端口 ;
[0025]處理模塊,用于當所述第一端口不是最優(yōu)端口時,則掛起所述第一端口。
[0026]所述TRILL HELLO報文中還攜帶源介質(zhì)訪問控制MAC地址、系統(tǒng)ID、端口 ID ;所述判斷模塊,具體用于如果所述TRILL HELLO報文中攜帶的源MAC地址與所述RB設(shè)備的MAC地址相同,且所述TRILL HELLO報文中攜帶的系統(tǒng)ID與所述RB設(shè)備的系統(tǒng)ID相同,并且所述TRILL HELLO報文中攜帶的端口 ID與所述第一端口的端口標識不同,則確定所述TRILL HELLO報文是所述RB設(shè)備的第二端口發(fā)出的TRILL HELLO報文;否則,確定所述TRILL HELLO報文不是所述RB設(shè)備的第二端口發(fā)出的TRILL HELLO報文。
[0027]所述確定模塊,具體用于當所述第一端口的端口優(yōu)先級大于/小于所述TRILLHELLO報文中攜帶的端口優(yōu)先級時,則確定所述第一端口是最優(yōu)端口 ;當所述第一端口的端口優(yōu)先級小于/大于所述TRILL HELLO報文中攜帶的端口優(yōu)先級時,則確定所述第一端口不是最優(yōu)端口 ;當所述第一端口的端口優(yōu)先級等于所述TRILL HELLO報文中攜帶的端口優(yōu)先級時,如果所述第一端口的端口標識大于/小于所述TRILL HELLO報文中攜帶的端口ID,則確定所述第一端口是最優(yōu)端口 ;如果所述第一端口的端口標識小于/大于所述TRILLHELLO報文中攜帶的端口 ID,則確定所述第一端口不是最優(yōu)端口。
[0028]所述處理模塊,具體用于執(zhí)行以下操作之一或者任意組合:停止在所述第一端口上發(fā)送TRILL HELLO報文;清除所述第一端口下的指定虛擬局域網(wǎng)轉(zhuǎn)發(fā)者AVF信息;清除所述第一端口下的使能虛擬局域網(wǎng)VLAN信息、指定VLAN信息、網(wǎng)橋協(xié)議數(shù)據(jù)單元BPDU信息;將所述第一端口下建立的所有鄰居關(guān)系設(shè)置為DOWN。
[0029]所述處理模塊,還用于在掛起所述第一端口之后,為所