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