本發(fā)明涉及天基骨干網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,特別涉及一種軟件定義的天基骨干網(wǎng)絡(luò)中鏈路拓?fù)浒l(fā)現(xiàn)方法。
背景技術(shù):
軟件定義網(wǎng)絡(luò)(SDN)最初由美國斯坦福大學(xué)于2008年提出,旨在將傳統(tǒng)網(wǎng)絡(luò)的控制和轉(zhuǎn)發(fā)解耦,為上層各種網(wǎng)絡(luò)應(yīng)用和業(yè)務(wù)提供高度靈活、彈性、可定制化服務(wù)。SDN采用邏輯上集中的控制平面(即天基網(wǎng)絡(luò)控制器),相比分布式控制省去了網(wǎng)絡(luò)節(jié)點之間交互控制信息的開銷;轉(zhuǎn)發(fā)平面(即SDN交換機)功能單一化,剝離了各種分布式控制信令,容易實現(xiàn)高可靠、高性能等優(yōu)點。
當(dāng)前的衛(wèi)星網(wǎng)絡(luò)存在地面網(wǎng)絡(luò)管理與控制中心,負(fù)責(zé)衛(wèi)星物理資源的分配和管理,而傳統(tǒng)的路由等功能還是基于分布式的。衛(wèi)星網(wǎng)絡(luò)與軟件定義的思想相結(jié)合,將衛(wèi)星網(wǎng)絡(luò)的物理資源、邏輯資源的管控統(tǒng)一起來,采用進一步邏輯上集中控制的思路,可提高整個系統(tǒng)的效率和性能,為業(yè)務(wù)提供更有效的服務(wù)質(zhì)量和高度定制化服務(wù),是將來衛(wèi)星網(wǎng)絡(luò)發(fā)展的一個趨勢。
在軟件定義網(wǎng)絡(luò)中,傳統(tǒng)的南向接口協(xié)議OpenFlow面向地面網(wǎng)絡(luò)設(shè)計,存在交互流程冗余、復(fù)雜,計算開銷復(fù)雜度高的問題。星載交換機的計算、存儲、網(wǎng)絡(luò)能力都與地面對應(yīng)設(shè)備差幾個數(shù)量級,若使用地面原始的OpenFlow協(xié)議,其性能會隨著衛(wèi)星網(wǎng)絡(luò)規(guī)模的擴大而急劇降低(例如拓?fù)浒l(fā)現(xiàn)開銷正比于全網(wǎng)星載交換機的總端口數(shù)),因此OpenFlow協(xié)議用于天基骨干網(wǎng)中,必須進行針對性優(yōu)化,尤其要解決拓?fù)浒l(fā)現(xiàn)的逐端口LLDP幀探測問題。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是提出一種軟件定義天基骨干網(wǎng)絡(luò)中鏈路拓?fù)浒l(fā)現(xiàn)方法,旨在降低天基網(wǎng)絡(luò)控制器采用OpenFlow協(xié)議實現(xiàn)天基骨干網(wǎng)絡(luò)星載交換機拓?fù)浒l(fā)現(xiàn)的探測開銷。
為了實現(xiàn)上述發(fā)明目的,本發(fā)明所采取的技術(shù)方案為:
一種軟件定義天基骨干網(wǎng)絡(luò)中鏈路拓?fù)浒l(fā)現(xiàn)方法,其特征在于,包括以下步驟:
(1)所有星載交換機在與天基網(wǎng)絡(luò)控制器建立初始連接時,通過響應(yīng)來自天基網(wǎng)絡(luò)控制器的OFPT_FEATURES_REQUEST消息將各自的端口信息上報給天基網(wǎng)絡(luò)控制器;所述的端口信息包括星載交換機每個端口的MAC地址和端口標(biāo)識;
(2)天基網(wǎng)絡(luò)控制器重新設(shè)置每個星載交換機中每個端口的MAC地址為端口對應(yīng)的端口標(biāo)識值;
(3)天基網(wǎng)絡(luò)控制器命令每個星載交換機安裝來自該天基網(wǎng)絡(luò)控制器的LLDP幀處理流表項;并設(shè)置發(fā)送Packet Out消息的規(guī)則和Packet In消息處理規(guī)則;
(4)根據(jù)所設(shè)置的發(fā)送Packet Out消息的規(guī)則,在一個設(shè)定的探測周期內(nèi),天基網(wǎng)絡(luò)控制器向每個星載交換機只發(fā)送一個Packet Out消息,且將Packet Out消息中LLDP幀的端口標(biāo)識字段置為0;
(5)星載交換機收到Packet Out消息后,根據(jù)LLDP幀處理流表項對Packet Out消息中的LLDP幀進行修改,將修改后的LLDP幀發(fā)送給其他星載交換機對應(yīng)的端口;
(6)其他星載交換機收到修改后的LLDP幀后,將修改后的LLDP幀和收到該幀的端口信息封裝到Packet In消息中,上報到天基網(wǎng)絡(luò)控制器;
(7)天基網(wǎng)絡(luò)控制器收到封裝后的Packet In消息后,根據(jù)所設(shè)置的Packet In消息處理規(guī)則解析Packet In消息,即將Packet In消息中LLDP幀外層的L2層幀的源MAC地址解析為端口的端口標(biāo)識,得到發(fā)出LLDP幀的星載交換機及其對應(yīng)端口和接收該LLDP幀的星載交換機及其對應(yīng)端口;
(8)天基網(wǎng)絡(luò)控制器根據(jù)發(fā)出LLDP幀的星載交換機及其對應(yīng)端口和接收該LLDP幀的星載交換機及其對應(yīng)端口得知前者端口到后者對應(yīng)端口的有向鏈路;
完成軟件定義天基骨干網(wǎng)絡(luò)中鏈路的拓?fù)浒l(fā)現(xiàn)。
其中,步驟(3)中天基網(wǎng)絡(luò)控制器命令每個星載交換機安裝來自該天基網(wǎng)絡(luò)控制器的LLDP幀處理流表項,具體為:天基網(wǎng)絡(luò)控制器命令每個星載交換機采用逐端口復(fù)制LLDP幀,且每個星載交換機將LLDP幀對應(yīng)的L2層幀的源MAC地址設(shè)置為被復(fù)制端口的MAC地址,即該端口的端口標(biāo)識值,并將該修改后的LLDP幀通過該端口發(fā)送給其他星載交換機對應(yīng)的端口。
其中,步驟(5)具體為:星載交換機收到Packet Out消息后,星載交換機將Packet Out消息中的LLDP幀進行逐端口復(fù)制,將該LLDP幀對應(yīng)的L2層幀的源MAC地址設(shè)置為被復(fù)制端口的MAC地址,即該端口的端口標(biāo)識值,并將該修改后的LLDP幀通過該端口發(fā)送給其他星載交換機對應(yīng)的端口。
本發(fā)明與背景技術(shù)相比具有如下優(yōu)點:
1.本發(fā)明將天基網(wǎng)絡(luò)控制器在一個拓?fù)浒l(fā)現(xiàn)周期內(nèi),發(fā)送到各個星載交換機的LLDP幀總數(shù)從正比于全網(wǎng)星載交換機端口總數(shù)降低到正比于全網(wǎng)星載交換機總數(shù)。
2.星載交換機通過對LLDP幀的逐端口復(fù)制和L2層幀源MAC地址的改寫,并未增加星載交換機的處理負(fù)擔(dān)。
3.本發(fā)明支持混合模式,即通過L2層源地址的編址規(guī)劃,可實現(xiàn)背景技術(shù)的方式與本發(fā)明提到的方式的同時工作,二者互不影響,具有良好的兼容性,因此支持漸進式部署。
附圖說明
圖1是本發(fā)明的流程圖。
圖2是軟件定義天基骨干網(wǎng)絡(luò)中基于LLDP的傳統(tǒng)拓?fù)浒l(fā)現(xiàn)示意圖。
圖3是本發(fā)明提出的軟件定義天基骨干網(wǎng)絡(luò)基于LLDP的改進拓?fù)浒l(fā)現(xiàn)示意圖。
具體實施方式
為使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下參照圖1-圖3并舉實施例,對發(fā)明方案作進一步地詳細說明。所述的天基骨干網(wǎng)絡(luò)包括衛(wèi)星(內(nèi)含星載交換機)、衛(wèi)星終端、衛(wèi)星終端下掛的由用戶組成的用戶子網(wǎng)以及天基網(wǎng)絡(luò)控制器。
本發(fā)明的核心思想是:星載交換機在與天基網(wǎng)絡(luò)控制器建立初始連接時通過OpenFlow協(xié)議的OFPT_FEATURES_REPLY消息響應(yīng)天基網(wǎng)絡(luò)控制器的OFPT_FEATURES_REQUEST消息,天基網(wǎng)絡(luò)控制器利用OFPT_FEATURES_REPLY消息得到每個星載交換機的端口信息,使星載交換機通過改寫LLDP幀對應(yīng)的L2層幀的源MAC地址來區(qū)分該交換機每個端口轉(zhuǎn)發(fā)的LLDP幀,最后由天基網(wǎng)絡(luò)控制器通過解析L2層幀的源MAC地址為該端口的端口標(biāo)識(Port ID),關(guān)聯(lián)該LLDP幀所經(jīng)過的星載交換機的源端口和目的端口從而發(fā)現(xiàn)該鏈路,實現(xiàn)鏈路發(fā)現(xiàn)。所述的端口信息包括星載交換機每個端口的MAC地址和Port ID;通過此方式,天基網(wǎng)絡(luò)控制器可將LLDP幀的發(fā)送數(shù)量從正比于全網(wǎng)星載交換機的端口總數(shù)降到正比于全網(wǎng)星載交換機的數(shù)量,大大降低了全網(wǎng)拓?fù)浒l(fā)現(xiàn)的開銷。
一種軟件定義天基骨干網(wǎng)絡(luò)中鏈路拓?fù)浒l(fā)現(xiàn)方法,如圖1包括以下步驟:
(1)所有星載交換機在與天基網(wǎng)絡(luò)控制器建立初始連接時,通過響應(yīng)來自天基網(wǎng)絡(luò)控制器的OFPT_FEATURES_REQUEST消息,將星載交換機各自的端口信息(包括端口的MAC地址和Port ID)上報給天基網(wǎng)絡(luò)控制器;其中,OFPT_FEATURES_REQUEST消息對應(yīng)的應(yīng)答消息名稱為OFPT_FEATURES_REPLY,該消息中包含該星載交換機的信息以及其每個端口的相關(guān)信息(如端口號、MAC地址、端口狀態(tài)等)。
(2)天基網(wǎng)絡(luò)控制器通過OFPT_PORT_MOD消息重新設(shè)置每個星載交換機中每個端口的MAC地址為其對應(yīng)的Port ID值,即建立端口MAC地址與端口Port ID的映射關(guān)系;其中,要求星載交換機對OpenFlow協(xié)議的處理流程進行修改,即具有通過響應(yīng)OFPT_PORT_MOD消息修改該端口MAC地址的能力。
(3)天基網(wǎng)絡(luò)控制器命令每個星載交換機安裝來自該天基網(wǎng)絡(luò)控制器的LLDP幀處理流表項,具體為:天基網(wǎng)絡(luò)控制器對每個星載交換機采用逐端口復(fù)制LLDP幀,且每個星載交換機將LLDP幀對應(yīng)的L2層幀的源MAC地址設(shè)置為被復(fù)制端口的MAC地址即Port ID值,并將該修改后的LLDP幀通過該端口發(fā)送給其他星載交換機對應(yīng)的端口;天基網(wǎng)絡(luò)控制器設(shè)置發(fā)送LLDP幀的規(guī)則為:在一個設(shè)定的探測周期內(nèi),天基網(wǎng)絡(luò)控制器為每個星載交換機只發(fā)送一個LLDP幀,且將該幀的Port ID字段置為0;天基網(wǎng)絡(luò)控制器設(shè)定接收到的Packet In消息中的LLDP幀的處理規(guī)則為:天基網(wǎng)絡(luò)控制器解析Packet In消息,即將Packet In消息中LLDP幀的L2層幀的源MAC地址解析為端口的Port ID,得到發(fā)出LLDP幀的星載交換機及其對應(yīng)端口和接收該LLDP幀的星載交換機及其對應(yīng)端口。
其中上文提到的探測周期由天基網(wǎng)絡(luò)控制器設(shè)定,且對每個星載交換機可單獨設(shè)置該值。此外Port ID值置為0,目的是匹配流表項,從而進行LLDP幀復(fù)制等操作。
(4)天基網(wǎng)絡(luò)控制器為每個星載交換機生成Packet Out消息,消息內(nèi)容為LLDP幀,天基網(wǎng)絡(luò)控制器在一個設(shè)定周期內(nèi)向每個星載交換機發(fā)送一個LLDP幀,該幀的Port ID字段為0,從而使該LLDP幀匹配對應(yīng)的流表項。
(5)星載交換機收到LLDP幀后,對LLDP幀進行逐端口復(fù)制,將該LLDP幀對應(yīng)的L2層幀的源MAC地址設(shè)置為被復(fù)制端口的MAC地址,即該端口的端口標(biāo)識(Port ID),并將該修改后的LLDP幀通過該端口發(fā)送給其他星載交換機對應(yīng)的端口;
(6)其他星載交換機收到修改后的LLDP幀后,將LLDP幀和收到該幀的端口信息封裝到Packet In消息中,上報到天基網(wǎng)絡(luò)控制器;
(7)天基網(wǎng)絡(luò)控制器收到封裝后的Packet In消息后,根據(jù)所設(shè)置LLDP幀的處理規(guī)則解析Packet In消息,即將Packet In消息中LLDP幀的L2層幀的源MAC地址解析為端口的Port ID,得到發(fā)出LLDP幀的星載交換機及其對應(yīng)端口和接收該LLDP幀的星載交換機及其對應(yīng)端口;
(8)天基網(wǎng)絡(luò)控制器根據(jù)發(fā)出LLDP幀的星載交換機及其對應(yīng)端口和接收該LLDP幀的星載交換機及其對應(yīng)端口得知存在一條前者該端口到后者對應(yīng)端口的有向鏈路。
為清楚的說明本發(fā)明,下面列舉具體場景進行說明,其中圖2、圖3是同一場景,但是圖2代表基于LLDP的傳統(tǒng)拓?fù)浒l(fā)現(xiàn)流程,而圖3是本發(fā)明提出的基于LLDP的拓?fù)浒l(fā)現(xiàn)改進流程。
實施例由單個天基網(wǎng)絡(luò)控制器和兩個星載交換機組成,天基網(wǎng)絡(luò)控制器通過OpenFlow協(xié)議控制星載交換機S1、S2,而每個星載交換機具有3個端口,分別命名為Port 1、2、3,其中S1的Port 1與S2的Port 3存在一條鏈路。
如果采用圖2所示的傳統(tǒng)拓?fù)浒l(fā)現(xiàn)流程:
1)針對星載交換機S1,天基網(wǎng)絡(luò)控制器需要為每個端口生成一個Packet Out消息,在該消息內(nèi)包含對應(yīng)的LLDP幀,其Port ID設(shè)置為該端口的ID,如對應(yīng)端口1的LLDP幀內(nèi)容包含:Chassis ID=S1,Port ID=Port 1。星載交換機S1具有3個端口,因此需要生成總共3個Packet Out消息,并通過OpenFlow的控制信道發(fā)送給星載交換機S1。
2)當(dāng)上述LLDP幀被星載交換機S2收到并通過Packet In消息通知天基網(wǎng)絡(luò)控制器時,控制器得到如下拓?fù)湫畔ⅲ捍嬖阪溌?S1.Port1,S2.Port 3)。同理,對于星載交換機S2,流程類似,因此在一個探測周期,天基網(wǎng)絡(luò)控制器總共需要發(fā)送6個Packet Out消息。
采用圖3所示的改進拓?fù)浒l(fā)現(xiàn)流程:
1)針對星載交換機S1,天基網(wǎng)絡(luò)控制器僅生成一個Packet Out消息,在該消息內(nèi)包含對應(yīng)的LLDP幀,其中Port ID設(shè)置為0。
2)星載交換機S1根據(jù)圖3所示的流表項處理邏輯,對LLDP幀進行逐端口復(fù)制和L2層幀MAC地址改寫,如針對端口1,其改寫后LLDP幀內(nèi)容為:Chassis ID=S1,Eth Src MAC=Port ID 1。
3)當(dāng)上述LLDP幀被星載交換機S2收到并通過Packet In消息通知天基網(wǎng)絡(luò)控制器時,控制器根據(jù)L2層幀MAC地址解析為該端口的Port ID,得到結(jié)果為S1.Port 1。據(jù)此得到鏈路信息:(S1.Port 1,S2.Port 3)。同理,對于星載交換機S2,流程類似,因此在一個探測周期,天基網(wǎng)絡(luò)控制器總共需要發(fā)送2個Packet Out消息
以上,僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。