專利名稱:拓撲信息的發(fā)現(xiàn)方法及系統(tǒng)、查詢請求設(shè)備、待查詢設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明實施例涉及通信技術(shù)領(lǐng)域,尤其涉及一種拓撲信息的發(fā)現(xiàn)方法及系統(tǒng)、查
詢請求設(shè)備、待查詢設(shè)備。
背景技術(shù):
拓撲發(fā)現(xiàn)是網(wǎng)絡(luò)管理平臺的一種重要功能。它的主要目的是獲取和維護網(wǎng)絡(luò)設(shè)備 的存在性信息和它們之間的連接關(guān)系信息,并在此基礎(chǔ)上給出整個網(wǎng)絡(luò)連接狀態(tài)的圖示, 幫助網(wǎng)絡(luò)管理人員對整個網(wǎng)絡(luò)的拓撲結(jié)構(gòu)有整體上的了解和認(rèn)識。發(fā)現(xiàn)并跟蹤一個網(wǎng)絡(luò)的 拓撲結(jié)構(gòu)對于有效的網(wǎng)絡(luò)管理來說是必不可少的。 在實現(xiàn)本發(fā)明過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下問題現(xiàn)有的網(wǎng)絡(luò)拓 撲信息的發(fā)現(xiàn)方法只能適用于不存在虛擬局域網(wǎng)(VirtualLocal Area Networks,簡稱 VLAN)的網(wǎng)絡(luò),而無法適用于存在VLAN的網(wǎng)絡(luò)。
發(fā)明內(nèi)容
本發(fā)明實施例提供一種拓撲信息的發(fā)現(xiàn)方法及系統(tǒng)、查詢請求設(shè)備、待查詢設(shè)備, 用以適用于存在VLAN的網(wǎng)絡(luò)。 本發(fā)明實施例提供了一種拓撲信息的發(fā)現(xiàn)方法,包括 向相鄰的待查詢設(shè)備發(fā)送拓撲信息請求報文,所述拓撲信息請求報文中攜帶有生
成樹類型、查詢請求設(shè)備標(biāo)識和所有待查詢設(shè)備的標(biāo)識信息,以供所述相鄰的待查詢設(shè)備
向所述相鄰的待查詢設(shè)備下一級相鄰的待查詢設(shè)備轉(zhuǎn)發(fā)所述拓撲信息請求報文; 分別接收若所述生成樹類型標(biāo)識的生成樹協(xié)議與運行的生成樹協(xié)議一致,所述所
有待查詢設(shè)備返回的拓撲信息應(yīng)答報文,所述拓撲信息應(yīng)答報文中攜帶有所述查詢請求設(shè)
備標(biāo)識、所述所有待查詢設(shè)備參與生成樹協(xié)議計算的待查詢設(shè)備端口的端口信息和所述待
查詢設(shè)備端口的對端端口的待查詢設(shè)備標(biāo)識。 本發(fā)明實施例還提供了一種查詢請求設(shè)備,包括 請求模塊,用于向相鄰的待查詢設(shè)備發(fā)送拓撲信息請求報文,所述拓撲信息請求 報文中攜帶有生成樹類型、查詢請求設(shè)備標(biāo)識和所有待查詢設(shè)備的標(biāo)識信息,以供所述相 鄰的待查詢設(shè)備向所述相鄰的待查詢設(shè)備下一級相鄰的待查詢設(shè)備轉(zhuǎn)發(fā)所述拓撲信息請 求報文; 獲取模塊,用于分別接收若所述生成樹類型標(biāo)識的生成樹協(xié)議與運行的生成樹協(xié) 議一致,所述所有待查詢設(shè)備返回的拓撲信息應(yīng)答報文,所述拓撲信息應(yīng)答報文中攜帶有 所述查詢請求設(shè)備標(biāo)識、所述所有待查詢設(shè)備參與生成樹協(xié)議計算的待查詢設(shè)備端口的端 口信息和所述待查詢設(shè)備端口的對端端口的待查詢設(shè)備標(biāo)識。
本發(fā)明實施例還提供了一種待查詢設(shè)備,包括 接收模塊,用于接收拓撲信息請求報文,所述拓撲信息請求報文中攜帶有生成樹 類型、查詢請求設(shè)備標(biāo)識和所有待查詢設(shè)備的標(biāo)識信息;
轉(zhuǎn)發(fā)模塊,用于根據(jù)所述所有待查詢設(shè)備的標(biāo)識信息,向下一級相鄰的待查詢設(shè) 備轉(zhuǎn)發(fā)所述拓撲信息請求報文; 提供模塊,用于根據(jù)所述所有待查詢設(shè)備的標(biāo)識信息,若所述生成樹類型標(biāo)識的 生成樹協(xié)議與運行的生成樹協(xié)議一致,返回拓撲信息應(yīng)答報文,所述拓撲信息應(yīng)答報文中 攜帶有所述查詢請求設(shè)備標(biāo)識、所述所有待查詢設(shè)備參與生成樹協(xié)議計算的待查詢設(shè)備端 口的端口信息和所述待查詢設(shè)備端口的對端端口的待查詢設(shè)備標(biāo)識。 本發(fā)明實施例再提供了一種拓撲信息的發(fā)現(xiàn)系統(tǒng),包括查詢請求設(shè)備和待查詢設(shè)備,
所述查詢請求設(shè)備用于向相鄰的所述待查詢設(shè)備發(fā)送拓撲信息請求報文,所述拓 撲信息請求報文中攜帶有生成樹類型、查詢請求設(shè)備標(biāo)識和所有待查詢設(shè)備的標(biāo)識信息, 分別接收所述所有待查詢設(shè)備返回的拓撲信息應(yīng)答報文,所述拓撲信息應(yīng)答報文中攜帶有 所述查詢請求設(shè)備標(biāo)識、所述所有待查詢設(shè)備參與生成樹協(xié)議計算的待查詢設(shè)備端口的端 口信息和所述待查詢設(shè)備端口的對端端口的待查詢設(shè)備標(biāo)識; 所述待查詢設(shè)備用于接收所述拓撲信息請求報文,根據(jù)所述所有待查詢設(shè)備的標(biāo) 識信息,向下一級相鄰的待查詢設(shè)備轉(zhuǎn)發(fā)所述拓撲信息請求報文,以及根據(jù)所述所有待查 詢設(shè)備的標(biāo)識信息,若所述生成樹類型標(biāo)識的生成樹協(xié)議與運行的生成樹協(xié)議一致,返回 所述拓撲信息應(yīng)答報文。 由上述技術(shù)方案可知,本發(fā)明實施例的查詢請求設(shè)備向待查詢設(shè)備發(fā)送拓撲信息 請求報文之后,待查詢設(shè)備根據(jù)該拓撲信息請求報文中的所有待查詢設(shè)備的標(biāo)識信息,向 查詢請求設(shè)備返回拓撲信息應(yīng)答報文,使得查詢請求設(shè)備能夠獲取到所有待查詢設(shè)備參與 生成樹協(xié)議計算的待查詢設(shè)備端口的端口信息,從而能夠確認(rèn)不存在VLAN的網(wǎng)絡(luò)中各個 設(shè)備之間的物理拓撲關(guān)系,以及存在VLAN的網(wǎng)絡(luò)中各個設(shè)備之間的邏輯拓撲關(guān)系。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā) 明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根 據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實施例一提供的拓撲信息的發(fā)現(xiàn)方法的流程示意圖; 圖2A為本發(fā)明實施例二提供的拓撲信息的發(fā)現(xiàn)方法的流程示意圖; 圖2B為本發(fā)明實施例二提供的拓撲信息的發(fā)現(xiàn)方法的應(yīng)用場景網(wǎng)絡(luò)的拓撲結(jié)構(gòu)
示意圖; 圖3為本發(fā)明實施例三提供的拓撲信息的發(fā)現(xiàn)方法的流程示意圖;
圖4為本發(fā)明實施例四提供的查詢請求設(shè)備的結(jié)構(gòu)示意圖;
圖5為本發(fā)明實施例五提供的查詢請求設(shè)備的結(jié)構(gòu)示意圖;
圖6為本發(fā)明實施例六提供的待查詢設(shè)備的結(jié)構(gòu)示意圖;
圖7為本發(fā)明實施例七提供的拓撲信息的發(fā)現(xiàn)系統(tǒng)的結(jié)構(gòu)示意圖。
具體實施例方式
為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是 本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員 在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
圖l為本發(fā)明實施例一提供的拓撲信息的發(fā)現(xiàn)方法的流程示意圖,如圖l所示,本 實施例的拓撲信息的發(fā)現(xiàn)方法可以包括以下步驟 步驟101、向相鄰的待查詢設(shè)備發(fā)送拓撲信息請求報文,上述拓撲信息請求報文 中攜帶有生成樹類型、查詢請求設(shè)備標(biāo)識和所有待查詢設(shè)備的標(biāo)識信息,以供上述相鄰的 待查詢設(shè)備向上述相鄰的待查詢設(shè)備下一級相鄰的待查詢設(shè)備轉(zhuǎn)發(fā)上述拓撲信息請求報 文; 步驟102、分別接收若上述生成樹類型標(biāo)識的生成樹協(xié)議與運行的生成樹協(xié)議一 致,上述所有待查詢設(shè)備返回的拓撲信息應(yīng)答報文,上述拓撲信息應(yīng)答報文中攜帶有上述 查詢請求設(shè)備標(biāo)識、上述所有待查詢設(shè)備參與生成樹協(xié)議計算的待查詢設(shè)備端口的端口信 息和上述待查詢設(shè)備端口的對端端口的待查詢設(shè)備標(biāo)識。 其中的查詢請求設(shè)備標(biāo)識可以為查詢請求設(shè)備的介質(zhì)訪問控制(Me d i aAc c e s s Control,簡稱MAC)地址;相應(yīng)地,對端端口的待查詢設(shè)備標(biāo)識可以為對端端口的待查詢設(shè) 備的MAC地址。 本實施例中,上述所有待查詢設(shè)備的標(biāo)識信息可以包括兩種形式當(dāng)待查詢設(shè)備 為網(wǎng)絡(luò)中所有設(shè)備時,所有待查詢設(shè)備的標(biāo)識信息為一個特定字段值,例如fffffffffff ; 當(dāng)待查詢設(shè)備為網(wǎng)絡(luò)中某一個設(shè)備時,所有待查詢設(shè)備的標(biāo)識信息為該設(shè)備的MAC地址。
本實施例不但可以適用于不存在VLAN的網(wǎng)絡(luò),例如網(wǎng)絡(luò)中的待查詢設(shè)備運行生 成樹協(xié)議(Spanning Tree Protocol,簡稱STP)、快速生成樹協(xié)議(R即id Spanning Tree Protocol,簡稱RSTP)等生成樹協(xié)議,還可以適用于存在VLAN的網(wǎng)絡(luò),例如網(wǎng)絡(luò)中的待查 詢設(shè)備運行多生成樹協(xié)議(Multiple Spanning Tree Protocol,簡稱MSTP)等生成樹協(xié)議。
本實施例中,查詢請求設(shè)備向待查詢設(shè)備發(fā)送拓撲信息請求報文之后,待查詢設(shè) 備根據(jù)該拓撲信息請求報文中的所有待查詢設(shè)備的標(biāo)識信息,向查詢請求設(shè)備返回拓撲信 息應(yīng)答報文,使得查詢請求設(shè)備能夠獲取到所有待查詢設(shè)備參與生成樹協(xié)議計算的待查詢 設(shè)備端口的端口信息,從而能夠確認(rèn)不存在VLAN的網(wǎng)絡(luò)中各個設(shè)備之間的物理拓撲關(guān)系, 以及存在VLAN的網(wǎng)絡(luò)中各個設(shè)備之間的邏輯拓撲關(guān)系。 圖2A為本發(fā)明實施例二提供的拓撲信息的發(fā)現(xiàn)方法的流程示意圖,如圖2A所示, 本實施例的拓撲信息的發(fā)現(xiàn)方法可以包括以下步驟 步驟201、查詢請求設(shè)備向相鄰的待查詢設(shè)備發(fā)送拓撲信息請求報文,上述拓撲信 息請求報文中攜帶有生成樹類型、查詢請求設(shè)備標(biāo)識和所有待查詢設(shè)備的標(biāo)識信息,以供 上述相鄰的待查詢設(shè)備向上述相鄰的待查詢設(shè)備下一級相鄰的待查詢設(shè)備轉(zhuǎn)發(fā)上述拓撲 信息請求報文; 其中的拓撲信息請求報文的內(nèi)容可以承載在802. 3數(shù)據(jù)幀的數(shù)據(jù)(data)字段中,
該數(shù)據(jù)幀的格式可以如下所示
0 12 3 4 5 6 01234567012345670123456701234567012 34567012345670
_+_+_+-
目的地址
_+_+_+-
源的地址 +_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+ _+_+_+_+_+_+_+_+_+_+_+_+_+_+_ I 長度 I DSAP I SSAP | 控制
協(xié)議 +_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+ _+_+_+_+_+_+_+_+_+_+_+_+_+_+_ I 標(biāo)識 I 生成樹類型 I 報文類型
根 I 標(biāo)識
_+_+_+-
操作 +
+ +_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+
_+_+_+_+_+_+_+_+_+_+_+_+_+_+_ I
FCS 其中,
目的地址(Destination Address)字段6字節(jié)。該字段用于識別需要接收數(shù)據(jù) 幀的設(shè)備。這里,我們與生成樹協(xié)議(STP、RSTP、MSTP等)兼容,采用生成樹協(xié)議的組播地 址0180c2000000 ; 源地址(Source Address)字段6字節(jié)。該字段用于識別發(fā)送數(shù)據(jù)幀的設(shè)備;
長度(Length)字段2字節(jié)。該字段用于表示包含在數(shù)據(jù)幀的數(shù)據(jù)字段中的數(shù)據(jù) 長度; 目標(biāo)服務(wù)訪問點(DSAP)字段1字節(jié),值為0x42。該字段表示是生成樹協(xié)議(STP、 RSTP、MSTP等); 源服務(wù)訪問點(SSAP)字段1字節(jié),值為0x42。該字段表示是生成樹協(xié)議(STP、 RSTP、MSTP等); 控制(Control)字段1字節(jié),值為0x03。該字段表示采用無連接服務(wù)的802. 2無 編號數(shù)據(jù)格式; 協(xié)議標(biāo)識(Protocol Identifier)字段2字節(jié),值為0x0000。該字段表示生成樹 查詢協(xié)議(Spanning-tree Query Protocol); 生成樹類型(Spanning-tree Mode)字段2字節(jié),該字段表示運行的生成樹協(xié)議 類型,可以包括STP、 RSTP、 MSTP等生成樹協(xié)議,分別對應(yīng)的取值如下所示
STP = 0x1000 ;
RSTP = 0x2000 ; MSTP = 0x30 * * , * *表示生成樹實例(Instance)的個數(shù),不包括生成樹實例 0(Instance 0); 報文類型(Type)字段1字節(jié)。該字段表示該數(shù)據(jù)幀中所承載的報文的類型,其 取值與含義如下所示 Type = 2,表示查詢請求設(shè)備請求各待查詢設(shè)備的邏輯拓撲關(guān)系(包括端口信息) 的請求報文; 根(橋)標(biāo)識(Root Identify)字段8字節(jié)。該字段表示根橋信息,包括根橋的 優(yōu)先級和MAC地址; 操作(Operation)字段該字段表示對生成樹協(xié)議(STP、 RSTP、 MSTP等)的具體 處理。由于可以對應(yīng)不同的生成樹協(xié)議,操作字段的長度不同,所以操作字段的字節(jié)數(shù)只規(guī) 定上限,即不大于1000字節(jié)。 幀校驗序列(Frame Check Sequence,簡稱FCS)字段4字節(jié)。該字段包括32位 的循環(huán)冗余校驗(CRC)值,由發(fā)送方設(shè)備(查詢請求設(shè)備)生成,通過接收方設(shè)備(待查詢 設(shè)備)進行計算得出以校驗被破壞的幀。 進一步地,其中的操作(Operation)字段具體還可以進一步包括以下字段信息
當(dāng)拓撲信息請求報文(即type = 2)中的生成樹類型(Spanning-tree Mode)字 段取值為0x1000或0x2000時,該操作字段可以包括如下信息 請求MAC(Request MAC)地址字段6字節(jié)。該字段表示查詢請求設(shè)備的MAC地址;
其他MAC (Other MAC)地址字段6字節(jié)。該字段取值為ffffffffffff時,表示所 有待查詢設(shè)備都需要回應(yīng)該請求報文;該字段取值為某一設(shè)備的MAC地址時,表示只有該 地址對應(yīng)的待查詢設(shè)備需要回應(yīng)該請求報文;
當(dāng)拓撲信息請求報文(即type = 2)中的生成樹類型(Spanning-tree Mode)字 段取值為0x30 * *時,該操作字段可以包括如下信息 請求MAC(Request MAC)地址字段6字節(jié)。該字段表示查詢請求設(shè)備的MAC地址;
其他MAC (Other MAC)地址字段6字節(jié)。該字段取值為ffffffffffff時,表示所 有待查詢設(shè)備都需要回應(yīng)該請求報文;該字段取值為某一設(shè)備的MAC地址時,表示只有該 地址對應(yīng)的待查詢設(shè)備需要回應(yīng)該請求報文; 多生成樹(Multiple Spanning Tree,簡稱MST)配置摘要(MST Conf igdigest) 字段16字節(jié)。該字段用于存放本設(shè)備域的配置摘要,內(nèi)容同網(wǎng)橋協(xié)議數(shù)據(jù)單元(Bridge Protocol Data Unit,簡稱BPDU)中的MST配置摘要(MST config digest)字段;
步驟202、相鄰的待查詢設(shè)備接收上述拓撲信息請求報文,若上述所有待查詢設(shè)備 的標(biāo)識信息標(biāo)識的待查詢設(shè)備包括該相鄰的待查詢設(shè)備(可以為包括網(wǎng)絡(luò)中全部待查詢 設(shè)備的場景,還可以為只包括該相鄰的待查詢設(shè)備的場景),且上述生成樹類型標(biāo)識的生成 樹協(xié)議與該相鄰的待查詢設(shè)備運行的生成樹協(xié)議一致,則通過接收上述拓撲信息請求報文 的端口向查詢請求設(shè)備返回的拓撲信息應(yīng)答報文,上述拓撲信息應(yīng)答報文中攜帶有上述查 詢請求設(shè)備標(biāo)識、上述所有待查詢設(shè)備參與生成樹協(xié)議計算的待查詢設(shè)備端口的端口信息 和上述待查詢設(shè)備端口的對端端口的待查詢設(shè)備標(biāo)識; 步驟203、相鄰的待查詢設(shè)備接收上述拓撲信息請求報文,若上述所有待查詢設(shè)備
的標(biāo)識信息標(biāo)識的待查詢設(shè)備不包括該相鄰的待查詢設(shè)備或者上述所有待查詢設(shè)備的標(biāo)
識信息標(biāo)識的待查詢設(shè)備為網(wǎng)絡(luò)中全部待查詢設(shè)備,則通過除接收上述拓撲信息請求報文
的端口外的其他端口向其下一級相鄰的待查詢設(shè)備轉(zhuǎn)發(fā)上述拓撲信息請求報文; 類似地,其中的拓撲信息應(yīng)答報文的內(nèi)容也可以承載在802.3數(shù)據(jù)幀的數(shù)據(jù)
(data)字段中,該數(shù)據(jù)幀的格式可以如下所示 0 1 2 3 4 5 6 01234567012345670123456701234567012 34567012345670 +_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+ _+_+_+_+_+_+_+_+_+_+_+_+_+_+_ I 目的地址 +_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+ _+_+_+_+_+_+_+_+_+_+_+_+_+_+_ I 源的地址 +_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+ _+_+_+_+_+_+_+_+_+_+_+_+_+_+_ I 長度 I DSAP I SSAP
控制 I 協(xié)議 +_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+ _+_+_+_+_+_+_+_+_+_+_+_+_+_+_0097] I 標(biāo)識I 生成樹類型 I 報文類型
根
0098] +_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+ -+_+_+_+_+_+_+_+_+_+_+_+_+_+_
0099] I 標(biāo)識
0100] +_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+ -+_+_+_+_+_+_+_+_+_+_+_+_+_+_
0101] I 操作
0102] +
0103]
0104] + 0105]
0106] + _+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+ -+_+_+_+_+_+_+_+_+_+_+_+_+_+_ 0107] I FCS
0108] +_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+
-+_+_+_+_+_+_+_+_+_+_+_+_+_+_
0109] 其中,
0110] 目的地址(Destination Address)字段6字節(jié)。該字段用于識別需要接收數(shù)據(jù) 幀的設(shè)備。這里,我們與生成樹協(xié)議(STP、RSTP、MSTP等)兼容,采用生成樹協(xié)議的組播地 址0180c2000000 ;
0111] 源地址(Source Address)字段6字節(jié)。該字段用于識別發(fā)送數(shù)據(jù)幀的設(shè)備; 0112] 長度(Length)字段2字節(jié)。該字段用于表示包含在數(shù)據(jù)幀的數(shù)據(jù)字段中的數(shù)據(jù) 長度;
0113] 目標(biāo)服務(wù)訪問點(DSAP)字段1字節(jié),值為0x42。該字段表示是生成樹協(xié)議(STP、 RSTP、MSTP等);
0114] 源服務(wù)訪問點(SSAP)字段1字節(jié),值為0x42。該字段表示是生成樹協(xié)議(STP、 RSTP、MSTP等);
0115] 控制(Control)字段l字節(jié),值為0x03。該字段表示采用無連接服務(wù)的802. 2無 編號數(shù)據(jù)格式;
0116] 協(xié)議標(biāo)識(Protocol Identifier)字段2字節(jié),值為0x0000。該字段表示生成樹 查詢協(xié)議(Spanning—tree Query Protocol);
生成樹類型(Spanning-tree Mode)字段2字節(jié),該字段表示運行的生成樹協(xié)議 類型,可以包括STP、 RSTP、 MSTP等生成樹協(xié)議,分別對應(yīng)的取值如下所示
STP = 0x1000 ;
RSTP = 0x2000 ; MSTP = 0x30 * * , * *表示生成樹實例(Instance)的個數(shù),不包括生成樹實例 0(Instance 0); 報文類型(Type)字段1字節(jié)。該字段表示該數(shù)據(jù)幀中所承載的報文的類型,其 取值與含義如下所示 Type = 3,表示待查詢設(shè)備回應(yīng)查詢請求設(shè)備type = 2的應(yīng)答報文; 根(橋)標(biāo)識(Root Identify)字段8字節(jié)。該字段表示根橋信息,包括根橋的
優(yōu)先級和MAC地址; 操作(Operation)字段該字段表示對生成樹協(xié)議(STP、 RSTP、 MSTP等)的具體 處理。由于可以對應(yīng)不同的生成樹協(xié)議,操作字段的長度不同,所以操作字段的字節(jié)數(shù)只規(guī) 定上限,即不大于1000字節(jié)。 幀校驗序列(Frame Check Sequence,簡稱FCS)字段4字節(jié)。該字段包括32位 的循環(huán)冗余校驗(CRC)值,由發(fā)送方設(shè)備(查詢請求設(shè)備)生成,通過接收方設(shè)備(待查詢 設(shè)備)進行計算得出以校驗被破壞的幀。 進一步地,其中的操作(Operation)字段具體還可以進一步包括以下字段信息
當(dāng)拓撲信息應(yīng)答報文(即type = 3)中的生成樹類型(Spanning-tree Mode)字 段取值為0x1000或0x2000時,該操作字段可以包括如下信息 請求MAC(Request MAC)地址字段6字節(jié)。該字段表示查詢請求設(shè)備的MAC地址;
應(yīng)答MAC(R印ly MAC)地址字段6字節(jié)。該字段表示回復(fù)該報文的待查詢設(shè)備的 MAC地址; 報文總數(shù)/本報文記數(shù)(Packet count/Packet number)字段1字節(jié)。該字段用 于當(dāng)信息量超過1518字節(jié)后分段傳輸?shù)膱笪臄?shù),前4位表示待查詢設(shè)備共需要傳輸?shù)膱笪?數(shù),后4位表示本報文為第幾個報文; 端口信息(Ports Status)字段一個端口占用4字節(jié)。該字段用于存放待查詢設(shè) 備參與生成樹協(xié)議計算的待查詢設(shè)備端口的端口信息,包括端口號、生成樹實例號、端口角 色和端口狀態(tài)等信息; 對端MAC地址(Neighbor MAC-address)字段6字節(jié)。該字段表示待查詢設(shè)備端
口的對端端口的待查詢設(shè)備的MAC地址, 一個待查詢設(shè)備端口對應(yīng)一個對端端口 。 進一步地,其中的端口信息(Ports Status)字段還可以進一步包括以下字段信息
(下面以一個端口為例,說明端口信息所包含的字段) 端口號(index)字段2字節(jié)。該字段用于記錄端口號的取值; 生成樹實例號(Instance ID)字段1字節(jié)。對于STP和RSTP,該字段的取值為
0 ; 端口角色(Port-role)字段和端口狀態(tài)(Port-status)字段共1字節(jié)。其中,4 位表示端口角色,分別對應(yīng)的取值如下所示
根(Root)端口 1000 ;
指定(Desg)端口 0100 ; 替代(Altn)端口 0010; 備份(Backup)端口 0001 ; 另外4位表示端口狀態(tài),分別對應(yīng)的取值如下所示 轉(zhuǎn)發(fā)狀態(tài)(Forwarding) 0100 ; 學(xué)習(xí)狀態(tài)(Learning)0010 ; 阻塞狀態(tài)(Blocking)0001 ; 當(dāng)拓撲信息應(yīng)答報文(即type = 3)中的生成樹類型(Spanning-tree Mode)字 段取值為0x30 * *時,該操作字段可以包括如下信息 請求MAC(Request MAC)地址字段6字節(jié)。該字段表示查詢請求設(shè)備的MAC地址;
應(yīng)答MAC(R印ly MAC)地址字段6字節(jié)。該字段表示回復(fù)該報文的待查詢設(shè)備的 MAC地址; 報文總數(shù)/本報文記數(shù)(Packet count/Packet number)字段1字節(jié)。該字段用 于當(dāng)信息量超過1518字節(jié)后分段傳輸?shù)膱笪臄?shù),前4位表示待查詢設(shè)備共需要傳輸?shù)膱笪?數(shù),后4位表示本報文為第幾個報文; MST配置摘要(MST config digest)字段16字節(jié)。該字段用于存放本設(shè)備域的 配置摘要,內(nèi)容同網(wǎng)橋協(xié)議數(shù)據(jù)單元(Bridge Protocol Data Unit,簡稱BPDU)中的MST配 置摘要(MST config digest)字段; 端口信息(Ports Status)字段該字段用于存放待查詢設(shè)備參與生成樹協(xié)議計 算的待查詢設(shè)備端口的端口信息,包括端口號、生成樹實例號、端口角色和端口狀態(tài)等信 息,以端口號為索引,每個端口下記錄各生成樹實例中該端口的端口角色和端口狀態(tài)等信 息。生成樹實例的數(shù)量記錄在生成樹類型字段的后l字節(jié)中。若有n個生成樹實例,則一 個端口占用2+2 * (n+1)字節(jié); 對端MAC地址(Neighbor MAC-address)字段6字節(jié)。該字段表示待查詢設(shè)備端
口的對端端口的待查詢設(shè)備的MAC地址, 一個待查詢設(shè)備端口對應(yīng)一個對端端口 。 進一步地,其中的端口信息(Ports Status)字段還可以進一步包括以下字段信息
(下面以一個端口為例,說明端口信息所包含的字段) 端口號(index)字段2字節(jié)。該字段用于記錄端口號的取值; 生成樹實例號(Instance ID)字段1字節(jié)。該字段用于記錄生成樹實例號的取值。 端口角色(Port-role)字段和端口狀態(tài)(Port-status)字段共1字節(jié)。其中,4 位表示端口角色,分別對應(yīng)的取值如下所示根(Root)端口1000 ;指定(Desg)端口0100 ;替代(Altn)端口0010 ;備份(Backup)端口0001 ;另外4位表示端口狀態(tài),分別對應(yīng)的取值如下所示
轉(zhuǎn)發(fā)狀態(tài)(Forwarding)0100 ;學(xué)習(xí)狀態(tài)(Xearning)0010 ;
阻塞狀態(tài)(Blocking) 0001。 需要說明的是與查詢請求設(shè)備相鄰的待查詢設(shè)備下一級相鄰的待查詢設(shè)備接收 到上述拓撲信息請求報文之后的處理方式可以參見本步驟中相鄰的待查詢設(shè)備所作的處 理,此處不再贅述; 步驟204、查詢請求設(shè)備接收拓撲信息應(yīng)答報文,若上述生成樹類型標(biāo)識的生成 樹協(xié)議與該查詢請求設(shè)備運行的生成樹協(xié)議一致,則將上述所有待查詢設(shè)備參與生成樹協(xié) 議計算的待查詢設(shè)備端口的端口信息和上述待查詢設(shè)備端口的對端端口的待查詢設(shè)備的 MAC地址存儲到預(yù)先設(shè)置的生成樹端口狀態(tài)(Spanning-tree Ports Status)表中,以及 將上述待查詢設(shè)備端口的對端端口的待查詢設(shè)備的MAC地址存儲到預(yù)先設(shè)置的MAC地址 (SwitchMAC)表中; 在本步驟之前,查詢請求設(shè)備可以預(yù)先設(shè)置生成樹端口狀態(tài)表和MAC地址表。其 中,生成樹端口狀態(tài)表用于存儲查詢請求設(shè)備參與生成樹協(xié)議計算的查詢請求設(shè)備端口的 端口信息、以及上述查詢請求設(shè)備端口的對端端口的待查詢設(shè)備的MAC地址;MAC地址表用 于存儲上述查詢請求設(shè)備的MAC地址和上述查詢請求設(shè)備端口的對端端口的待查詢設(shè)備 的MAC地址。 本步驟中,查詢請求設(shè)備接收到拓撲信息應(yīng)答報文之后,當(dāng)確定該拓撲信息應(yīng)答 報文中的請求MAC (Request MAC)地址字段的取值為本設(shè)備的MAC地址時,將該拓撲信息 應(yīng)答報文中的端口信息(Ports Status)字段和對端MAC地址(Neighbor MAC-address) 字段存儲到生成樹端口狀態(tài)(Spanning-tree Ports Status)表中,將對端MAC地址 (NeighborMAC-address)字段存儲到MAC地址(Switch MAC)表中。 進一步地,為了避免重復(fù)存儲對端MAC地址(Neighbor MAC-address)字段,本實 施例在將上述對端MAC地址(Neighbor MAC-address)字段存儲到MAC地址表中的步驟之 前,還可以根據(jù)對端MAC地址(NeighborMAC-address)字段進行一下判斷若MAC地址表 中已經(jīng)存在該對端MAC地址(Neighbor MAC-address)字段,則不需要再將該對端MAC地址 (Neighbor MAC-address)字段存儲到MAC地址表中若MAC地址表中沒有該對端MAC地址 (Neighbor MAC-address)字段,則再將該對端MAC地址(Neighbor MAC-address)字段存儲 到MAC地址表中。 其中,生成樹端口狀態(tài)(Spanning-tree Ports Status)表中可以包含有如下字 段 應(yīng)答MAC(R印ly MAC)地址字段; 端口號(index)字段; 生成樹實例號(Instance ID)字段; 端口角色(Port-role)字段和端口狀態(tài)(Port-status)字段;
對端MAC地址(Neighbor MAC-address)字段; 該生成樹端口狀態(tài)(Spanning-tree Ports Status)表以應(yīng)答MAC (R印lyMAC)地 址字段、端口號(index)字段和生成樹實例號(Instance ID)字段為索引。
MAC地址(Switch MAC)表中可以包含有如下字段
對端MAC地址(Neighbor MAC-address)字段。 例如如生成樹端口狀態(tài)(Spanning-tree Ports Status)表中有如下一條表項
"R印ly MAC-address = MAC1,,;"Port index = 10,,;"Instance ID = 1";"Port-status = Forwarding,,;"Port-role = Root,,;"Neighbor MAC_address = MAC2,,。 上述表項說明如下信息在生成樹實例號為1的生成樹實例中,地址為MAC1的設(shè) 備經(jīng)端口號為10的端口連接往地址為MAC2的設(shè)備,該端口的端口狀態(tài)為轉(zhuǎn)發(fā)狀態(tài),端口角 色為根端口。 本實施例中,當(dāng)查詢請求設(shè)備接收到MAC地址表中所有MAC字段對應(yīng)的待查詢設(shè) 備回應(yīng)的拓撲信息應(yīng)答報文,即當(dāng)MAC地址表中所有MAC地址字段在生成樹端口狀態(tài)表中 都可查詢到以該MAC地址為應(yīng)答MAC地址字段的表項時,則能夠說明上述兩個表完整記錄 網(wǎng)絡(luò)的拓撲信息,從而使得可以清晰地確定網(wǎng)絡(luò)拓撲結(jié)構(gòu)。 需要說明的是與查詢請求設(shè)備相鄰的待查詢設(shè)備、下一級相鄰的待查詢設(shè)備接 收到上述拓撲信息應(yīng)答報文之后,則檢查上述拓撲信息應(yīng)答報文中的請求MAC (Request MAC)地址字段不是本設(shè)備的MAC地址,則對接收到的拓撲信息請求報文不作處理,通過在 MAC地址表中查找到的請求MAC (Request MAC)地址對應(yīng)的端口 ,將上述拓撲信息應(yīng)答報文 轉(zhuǎn)發(fā),最后到達查詢請求設(shè)備。 本實施例中,若待查詢設(shè)備未運行生成樹協(xié)議(STP、RSTP、MSTP等),且未開 啟BPDU透傳功能,則對接收到的拓撲信息請求/應(yīng)答報文不作處理也不進行轉(zhuǎn)發(fā);若待 查詢設(shè)備未運行生成樹協(xié)議(STP、 RSTP、 MSTP等),但是開啟了 BPDU透傳功能,則對接 收到的拓撲信息請求/應(yīng)答報文不作處理直接轉(zhuǎn)發(fā)到其下/上一級相鄰的待查詢設(shè)備; 若待查詢設(shè)備運行STP和RSTP,且接收到的拓撲信息請求/應(yīng)答報文中的生成樹類型 (Spanning-treeMode)字段的取值為0x1000或0x2000,則可以按照步驟202/步驟204相 關(guān)內(nèi)容對該拓撲信息請求/應(yīng)答報文進行相應(yīng)的處理;若待查詢設(shè)備運行MSTP,且接收到 的拓撲信息請求/應(yīng)答報文中的生成樹類型(Spa皿ing-treeMode)字段的取值為0x30 * * ,則檢查該拓撲信息請求/應(yīng)答報文中的MST配置摘要(MST config digest)字段與自 身產(chǎn)生的BPDU中的MST配置摘要(MST config digest)字段是否相同,若相同,則可以按 照步驟202/步驟204相關(guān)內(nèi)容對該拓撲信息請求/應(yīng)答報文進行相應(yīng)的處理,否則,則 對接收到的拓撲信息請求/應(yīng)答報文不作處理直接丟棄;若待查詢設(shè)備運行STP和RSTP, 接收到的拓撲信息請求/應(yīng)答報文中的生成樹類型(Spa皿ing-treeMode)字段的取值為 0x30 * *,或者待查詢設(shè)備運行151 ,接收到的拓撲信息請求/應(yīng)答報文中的生成樹類型 (Spanning-tree Mode)字段的取值為0x1000或0x2000,說明該待查詢設(shè)備運行的生成樹 協(xié)議與其他設(shè)備未協(xié)商成功,則對接收到的拓撲信息請求/應(yīng)答報文不作處理直接丟棄。
下面舉一個具體應(yīng)用場景網(wǎng)絡(luò)中的例子來進一步說明本實施例,圖2B為本發(fā)明 實施例二提供的拓撲信息的發(fā)現(xiàn)方法的應(yīng)用場景網(wǎng)絡(luò)的拓撲結(jié)構(gòu)示意圖,該拓撲中的各個 設(shè)備均運行MSTP,域內(nèi)配置如下
Instance VLANs Mapped -----------------------------------------
inf fa 0/1 (desg/fwd)/ \inf fa 0/2 (root/fwd) / \ inf fa 0/3 (alte/blk)/ \inf fa 0/3 (desg/fwd) /inf fa 0/2 (desg/fwd) \ mac :00d0f8100201 ----------------------------mac: OOdOf8100301 \ inf fa 0/2 (desg/fwd) / inf fa 0/1 (alte/blk)\ /inf fa 0/1 (desg/fwd) \ / inf fa 0/1 (desg/fwd)\ /inf fa 0/2 (root/fwd) mac:00 d0 f8 10 01 01 ------------------------------------------------------------- 通過上述運行結(jié)果,能夠清晰地再現(xiàn)上述應(yīng)用場景網(wǎng)絡(luò)的拓撲結(jié)構(gòu),從而能夠確
認(rèn)該存在VLAN的網(wǎng)絡(luò)中各個設(shè)備(Sl、 S2、 S3與S4)之間的邏輯拓撲關(guān)系。 本實施例中,查詢請求設(shè)備向待查詢設(shè)備發(fā)送拓撲信息請求報文之后,待查詢設(shè)
備根據(jù)該拓撲信息請求報文中的所有待查詢設(shè)備的標(biāo)識信息,向查詢請求設(shè)備返回拓撲信
息應(yīng)答報文,使得查詢請求設(shè)備能夠獲取到所有待查詢設(shè)備參與生成樹協(xié)議計算的待查詢
設(shè)備端口的端口信息,從而能夠確認(rèn)不存在VLAN的網(wǎng)絡(luò)中各個設(shè)備之間的物理拓撲關(guān)系,
以及存在VLAN的網(wǎng)絡(luò)中各個設(shè)備之間的邏輯拓撲關(guān)系。 圖3為本發(fā)明實施例三提供的拓撲信息的發(fā)現(xiàn)方法的流程示意圖,如圖3所示,與
上一實施例相比,本實施例的拓撲信息的發(fā)現(xiàn)方法還可以進一步包括以下步驟 步驟301、查詢請求設(shè)備在向相鄰的待查詢設(shè)備發(fā)送拓撲信息請求報文的同時,啟
動定時器; 步驟302、查詢請求設(shè)備判斷在定時器的預(yù)設(shè)時間內(nèi)是否接收到上述MAC地址表 中的MAC地址所標(biāo)識的所有待查詢設(shè)備返回的上述拓撲信息應(yīng)答報文,若查詢請求設(shè)備接 收到上述MAC地址表中的MAC地址所標(biāo)識的所有待查詢設(shè)備返回的上述拓撲信息應(yīng)答報 文,則執(zhí)行步驟303,否則,則執(zhí)行步驟304 ; 步驟303、查詢請求設(shè)備確認(rèn)本次查詢成功,生成查詢成功的結(jié)果; 步驟304、查詢請求設(shè)備確認(rèn)本次查詢失敗,生成查詢失敗的結(jié)果。 其中,定時器的預(yù)設(shè)時間可以設(shè)置為3個BPDU握手時間(hello-time)。 可替換地,本實施例中,步驟303中,若在定時器的預(yù)設(shè)時間內(nèi),若查詢請求設(shè)備
未接收到上述MAC地址表中的MAC地址所標(biāo)識的所有待查詢設(shè)備返回的上述拓撲信息應(yīng)答
報文,查詢請求設(shè)備還可以進一步重新執(zhí)行步驟201,向相鄰的待查詢設(shè)備發(fā)送拓撲信息請
求報文,那么其中的所有待查詢設(shè)備的標(biāo)識信息就可以為尚未在生成樹端口狀態(tài)表中查詢
到的MAC地址表中的某一個MAC地址字段,即該拓撲信息請求報文中的其他MAC(OtherMAC)
地址字段的取值為尚未接收到拓撲信息應(yīng)答報文但其MAC地址在上述MAC地址表中的待查
詢設(shè)備,而且進一步地還可以將定時器的預(yù)設(shè)時間減半,如此反復(fù)循環(huán)。當(dāng)定時器的預(yù)設(shè)時
間小于二分之一個BPDU握手時間時,則本次查詢失敗,生成查詢失敗的結(jié)果。 本實施例中,通過在查詢請求設(shè)備向相鄰的待查詢設(shè)備發(fā)送拓撲信息請求報文的
同時,啟動定時器,以判斷查詢請求設(shè)備所獲取的拓撲信息是否完整,確保了拓撲信息的完整性,從而使得網(wǎng)絡(luò)管理者確認(rèn)網(wǎng)絡(luò)的邏輯結(jié)果。此外,上述本發(fā)明實施例完全兼容目前的 生成樹協(xié)議(STP、RSTP、MSTP)相關(guān)標(biāo)準(zhǔn),改動量少、部署方便、簡捷。 需要說明的是對于前述的各方法實施例,為了簡單描述,故將其都表述為一系列 的動作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明并不受所描述的動作順序的限制,因為 依據(jù)本發(fā)明,某些步驟可以采用其他順序或者同時進行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知 悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作和模塊并不一定是本發(fā)明 所必須的。 在上述實施例中,對各個實施例的描述都各有側(cè)重,某個實施例中沒有詳述的部 分,可以參見其他實施例的相關(guān)描述。 圖4為本發(fā)明實施例四提供的查詢請求設(shè)備的結(jié)構(gòu)示意圖,如圖4所示,本實施例 的查詢請求設(shè)備可以包括請求模塊41和獲取模塊42。其中,請求模塊41向相鄰的待查詢 設(shè)備發(fā)送拓撲信息請求報文,上述拓撲信息請求報文中攜帶有生成樹類型、查詢請求設(shè)備 標(biāo)識和所有待查詢設(shè)備的標(biāo)識信息,以供上述相鄰的待查詢設(shè)備向上述相鄰的待查詢設(shè)備 下一級相鄰的待查詢設(shè)備轉(zhuǎn)發(fā)上述拓撲信息請求報文;獲取模塊42分別接收若上述生成 樹類型標(biāo)識的生成樹協(xié)議與運行的生成樹協(xié)議一致,上述所有待查詢設(shè)備返回的拓撲信息 應(yīng)答報文,上述拓撲信息應(yīng)答報文中攜帶有上述查詢請求設(shè)備標(biāo)識、上述所有待查詢設(shè)備 參與生成樹協(xié)議計算的待查詢設(shè)備端口的端口信息和上述待查詢設(shè)備端口的對端端口的 待查詢設(shè)備標(biāo)識。 上述本發(fā)明實施例二 、本發(fā)明實施例三中查詢請求設(shè)備的功能均可以由本實施例 提供的查詢請求設(shè)備實現(xiàn),該查詢請求設(shè)備可以為交換機。 其中的查詢請求設(shè)備標(biāo)識可以為查詢請求設(shè)備的MAC地址;相應(yīng)地,對端端口的 待查詢設(shè)備標(biāo)識可以為對端端口的待查詢設(shè)備的MAC地址。 本實施例不但可以適用于不存在VLAN的網(wǎng)絡(luò),例如網(wǎng)絡(luò)中的待查詢設(shè)備運行 STP、 RSTP等生成樹協(xié)議,還可以適用于存在VLAN的網(wǎng)絡(luò),例如網(wǎng)絡(luò)中的待查詢設(shè)備運行 MSTP等生成樹協(xié)議。 本實施例中,請求模塊向待查詢設(shè)備發(fā)送拓撲信息請求報文之后,待查詢設(shè)備根 據(jù)該拓撲信息請求報文中的所有待查詢設(shè)備的標(biāo)識信息,向獲取模塊返回拓撲信息應(yīng)答報 文,使得獲取模塊能夠獲取到所有待查詢設(shè)備參與生成樹協(xié)議計算的待查詢設(shè)備端口的端 口信息,從而能夠確認(rèn)不存在VLAN的網(wǎng)絡(luò)中各個設(shè)備之間的物理拓撲關(guān)系,以及存在VLAN 的網(wǎng)絡(luò)中各個設(shè)備之間的邏輯拓撲關(guān)系。 圖5為本發(fā)明實施例五提供的查詢請求設(shè)備的結(jié)構(gòu)示意圖,如圖5所示,與上一實 施例相比,本實施例的查詢請求設(shè)備還可以進一步包括設(shè)置模塊51,用于預(yù)先設(shè)置存儲查 詢請求設(shè)備參與生成樹協(xié)議計算的查詢請求設(shè)備端口的端口信息和上述查詢請求設(shè)備端 口的對端端口的待查詢設(shè)備的MAC地址的生成樹端口狀態(tài)表、以及存儲上述查詢請求設(shè)備 的MAC地址和上述查詢請求設(shè)備端口的對端端口的待查詢設(shè)備的MAC地址的MAC地址表。
進一步地,本實施例的查詢請求設(shè)備還可以進一步包括第一處理模塊52和第二 處理模塊53。其中,第一處理模塊52將獲取模塊42獲取的上述所有待查詢設(shè)備參與生成 樹協(xié)議計算的待查詢設(shè)備端口的端口信息和上述待查詢設(shè)備端口的對端端口的待查詢設(shè) 備的MAC地址存儲到設(shè)置模塊51設(shè)置的生成樹端口狀態(tài)表中;第二處理模塊53將獲取模塊42獲取的上述待查詢設(shè)備端口的對端端口的待查詢設(shè)備的MAC地址存儲到設(shè)置模塊51設(shè)置的MAC地址表中。 圖6為本發(fā)明實施例六提供的待查詢設(shè)備的結(jié)構(gòu)示意圖,如圖6所示,本實施例的待查詢設(shè)備可以包括接收模塊61接收拓撲信息請求報文,上述拓撲信息請求報文中攜帶有生成樹類型、查詢請求設(shè)備標(biāo)識和所有待查詢設(shè)備的標(biāo)識信息,轉(zhuǎn)發(fā)模塊62根據(jù)上述所有待查詢設(shè)備的標(biāo)識信息,向下一級相鄰的待查詢設(shè)備轉(zhuǎn)發(fā)上述拓撲信息請求報文,提供模塊63根據(jù)上述所有待查詢設(shè)備的標(biāo)識信息,若上述生成樹類型標(biāo)識的生成樹協(xié)議與運行的生成樹協(xié)議一致,返回拓撲信息應(yīng)答報文,上述拓撲信息應(yīng)答報文中攜帶有上述查詢請求設(shè)備標(biāo)識、上述所有待查詢設(shè)備參與生成樹協(xié)議計算的待查詢設(shè)備端口的端口信息和上述待查詢設(shè)備端口的對端端口的待查詢設(shè)備標(biāo)識。 上述本發(fā)明實施例二 、本發(fā)明實施例三中待查詢設(shè)備的功能均可以由本實施例提供的待查詢設(shè)備實現(xiàn),該待查詢設(shè)備可以為交換機。 其中的查詢請求設(shè)備標(biāo)識可以為查詢請求設(shè)備的MAC地址;相應(yīng)地,對端端口的待查詢設(shè)備標(biāo)識可以為對端端口的待查詢設(shè)備的MAC地址。 本實施例中,上述所有待查詢設(shè)備的標(biāo)識信息可以包括兩種形式當(dāng)待查詢設(shè)備為網(wǎng)絡(luò)中所有設(shè)備時,所有待查詢設(shè)備的標(biāo)識信息為一個特定字段值,例如ffffffffffff,相應(yīng)地,提供模塊63則可以根據(jù)上述所有待查詢設(shè)備的標(biāo)識信息,返回拓撲信息應(yīng)答報文,以及轉(zhuǎn)發(fā)模塊62則可以根據(jù)上述所有待查詢設(shè)備的標(biāo)識信息,向下一級相鄰的待查詢設(shè)備轉(zhuǎn)發(fā)上述拓撲信息請求報文;當(dāng)待查詢設(shè)備為網(wǎng)絡(luò)中某一個設(shè)備時,所有待查詢設(shè)備的標(biāo)識信息為該設(shè)備的MAC地址,相應(yīng)地,提供模塊63則可以根據(jù)上述所有待查詢設(shè)備的標(biāo)識信息,返回拓撲信息應(yīng)答報文。 本實施例中,接收模塊61接收拓撲信息請求報文之后,若上述所有待查詢設(shè)備的標(biāo)識信息標(biāo)識的待查詢設(shè)備包括該待查詢設(shè)備(可以為包括網(wǎng)絡(luò)中全部待查詢設(shè)備的場景,還可以為只包括該相鄰的待查詢設(shè)備的場景),且上述生成樹類型標(biāo)識的生成樹協(xié)議與該待查詢設(shè)備運行的生成樹協(xié)議一致,則提供模塊63通過接收上述拓撲信息請求報文的端口返回的拓撲信息應(yīng)答報文;若上述所有待查詢設(shè)備的標(biāo)識信息標(biāo)識的待查詢設(shè)備不包括該待查詢設(shè)備或者上述所有待查詢設(shè)備的標(biāo)識信息標(biāo)識的待查詢設(shè)備為網(wǎng)絡(luò)中全部待查詢設(shè)備,則轉(zhuǎn)發(fā)模塊62通過除接收上述拓撲信息請求報文的端口外的其他端口向其下一級相鄰的待查詢設(shè)備轉(zhuǎn)發(fā)上述拓撲信息請求報文。 本實施例不但可以適用于不存在VLAN的網(wǎng)絡(luò),例如網(wǎng)絡(luò)中的待查詢設(shè)備運行STP、 RSTP等生成樹協(xié)議,還可以適用于存在VLAN的網(wǎng)絡(luò),例如網(wǎng)絡(luò)中的待查詢設(shè)備運行MSTP等生成樹協(xié)議。 本實施例中,接收模塊接收到拓撲信息請求報文之后,提供模塊根據(jù)該拓撲信息請求報文中的所有待查詢設(shè)備的標(biāo)識信息,返回拓撲信息應(yīng)答報文,使得待查詢設(shè)備能夠獲取到所有待查詢設(shè)備參與生成樹協(xié)議計算的待查詢設(shè)備端口的端口信息,從而能夠確認(rèn)不存在VLAN的網(wǎng)絡(luò)中各個設(shè)備之間的物理拓撲關(guān)系,以及存在VLAN的網(wǎng)絡(luò)中各個設(shè)備之間的邏輯拓撲關(guān)系。 圖7為本發(fā)明實施例七提供的拓撲信息的發(fā)現(xiàn)系統(tǒng)的結(jié)構(gòu)示意圖,如圖7所示,本實施例的拓撲信息的發(fā)現(xiàn)系統(tǒng)可以包括查詢請求設(shè)備71和待查詢設(shè)備72。其中,
查詢請求設(shè)備71用于向相鄰的待查詢設(shè)備72發(fā)送拓撲信息請求報文,上述拓撲信息請求報文中攜帶有生成樹類型、查詢請求設(shè)備標(biāo)識和所有待查詢設(shè)備72的標(biāo)識信息,分別接收所有待查詢設(shè)備72返回的拓撲信息應(yīng)答報文,上述拓撲信息應(yīng)答報文中攜帶有上述查詢請求設(shè)備標(biāo)識、上述所有待查詢設(shè)備72參與生成樹協(xié)議計算的待查詢設(shè)備端口的端口信息和上述待查詢設(shè)備端口的對端端口的待查詢設(shè)備標(biāo)識; 待查詢設(shè)備72用于接收上述拓撲信息請求報文,根據(jù)上述所有待查詢設(shè)備72的標(biāo)識信息,向下一級相鄰的待查詢設(shè)備72轉(zhuǎn)發(fā)上述拓撲信息請求報文,以及根據(jù)上述所有待查詢設(shè)備72的標(biāo)識信息,若上述生成樹類型標(biāo)識的生成樹協(xié)議與運行的生成樹協(xié)議一致,返回上述拓撲信息應(yīng)答報文。 上述本發(fā)明實施例二 、本發(fā)明實施例三中查詢請求設(shè)備的功能均可以由本實施例提供的拓撲信息的發(fā)現(xiàn)系統(tǒng)中查詢請求設(shè)備71實現(xiàn),查詢請求設(shè)備71可以為交換機;上述本發(fā)明實施例二、本發(fā)明實施例三中待查詢設(shè)備的功能均可以由本實施例提供的拓撲信息的發(fā)現(xiàn)系統(tǒng)中待查詢設(shè)備72實現(xiàn),待查詢設(shè)備72可以為交換機。 其中的查詢請求設(shè)備標(biāo)識可以為查詢請求設(shè)備的MAC地址;相應(yīng)地,對端端口的待查詢設(shè)備標(biāo)識可以為對端端口的待查詢設(shè)備的MAC地址。 本實施例中,上述所有待查詢設(shè)備的標(biāo)識信息可以包括兩種形式當(dāng)待查詢設(shè)備為網(wǎng)絡(luò)中所有設(shè)備時,所有待查詢設(shè)備的標(biāo)識信息為一個特定字段值,例如ffffffffffff,相應(yīng)地,待查詢設(shè)備72則可以根據(jù)上述所有待查詢設(shè)備的標(biāo)識信息,返回
拓撲信息應(yīng)答報文,并向下一級相鄰的待查詢設(shè)備轉(zhuǎn)發(fā)上述拓撲信息請求報文;當(dāng)待查詢
設(shè)備為網(wǎng)絡(luò)中某一個設(shè)備時,所有待查詢設(shè)備的標(biāo)識信息為該設(shè)備的MAC地址,相應(yīng)地,待
查詢設(shè)備72則可以根據(jù)上述所有待查詢設(shè)備的標(biāo)識信息,返回拓撲信息應(yīng)答報文。 本實施例中,待查詢設(shè)備接收拓撲信息請求報文之后,若上述所有待查詢設(shè)備的
標(biāo)識信息標(biāo)識的待查詢設(shè)備包括該待查詢設(shè)備(可以為包括網(wǎng)絡(luò)中全部待查詢設(shè)備的場
景,還可以為只包括該相鄰的待查詢設(shè)備的場景),且上述生成樹類型標(biāo)識的生成樹協(xié)議與
該待查詢設(shè)備運行的生成樹協(xié)議一致,則待查詢設(shè)備通過接收上述拓撲信息請求報文的端
口返回的拓撲信息應(yīng)答報文;若上述所有待查詢設(shè)備的標(biāo)識信息標(biāo)識的待查詢設(shè)備不包括
該待查詢設(shè)備或者上述所有待查詢設(shè)備的標(biāo)識信息標(biāo)識的待查詢設(shè)備為網(wǎng)絡(luò)中全部待查
詢設(shè)備,則待查詢設(shè)備通過除接收上述拓撲信息請求報文的端口外的其他端口向其下一級
相鄰的待查詢設(shè)備轉(zhuǎn)發(fā)上述拓撲信息請求報文。 本實施例不但可以適用于不存在VLAN的網(wǎng)絡(luò),例如網(wǎng)絡(luò)中的待查詢設(shè)備運行STP、 RSTP等生成樹協(xié)議,還可以適用于存在VLAN的網(wǎng)絡(luò),例如網(wǎng)絡(luò)中的待查詢設(shè)備運行MSTP等生成樹協(xié)議。 本實施例中,查詢請求設(shè)備向待查詢設(shè)備發(fā)送拓撲信息請求報文之后,待查詢設(shè)備根據(jù)該拓撲信息請求報文中的所有待查詢設(shè)備的標(biāo)識信息,向查詢請求設(shè)備返回拓撲信息應(yīng)答報文,使得查詢請求設(shè)備能夠獲取到所有待查詢設(shè)備參與生成樹協(xié)議計算的待查詢設(shè)備端口的端口信息,從而能夠確認(rèn)不存在VLAN的網(wǎng)絡(luò)中各個設(shè)備之間的物理拓撲關(guān)系,以及存在VLAN的網(wǎng)絡(luò)中各個設(shè)備之間的邏輯拓撲關(guān)系。 本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述方法實施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成,前述的程序可以存儲于一計算機可讀取存儲介質(zhì)中,該程序
20在執(zhí)行時,執(zhí)行包括上述方法實施例的步驟;而前述的存儲介質(zhì)包括R0M、 RAM、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。 最后應(yīng)說明的是以上實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實施例對本發(fā)明進行了詳細的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解其依然可以對前述各實施例所記載的技術(shù)方案進行修改,或者對其中部分技術(shù)特征進行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的精神和范圍。
2權(quán)利要求
一種拓撲信息的發(fā)現(xiàn)方法,其特征在于,包括向相鄰的待查詢設(shè)備發(fā)送拓撲信息請求報文,所述拓撲信息請求報文中攜帶有生成樹類型、查詢請求設(shè)備標(biāo)識和所有待查詢設(shè)備的標(biāo)識信息,以供所述相鄰的待查詢設(shè)備向所述相鄰的待查詢設(shè)備下一級相鄰的待查詢設(shè)備轉(zhuǎn)發(fā)所述拓撲信息請求報文;分別接收若所述生成樹類型標(biāo)識的生成樹協(xié)議與運行的生成樹協(xié)議一致,所述所有待查詢設(shè)備返回的拓撲信息應(yīng)答報文,所述拓撲信息應(yīng)答報文中攜帶有所述查詢請求設(shè)備標(biāo)識、所述所有待查詢設(shè)備參與生成樹協(xié)議計算的待查詢設(shè)備端口的端口信息和所述待查詢設(shè)備端口的對端端口的待查詢設(shè)備標(biāo)識。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述查詢請求設(shè)備標(biāo)識包括所述查詢請求設(shè)備的MAC地址;所述對端端口的待查詢設(shè)備標(biāo)識包括所述對端端口的待查詢設(shè)備的MAC地址。
3. 根據(jù)權(quán)利要求2所述的方法,其特征在于,還包括預(yù)先設(shè)置存儲查詢請求設(shè)備參與生成樹協(xié)議計算的查詢請求設(shè)備端口的端口信息和所述查詢請求設(shè)備端口的對端端口的待查詢設(shè)備的MAC地址的生成樹端口狀態(tài)表、以及存儲所述查詢請求設(shè)備的MAC地址和所述查詢請求設(shè)備端口的對端端口的待查詢設(shè)備的MAC地址的MAC地址表。
4. 根據(jù)權(quán)利要求3所述的方法,其特征在于,還包括將所述所有待查詢設(shè)備參與生成樹協(xié)議計算的待查詢設(shè)備端口的端口信息和所述待查詢設(shè)備端口的對端端口的待查詢設(shè)備的MAC地址存儲到所述生成樹端口狀態(tài)表中;以及將所述待查詢設(shè)備端口的對端端口的待查詢設(shè)備的MAC地址存儲到所述MAC地址表中。
5. 根據(jù)權(quán)利要求4所述的方法,其特征在于,還包括在預(yù)設(shè)時間內(nèi),若接收到所述MAC地址表中的MAC地址所標(biāo)識的所有待查詢設(shè)備返回的所述拓撲信息應(yīng)答報文,則本次查詢成功;在預(yù)設(shè)時間內(nèi),若未接收到所述MAC地址表中的MAC地址所標(biāo)識的所有待查詢設(shè)備返回的所述拓撲信息應(yīng)答報文,則本次查詢失敗。
6. 根據(jù)權(quán)利要求1至5任一權(quán)利要求所述的方法,其特征在于,所述端口信息包括端口號、生成樹實例號、端口角色和端口狀態(tài)。
7. 根據(jù)權(quán)利要求1至5任一權(quán)利要求所述的方法,其特征在于,所述生成樹類型標(biāo)識的生成樹協(xié)議包括STP、 RSTP或MSTP。
8. —種查詢請求設(shè)備,其特征在于,包括請求模塊,用于向相鄰的待查詢設(shè)備發(fā)送拓撲信息請求報文,所述拓撲信息請求報文中攜帶有生成樹類型、查詢請求設(shè)備標(biāo)識和所有待查詢設(shè)備的標(biāo)識信息,以供所述相鄰的待查詢設(shè)備向所述相鄰的待查詢設(shè)備下一級相鄰的待查詢設(shè)備轉(zhuǎn)發(fā)所述拓撲信息請求報文;獲取模塊,用于分別接收若所述生成樹類型標(biāo)識的生成樹協(xié)議與運行的生成樹協(xié)議一致,所述所有待查詢設(shè)備返回的拓撲信息應(yīng)答報文,所述拓撲信息應(yīng)答報文中攜帶有所述查詢請求設(shè)備標(biāo)識、所述所有待查詢設(shè)備參與生成樹協(xié)議計算的待查詢設(shè)備端口的端口信息和所述待查詢設(shè)備端口的對端端口的待查詢設(shè)備標(biāo)識。
9. 根據(jù)權(quán)利要求8所述的查詢請求設(shè)備,其特征在于,還包括設(shè)置模塊,用于預(yù)先設(shè)置存儲查詢請求設(shè)備參與生成樹協(xié)議計算的查詢請求設(shè)備端口的端口信息和所述查詢請求設(shè)備端口的對端端口的待查詢設(shè)備的MAC地址的生成樹端口狀態(tài)表、以及存儲所述查詢請求設(shè)備的MAC地址和所述查詢請求設(shè)備端口的對端端口的待查詢設(shè)備的MAC地址的MAC地址表。
10. 根據(jù)權(quán)利要求8或9所述的查詢請求設(shè)備,其特征在于,還包括第一處理模塊,用于將所述所有待查詢設(shè)備參與生成樹協(xié)議計算的待查詢設(shè)備端口的端口信息和所述待查詢設(shè)備端口的對端端口的待查詢設(shè)備的MAC地址存儲到所述設(shè)置模塊設(shè)置的生成樹端口狀態(tài)表中;第二處理模塊,用于將所述待查詢設(shè)備端口的對端端口的待查詢設(shè)備的MAC地址存儲到所述設(shè)置模塊設(shè)置的MAC地址表中。
11. 一種待查詢設(shè)備,其特征在于,包括接收模塊,用于接收拓撲信息請求報文,所述拓撲信息請求報文中攜帶有生成樹類型、查詢請求設(shè)備標(biāo)識和所有待查詢設(shè)備的標(biāo)識信息;轉(zhuǎn)發(fā)模塊,用于根據(jù)所述所有待查詢設(shè)備的標(biāo)識信息,向下一級相鄰的待查詢設(shè)備轉(zhuǎn)發(fā)所述拓撲信息請求報文;提供模塊,用于根據(jù)所述所有待查詢設(shè)備的標(biāo)識信息,若所述生成樹類型標(biāo)識的生成樹協(xié)議與運行的生成樹協(xié)議一致,返回拓撲信息應(yīng)答報文,所述拓撲信息應(yīng)答報文中攜帶有所述查詢請求設(shè)備標(biāo)識、所述所有待查詢設(shè)備參與生成樹協(xié)議計算的待查詢設(shè)備端口的端口信息和所述待查詢設(shè)備端口的對端端口的待查詢設(shè)備標(biāo)識。
12. —種拓撲信息的發(fā)現(xiàn)系統(tǒng),其特征在于,包括查詢請求設(shè)備和待查詢設(shè)備,所述查詢請求設(shè)備用于向相鄰的所述待查詢設(shè)備發(fā)送拓撲信息請求報文,所述拓撲信息請求報文中攜帶有生成樹類型、查詢請求設(shè)備標(biāo)識和所有待查詢設(shè)備的標(biāo)識信息,分別接收所述所有待查詢設(shè)備返回的拓撲信息應(yīng)答報文,所述拓撲信息應(yīng)答報文中攜帶有所述查詢請求設(shè)備標(biāo)識、所述所有待查詢設(shè)備參與生成樹協(xié)議計算的待查詢設(shè)備端口的端口信息和所述待查詢設(shè)備端口的對端端口的待查詢設(shè)備標(biāo)識;所述待查詢設(shè)備用于接收所述拓撲信息請求報文,根據(jù)所述所有待查詢設(shè)備的標(biāo)識信息,向下一級相鄰的待查詢設(shè)備轉(zhuǎn)發(fā)所述拓撲信息請求報文,以及根據(jù)所述所有待查詢設(shè)備的標(biāo)識信息,若所述生成樹類型標(biāo)識的生成樹協(xié)議與運行的生成樹協(xié)議一致,返回所述拓撲信息應(yīng)答報文。
全文摘要
本發(fā)明實施例提供一種拓撲信息的發(fā)現(xiàn)方法及系統(tǒng)、查詢請求設(shè)備、待查詢設(shè)備,方法包括向相鄰的待查詢設(shè)備發(fā)送拓撲信息請求報文,拓撲信息請求報文中攜帶有生成樹類型、查詢請求設(shè)備標(biāo)識和所有待查詢設(shè)備的標(biāo)識信息,以供相鄰的待查詢設(shè)備向相鄰的待查詢設(shè)備下一級相鄰的待查詢設(shè)備轉(zhuǎn)發(fā)拓撲信息請求報文;分別接收若生成樹類型標(biāo)識的生成樹協(xié)議與運行的生成樹協(xié)議一致,所有待查詢設(shè)備返回的拓撲信息應(yīng)答報文,拓撲信息應(yīng)答報文中攜帶有查詢請求設(shè)備標(biāo)識、所有待查詢設(shè)備參與生成樹協(xié)議計算的待查詢設(shè)備端口的端口信息和待查詢設(shè)備端口的對端端口的待查詢設(shè)備標(biāo)識。本發(fā)明實施例能夠確認(rèn)存在VLAN的網(wǎng)絡(luò)中各個設(shè)備之間的邏輯拓撲關(guān)系。
文檔編號H04L12/44GK101729351SQ200910221118
公開日2010年6月9日 申請日期2009年11月3日 優(yōu)先權(quán)日2009年11月3日
發(fā)明者楊敬民, 陳娟 申請人:福建星網(wǎng)銳捷網(wǎng)絡(luò)有限公司