軟件定義網(wǎng)絡(luò)(sdn)特定拓?fù)湫畔l(fā)現(xiàn)的制作方法
【專利摘要】本發(fā)明公開的是一種在SDN互聯(lián)網(wǎng)絡(luò)中發(fā)現(xiàn)SDN特定拓?fù)湫畔⒌臋C制。SDN特定拓?fù)湫畔⒖梢园⊿DN ID、SDN成員路由器ID列表和SDN地址列表。與所述SDN互聯(lián)網(wǎng)絡(luò)中的本地SDN域關(guān)聯(lián)的SDNC可以確定所述本地SDN域中的一組路由器和/或鏈路以進行鏈路公告以及可以將所述一組路由器與所述本地SDN域關(guān)聯(lián)。所述SDNC還可以確定所述本地SDN域中的一組邊界路由器以向其它互聯(lián)SDN域廣播所述鏈路公告和SDN特定拓?fù)湫畔ⅰK鯯DNC可以從其它互聯(lián)SDN域接收鏈路公告和SDN特定拓?fù)湫畔⒁约翱梢杂嬎憧邕^所述SDN域經(jīng)過每個路由器和/或鏈路的最佳路徑。
【專利說明】軟件定義網(wǎng)絡(luò)(SDN)特定拓?fù)湫畔l(fā)現(xiàn)
[0001 ]相關(guān)申請案交叉申請
[0002]本申請要求2014年2月26日由LinHan遞交的發(fā)明名稱為“軟件定義網(wǎng)絡(luò)(SDN)特定拓?fù)湫畔l(fā)現(xiàn)(Software Defined Networking(SDN)Specific Topology Informat1nDiscovery)”的第14/191,121號美國非臨時專利申請案的在先申請優(yōu)先權(quán),該在先申請的全部內(nèi)容以引入的方式并入本文本中。
技術(shù)領(lǐng)域
[0003]本發(fā)明大體涉及軟件定義網(wǎng)絡(luò)(software defined networking,SDN),且在特定實施例中,涉及用于SDN特定拓?fù)湫畔l(fā)現(xiàn)的技術(shù)和機制。
【背景技術(shù)】
[0004]傳統(tǒng)計算機網(wǎng)絡(luò)可以由諸如路由器、交換機和/或其它硬件之類的大量網(wǎng)絡(luò)設(shè)備構(gòu)建,這需要手動配置和管理。軟件定義網(wǎng)絡(luò)(software defined networking,SDN)是一種網(wǎng)絡(luò)樣式,在其中數(shù)據(jù)轉(zhuǎn)發(fā)(例如,數(shù)據(jù)平面)可以與諸如路由、資源和其它管理功能之類的控制決策(例如,控制平面)解耦。所述解耦還可以允許數(shù)據(jù)平面和控制平面在不同的硬件上、在不同運行環(huán)境中操作,和/或使用不同模型操作。在SDN網(wǎng)絡(luò)中,網(wǎng)絡(luò)智能可以邏輯上集中在基于軟件的控制器中。因此,網(wǎng)絡(luò)設(shè)備會成為由集中式控制器管理和控制的報文轉(zhuǎn)發(fā)設(shè)備。
【發(fā)明內(nèi)容】
[0005]本文中公開了一種SDN特定拓?fù)湫畔l(fā)現(xiàn)機制。在一項示例實施例中,SDN互聯(lián)網(wǎng)絡(luò)中與本地SDN域關(guān)聯(lián)的軟件定義網(wǎng)絡(luò)控制器(sof twar e defined networkingcontroller,SDNC)可以與其它互聯(lián)SDNi或交換SDN特定拓?fù)湫畔?。在本示例實施例中,所述SDNC可以確定第一組本地網(wǎng)絡(luò)設(shè)備、本地鏈路,和/或本地SDN特定拓?fù)湫畔ⅲ糜谙蛩鯯DN互聯(lián)網(wǎng)絡(luò)中的遠(yuǎn)程SDN域進行公告。所述本地SDNC特定拓?fù)湫畔⒖梢园?biāo)識所述本地SDN域的SDN標(biāo)識符(identifier,ID)、標(biāo)識所述本地SDN域中的所述一組本地設(shè)備的SDN成員路由器ID列表,以及標(biāo)識所述本地SDNi或中的一組SDNC的SDNC地址列表。所述SDNC還可以確定置于所述本地SDN域邊界處的第二組網(wǎng)絡(luò)設(shè)備,用于與所述互聯(lián)SDN域進行通信。當(dāng)所述SDNC接收所述互聯(lián)SDN域的SDN特定拓?fù)湫畔r,所述SDNC可以根據(jù)所述接收到的SDN特定拓?fù)湫畔⒑退霰镜豐DN特定拓?fù)湫畔⒋_定所述SDN互聯(lián)網(wǎng)絡(luò)中的報文傳送路由。
[0006]在另一項示例實施例中,與所述本地SDN域關(guān)聯(lián)的SDNC可以指示SDN互聯(lián)網(wǎng)絡(luò)中置于本地SDN域邊界處的網(wǎng)絡(luò)設(shè)備與其它互聯(lián)SDN域通信。在本示例實施例中,所述網(wǎng)絡(luò)設(shè)備可以通過控制器設(shè)備接口從所述SDNC接收所述本地SDN域的SDN特定拓?fù)湫畔?。在接收所述本地SDN特定拓?fù)湫畔⒑?,所述網(wǎng)絡(luò)設(shè)備可以通過域間連接向互聯(lián)SDN域公告所述本地SDN特定拓?fù)湫畔ⅰ?br>[0007]在另一項示例實施例中,可以擴展中間系統(tǒng)到中間系統(tǒng)(Intermediate System-to-1ntermediate-System,IS-1S)協(xié)議來支持用于域間路由的SDN特定拓?fù)湫畔⒔粨Q。在本示例實施例中,可以擴展所述IS-1S鏈路狀態(tài)報文(link state packet,LSP)來承載SDN特定拓?fù)湫畔?,例如SDN ID、SDN成員路由器ID列表,和/或SDNC地址列表。
[0008]在又一項示例實施例中,可以擴展開放式最短路徑優(yōu)先(Open Shortest PathFirst,OSPF)協(xié)議來支持用于域間路由的SDN特定拓?fù)湫畔⒔粨Q。在本示例實施例中,可以擴展OSPF版本2(vers1n 2,v2)不透明鏈路狀態(tài)公告(link state advertisement,LSA)或OSPF版本3(vers1n 3,v3)新LSA來承載SDN特定拓?fù)湫畔?,例如SDN ID、SDN成員路由器ID列表,和/或SDNC地址列表。
[0009]結(jié)合附圖和權(quán)利要求書可以從以下的詳細(xì)描述中更清楚地理解這些和其它特征。
【附圖說明】
[0010]為了更透徹地理解本發(fā)明,現(xiàn)參閱結(jié)合附圖和【具體實施方式】而描述的以下簡要說明,其中的相同參考標(biāo)號表不相同部分。
[0011 ]圖1為SDN互聯(lián)網(wǎng)絡(luò)的示例實施例的示意圖。
[0012]圖2為網(wǎng)元(network element,NE)的示例實施例的示意圖。
[0013]圖3為在SDN互聯(lián)網(wǎng)絡(luò)中生成SDN特定拓?fù)湫畔⒌姆椒ǖ氖纠龑嵤├牧鞒虉D。
[0014]圖4為在SDN互聯(lián)網(wǎng)絡(luò)中交換SDN特定拓?fù)湫畔⒌姆椒ǖ氖纠龑嵤├牧鞒虉D。
[0015]圖5為圖不用例場景的SDN互聯(lián)網(wǎng)絡(luò)的另一不例實施例的不意圖。
[00?6]圖6為圖不路徑建立場景的SDN互聯(lián)網(wǎng)絡(luò)的另一不例實施例的不意圖。
[0017]圖7為在圖6的SDN互聯(lián)網(wǎng)絡(luò)中建立路徑的方法的示例實施例的協(xié)議圖。
[0018]圖8為在圖6的SDN互聯(lián)網(wǎng)絡(luò)中建立路徑的方法的另一不例實施例的協(xié)議圖。
[0019]圖9為IS-1S LSP中的SDN ID類型長度值(type-length-value,TLV)的示例實施例的示意圖。
[0020]圖10為IS-1SLSP中的SDN成員路由器ID TLV的示例實施例的示意圖。
[0021]圖11 為IS-1S LSP中的SDN互聯(lián)網(wǎng)協(xié)議版本4(Internet Protocol vers1n 4,IP v4)地址列表TLV的示例實施例的示意圖。
[0022]圖12為IS-1S LSP中的SDN互聯(lián)網(wǎng)協(xié)議版本6(Internet Protocol vers1n 6,IPv6)地址列表TLV的示例實施例的示意圖。
[0023]圖13為OSPFv2不透明LSA的示例實施例的示意圖。
[0024]圖14為OSPF v2不透明LSA中的SDN 10子類型長度值(81113-七7口6-161^1:11-¥&1116,sub-TLV)的示例實施例的示意圖。
[0025]圖15為OSPFv2不透明LSA中的SDN成員路由器ID子TLV的示例實施例的示意圖。
[0026]圖16為OSPF v2不透明LSA中的SDN IPv4地址列表子TLV的示例實施例的示意圖。
[0027]圖17為OSPF v2不透明LSA中的SDN IPv6地址列表子TLV的示例實施例的示意圖。
[0028]圖18為OSPFv3新LSA的示例實施例的示意圖。
【具體實施方式】
[0029]首先應(yīng)理解,盡管下文提供一項或多項實施例的說明性實施方案,但所公開的系統(tǒng)和/或方法可使用任何數(shù)目的技術(shù)來實施,無論該技術(shù)是當(dāng)前已知還是現(xiàn)有的。本發(fā)明決不應(yīng)限于下文所說明的說明性實施方案、附圖和技術(shù),包括本文所說明并描述的示例性設(shè)計和實施方案,而是可在所附權(quán)利要求書的范圍以及其等效物的完整范圍內(nèi)修改。
[0030]在某些網(wǎng)絡(luò)中,路由器和交換機可以通過定義網(wǎng)絡(luò)中的數(shù)據(jù)流的方式放置和配置。由于物理位置和/或硬件可能需要手動配置,所以后續(xù)更改路由器和/或交換機的代價會很高。SDN是一種網(wǎng)絡(luò)樣式,在其中可以解耦數(shù)據(jù)流管理(例如,控制平面)和數(shù)據(jù)傳送(例如,數(shù)據(jù)平面),這可以通過動態(tài)管理和控制創(chuàng)建靈活網(wǎng)絡(luò)。在一種SDN網(wǎng)絡(luò)中,網(wǎng)絡(luò)設(shè)備(例如,路由器和/或交換機)可以由一個或多個SDNC控制和管理。SDNC可以做出路由決策,然后向網(wǎng)絡(luò)設(shè)備傳送路由決策。例如,SDNC可以基于某些網(wǎng)絡(luò)拓?fù)湫畔⒂嬎銏笪膹囊粋€節(jié)點路由到另一個節(jié)點的最佳路徑,然后下載路由表、交換表或流表到最佳路徑上的所有網(wǎng)絡(luò)設(shè)備。隨后,網(wǎng)絡(luò)設(shè)備可以根據(jù)從SDNC接收到的路由表執(zhí)行數(shù)據(jù)轉(zhuǎn)發(fā)功能。SDNC還可以動態(tài)修改SDN網(wǎng)絡(luò)的行為以適應(yīng)網(wǎng)絡(luò)中的變化(例如,基礎(chǔ)設(shè)施變化、新應(yīng)用和/或業(yè)務(wù)部署,和/或企業(yè)需求變更)。當(dāng)多個SDN域互聯(lián)時,不同SDNi或中的SDNC可以一起互通(例如,以執(zhí)行跨不同SDN域的域間路由)。除傳統(tǒng)網(wǎng)絡(luò)信息之外,SDN特定拓?fù)湫畔⒖梢杂糜赟DN域間路由。可以收集域間SDN特定拓?fù)湫畔⒉⑹謩虞斎氲矫總€SDNC。然而,手動配置SDN特定拓?fù)湫畔⒖赡懿恢С諷DN互聯(lián)網(wǎng)絡(luò)中的自動網(wǎng)絡(luò)發(fā)現(xiàn),而且可能不會動態(tài)適應(yīng)網(wǎng)絡(luò)變化。
[0031]本文中公開的是發(fā)現(xiàn)穿過多個互聯(lián)SDN域的SDN特定拓?fù)湫畔⒌姆椒?、裝置和/或計算機程序產(chǎn)品。SDN特定拓?fù)湫畔⒖梢园⊿DN ID、SDN成員路由器ID列表和SDNC地址列表。集中式管理實體,例如SDNC或SDNC組(group of SDNC,SDNCG),可以確定用于域間公告的SDN特定拓?fù)湫畔?,指示邊界路由器廣播SDN特定拓?fù)湫畔?,從其它SDN域接收SDN特定拓?fù)湫畔?,以及計算通過SDN域的路由。SDNC可以確定只向其它互聯(lián)SDN域公告邊界路由器和/或鏈路、選定的路由器和/或鏈路組,或者所有內(nèi)部路由器和/或鏈路。SDNC可以確定向其它互聯(lián)SDN域公告部分或所有SDNCt3SDNC可以執(zhí)行基于節(jié)點的路由或基于SDN域的路由。在基于節(jié)點的路由中,SDNC可以向其它SDN域公告SDNC管理的SDN域中的所有路由器和鏈路,其它SDN域中的SDNC隨后可計算經(jīng)過公告的SDN域的每個節(jié)點和鏈路的最佳路徑。在基于SDN域的路由中,SDNC可以向其它SDN域公告SDNC管理的SDN域的邊界路由器和鏈路,其它SDN域中的SDNC在采用IS-1S和/或OSPF協(xié)議中的最短路徑優(yōu)先(shortest path first,SPF)算法時可以,例如通過將公告的SDN域當(dāng)作單個虛擬節(jié)點,計算穿過公告的SDN域的最佳路徑。S D N特定拓?fù)湫畔⒌膫魉涂梢岳酶鞣N可用的路由協(xié)議,例如內(nèi)部網(wǎng)關(guān)協(xié)議(I n t e r i ο rGateway Protocol,IGP)、鏈路層發(fā)現(xiàn)協(xié)議(Link Layer Discovery Protocol,LLDP)或任何其它鄰居發(fā)現(xiàn)協(xié)議。在某些示例實施例中,SDN特定拓?fù)湫畔⒖梢酝ㄟ^擴展IS-1S協(xié)議、OSPF v2協(xié)議或OSPF v3協(xié)議來傳送,如互聯(lián)網(wǎng)工程任務(wù)組(Internet Engineering TaskForce,IEFT)文檔請求注解(Request for Comment,RFC)1142、RFC 2328或RFC 5340中分別所述,其全部內(nèi)容以引入的方式并入本文本中。
[0032]圖1為SDN互聯(lián)網(wǎng)絡(luò)100的示例實施例的示意圖。網(wǎng)絡(luò)100可以包括多個SDNi或A、B和C IlOo 一個或多個連接130可以互聯(lián)網(wǎng)絡(luò)100中的SDN域110,其中連接130可以被稱為域間連接。每個SDN域110可以是單個SDN域。每個SDN域110可以包括SDNC 120或SDNCG和多個互聯(lián)網(wǎng)絡(luò)設(shè)備140。圖1示出的連接130和/或其它鏈路可以包括物理連接,例如光纖鏈路、電鏈路、無線鏈路,和/或邏輯連接。連接130可以包括單條鏈路、一連串并行鏈路、多個互聯(lián)節(jié)點,和/或它們的各種組合,用于在SDNi或110之間傳輸數(shù)據(jù)。
[0033]SDNC 120可以是用于控制和管理SDN域110的任何設(shè)備。每個SDNC 120可以物理上和/或邏輯上位于SDNi或110內(nèi)。例如,SDNC A 120可以用于管理和控制SDN域A 110,SDNC B120可以用于管理和控制SDN域B 110,SDN C 120可以用于管理和控制SDN域C I10SDNC120可以執(zhí)行多種控制平面功能,這些功能可以包括但不限于,生成和獲取路由信息、網(wǎng)絡(luò)拓?fù)?,?或網(wǎng)絡(luò)狀態(tài)信息。例如,SDNC A 120可以生成和公告SDN域A 110的SDN特定拓?fù)湫畔ⅲ琒DNC B 120可以生成和公告SDN域B 110的SDN特定拓?fù)湫畔?,SDNC C 120可以生成和公告SDN域C 110的SDN特定拓?fù)湫畔?。相?yīng)地,SDNC A 120^SDNC B 120和SDNC C 120分別可以接收SDN域B和C 110的SDN特定拓?fù)湫畔?、SDN域A和C 110的SDN特定拓?fù)湫畔?,和SDN域A和B 110的SDN特定拓?fù)湫畔?。在接收其它互?lián)SDN域110的SDN特定拓?fù)湫畔⒑螅總€SDNC120可以構(gòu)建一個全局拓?fù)鋱D,計算報文從一個節(jié)點傳送到另一個節(jié)點的最佳路徑或路由,以及生成包括優(yōu)化路徑的路由表和/或流表。每個SDNC 120可以配置SDNC 120管理的SDN域110中的網(wǎng)絡(luò)設(shè)備140,例如通過向網(wǎng)絡(luò)設(shè)備140傳輸流表。每個SDNC 120可以通過控制器設(shè)備接口 150(例如,表示為虛線)與網(wǎng)絡(luò)設(shè)備140通信,這可以采用任何標(biāo)準(zhǔn)化協(xié)議(例如,OpenFlow協(xié)議)。應(yīng)當(dāng)注意的是,在公告SDN特定拓?fù)湫畔⒅埃總€SDNC 120可以公告IGP中已經(jīng)定義的傳統(tǒng)鏈路狀態(tài)信息。
[0034]網(wǎng)絡(luò)設(shè)備140可以是任意物理設(shè)備(例如,路由器或交換機)或邏輯設(shè)備,用于根據(jù)SDNi或110中的SDNC 120指定的SDN路由執(zhí)行數(shù)據(jù)轉(zhuǎn)發(fā)功能。網(wǎng)絡(luò)設(shè)備140可以不執(zhí)行控制平面功能(例如,確定路由)。網(wǎng)絡(luò)設(shè)備140可以基于從SDNC 120接收到的流表路由數(shù)據(jù)流。
[0035]SDNi或110可以采用任何IGP(例如,鏈路狀態(tài)路由協(xié)議)聚集和/或收集網(wǎng)絡(luò)100中的域間網(wǎng)絡(luò)拓?fù)湫畔?。在一示例實施例中,SDN域110可以采用IS-1S協(xié)議以路由經(jīng)過網(wǎng)絡(luò)100的數(shù)據(jù)業(yè)務(wù)。IS-1S協(xié)議可以設(shè)計用于在開放系統(tǒng)互聯(lián)(Open SystemInterconnect1n,OSI)網(wǎng)絡(luò)層(例如,OSI層3)中操作,因此可以利用任何網(wǎng)絡(luò)地址(例如,IPv4和/或IPv6地址)執(zhí)行路由。在另一示例實施例中,SDN域110可以采用OSPF v2或OSPFv3協(xié)議來路由網(wǎng)絡(luò)100中的數(shù)據(jù)業(yè)務(wù)。OSPF v2協(xié)議可以設(shè)計在層3中操作并路由IPv4數(shù)據(jù)業(yè)務(wù),而OSPF v3協(xié)議可以擴展來路由IPv6數(shù)據(jù)業(yè)務(wù)。
[0036]在某些示例實施例中,網(wǎng)絡(luò)100中的每個域110可以運行相同或不同的路由協(xié)議用于(例如,SDN域110內(nèi)的)域內(nèi)路由,或者可以不運行任何域內(nèi)路由協(xié)議(例如,SDNC手動配置所有網(wǎng)絡(luò)設(shè)備)。此外,SDN域110可以運行一個路由協(xié)議用于域內(nèi)路由,在外邊運行另一路由協(xié)議用戶(例如,跨SDNi或110的)域間路由。例如,SDNi或A和B 110可以運行IS-1S協(xié)議用于域內(nèi)路由,SDN域C 110可以運行OSPF v2協(xié)議用于域內(nèi)路由,SDNi或A、B和C 110可以運行OSPF v2協(xié)議用于域間路由。
[0037]圖2為NE200的示例實施例的示意圖,該NE可以充當(dāng)SDN域(例如,SDN域110)中的SDNC(例如,SDNC 120)或網(wǎng)絡(luò)設(shè)備(例如,網(wǎng)絡(luò)設(shè)備140)。NE 200可以用于確定對其它互聯(lián)SDN域可見的SDN域中的路由和/或鏈路,生成SDN特定拓?fù)湫畔?,?或向互聯(lián)SDN域公告SDN特定拓?fù)湫畔ⅰE 200可以在單個節(jié)點中實現(xiàn),或者NE 200的功能可以在多個節(jié)點中實現(xiàn)。本領(lǐng)域技術(shù)人員將認(rèn)識到術(shù)語NE包含廣泛的設(shè)備,其中NE 200僅僅是一個示例。包括NE200是為了論述的簡潔性,但絕不意味著將本發(fā)明的申請限制于特定NE實施例或一類NE實施例。本發(fā)明中描述的至少一些特征/方法可以在諸如NE 200之類的網(wǎng)絡(luò)裝置或部件中實現(xiàn)。例如,本發(fā)明中的特征/方法可以使用硬件、固件和/或安裝在硬件上運行的軟件來實現(xiàn)。如圖2所示,NE 200可以包括收發(fā)器(Tx/Rx)210,其可以是發(fā)射器、接收器,或其組合。分別地,Tx/Rx 210可以耦合到多個下行端口220,用于傳輸和/或接收來自其它節(jié)點的幀,Tx/Rx 210可以耦合到多個上行端口250,用于傳輸和/或接收來自其它節(jié)點的幀。處理器230可耦合到Tx/Rx 210以處理幀和/或確定向哪些節(jié)點發(fā)送幀。處理器230可以包括一個或多個多核處理器和/或存儲器設(shè)備232,其可用作數(shù)據(jù)存儲器、緩沖器等。處理器230可以作為通用處理器來實現(xiàn)或可以是一個或多個專用集成電路(ASIC)和/或數(shù)字信號處理器(DSP)的一部分。處理器230可以包括SDN特定拓?fù)湫畔⑻幚砟K233,其可以實現(xiàn)如下充分論述的SDN特定拓?fù)湫畔⑸煞椒?00和/或SDN特定拓?fù)湫畔⒔粨Q方法400。在一替代性實施例中,SDN特定拓?fù)湫畔⑻幚砟K233可以作為存儲在存儲器設(shè)備232中由處理器230執(zhí)行的指令來實現(xiàn)。存儲器設(shè)備232可以包括臨時存儲內(nèi)容的緩存,例如隨機存取存儲器(RAM)。另外,存儲器設(shè)備232可以包括將內(nèi)容存儲相對較長時間的長期存儲器,例如只讀存儲器(ROM)。例如,緩存和長期存儲器可以包括動態(tài)隨機存取存儲器(DRAM)、固態(tài)驅(qū)動器(SSD)、硬盤,或其組合。
[0038]應(yīng)理解,通過將可執(zhí)行指令編程和/或加載到NE 200上,處理器230和/或存儲器設(shè)備232中的至少一個被改變,從而將NE 200的一部分轉(zhuǎn)換成特定機器或裝置,例如本發(fā)明宣揚的擁有新穎功能的多核轉(zhuǎn)發(fā)架構(gòu)。加載可執(zhí)行軟件至計算機所實現(xiàn)的功能可以通過現(xiàn)有技術(shù)中公知的設(shè)計規(guī)則轉(zhuǎn)換成硬件實施,這在電力工程和軟件工程領(lǐng)域是很基礎(chǔ)的。決定使用軟件還是硬件來實現(xiàn)一個概念通常取決于對設(shè)計穩(wěn)定性及待生產(chǎn)的單元數(shù)量的考慮而不是從軟件領(lǐng)域轉(zhuǎn)換至硬件領(lǐng)域中所涉及的任何問題。通常,仍然受到頻繁改變的設(shè)計優(yōu)先在在軟件中實施,因為重新編寫硬件實施方式比重新編寫軟件設(shè)計更為昂貴。通常,穩(wěn)定及大規(guī)模生產(chǎn)的設(shè)計更適于在ASIC這樣的軟件中實施,因為運行硬件實施的大規(guī)模生產(chǎn)比軟件實施更為便宜。設(shè)計通??梢砸攒浖问竭M行開發(fā)和測試,之后通過眾所周知設(shè)計規(guī)則轉(zhuǎn)變成ASIC中等同的硬件實施,該ASIC硬線軟件指令。由新的ASIC控制的機器是一種特定的機器或裝置,同樣地,編程和/或加載有可執(zhí)行指令的電腦可視為特定的機器或裝置。
[0039]當(dāng)多個SDN域(例如,SDN域110)在SDN互聯(lián)網(wǎng)絡(luò)(例如,網(wǎng)絡(luò)100)中互聯(lián)時,可以采用IGP泛洪在互聯(lián)SDN域之間交換SDN特定拓?fù)湫畔ⅰ@?,第一SDNC(例如,SDNC 120)可以生成包括SDNC管理的SDNi或的SDN特定拓?fù)湫畔⒌逆溌窢顟B(tài)消息,通過每個互聯(lián)SDN域泛洪該消息。之后,第二SDNC(例如,SDNC 120)可以接收泛洪的鏈路狀態(tài)消息,并且基于在泛洪的鏈路狀態(tài)消息中接收到的路由信息更新路由表。接著,第二 SDNC可以通過除接收鏈路狀態(tài)消息的SDN域以外的每個互聯(lián)SDN域泛洪鏈路狀態(tài)消息??梢栽诿總€SDNi或內(nèi)重復(fù)泛洪過程,直到每個互聯(lián)SDN域接收到鏈路狀態(tài)消息。每個SDNC可以向其它SDNC直接泛洪拓?fù)湎ⅰL娲缘?,SDNC可以使得關(guān)聯(lián)網(wǎng)絡(luò)設(shè)備140向其它網(wǎng)絡(luò)設(shè)備140泛洪域之間的拓?fù)湫畔?,以向關(guān)聯(lián)SDNC進行傳輸。為了區(qū)分從一個SDN域廣播到另一 SDN域的網(wǎng)絡(luò)拓?fù)湫畔?,可以引入SDN ID來唯一地標(biāo)識SDN管理區(qū)域中的SDN域。除了SDN ID,還可以引入SDN成員路由器ID列表和SDNC地址列表來分別標(biāo)識屬于SDN域的路由器和SDNC。每個SDNC可以擁有多個地址,可以包括IPv4地址和/或IPv6地址。在一示例實施例中,SDN ID、SDN成員路由器ID列表和SDNC地址列表可以通過擴展IS-1S協(xié)議、OSPF v2協(xié)議和/或OSPF v3協(xié)議傳送。例如,可以擴展is-1s協(xié)議、osPF v2協(xié)議和/Sospf v3協(xié)議來分別承載is-1s lsp、ospfv2不透明lsa和/或0SPFv3LSA中的SDN特定拓?fù)湫畔?,這些可在下文充分論述。
[0040]圖3為在SDN互聯(lián)網(wǎng)絡(luò)(例如,網(wǎng)絡(luò)100)中生成SDN特定拓?fù)湫畔⒌姆椒?00的示例實施例的流程圖,該方法可以在SDNC(例如,SDNC 120)和/或提供SDNC功能的NE (例如,NE200)中執(zhí)行。方法300可以在SDNi或(例如,SDNi或110)啟動時和/或在提供SDNC功能的設(shè)備上電時開始。在步驟305處,方法300可以從SDN互聯(lián)網(wǎng)絡(luò)的網(wǎng)絡(luò)管理員接收SDN ID,其中SDNID可以是SDN互聯(lián)網(wǎng)絡(luò)中的唯一 ID。在步驟310處,方法300可以確定SDN域中向其它互聯(lián)SDN域外部公告的路由器和/或鏈路。應(yīng)當(dāng)注意的是,一些路由器和/或鏈路可以對SDN互聯(lián)網(wǎng)絡(luò)中的其它SDN域隱藏。在步驟320處,方法300可以生成包括在步驟310中確定的路由器ID的SDN成員路由器ID列表。在步驟330處,方法300可以確定SDN域中向互聯(lián)SDN域外部公告的SDNC ο在步驟340處,方法300可以生成包括在步驟330中確定的SDNC地址的SDNC地址列表。在步驟350處,方法300可以生成鏈路狀態(tài)消息,包括標(biāo)識SDN域的SDN ID、在步驟320中生成的SDN成員路由器ID列表,以及在步驟340中生成的SDNC地址列表。在步驟360處,方法300可以(例如,從在步驟310中確定的置于SDN域邊界處的路由器中)選擇邊界路由器,以向互聯(lián)SDN域發(fā)送鏈路狀態(tài)消息。在步驟370處,方法300可以向在步驟360中選定的邊界路由器發(fā)送鏈路狀態(tài)消息,邊界路由器然后向?qū)儆谄渌黃DN域的其它互聯(lián)路由器泛洪鏈路狀態(tài)消息。在步驟380處,方法300可以接收包括互聯(lián)SDN域的SDN特定拓?fù)湫畔⒌逆溌窢顟B(tài)消息。在步驟385處,方法300可以向在步驟360中選定的邊界路由器轉(zhuǎn)發(fā)接收到的鏈路狀態(tài)消息,邊界路由器隨后向其它互聯(lián)路由器泛洪鏈路狀態(tài)消息,這些路由器屬于除接收鏈路狀態(tài)消息的SDN域以外的其它SDNi或。在步驟390處,方法300可以建立全局網(wǎng)絡(luò)拓?fù)?,通過采用諸如SPF算法或約束最短路徑優(yōu)先(constrained shortest path first,CSPF)算法之類的算法計算SDN路由。應(yīng)當(dāng)注意的是,在公告SDN特定拓?fù)湫畔⒅翱梢怨姘ㄟx定路由器和/或鏈路的(例如,如IGP中定義的)鏈路狀態(tài)消息。
[0041 ]應(yīng)當(dāng)注意的是,在步驟350中生成的鏈路狀態(tài)消息可以依賴于操作路由協(xié)議。在一示例實施例中,鏈路狀態(tài)消息可以是IS-SI協(xié)議LSP,包括SDN ID、SDN成員路由器ID列表、SDNC IPv4地址列表,和/SSDNC IPv6地址列表。在另一示例實施例中,鏈路狀態(tài)消息可以是OSPF LSA(例如,OSPF v2不透明LSA或0SPFv3協(xié)議LSA) WSPF LSA可以包括SDN ID、SDN成員路由器ID列表、SDNC IPv4地址列表,和/SSDNC IPv6地址列表。
[0042]圖4為在SDN互聯(lián)網(wǎng)絡(luò)中交換SDN特定拓?fù)湫畔⒌姆椒?00的示例實施例的流程圖,該方法可以在是SDNi或(例如,SDN域110)中的邊界路由器的網(wǎng)絡(luò)設(shè)備(例如,網(wǎng)絡(luò)設(shè)備140),或NE (例如,NE 200)上執(zhí)行。方法400可以開始于步驟410,通過控制器設(shè)備接口(例如,接口150)從SDNC(例如,SDNC 120)接收包括SDN特定拓?fù)湫畔⒌牡谝绘溌窢顟B(tài)消息。在步驟420處,方法400可以向其它互聯(lián)SDN域轉(zhuǎn)發(fā)第一鏈路狀態(tài)消息。在步驟430處,方法400可以通過域間連接(例如,連接130)接收包括其它互聯(lián)SDN域的SDN特定拓?fù)湫畔⒌牡诙溌窢顟B(tài)消息。在步驟440處,方法400可以將第二鏈路狀態(tài)消息轉(zhuǎn)發(fā)給SDNC。如上所論述,第一和第二鏈路狀態(tài)消息可以與路由協(xié)議相關(guān)。
[0043]圖5為圖不用例場景的SDN互聯(lián)網(wǎng)絡(luò)500的另一不例實施例的不意圖。網(wǎng)絡(luò)500基本上類似于網(wǎng)絡(luò)100,但是還包括與SDN域B和C 510互聯(lián)的非SDN網(wǎng)絡(luò)域560。在網(wǎng)絡(luò)500中,域間路由可以采用Is-1s協(xié)議、osPF V2協(xié)議和/Sospf V3協(xié)議。在進行域間路由的示例實施例中,SDNC A 520可以在SDN域A 510中公告所有或部分路由器540和/或鏈路,SDNC B 520可以在SDN域B 510中僅公告邊界路由器并隱藏所有內(nèi)部路由器和/或鏈路,SDNC C 520可以在SDN域C 510中公告邊界路由器和某個選定的內(nèi)部路由器和/或鏈路,其中這些鏈路可以是物理鏈路或邏輯鏈路(例如,表示為圖5中網(wǎng)絡(luò)設(shè)備540之間的點線)。
[0044]圖6為圖不路徑建立場景的SDN互聯(lián)網(wǎng)絡(luò)600的另一不例實施例的不意圖。網(wǎng)絡(luò)600基本上類似于網(wǎng)絡(luò)500,但是還包括連接到SDN域A 610的擁有IP地址I (IPl)670的互聯(lián)網(wǎng)用戶I和連接到非SDN網(wǎng)絡(luò)域660的擁有IP地址(IP2)680的互聯(lián)網(wǎng)用戶2。網(wǎng)絡(luò)600可以圖示SDNC A 610角度的拓?fù)?。在一示例實施例中,可以請求SDN域A 610將報文從IPl 670發(fā)送給IP2 680 ο SDNC A 620可以采用基于節(jié)點的路由方法或基于SDN域的路由方法。當(dāng)SDNC A620采用基于節(jié)點的路由時,SDNC A 620可以選擇經(jīng)過SDN域C 610到達IP2 680的路徑,因為SDN域C 610中的邊界路由器之間的鏈路可能是已知的。可替代性地,SDNC A 620可以確定執(zhí)行經(jīng)過SDN域B 610的基于SDN域額路由,而不是執(zhí)行基于節(jié)點額路由,因為SDN域B 610包括隱藏的內(nèi)部路由。例如,在接收另一 SDN域的SDN特定拓?fù)湫畔⒅螅琒DNC可以將屬于SDN域的所有節(jié)點和/或鏈路進行分組,然后SDN域中的所有節(jié)點和/或路由器可以抽象為一個頂點,SDN域中的所有外部鏈路可以抽象為連接到抽象頂點的邊,其中頂點和邊可以在SPF(例如,迪杰斯特拉算法)中使用以分別表示節(jié)點和鏈路。在這種情況下,SDNC A 620可以基于從SDN域B 610接收到的鏈路信息(例如,SDN域B 610可以經(jīng)過非SDN網(wǎng)絡(luò)660到達IP2680)將SDN域B 610當(dāng)作單個路由實體,并確定經(jīng)過SDN域B 610到達IP2 680。由于SDNC B620可能擁有隱藏的內(nèi)部路由,SDNC A 620可以請求SDNC B 620在SDN域B 610中的兩個公告的邊界路由器(例如,公告的路由器rl 641和路由器r2 642)之間建立路徑以到達IP2680。該請求可以通過SDNC接口(SDNCi)690傳輸,其中不同SDN域610中的SDNC 620可以傳送(例如,對網(wǎng)絡(luò)配置、業(yè)務(wù)、狀態(tài)報告、路徑移除、添加或修改等的請求)。
[0045]圖7為在SDN互聯(lián)網(wǎng)絡(luò)600中建立路徑的方法700的示例實施例的協(xié)議圖,該方法可以在IPl(例如,IPl 670) ^SDNC A(例如,SDNC A 620)、SDNC B(例如,SNDC B 620)、SDNC C(例如,SDNC C 620)和IP2(例如,IP2 680)之間實現(xiàn)。應(yīng)當(dāng)注意的是,為了簡潔起見,網(wǎng)絡(luò)600的非SDN網(wǎng)絡(luò)660可以不在方法700中示出。例如,SDNC A可以在IPl和IP2之間建立路徑進行報文傳送。方法700可以開始于SDNC A、SDNC B和SDNC C交換包括SDN特定拓?fù)湫畔⒌逆溌窢顟B(tài)消息,其中SDNC A、B或C都可以生成和公告SDNC管理的SDN特定拓?fù)湫畔?,并接收其它互?lián)SDNi或A、B和/或C的SDN特定拓?fù)湫畔?。例如,在步驟711處,SDNC A和SDNC B可以交換鏈路狀態(tài)消息;在步驟712處,SDNC B和SDNC C可以交換鏈路狀態(tài)消息;在步驟713處,SDNC A和SDNC C可以交換鏈路狀態(tài)消息。在步驟720處,SDNC A可以基于接收到的SDNi或B和C的SDN特定拓?fù)湫畔?例如,采用SPF或CSPF算法)計算路徑以獲取源自SDN域A的樹。例如,SDNC A可以確定執(zhí)行基于節(jié)點的路由。在這種情況下,SDNC A可以基于接收到的SDN特定拓?fù)湫畔⑦x擇經(jīng)過SDN域C的路徑(例如,SDN域C中邊界路由器之間的鏈路)。在步驟731處,SDNC A可以從IPl接收報文,其中報文的目的地可以是IP2。在步驟732處,SDNC A可以將報文路由到SD財或C。在步驟733處,SDNC C可以將報文路由到IP2。
[0046]圖8為在SDN互聯(lián)網(wǎng)絡(luò)600中建立路徑的方法800的另一示例實施例的協(xié)議圖,該方法可以在IPl(例如,IPl 670) ^SDNC A(例如,SDNC A 620)、SDNC B(例如,SDNC B 620)、SDNC C(例如,SDNC C 620)和IP2(例如,IP2 680)之間實現(xiàn)。應(yīng)當(dāng)注意的是,為了簡單起見,網(wǎng)絡(luò)600的非SDN網(wǎng)絡(luò)660可以不在方法800中示出。例如,SDNC A可以在IPl和IP2之間建立路徑進行報文傳送。在步驟811處,SDNC A和SDNC B可以交換SDN特定拓?fù)湫畔ⅰT诓襟E812處,SDNC B和SDNC C可以交換SDN特定拓?fù)湫畔?。在步驟813處,SDNC A和SDNC C可以交換SDN特定拓?fù)湫畔?。步驟811、812和813基本上類似于方法700的步驟711、712和713。在步驟820處,SDNC A可以計算路徑,其基本上類似于方法700的步驟720,但是方法800可以執(zhí)行基于SDN域的路由而不是執(zhí)行方法700中的基于節(jié)點的路由。因此,SDNC A可以選擇經(jīng)過SDN域B而不是SDN域C到達IP2的路徑。在步驟830處,SDNC A可以通過SDNCi (例如,通過SDNCi690)請求SDNC B在SDN域B中的邊界路由器(例如,路由器rI和r2)之間建立路徑以到達IP2,因為SDN域B擁有邊界路由器之間的隱藏內(nèi)部鏈路。在步驟841處,SDNC A可以從IPl接收報文,其中報文的目的地可以是IP2。在步驟842處,SDNC A可以將報文路由到SDN域B。在步驟843處,SDNC B可以將報文路由到IP2。
[0047]在一示例實施例中,可以擴展IS-1S協(xié)議、OSPF v2協(xié)議和/或0SPFv3協(xié)議,通過將TLV編碼的SDNC特定拓?fù)湫畔⒎謩e嵌入到IS-1S LSP,OSPF v2不透明LSA和/或OSPF v3LSA中來承載SDN特定拓?fù)湫畔?。TLV編碼的消息可以包括指示消息類型的類型字段,接著是指示消息值大小的長度字段,和承載消息數(shù)據(jù)的可變大小的多個八位字節(jié)。IS-1S協(xié)議擴展和OSPF協(xié)議擴展可以在以下兩個示例實施例中詳細(xì)描述。
[0048]在第一示例實施例中,可以擴展IS-1S協(xié)議來承載SDN特定拓?fù)湫畔?。在IS-1S協(xié)議中,IS-1S節(jié)點之間的路由信息可以承載在IS LSP中以便分發(fā)。每個IS-1S LSP可以包括is-1s 頭部和TLV 編碼數(shù)據(jù)。圖 9至 12可以圖示 IS-1S LSP中的SDN特定拓?fù)湫畔⒌氖纠龑嵤├D9為IS-1S LSP中的SDN ID TLV 900的示例實施例的示意圖。SDN ID TLV 900可以包括代碼字段910、長度字段920和SDN ID字段930。代碼字段910長約I個八位字節(jié),指示TLV 900是SDN ID TLV。例如,代碼字段910長約I個八位字節(jié),值可以設(shè)為134。長度字段920長約I個八位字節(jié),指示SDN ID字段930的長度。SDN ID字段930長約4個八位字節(jié)(例如,IPv4地址)、6個八位字節(jié)(例如,媒體接入控制(Media Access Control,MAC)地址),或16個八位字節(jié)(例如,IPv6地址)ADN ID字段930中的值可指示SDN域的標(biāo)識,其可以由因特網(wǎng)地址分配組織(Internet Assigned Numbers Authority,IANA)分配或由不同SDN管理協(xié)會之間的協(xié)定定義。每個SDN ID可以是IGP操作的互聯(lián)網(wǎng)絡(luò)內(nèi)的唯一ID。
[0049]圖10為IS-1S LSP中的SDN成員路由器ID列表TLV 1000的示例實施例的示意圖。SDN成員路由器ID列表TLV 1000可包括代碼字段1010和長度字段1020,它們基本上分別類似于代碼字段910和長度字段920。然而,代碼字段1010可以設(shè)為一個值來指示TLV 1000是SDN成員路由器ID列表TLV(例如,值為135),長度字段1020可以設(shè)為一個值來指示可變長度的系統(tǒng)ID列表字段1030的長度。系統(tǒng)ID列表字段1030可包括如IS-1S協(xié)議中為路由器ID定義的多個系統(tǒng)ID,其中每個系統(tǒng)ID長約6個八位字節(jié)。系統(tǒng)ID可指示屬于SDN域的路由器的標(biāo)識。應(yīng)當(dāng)注意的是,每個路由器只能與一個SDN域關(guān)聯(lián)。
[0050]圖11為IS-1S LSP中的SDNC IPv4地址列表TLV 1100的示例實施例的示意圖。SDNCIPv4地址列表TLV 1100可包括代碼字段1110和長度字段1120,它們分別類似于代碼字段910和長度字段920。然而,代碼字段1110可以設(shè)為一個值來指示TLV 1100是SDNC IPv4地址列表TLV(例如,值為136),長度字段1120可以設(shè)為一個值來指示可變長度的SDNC IPv4地址列表字段1130的長度。SDNC IPv4地址列表字段1130可包括多個SDNC IPv4地址,其中每個SDNC IPv4地址長約4個八位字節(jié)。SDNC IPv4地址可指示SDN域中帶有IPv4地址的SDNC。SDNC可以通過SDNC IPv4地址接入或到達。
[0051 ] 圖12為IS-1S LSP中的SDN IPv6地址列表TLV 1200的示例實施例的示意圖。SDNCIPv6地址列表TLV 1200可包括代碼字段1210和長度字段1220,它們基本上分別類似于代碼字段910和長度字段920。然而,代碼字段1210可以設(shè)為一個值來指示TLV 1200是SDNC IPv6地址列表TLV(例如,值為137),長度字段1220可以設(shè)為一個值來指示可變長度的SDNC IPv6地址列表字段1230的長度。SDNC IPv6地址列表字段1230可包括多個SDNC IPv6地址,其中每個SDNC IPv6地址長約16個八位字節(jié)。SDNC IPv6地址可指示SDN域中帶有IPv6地址的SDNCο SDNC可以通過SDNC IPv6地址接入或到達。
[0052]在第二示例實施例中,可以擴展OSPF v2和OSPF v3協(xié)議,通過將子TLV引入到OSPFLSA來承載SDN特定拓?fù)湫畔?。圖13至17可圖示OSPF v2不透明LSA中用于路由IPv4數(shù)據(jù)業(yè)務(wù)的SDN特定拓?fù)湫畔⒌氖纠龑嵤├?。?yīng)當(dāng)注意的是,基本上類似的擴展可應(yīng)用于OSPF v3新LAS用于路由IPv6數(shù)據(jù)業(yè)務(wù)。圖13為如RFC 2328中定義的OSPF v2不透明LSA 1300的示例實施例的示意圖。OSPF v2不透明LSA 1300可包括鏈路狀態(tài)(link state,LS)老化字段1311、選項字段1312、LSA類型字段1313、不透明類型字段1321、不透明ID字段1321、公告路由器字段1331、LS序列號字段1341、LS校驗和字段1351、長度字段1352和TLV 1361 AS老化字段1311長約2個八位字節(jié),指示自發(fā)起LSA 1300以后的時間,單位為秒。LS選項字段1312長約I個八位字節(jié),指示由路由域支持的可選能力。LSA類型字段1313長約I個八位字節(jié),指示LSA1300的格式和功能。例如,LSA類型字段1313的值可以設(shè)為11,這可以指示自治系統(tǒng)(AS)范圍內(nèi)的泛洪。不透明類型字段1321長約I個八位字節(jié),指示不透明類型。例如,不透明類型字段1321的值可以設(shè)為7或由IANA分配的任何其它值,這可指示LSA 1300是SDN LSA。字段1322長約3個八位字節(jié),指示不透明ID。例如,不透明ID字段1322的值可以設(shè)為O。公告路由器字段1331長約4個八位字節(jié),指示LSA 1300發(fā)起者的OSPF路由器ID AS序列號字段1341長約4個八位字節(jié),在生成新LSA時由路由器遞增,可以用于檢測LSA重復(fù)或舊的LSA AS校驗和字段1351長約2個八位字節(jié),指示LSA 1300完整內(nèi)容的校驗和。長度字段1352長約2個八位字節(jié),指示TLV 1361的長度。TLV 1361長度可變,包括多個sub-TLV,其包括SDN特定拓?fù)湫畔ⅲ鏢DN ID、SDN成員路由器ID列表、SDNC IPv4地址列表,和/或SDNC IPv6地址列表。
[0053]圖14為OSPF v2不透明LSA中的SDN ID sub-TLV 1400的示例實施例的示意圖。SDNID sub-TLV 1400可包括類型字段1410和長度字段1420,它們基本上分別類似于代碼字段910和長度字段920。然而,類型字段1410和長度字段1420均長約2個八位字節(jié),類型字段1410的值可以設(shè)為I或設(shè)為由IANA分配的任何其它值來指示sub-TLV 1400是SDN ID sub-TLV 0 SDN ID sub-TLV 1400還可以包括SDN ID字段1430,其基本上類似于SDN ID字段930。
[0054]圖15為OSPF v2不透明LSA中的SDN成員路由器ID列表sub-TLV 1500的示例實施例的示意圖。SDN成員路由器ID sub-TLV 1500可包括類型字段1510和長度字段1520,它們基本上分別類似于類型字段1410和長度字段1420。然而,類型字段1510的值可以設(shè)為2或由IANA分配的任何其它值來指示sub-TLV 1500是SDN成員路由器ID列表sbu-TLV ADN成員路由器ID列表sub-TLV 1500還可包括含有多個成員路由器ID的成員路由器ID列表字段1530,其中每個成員路由器ID長約4個八位字節(jié)。應(yīng)當(dāng)注意的是,當(dāng)路由器公告SDN成員路由器ID列表sub-TLV 1500時,SDN Idsub-TLV 1400可以是TLV字段 1361 中的第一是sub-TLV。
[0055]圖16為OSPF v2不透明LSA中的SDNC IPv4地址列表sub-TLV 1600的示例實施例的示意圖。SDNC IPv4地址列表sub-TLV 1600可包括類型字段1610和長度字段1620,它們基本上分別類似于類型字段1410和長度字段1420。然而,類型字段1610的值可以設(shè)為3或由IANA分配的任何其它值來指示sub-TLV 1600是SDNC IPv4地址列表sub-TLVJDNC IPv4地址列表sub-TLV 1600還可包括SDNC IPv4地址列表字段1630,其基本上類似于SDNC IPv4地址列表字段1130。應(yīng)當(dāng)注意的是,當(dāng)路由器公告SDNC IPv4地址列表sub-TLV 1600時,SDN IDsub-TLV 1400 可以是 TLV 字段 1361 中的第一 sub-TLV。
[0056]圖17為OSPF v2不透明LSA中的SDNC IPv6地址列表sub-TLV 1700的示例實施例的示意圖。SDNC IPv6地址列表sub-TLV 1700可包括類型字段1710和長度字段1720,它們基本上分別類似于類型字段1410和長度字段1420。然而,類型字段1710的值可以設(shè)為4或由IANA分配的任何其它值來指示sub-TLV 1700是SDNC IPv6地址列表sub-TLVJDNC IPv6地址列表sub-TLV 1700還可包括SDNC IPv6地址列表字段1730,其基本上類似于SDNC IPv6地址列表字段1230。應(yīng)當(dāng)注意的是,當(dāng)路由器公告SDNC IPv6地址列表sub-TLV 1700時,SDN IDsub-TLV 1400 可以是 TLV 字段 1361 中的第一 sub-TLV。
[0057]圖18為如RFC 5340中定義的OSPF v3LSA 1800的示例實施例的示意圖。OSPF v3不透明LSA 1800可以基本上類似于OSPF v2不透明LSA 1300,但是可包括U位字段1812、S12字段1813,和LSA功能代碼字段1814,而不包括選項字段1312和LS類型字段1313 A位字段1812、S12字段1813和LSA功能代碼字段1814可以稱為LSA類型。LS老化字段1811、公告路由器字段1831、LS序列號字段1841、LS校驗和字段1851和長度字段1852基本上分別類似于OSPF v2不透明LSA 1300中的LS老化字段1311、公告路由器字段1331、LS序列號字段1341、LS校驗和字段1351和長度字段1352』位字段1812長約I個八位字節(jié),指示LSA處理。例如,U位字段1812的值可以設(shè)為I來指示不識別LSA的功能代碼字段1814的路由器,U位字段可以存儲和泛洪LSA 1800,不予理會字段1812、1813和1814指示的LSA類型。S12字段1813長約2位(例如,SI位和S2位),指示LSA泛洪范圍。例如,S2位的值可以設(shè)為I,SI位的值可以設(shè)為O來指示該泛洪在AS范圍內(nèi)。LSA功能代碼字段1814長約13位,它的值可以設(shè)為15或由IANA分配的任何其它值來指示LSA 1800是SDN LSA。當(dāng)LSA功能代碼字段1814被設(shè)為15時,LSA類型值可以是OxCOOF。此外,鏈路狀態(tài)ID字段1821可以設(shè)為O JDN ID sub-TLV 1400、SDN成員路由器ID列表sub-TLV 1500^SDNC IPv4地址列表sub-TLV 1600,和/或SDNC IPv6地址列表sub-TLV 1700可以通過與在TLV 1361中類似的方式在TLV 1861中填充。應(yīng)當(dāng)注意的是,OSPF v2不透明LSA 1300和OSPF v3LSA 1800可以包括SDNC地址列表sub-TLV 1600,以及SDNC IPv6地址列表sub-TLV 1700,因為數(shù)據(jù)平面和控制平面可以在SDN網(wǎng)絡(luò)中解耦。例如,數(shù)據(jù)平面可以轉(zhuǎn)發(fā)IPv4數(shù)據(jù)業(yè)務(wù),而SDNC可以采用IPv6進行控制平面操作。
[0058]本發(fā)明公開至少一項實施例,且所屬領(lǐng)域的普通技術(shù)人員對所述實施例和/或所述實施例的特征作出的變化、組合和/或修改均在本發(fā)明公開的范圍內(nèi)。因組合、合并和/或省略所述實施例的特征而得到的替代性實施例也在本發(fā)明的范圍內(nèi)。在明確說明數(shù)字范圍或限制的情況下,此類表達范圍或限制應(yīng)被理解成包括在明確說明的范圍或限制內(nèi)具有相同大小的迭代范圍或限制(例如,從約為I到約為1包括2、3、4等;大于0.1O包括0.11、0.12、
0.13等)。例如,只要公開具有下限R1和上限Ru的數(shù)字范圍,則明確公開了此范圍內(nèi)的任何數(shù)字。具體而言,在所述范圍內(nèi)的以下數(shù)字是明確公開的J = Rdh(Ru-R1),其中k為從1%到100%范圍內(nèi)以1%遞增的變量,8口,1^為1%、2%、3%、4%、7%……70%,71%,72%……97%、96%、97%、98%、99%或100%。此外,由上文所定義的兩個數(shù)字R定義的任何數(shù)字范圍也是明確公開的。除非另有說明,否則術(shù)語約是指隨后數(shù)字的±10%。相對于權(quán)利要求的任一元素使用術(shù)語“選擇性地”意味著所述元素是需要的,或者所述元素是不需要的,兩種替代方案均在所述權(quán)利要求的范圍內(nèi)。使用如“包括”、“包含”和“具有”等較廣術(shù)語應(yīng)被理解為提供對如“由……組成”、“基本上由……組成”以及“大體上由……組成”等較窄術(shù)語的支持。因此,保護范圍不受上文所陳述的說明限制,而是由所附權(quán)利要求書界定,所述范圍包含所附權(quán)利要求書的標(biāo)的物的所有等效物。每一和每條權(quán)利要求作為進一步揭示內(nèi)容并入說明書中,且所附權(quán)利要求書是本發(fā)明的實施例。對所述揭示內(nèi)容中的參考進行的論述并非承認(rèn)其為現(xiàn)有技術(shù),尤其是具有在本申請案的在先申請優(yōu)先權(quán)日期之后的【公開日】期的任何參考。本發(fā)明中所引用的所有專利、專利申請案和公開案的揭示內(nèi)容特此以引用的方式并入本文本中,其提供補充本發(fā)明的示例性、程序性或其它細(xì)節(jié)。
[0059]雖然本發(fā)明中已提供若干實施例,但應(yīng)理解,在不脫離本發(fā)明的精神或范圍的情況下,本發(fā)明所公開的系統(tǒng)和方法可以以許多其他特定形式來體現(xiàn)。本發(fā)明的實例應(yīng)被視為說明性而非限制性的,且本發(fā)明并不限于本文本所給出的細(xì)節(jié)。例如,各種元件或部件可以在另一系統(tǒng)中組合或合并,或者某些特征可以省略或不實施。
[0060]此外,在不脫離本發(fā)明的范圍的情況下,各種實施例中描述和說明為離散或單獨的技術(shù)、系統(tǒng)、子系統(tǒng)和方法可以與其它系統(tǒng)、模塊、技術(shù)或方法進行組合或合并。展示或論述為彼此耦合或直接耦合或通信的其它項也可以采用電方式、機械方式或其它方式通過某一接口、設(shè)備或中間部件間接地耦合或通信。其它變化、替代和改變的示例可以由本領(lǐng)域的技術(shù)人員在不脫離本文精神和所公開的范圍的情況下確定。
【主權(quán)項】
1.一種供軟件定義網(wǎng)絡(luò)控制器(softwaredefined networking controlIer,SDNC)使用的計算機程序產(chǎn)品,所述SDNC與軟件定義網(wǎng)絡(luò)(software defined networking,SDN)互聯(lián)網(wǎng)絡(luò)中的本地SDN域關(guān)聯(lián),其特征在于,所述計算機程序產(chǎn)品包括存儲在非瞬時計算機可讀介質(zhì)上的計算機可執(zhí)行指令,當(dāng)處理器執(zhí)行所述計算機可執(zhí)行指令時,使得所述SDNC執(zhí)行以下操作: 確定所述本地SDN域中的第一組網(wǎng)絡(luò)設(shè)備和鏈路,用于向所述SDN互聯(lián)網(wǎng)絡(luò)中的遠(yuǎn)程SDN域進行鏈路狀態(tài)公告; 確定所述本地SDN域的軟件定義網(wǎng)絡(luò)(software defined networking,SDN)特定拓?fù)湫畔?,其中所述SDN特定拓?fù)湫畔▽⑺龅谝唤M網(wǎng)絡(luò)設(shè)備與所述本地SDN域關(guān)聯(lián)的SDN成員路由器標(biāo)識符(identifier,ID)列表; 確定置于所述本地SDN域邊界處的第二組網(wǎng)絡(luò)設(shè)備,用于與所述遠(yuǎn)程SDN域進行通信; 通過域間連接和通過所述第二組網(wǎng)絡(luò)設(shè)備中的至少一個網(wǎng)絡(luò)設(shè)備接收包括所述遠(yuǎn)程SDN域的SDN特定拓?fù)湫畔⒌牡谝幌?;以? 基于所述本地SDN域和所述遠(yuǎn)程SDN域的所述SDN特定拓?fù)湫畔⒋_定經(jīng)過這兩種SDN域的報文傳送路由。2.根據(jù)權(quán)利要求1所述的計算機程序產(chǎn)品,其特征在于,所述本地SDN特定拓?fù)湫畔⑦€包括標(biāo)識所述本地SDN域的SDN標(biāo)識符(identifier,ID)。3.根據(jù)權(quán)利要求1所述的計算機程序產(chǎn)品,其特征在于,所述本地SDN特定拓?fù)湫畔⑦€包括SDNC地址列表,包括所述本地SDN域中的一組SDNC的地址。4.根據(jù)權(quán)利要求3所述的計算機程序產(chǎn)品,其特征在于,所述SDNC地址為SDNC互聯(lián)網(wǎng)協(xié)議(Internet Protocol,IP)地址。5.根據(jù)權(quán)利要求1所述的計算機程序產(chǎn)品,其特征在于,所述第一組網(wǎng)絡(luò)設(shè)備包括的網(wǎng)絡(luò)設(shè)備數(shù)量少于所述本地SDN域中所有網(wǎng)絡(luò)設(shè)備的數(shù)量,所述鏈路的數(shù)量少于所述本地SDN域中所有鏈路的數(shù)量。6.根據(jù)權(quán)利要求1所述的計算機程序產(chǎn)品,其特征在于,所述第二組網(wǎng)絡(luò)設(shè)備為所述第一組網(wǎng)絡(luò)設(shè)備的至少一個子集。7.根據(jù)權(quán)利要求1所述的計算機程序產(chǎn)品,其特征在于,所述指令還使得所述處理器指示所述第二組網(wǎng)絡(luò)設(shè)備中包含的邊界網(wǎng)絡(luò)設(shè)備向所述遠(yuǎn)程SDN域公告所述本地SDN拓?fù)湫畔⒑玩溌窢顟B(tài)公告。8.根據(jù)權(quán)利要求1所述的計算機程序產(chǎn)品,其特征在于,所述遠(yuǎn)程SDN特定拓?fù)湫畔〝?shù)據(jù),所述數(shù)據(jù)描述數(shù)量少于所述遠(yuǎn)程SDN域的所有網(wǎng)絡(luò)設(shè)備和鏈路的數(shù)量,確定所述路由包括在所述第一組網(wǎng)絡(luò)設(shè)備上配置策略以將所述遠(yuǎn)程SDN域充當(dāng)最短路徑優(yōu)先(shortest path first,SPF)計算中的單個頂點以及執(zhí)行所述SPF以生成路由樹,所述路由樹在所述本地SDN域中的其中一個所述網(wǎng)絡(luò)設(shè)備和所述SDN互聯(lián)網(wǎng)絡(luò)中的所有網(wǎng)絡(luò)設(shè)備之間延伸。9.根據(jù)權(quán)利要求8所述的計算機程序產(chǎn)品,其特征在于,所述指令還使得所述處理器通過SDNC接口( SDNC interface,SDNCi)向所述遠(yuǎn)程SDNi或中的遠(yuǎn)程SDNC發(fā)送路由請求以建立穿過網(wǎng)絡(luò)設(shè)備的路由和鏈路,所述鏈路未在所述遠(yuǎn)程SDN特定拓?fù)湫畔⒅兄甘尽?0.—種包括存儲在非瞬時性計算機可讀介質(zhì)上的計算機可執(zhí)行指令的計算機程序產(chǎn)品,其特征在于,當(dāng)處理器執(zhí)行所述計算機可執(zhí)行指令時,使得網(wǎng)絡(luò)設(shè)備執(zhí)行以下操作: 通過控制器設(shè)備接口接收本地軟件定義網(wǎng)絡(luò)(software defined networking,SDN)域的SDN特定拓?fù)湫畔ⅲ灰约? 通過域間連接向遠(yuǎn)程SDNi或公告所述本地SDN特定拓?fù)湫畔ⅰ?1.根據(jù)權(quán)利要求10所述的計算機程序產(chǎn)品,其特征在于,所述SDN特定拓?fù)湫畔?biāo)識所述本地SDN域的SDN標(biāo)識符(identifier,ID)、包括所述本地SDN域中的路由器ID的SDN成員路由器ID列表,以及包括所述本地SDN域中的SDNC地址的軟件定義網(wǎng)絡(luò)控制器(software defined networking controller,SDNC)地址列表;所述地址包括互聯(lián)網(wǎng)協(xié)議片反本4( Internet Protocol vers1n 4,IPv4)、互聯(lián)網(wǎng)絡(luò)協(xié)議版本6(Internet Protocolvers1n 6,IPv6)地址或其組合。12.一種交換軟件定義網(wǎng)絡(luò)(software defined networking,SDN)特定拓?fù)湫畔⑦M行域間路由的方法,其特征在于,所述方法包括: 生成包括本地SDN域的SDN特定拓?fù)湫畔⒌牡谝绘溌窢顟B(tài)報文(link state packet,LSP); 通過米用中間系統(tǒng)到中間系統(tǒng)(Intermediate System-to-1ntermediate System,IS-1S)協(xié)議通過域間連接向遠(yuǎn)程SDN域發(fā)送所述第一 LSP; 通過采用所述IS-1S協(xié)議通過所述域間連接接收所述遠(yuǎn)程SDN域的包括SDN特定拓?fù)湫畔⒌牡诙﨤SP;以及 基于所述本地SDN域和所述遠(yuǎn)程SDN域的所述SDN特定拓?fù)湫畔⒋_定經(jīng)過這兩種SDN域的報文傳送路由。13.根據(jù)權(quán)利要求12所述的方法,其特征在于,所述第一LSP包括SDN標(biāo)識符(identifier,ID)類型長度值(type-length-value,TLV),包括: 指示所述TLV為SDN ID TLV的代碼字段; 標(biāo)識所述本地SDN域的SDN ID值;以及 指示所述SDN ID值的長度的長度字段。14.根據(jù)權(quán)利要求12所述的方法,其特征在于,所述第一LSP包括SDN成員路由器標(biāo)識符(identifier,ID)列表類型長度值(type-length-value,TLV),包括: 指示所述TLV為SDN成員路由器ID列表TLV的代碼字段; 包所述本地SDNi或中路由器的多個系統(tǒng)ID的SDN成員路由器ID列表;以及 指示所述SDN成員路由器ID列表的長度的長度字段。15.根據(jù)權(quán)利要求12所述的方法,其特征在于,所述第一LSP包括軟件定義網(wǎng)絡(luò)控制器(software defined networking control Ier,SDNC)互聯(lián)網(wǎng)協(xié)議版本 4 (InternetProtocol vers1n 4,IPv4)地址列表類型長度值(type-length_value,TLV),包括: 指示所述TLV為SDNC IPv4地址列表TLV的代碼字段; 包括所述本地SDN域中的SDNC的多個IPv4地址的SDNC IPv4地址列表;以及 指示所述SDNC IPv4地址列表的長度的長度字段。16.根據(jù)權(quán)利要求12所述的方法,其特征在于,所述第一LSP包括軟件定義網(wǎng)絡(luò)控制器(software defined networking control Ier,SDNC)互聯(lián)網(wǎng)協(xié)議版本 6 (InternetProtocol vers1n 6,IPv6)地址列表類型長度值(type-length-value,TLV),包括: 指示所述TLV為SDNC IPv6地址列表TLV的代碼字段; 包括所述本地SDN域中的SDNC的多個IPv6地址的SDNC IPv6地址列表;以及 指示所述SDNC IPv6地址列表的長度的長度字段。17.一種交換軟件定義網(wǎng)絡(luò)(software def ined networking,SDN)特定拓?fù)湫畔⑦M行域間路由的方法,其特征在于,所述方法包括: 生成包括本地SDN域的SDN特定拓?fù)湫畔⒌牡谝绘溌窢顟B(tài)公告(I ink stateadvertisement,LSA); 通過采用開放式最短路徑優(yōu)先(Open Shortest Path First,OSPF)協(xié)議通過域間連接向遠(yuǎn)程SDN域發(fā)送所述第一 LSA; 通過采用所述OSPF協(xié)議通過所述域間連接接收所述遠(yuǎn)程SDN域的包括SDN特定拓?fù)湫畔⒌牡诙﨤SA;以及 基于所述本地SDN域和所述遠(yuǎn)程SDN域的所述SDN特定拓?fù)湫畔⒋_定經(jīng)過這兩種SDN域的報文傳送路由。18.根據(jù)權(quán)利要求17所述的方法,其特征在于,所述第一LSA包括SDN標(biāo)識符(identifier,ID)子類型長度值(sub-type-length-value,sub-TLV),包括: 指示所述sub-TLV為SDN ID sub-TLV的類型字段; 標(biāo)識所述本地SDN域的SDN ID值;以及 指示所述SDN ID值的長度的長度字段。19.根據(jù)權(quán)利要求17所述的方法,其特征在于,所述第一LSA包括SDN成員路由器標(biāo)識符(identifier,ID)列表子類型長度值(sub-type-length-value,sub-TLV),包括: 指示所述sub-TLV為SDN成員路由器ID列表sub-TLV的類型字段; 包括標(biāo)識所述本地SDN域中路由器的多個成員路由器ID的SDN成員路由器ID列表;以及 指示所述SDN成員路由器ID列表的長度的長度字段。20.根據(jù)權(quán)利要求17所述的方法,其特征在于,所述第一LSA包括軟件定義網(wǎng)絡(luò)控制器(software defined networking control Ier,SDNC)互聯(lián)網(wǎng)協(xié)議版本 4 (InternetProtocol vers1n 4,1?¥4)地址列表子類型長度值(81113-七7口6-161^1:11-¥&1116,sub-TLV),包括: 指示所述sub-TLV為SDNC IPv4地址列表sub-TLV的類型字段; 包括所述本地SDN域中的SDNC的多個IPv4地址的SDNC IPv4地址列表;以及 指示所述SDNC IPv4地址列表的長度的長度字段。21.根據(jù)權(quán)利要求17所述的方法,其特征在于,所述第一1^4包括以81113-丨7口6-16叫1:11-va I ue ( sub-TLV)編碼的軟件定義網(wǎng)絡(luò)控制器(software defined networkingcontroller,SDNC)互聯(lián)網(wǎng)協(xié)議版本6(Internet Protocol vers1n 6,IPv6)地址列表,包括: 指示所述sub-TLV為SDNC IPv6地址列表sub-TLV的類型字段; 包括所述本地SDN域中的SDNC的多個IPv6地址的SDNC IPv6地址列表;以及 指示所述SDNC IPv6地址列表的長度的長度字段。22.根據(jù)權(quán)利要求17所述的方法,其特征在于,所述第一LSA為OSPF版本2(OSPFvers1n 2,OSPF v2)不透明LSA、0SPF版本3(0SPF vers1n 3,OSPF v3)新LSA,或其組合。
【文檔編號】H04L12/24GK106063203SQ201580011024
【公開日】2016年10月26日
【申請日】2015年2月25日
【發(fā)明人】韓琳
【申請人】華為技術(shù)有限公司