轉(zhuǎn)發(fā)器、控制器及控制器的路由發(fā)布方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明實(shí)施例設(shè)及計(jì)算機(jī)網(wǎng)絡(luò)領(lǐng)域,并且更具體地,設(shè)及轉(zhuǎn)發(fā)器、控制器及控制器 的路由發(fā)布方法。
【背景技術(shù)】
[0002] 在軟件定義網(wǎng)絡(luò)(Software Defined化twork, SDN)網(wǎng)絡(luò)中,控制器與轉(zhuǎn)發(fā)器通過 內(nèi)部網(wǎng)關(guān)協(xié)議(Interior Gateway Protocol, IGP)傳遞拓?fù)湫畔ⅰ?br>[0003] 現(xiàn)有技術(shù)中,控制器通過開放式最短路徑優(yōu)先的pen化ortest Path First, OSP巧的末梢路由器(S化b Router)特性,配置控制器的所有OSPF接口的開銷值為最大,能 夠使得流量盡可能不經(jīng)過控制器。
[0004] 但是,如果拓?fù)渲胁糠止?jié)點(diǎn)只有一條路徑到達(dá)目的地,且此通路經(jīng)過控制器,那 么,即便開銷值較大,此路徑也會(huì)成為轉(zhuǎn)發(fā)路徑。運(yùn)使得控制器的轉(zhuǎn)發(fā)帶寬得不到安全保 障。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明實(shí)施例提供一種轉(zhuǎn)發(fā)器、控制器及控制器的路由發(fā)布方法,能夠使得控制 器不能作為流量穿越節(jié)點(diǎn),從而保證控制器轉(zhuǎn)發(fā)帶寬的安全。
[0006] 第一方面,提供了一種控制器路由發(fā)布方法,該方法應(yīng)用于基于OSPF協(xié)議的網(wǎng) 絡(luò),該方法包括:轉(zhuǎn)發(fā)器接收直連的控制器發(fā)送的9類opaque LSA報(bào)文,其中,該控制器不 發(fā)布自身的Router LSA報(bào)文,該9類opaque LSA報(bào)文攜帶該控制器的路由信息,該9類 opaque LSA報(bào)文還攜帶指示信息,該指示信息指示該轉(zhuǎn)發(fā)器代為發(fā)布該控制器的路由信 息;該轉(zhuǎn)發(fā)器根據(jù)該指示信息,在該轉(zhuǎn)發(fā)器所在的區(qū)域中發(fā)布該控制器的路由信息。
[0007] 結(jié)合第一方面,在第一種可能的實(shí)現(xiàn)方式中,具體實(shí)現(xiàn)為:該9類opaque LSA報(bào)文 中包括OSPF Extended Prefix TLV,該OSPF Extended Prefix TLV 中攜帶該控制器的路由 信息和該指示信息。
[0008] 結(jié)合第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,具體實(shí)現(xiàn)為:該OSPF Extended Prefix TLV用標(biāo)識(shí)位表示該指示信息;或者,該OSPF Extended Prefix TLV中 包括一個(gè)類型為Agent Route Sub TLV的子TLV,該Agent Route Sub TLV用于指示接收到 該OSPF Extended Prefix TLV的轉(zhuǎn)發(fā)器代為發(fā)布該OSPF Extended Prefix TLV中攜帶的 路由信息。
[0009] 結(jié)合第一方面或上述任一種可能的實(shí)現(xiàn)方式,在第=種可能的實(shí)現(xiàn)方式中,該轉(zhuǎn) 發(fā)器根據(jù)該指示信息,在該轉(zhuǎn)發(fā)器所在的區(qū)域中發(fā)布該控制器的路由信息,具體實(shí)現(xiàn)為:該 轉(zhuǎn)發(fā)器根據(jù)該指示信息,將該控制器的路由信息加入該轉(zhuǎn)發(fā)器的Router LSA,并將該轉(zhuǎn)發(fā) 器的Router LSA在該轉(zhuǎn)發(fā)器所在區(qū)域中發(fā)布。
[0010] 結(jié)合第一方面或上述任一種可能的實(shí)現(xiàn)方式,在第四種可能的實(shí)現(xiàn)方式中,具體 實(shí)現(xiàn)為:該轉(zhuǎn)發(fā)器根據(jù)該指示信息,在該轉(zhuǎn)發(fā)器所在的區(qū)域中發(fā)布該控制器的路由信息,具 體實(shí)現(xiàn)為:如果該轉(zhuǎn)發(fā)器為ABR轉(zhuǎn)發(fā)器,則該轉(zhuǎn)發(fā)器根據(jù)該指示信息,將該控制器的路由加 入到該轉(zhuǎn)發(fā)器的3類LSA中,并將該3類LSA在該轉(zhuǎn)發(fā)器所在區(qū)域中發(fā)布;或者,如果該轉(zhuǎn)發(fā) 器為ASBR轉(zhuǎn)發(fā)器,則該轉(zhuǎn)發(fā)器根據(jù)該指示信息,將該控制器的路由加入到該轉(zhuǎn)發(fā)器的5類 LSA中,并將該3類LSA在該轉(zhuǎn)發(fā)器所在區(qū)域中發(fā)布;或者,如果該轉(zhuǎn)發(fā)器所在區(qū)域?yàn)镹SSA 區(qū)域時(shí),則該轉(zhuǎn)發(fā)器根據(jù)該指示信息,將該控制器的路由信息加入該轉(zhuǎn)發(fā)器的7類LSA,并 將該7類LSA在該轉(zhuǎn)發(fā)器所在區(qū)域中發(fā)布。
[0011] 第二方面,提出了一種控制器路由發(fā)布方法,該方法應(yīng)用于OSPF協(xié)議下的網(wǎng)絡(luò), 該方法包括:控制器生成9類opaque LSA報(bào)文,其中,該控制器不發(fā)布自身的Router LSA 報(bào)文,該opaque LSA報(bào)文攜帶該控制器的路由信息,該opaque LSA報(bào)文還攜帶指示信息, 該指示信息用于指示接收到該9類opaque LSA報(bào)文的路由器代為發(fā)布該控制器的路由;該 控制器向直連的轉(zhuǎn)發(fā)器發(fā)布該9類opaque LSA報(bào)文。
[0012] 結(jié)合第二方面,在第一種可能的實(shí)現(xiàn)方式中,具體實(shí)現(xiàn)為:該9類opaque LSA報(bào)文 中包括OSPF Extended Prefix TLV,該OSPF Extended Prefix TLV 中攜帶該控制器的路由 信息和該指示信息。
[0013] 結(jié)合第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,具體實(shí)現(xiàn)為:該OSPF Extended Prefix TLV用標(biāo)識(shí)位表示該指示信息;或者,該OSPF Extended Prefix TLV中 包括一個(gè)類型為Agent Route Sub TLV的子TLV,該Agent Route Sub TLV用于指示接收到 該OSPF Extended Prefix TLV的轉(zhuǎn)發(fā)器代為發(fā)布該OSPF Extended Prefix TLV中攜帶的 路由信息。
[0014] 第S方面,提出了一種轉(zhuǎn)發(fā)器,應(yīng)用于基于OSPF協(xié)議的網(wǎng)絡(luò),用于執(zhí)行第一方面 或第一方面的任一方面的可能實(shí)現(xiàn)方式中的方法。
[0015] 具體地,該轉(zhuǎn)發(fā)器可W包括用于執(zhí)行第一方面或第一方面的任一可能的實(shí)現(xiàn)方式 中的方法的單元。
[0016] 第四方面,提出了一種控制器,應(yīng)用于基于OSPF協(xié)議的網(wǎng)絡(luò),用于執(zhí)行第二方面 或第二方面的任一可能的實(shí)現(xiàn)方式中的方法。
[0017] 具體地,該控制器可W包括用于執(zhí)行第二方面或第二方面的任一可能的實(shí)現(xiàn)方式 中的方法的單元。
[0018] 第五方面,提出了一種轉(zhuǎn)發(fā)器,應(yīng)用于基于OSPF協(xié)議的網(wǎng)絡(luò),該轉(zhuǎn)發(fā)器包括存儲(chǔ) 器和處理器,該存儲(chǔ)器用于存儲(chǔ)指令,該處理器用于執(zhí)行該存儲(chǔ)器存儲(chǔ)的指令,并且對(duì)該存 儲(chǔ)器中存儲(chǔ)的指令的執(zhí)行使得該處理器執(zhí)行第一方面或第一方面的任一方面的可能實(shí)現(xiàn) 方式中的方法。
[0019] 第六方面,提出了一種控制器,應(yīng)用于基于OSPF協(xié)議的網(wǎng)絡(luò),該控制器包括存儲(chǔ) 器和處理器,該存儲(chǔ)器用于存儲(chǔ)指令,該處理器用于執(zhí)行該存儲(chǔ)器存儲(chǔ)的指令,并且對(duì)該存 儲(chǔ)器中存儲(chǔ)的指令的執(zhí)行使得該處理器執(zhí)行第二方面或第二方面的任一可能的實(shí)現(xiàn)方式 中的方法。
[0020] 第屯方面,提出了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),該計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)一個(gè)或 多個(gè)程序,該一個(gè)或多個(gè)程序包括指令,該指令當(dāng)被包括多個(gè)應(yīng)用程序的便攜式電子設(shè)備 執(zhí)行時(shí),能夠使該便攜式電子設(shè)備執(zhí)行第一方面或第一方面的任一方面的可能實(shí)現(xiàn)方式中 的方法。
[0021] 第八方面,提出了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),該計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)一個(gè)或 多個(gè)程序,該一個(gè)或多個(gè)程序包括指令,該指令當(dāng)被包括多個(gè)應(yīng)用程序的便攜式電子設(shè)備 執(zhí)行時(shí),能夠使該便攜式電子設(shè)備執(zhí)行第二方面或第二方面的任一可能的實(shí)現(xiàn)方式中的方 法。
[0022] 基于W上技術(shù)方案,本發(fā)明實(shí)施例的轉(zhuǎn)發(fā)器、控制器及控制器路由發(fā)布方法,通過 由控制器直連的轉(zhuǎn)發(fā)器代為發(fā)布控制器的路由,能夠使得控制器不能作為流量穿越節(jié)點(diǎn), 從而保證控制器轉(zhuǎn)發(fā)帶寬的安全。
【附圖說明】
[0023] 為了更清楚地說明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中 所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí) 施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可W根據(jù)運(yùn)些附圖 獲得其他的附圖。
[0024] 圖1是OSPF網(wǎng)絡(luò)中一個(gè)包含控制器的網(wǎng)絡(luò)拓?fù)鋱D。
[002引圖2是OSPF網(wǎng)絡(luò)的另一個(gè)包含控制器的網(wǎng)絡(luò)拓?fù)鋱D。
[0026] 圖3是本發(fā)明實(shí)施例控制器路由發(fā)布的方法流程圖。
[0027] 圖4是本發(fā)明實(shí)施例控制器的結(jié)構(gòu)示意圖。
[0028]圖5是本發(fā)明實(shí)施例轉(zhuǎn)發(fā)器的結(jié)構(gòu)示意圖。
[0029] 圖6是本發(fā)明實(shí)施例控制器的另一結(jié)構(gòu)示意圖。
[0030]圖7是本發(fā)明實(shí)施例轉(zhuǎn)發(fā)器的另一結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0031]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完 整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā) 明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施 例,都屬于本發(fā)明保護(hù)的范圍。
[0032] 為了方便理解本發(fā)明實(shí)施例,首先在此介紹本發(fā)明實(shí)施例描述中會(huì)引入的幾個(gè)要 素。
[0033] 開放式最短路徑優(yōu)先的pen化ortest Path First, OSP巧:是一個(gè)內(nèi)部網(wǎng)關(guān)協(xié)議 (Interior Gateway Protocol, IGP),用于在單一自治系統(tǒng)(autonomous system, A巧內(nèi)決 策路由,是對(duì)鏈路狀態(tài)路由協(xié)議的一種實(shí)現(xiàn),隸屬內(nèi)部網(wǎng)關(guān)協(xié)議(IGP),故運(yùn)作于自治系統(tǒng) 內(nèi)部。
[0034] 鏈路化ink):路由器上的接口,即運(yùn)行在OSPF進(jìn)程下的接口。
[003引鏈路狀態(tài)發(fā)布化SA) :0SPF接口上的描述信息,例如接口上的IP地址,子網(wǎng)掩碼, 網(wǎng)絡(luò)類型,Cost值等等。OSPF路由器之間交換的并不是路由表,而是LSA,OSPF通過LSA獲 得網(wǎng)絡(luò)中所有的鏈路狀態(tài)信息,從而計(jì)算出到達(dá)每個(gè)目標(biāo)網(wǎng)絡(luò)精確的網(wǎng)絡(luò)路徑。OSPF路由 器通過發(fā)布1類LSA(即Router LSA)將自己所有的鏈路狀態(tài)全部發(fā)給鄰居,鄰居將收到的 鏈路狀態(tài)全部放入鏈路狀態(tài)數(shù)據(jù)庫化ink-state Dat油ase),再發(fā)給自己的所有鄰居,并且 在傳遞過程中,不會(huì)有任何更改。通過上述鏈路狀態(tài)的發(fā)布過程,最終,網(wǎng)絡(luò)中所有的OSPF 路由器都擁有網(wǎng)絡(luò)中所有的鏈路狀態(tài),并且所有路由器的鏈路狀態(tài)應(yīng)該能描繪出相同的網(wǎng) 絡(luò)拓?fù)洹?br>[0036] 核屯、路由器值esignated Router, DR):當(dāng)多臺(tái)OSPF路由器連到同一個(gè)多路訪問 網(wǎng)段時(shí),如果每兩臺(tái)路由器之間都相互交換LSA,那么該網(wǎng)段將充滿著眾多LSA條目,為了 能夠盡量減少LSA的傳播數(shù)量,通過在多路訪問網(wǎng)段中選擇出一個(gè)核屯、路由器,稱為DR,網(wǎng) 段中所有的OSPF路由器都和DR互換LSA。
[0037] 開銷(Cost) :0SPF可根據(jù)接口的帶寬自動(dòng)計(jì)算接口的Cost值,也可W手工指定該 接口的Cost,手工指定的值優(yōu)先于自動(dòng)計(jì)算的值。路由器到目標(biāo)網(wǎng)絡(luò)的距離Metric值,等 于路由器到目標(biāo)網(wǎng)絡(luò)的沿途中所有接口的Cost值累加,在累加時(shí),只計(jì)算出接口。
[0038] OSPF區(qū)域:0SPF區(qū)域是基于路由器的接口劃分的,而不是基于整臺(tái)路由器劃分 的,一臺(tái)路由器可W屬于單個(gè)區(qū)域,也可W屬于多個(gè)區(qū)域。一臺(tái)路由器可W運(yùn)行多個(gè)OSPF 進(jìn)程,不同進(jìn)程的0SPF,可視為沒有任何關(guān)系。每個(gè)OSPF進(jìn)程可W有多個(gè)區(qū)域,路由器的鏈 路狀態(tài)數(shù)據(jù)庫是分進(jìn)程和分區(qū)域存放的。
[0039] TLV,一種可變長度的數(shù)據(jù)結(jié)構(gòu),其中T表示類型〇>96),1^表示長度化611*11),¥表 示值(Value)。其中,Type和Length的長度固定,一般為2或4個(gè)字節(jié),Value的長度即其 中的ULength)所取的長度。
[0040] 圖1是OSPF網(wǎng)絡(luò)中一個(gè)包含控制器的網(wǎng)絡(luò)拓?fù)鋱D。應(yīng)理解,OSPF網(wǎng)絡(luò),是指基于 OSPF協(xié)議的網(wǎng)絡(luò)。圖1所示的網(wǎng)絡(luò)拓?fù)鋱D中,控制器分別與轉(zhuǎn)發(fā)器A和轉(zhuǎn)發(fā)器C直連,轉(zhuǎn) 發(fā)器B也分別與轉(zhuǎn)發(fā)器A和轉(zhuǎn)發(fā)器C直連。控制器通過OSPF的Stub Router特性,將控制 器與轉(zhuǎn)發(fā)器A和轉(zhuǎn)發(fā)器C的OSPF接口的開銷值配置為最大化5535)。轉(zhuǎn)發(fā)器B與轉(zhuǎn)發(fā)器C 的OSPF接口的開銷值為20,轉(zhuǎn)發(fā)器B與轉(zhuǎn)發(fā)器A的OSPF接口的開銷值為50。流量從轉(zhuǎn)發(fā) 器C到轉(zhuǎn)發(fā)器A,AB之間鏈路目前無故障。
[0041] 但是,當(dāng)轉(zhuǎn)發(fā)器A與轉(zhuǎn)發(fā)器B之間的網(wǎng)絡(luò)通路故障時(shí),如圖2的網(wǎng)絡(luò)拓?fù)鋱D所示, 轉(zhuǎn)發(fā)器A與轉(zhuǎn)發(fā)器B之間的OSPF接口變?yōu)椴豢蛇_(dá)。此時(shí),按照現(xiàn)有技術(shù)方案,轉(zhuǎn)發(fā)器A-控 制器一轉(zhuǎn)發(fā)器C就成為唯一的通信路徑,流量將會(huì)經(jīng)過控制器。
[0042] 為了解決此類問題,本發(fā)明實(shí)施例對(duì)控制器和轉(zhuǎn)發(fā)器進(jìn)行了一些改進(jìn)。
[0043] 圖3是本發(fā)明實(shí)施例發(fā)布控制器路由的交互流程圖。應(yīng)理解,本發(fā)明實(shí)施例的方 法,適用于基于OSPF協(xié)議的網(wǎng)絡(luò)。
[0044] 311,控制器生成9類不透明LSA,攜帶控制器的路由信息。
[0045] 控制器生成9類不透明(opaque)鏈路狀態(tài)發(fā)布(Xink State Advertise, LSA)報(bào) 文。其中,該opaque LSA報(bào)文攜帶該控制器的路由信息,該opaque LSA報(bào)文用于指示該轉(zhuǎn) 發(fā)器代為發(fā)布該控制器的路由信息,并且該控制器不發(fā)布自身的Router LSA。
[0046] 應(yīng)理解,如果控制器不發(fā)布自身的Router LSA,控制器所在區(qū)域的鏈路狀態(tài)數(shù)據(jù) 庫將不存在控制器的鏈路狀態(tài),區(qū)域中與控制器不直連的轉(zhuǎn)發(fā)器的網(wǎng)絡(luò)拓?fù)渲袑⒉淮嬖诳?制器的節(jié)點(diǎn)。
[0047] 現(xiàn)有技術(shù)中9類opaque LSA的結(jié)構(gòu)示意圖如表1所示。