獲得所述第一網(wǎng)絡(luò)的拓?fù)湫畔⒖梢酝ㄟ^如下操作實(shí)現(xiàn):
[0111]所述網(wǎng)絡(luò)設(shè)備與被管轄的節(jié)點(diǎn)建立TCP連接后,所述網(wǎng)絡(luò)設(shè)備能夠知道所述被管轄的節(jié)點(diǎn)具有的接口。所述網(wǎng)絡(luò)設(shè)備向所述被管轄的節(jié)點(diǎn)發(fā)送擴(kuò)展的LLDP消息。所述擴(kuò)展的LLDP消息中攜帶所述被管轄的節(jié)點(diǎn)的標(biāo)識(shí)以及所述被管轄的節(jié)點(diǎn)的接口的標(biāo)識(shí)。
[0112]當(dāng)所述被管轄的節(jié)點(diǎn)具有多個(gè)接口時(shí),所述網(wǎng)絡(luò)設(shè)備向所述被管轄的節(jié)點(diǎn)發(fā)送多個(gè)擴(kuò)展的LLDP消息。所述多個(gè)擴(kuò)展的LLDP消息分別對(duì)應(yīng)所述多個(gè)接口。所述多個(gè)擴(kuò)展的LLDP消息中每個(gè)擴(kuò)展的LLDP消息中攜帶了對(duì)應(yīng)的接口的標(biāo)識(shí)。所述被管轄的節(jié)點(diǎn)收到所述擴(kuò)展的LLDP消息后,通過所述被管轄的節(jié)點(diǎn)的接口,將與該接口對(duì)應(yīng)的擴(kuò)展的LLDP消息轉(zhuǎn)發(fā)至鄰居節(jié)點(diǎn)。鄰居節(jié)點(diǎn)收到擴(kuò)展的LLDP消息后,在擴(kuò)展的LLDP消息中添加所述鄰居節(jié)點(diǎn)的標(biāo)識(shí),從而生成新的擴(kuò)展的LLDP消息。所述鄰居節(jié)點(diǎn)通過控制通道將所述新的擴(kuò)展的LLDP消息發(fā)送到所述網(wǎng)絡(luò)設(shè)備。
[0113]通過上述機(jī)制,所述網(wǎng)絡(luò)設(shè)備能夠根據(jù)所述新的擴(kuò)展的LLDP消息得到所述被管轄的節(jié)點(diǎn)通過哪個(gè)接口和所述鄰居節(jié)點(diǎn)進(jìn)行連接。
[0114]基于同樣的機(jī)制,所述網(wǎng)絡(luò)設(shè)備能夠進(jìn)一步得到所述鄰居節(jié)點(diǎn)通過哪個(gè)接口和所述鄰居節(jié)點(diǎn)的鄰居節(jié)點(diǎn)進(jìn)行連接。
[0115]通過重復(fù)上述操作,所述網(wǎng)絡(luò)設(shè)備能夠得到所述第一網(wǎng)絡(luò)的拓?fù)湫畔ⅰ?br>[0116]舉例來說,所述確定第一節(jié)點(diǎn)到第二節(jié)點(diǎn)的第一最短路徑可以包括,以所述第一節(jié)點(diǎn)為根節(jié)點(diǎn),根據(jù)所述第一網(wǎng)絡(luò)的拓?fù)湫畔?,運(yùn)行最短路徑優(yōu)先算法執(zhí)行逐跳計(jì)算所述第一節(jié)點(diǎn)的最短路徑優(yōu)先樹的操作。所述第一節(jié)點(diǎn)的最短路徑優(yōu)先樹包含所述第一最短路徑。
[0117]舉例來說,所述第一最短路徑可以只包括兩個(gè)節(jié)點(diǎn)。也就是說,所述第一節(jié)點(diǎn)和所述第二節(jié)點(diǎn)可以直連。
[0118]舉例來說,所述第一最短路徑可以包括至少一個(gè)中間節(jié)點(diǎn)。所述至少一個(gè)中間節(jié)點(diǎn)可以是開放流交換機(jī)。所述至少一個(gè)中間節(jié)點(diǎn)可以是所述第一網(wǎng)絡(luò)中的節(jié)點(diǎn)。
[0119]舉例來說,所述第三節(jié)點(diǎn)到所述第一節(jié)點(diǎn)的路徑可以只包括兩個(gè)節(jié)點(diǎn)。也就是說,所述第三節(jié)點(diǎn)到所述第一節(jié)點(diǎn)可以直連。
[0120]舉例來說,所述第三節(jié)點(diǎn)到所述第一節(jié)點(diǎn)的路徑可以包括一個(gè)或多個(gè)中間節(jié)點(diǎn)。所述中間節(jié)點(diǎn)可以是開放流交換機(jī)。所述中間節(jié)點(diǎn)可以是所述第一網(wǎng)絡(luò)中的節(jié)點(diǎn)。所述多個(gè)中間節(jié)點(diǎn)可以是開放流交換機(jī)。所述多個(gè)中間節(jié)點(diǎn)可以是所述第一網(wǎng)絡(luò)中的節(jié)點(diǎn)。
[0121]可選地,圖3所示的裝置中,所述第二單元304還包括:
[0122]比較單元,用于如果所述第三節(jié)點(diǎn)到所述第二節(jié)點(diǎn)存在其他路徑,所述其他路徑不經(jīng)過所述第一節(jié)點(diǎn),則比較所述其他路徑的開銷與第一開銷,所述第一開銷為第一路徑的開銷與第二路徑的開銷的和,所述第一路徑為所述第一最短路徑,所述第二路徑為執(zhí)行逐跳計(jì)算所述第三節(jié)點(diǎn)的所述最短路徑優(yōu)先樹的操作得到的所述第三節(jié)點(diǎn)到所述第一節(jié)點(diǎn)的路徑;以及
[0123]確定單元,用于如果所述其他路徑的開銷大于所述第一開銷,則將所述第一最短路徑作為所述第二最短路徑的一部分。
[0124]舉例來說,所述其他路徑可以是所述第三節(jié)點(diǎn)到所述第二節(jié)點(diǎn)的直連路徑。
[0125]舉例來說,所述其他路徑可以包括至少一個(gè)中間節(jié)點(diǎn)。所述至少一個(gè)中間節(jié)點(diǎn)可以是開放流交換機(jī)。所述至少一個(gè)中間節(jié)點(diǎn)可以是所述第一網(wǎng)絡(luò)中的節(jié)點(diǎn)。
[0126]可選地,圖3所示的裝置中,所述第二單元304還包括:
[0127]比較單元,用于如果所述第三節(jié)點(diǎn)到所述第二節(jié)點(diǎn)存在其他路徑,所述其他路徑不經(jīng)過所述第一節(jié)點(diǎn),則比較所述其他路徑的開銷與第一開銷,所述第一開銷為第一路徑的開銷與第二路徑的開銷的和,所述第一路徑為所述第一最短路徑,所述第二路徑為執(zhí)行逐跳計(jì)算所述第三節(jié)點(diǎn)的所述最短路徑優(yōu)先樹的操作得到的所述第三節(jié)點(diǎn)到所述第一節(jié)點(diǎn)的路徑;以及
[0128]確定單元,用于如果所述其他路徑的開銷小于所述第一開銷,則避免執(zhí)行將所述第一最短路徑作為所述第二最短路徑的一部分的操作,將所述其他路徑作為所述第二最短路徑。
[0129]舉例來說,所述其他路徑可以是所述第三節(jié)點(diǎn)到所述第二節(jié)點(diǎn)的直連路徑。
[0130]舉例來說,所述其他路徑可以包括至少一個(gè)中間節(jié)點(diǎn)。所述至少一個(gè)中間節(jié)點(diǎn)可以是開放流交換機(jī)。所述至少一個(gè)中間節(jié)點(diǎn)可以是所述第一網(wǎng)絡(luò)中的節(jié)點(diǎn)。
[0131]可選地,圖3所示的裝置中,所述第二單元304還包括:
[0132]比較單元,用于如果所述第三節(jié)點(diǎn)到所述第二節(jié)點(diǎn)存在其他路徑,所述其他路徑不經(jīng)過所述第一節(jié)點(diǎn),則比較所述其他路徑的開銷與第一開銷,所述第一開銷為第一路徑的開銷與第二路徑的開銷的和,所述第一路徑為所述第一最短路徑,所述第二路徑為執(zhí)行逐跳計(jì)算所述第三節(jié)點(diǎn)的所述最短路徑優(yōu)先樹的操作得到的所述第三節(jié)點(diǎn)到所述第一節(jié)點(diǎn)的路徑;以及
[0133]確定單元,用于如果所述其他路徑的開銷等于所述第一開銷,則將所述第一最短路徑作為所述第二最短路徑的一部分,或者避免執(zhí)行將所述第一最短路徑作為所述第二最短路徑的一部分的操作,將所述其他路徑作為所述第二最短路徑。
[0134]舉例來說,所述其他路徑可以是所述第三節(jié)點(diǎn)到所述第二節(jié)點(diǎn)的直連路徑。
[0135]舉例來說,所述其他路徑可以包括至少一個(gè)中間節(jié)點(diǎn)。所述至少一個(gè)中間節(jié)點(diǎn)可以是開放流交換機(jī)。所述至少一個(gè)中間節(jié)點(diǎn)可以是所述第一網(wǎng)絡(luò)中的節(jié)點(diǎn)。
[0136]可選地,圖3所示的裝置中,所述第一節(jié)點(diǎn)的鄰居節(jié)點(diǎn)的數(shù)量大于所述最短路徑優(yōu)先樹中所述第一節(jié)點(diǎn)以外的每個(gè)節(jié)點(diǎn)的鄰居節(jié)點(diǎn)的數(shù)量。
[0137]舉例來說,圖3所示的裝置可以應(yīng)用于圖1所示的組網(wǎng)架構(gòu)。其中,圖3所示的裝置可以是圖1所示的開放流控制器104。
[0138]圖3所示的裝置涉及的第一節(jié)點(diǎn)、第二節(jié)點(diǎn)、第三節(jié)點(diǎn)可以分別是圖1所示的第一開放流交換機(jī)101、第二開放流交換機(jī)102以及第三開放流交換機(jī)103。圖3所示的裝置涉及的第一最短路徑和第二最短路徑可以分別是圖1所示的第一鏈路和第二鏈路。圖3所示的裝置涉及的所述第三節(jié)點(diǎn)到所述第一節(jié)點(diǎn)的路徑可以是圖1所示的第三鏈路。
[0139]具體地,圖1中的所述開放流控制器可以包括處理器和存儲(chǔ)器。所述處理器和存儲(chǔ)器耦合。所述存儲(chǔ)器用于存儲(chǔ)計(jì)算機(jī)程序。所述處理器通過訪問所述計(jì)算機(jī)程序執(zhí)行如下操作:
[0140]計(jì)算所述第一開放流交換機(jī)101到第二開放流交換機(jī)102的第一最短路徑。所述第一最短路徑為所述第一鏈路。
[0141]計(jì)算第三開放流交換機(jī)103到第二開放流交換機(jī)102的第二最短路徑。所述第二最短路徑為所述第二鏈路。
[0142]其中,所述確定第三開放流交換機(jī)103到第二開放流交換機(jī)102的第二最短路徑包括:
[0143]將所述第三開放流交換機(jī)103作為根節(jié)點(diǎn)運(yùn)行最短路徑優(yōu)先算法執(zhí)行逐跳計(jì)算所述第三開放流交換機(jī)103的最短路徑優(yōu)先樹的操作,當(dāng)計(jì)算至所述第一開放流交換機(jī)101為所述第三開放流交換機(jī)103的子節(jié)點(diǎn)時(shí),如果所述第三開放流交換機(jī)103只能通過所述第一開放流交換機(jī)101到達(dá)所述第二開放流交換機(jī)102,則避免執(zhí)行通過運(yùn)行所述最短路徑優(yōu)先算法計(jì)算所述第一開放流交換機(jī)101的子節(jié)點(diǎn)的操作,將所述第一最短路徑作為所述第二最短路徑的一部分。
[0144]上述技術(shù)方案中,將所述第三開放流交換機(jī)103作為根節(jié)點(diǎn)運(yùn)行最短路徑優(yōu)先算法執(zhí)行逐跳計(jì)算所述第三開放流交換機(jī)103的最短路徑優(yōu)先樹的操作,當(dāng)計(jì)算至所述第一開放流交換機(jī)101為所述第三開放流交換機(jī)103的子節(jié)點(diǎn)時(shí),則表明已計(jì)算出所述第三開放流交換機(jī)103到所述第一開放流交換機(jī)101的路徑。此時(shí)尚未計(jì)算至所述第二開放流交換機(jī)102。所述第二最短路徑尚未生成。
[0145]上述技術(shù)方案中,將所述第一鏈路作為所述第二鏈路的一部分前,已計(jì)算出所述第三開放流交換機(jī)103到所述第一開放流交換機(jī)101的路徑,也就是所述第三鏈路。執(zhí)行將所述第一鏈路作為所述第二鏈路的一部分的操作,有助于將所述第三鏈路與所述第一鏈路合并。上述合并有助于生成所述第二最短路徑。也就是說,上述合并有助于生成所述第二鏈路。
[0146]本領(lǐng)域普通技術(shù)人員可以意識(shí)到,結(jié)合本文中所公開的實(shí)施例描述的各示例的單元及算法步驟,能夠以電子硬件、或者計(jì)算機(jī)軟件和電子硬件的結(jié)合來實(shí)現(xiàn)。這些功能宄竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以對(duì)每個(gè)特定的應(yīng)用來使用不同方法來實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。
[0147]所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡(jiǎn)潔,上述描述的系統(tǒng)、裝置和單元的具體工作過程,可以參考