網(wǎng)絡(luò)中的分段源路由的制作方法
【專(zhuān)利摘要】一種在網(wǎng)絡(luò)控制器中實(shí)施的用于執(zhí)行源路由的方法,所述方法包括:接收來(lái)自網(wǎng)絡(luò)節(jié)點(diǎn)的請(qǐng)求以確定將數(shù)據(jù)包從源節(jié)點(diǎn)傳輸至目的節(jié)點(diǎn)的路徑;確定將所述數(shù)據(jù)包從所述源節(jié)點(diǎn)傳輸至所述目的節(jié)點(diǎn)的所述路徑;將所述路徑的描述分割成多個(gè)路由段;以及將所述路由段分發(fā)給一個(gè)或多網(wǎng)絡(luò)節(jié)點(diǎn)以將路由信息附加到所述數(shù)據(jù)包中,其中所述網(wǎng)絡(luò)節(jié)點(diǎn)使用所述附加的路由信息并且在不使用轉(zhuǎn)發(fā)表的情況下路由所述數(shù)據(jù)包,以及每個(gè)所述路由段描述了所述路徑的一部分。
【專(zhuān)利說(shuō)明】網(wǎng)絡(luò)中的分段源路由
[0001 ]相關(guān)申請(qǐng)案交叉申請(qǐng)
[0002]本發(fā)明要求2013年8月23日遞交的發(fā)明名稱(chēng)為“網(wǎng)絡(luò)中的分段源路由(segmentedsource routing in a network)”的第13/974,950號(hào)美國(guó)專(zhuān)利申請(qǐng)案的在先申請(qǐng)優(yōu)先權(quán),該在先申請(qǐng)的全部?jī)?nèi)容以引入的方式并入本文本中。
技術(shù)領(lǐng)域
[0003]本發(fā)明涉及網(wǎng)絡(luò)通信領(lǐng)域,且在具體實(shí)施例中,涉及網(wǎng)絡(luò)中的分段源路由。
【背景技術(shù)】
[0004]軟件定義網(wǎng)絡(luò)(software defined networking,SDN)是一種網(wǎng)絡(luò)架構(gòu)形式,在該架構(gòu)中,控制平面與數(shù)據(jù)平面分離并且作為軟件應(yīng)用來(lái)實(shí)現(xiàn)。該架構(gòu)允許網(wǎng)絡(luò)管理員對(duì)網(wǎng)絡(luò)業(yè)務(wù)進(jìn)行可編程的邏輯上集中式的控制,而無(wú)需對(duì)網(wǎng)絡(luò)硬件設(shè)備的物理訪問(wèn)。因此,SDN將網(wǎng)絡(luò)控制(學(xué)習(xí)和轉(zhuǎn)發(fā)決策)與網(wǎng)絡(luò)拓?fù)?接頭、接口,以及它們?nèi)绾螌?duì)接)解耦。將網(wǎng)絡(luò)控制與網(wǎng)絡(luò)拓?fù)浣怦罨诩惺占凸芾淼娜志W(wǎng)絡(luò)拓?fù)?、狀態(tài)和應(yīng)用或者業(yè)務(wù)流模式實(shí)現(xiàn)了更好的路由決策和資源利用。SDN可以簡(jiǎn)化網(wǎng)絡(luò)操作,因?yàn)榧惺娇刂破骺梢灶A(yù)先指定替代路由路徑并自動(dòng)配置網(wǎng)絡(luò)設(shè)備,每個(gè)標(biāo)識(shí)的全局定義無(wú)需匹配到每個(gè)接口位置。實(shí)現(xiàn)網(wǎng)絡(luò)控制與網(wǎng)絡(luò)拓?fù)浣怦畹幕痉椒ㄊ窃诰W(wǎng)絡(luò)邊緣應(yīng)用全局感知的、拓?fù)浣怦畹能浖刂?。假設(shè)傳統(tǒng)的拓?fù)漶詈蠘蚪雍吐酚沈?qū)動(dòng)網(wǎng)絡(luò)內(nèi)核,這樣可以維持互聯(lián)網(wǎng)協(xié)議(InternetProtocol,IP)網(wǎng)絡(luò)的可伸縮性、互操作性、高可用性和可擴(kuò)展性。
[0005]SDN網(wǎng)絡(luò)內(nèi)的一些網(wǎng)絡(luò)節(jié)點(diǎn)可以在數(shù)據(jù)平面中操作以將數(shù)據(jù)轉(zhuǎn)發(fā)給SDN網(wǎng)絡(luò)內(nèi)的其它網(wǎng)絡(luò)節(jié)點(diǎn)。通常,網(wǎng)絡(luò)節(jié)點(diǎn)可以從SDN控制器獲取轉(zhuǎn)發(fā)表并使用轉(zhuǎn)發(fā)表將數(shù)據(jù)路由并轉(zhuǎn)發(fā)給其它網(wǎng)絡(luò)節(jié)點(diǎn)。然而,使用轉(zhuǎn)發(fā)表增加了路由收斂時(shí)間和路由時(shí)延。如2013年7月3日發(fā)表的標(biāo)題為“SDN狀態(tài)簡(jiǎn)化(SDN State Reduct1n)”的Internet工程任務(wù)組(InternetEngineering Task Force,IETF)文檔draft-ashwood-sdnrg-state-reduct1n-O0.txt中所描述的源路由簡(jiǎn)化了數(shù)據(jù)轉(zhuǎn)發(fā)網(wǎng)絡(luò)節(jié)點(diǎn)并且與使用轉(zhuǎn)發(fā)表相比縮短了路由時(shí)間和時(shí)延,該文檔的全部?jī)?nèi)容以引入的方式并入本文本中。具體而言,源路由在數(shù)據(jù)包內(nèi)附加并記錄路徑的全部路由信息。網(wǎng)絡(luò)節(jié)點(diǎn)使用數(shù)據(jù)包中的路由信息轉(zhuǎn)發(fā)數(shù)據(jù)包,而不是使用轉(zhuǎn)發(fā)表執(zhí)行查找功能。然而,較長(zhǎng)且復(fù)雜的路徑可能擁有大量路由信息來(lái)表示整個(gè)路徑。因此,將全部路由信息附加到數(shù)據(jù)包中可以降低凈荷的有效大小。因此,需要一種更為有效的方案來(lái)路由通過(guò)SDN網(wǎng)絡(luò)的數(shù)據(jù)。
【發(fā)明內(nèi)容】
[0006]在一項(xiàng)示例實(shí)施例中,本發(fā)明包括用于執(zhí)行源路由的網(wǎng)絡(luò)控制器。所述網(wǎng)絡(luò)控制器可以接收來(lái)自網(wǎng)絡(luò)節(jié)點(diǎn)的請(qǐng)求以確定將數(shù)據(jù)包從源節(jié)點(diǎn)傳輸至目的節(jié)點(diǎn)的路徑。在接收所述請(qǐng)求之后,所述網(wǎng)絡(luò)控制器可以確定將所述數(shù)據(jù)包從所述源節(jié)點(diǎn)傳輸至所述目的節(jié)點(diǎn)的所述路徑并將所述路徑的所述路由信息分割成多個(gè)路由段。所述路由段可被分發(fā)給將所述路由信息附加到所述數(shù)據(jù)包中的一個(gè)或多個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)。隨后使用所述附加的路由信息并且在不使用轉(zhuǎn)發(fā)表的情況下在所述網(wǎng)絡(luò)節(jié)點(diǎn)中轉(zhuǎn)發(fā)所述數(shù)據(jù)包。每個(gè)所述路由段描述了從所述源節(jié)點(diǎn)到所述目的節(jié)點(diǎn)的所述路徑的一部分。
[0007]在另一項(xiàng)示例實(shí)施例中,本發(fā)明包括確定完整路由以將數(shù)據(jù)包從源節(jié)點(diǎn)轉(zhuǎn)發(fā)至目的節(jié)點(diǎn)的網(wǎng)絡(luò)控制器。所述網(wǎng)絡(luò)控制器可以將所述完整路徑的描述分割成多個(gè)路由段并獲取段長(zhǎng)度變量,所述段長(zhǎng)度變量確定沿所述完整路由的每個(gè)分段節(jié)點(diǎn)之間的中間節(jié)點(diǎn)的數(shù)量。所述網(wǎng)絡(luò)控制器可以將所述路由段分發(fā)給所述分段節(jié)點(diǎn)。所述分段節(jié)點(diǎn)可以基于所述路由段將路由信息附加到所述數(shù)據(jù)包中,沿所述完整路由的中間節(jié)點(diǎn)可以使用所述附加的路由信息并且在不使用轉(zhuǎn)發(fā)表的情況下轉(zhuǎn)發(fā)所述數(shù)據(jù)包。
[0008]在又一項(xiàng)示例實(shí)施例中,本發(fā)明包括一種用于通過(guò)接收數(shù)據(jù)包并檢查引用附加到所述數(shù)據(jù)包中的路由信息的指針執(zhí)行分段源路由的網(wǎng)絡(luò)節(jié)點(diǎn)。所述網(wǎng)絡(luò)節(jié)點(diǎn)隨后可以根據(jù)所述指針引用的路由信息轉(zhuǎn)發(fā)所述數(shù)據(jù)包。所述路由信息可以表示用于將所述數(shù)據(jù)包從源節(jié)點(diǎn)路由至目的節(jié)點(diǎn)的所有路由信息的一部分。所述網(wǎng)絡(luò)節(jié)點(diǎn)可以在不使用轉(zhuǎn)發(fā)表的情況下轉(zhuǎn)發(fā)所述數(shù)據(jù)包。
[0009 ]結(jié)合附圖和權(quán)利要求書(shū),可從以下的詳細(xì)描述中更清楚地理解這些和其它特征。
【附圖說(shuō)明】
[0010]為了更透徹地理解本發(fā)明,現(xiàn)參閱結(jié)合附圖和【具體實(shí)施方式】而描述的以下簡(jiǎn)要說(shuō)明,其中的相同參考標(biāo)號(hào)表不相同部分。
[0011]圖1是SDN的示例實(shí)施例的示意圖。
[0012]圖2是網(wǎng)絡(luò)控制器的示例實(shí)施例的示意圖。
[0013]圖3是網(wǎng)絡(luò)節(jié)點(diǎn)的示例實(shí)施例的示意圖。
[0014]圖4是執(zhí)行分段源路由的網(wǎng)絡(luò)的示例實(shí)施例的示意圖。
[0015]圖5是分段源路由數(shù)據(jù)包的示例實(shí)施例的圖。
[0016]圖6是用于分割和分發(fā)分段源路由信息的方法的示例實(shí)施例的流程圖。
[0017]圖7是用于基于分段源路由轉(zhuǎn)發(fā)數(shù)據(jù)包的方法的示例實(shí)施例的流程圖。
【具體實(shí)施方式】
[0018]首先應(yīng)理解,盡管下文提供一項(xiàng)或多項(xiàng)示例性實(shí)施例的說(shuō)明性實(shí)施方案,但所公開(kāi)的系統(tǒng)和/或方法可使用任何數(shù)目的技術(shù)來(lái)實(shí)施,無(wú)論該技術(shù)是當(dāng)前已知還是現(xiàn)有的。本發(fā)明決不應(yīng)限于下文所說(shuō)明的說(shuō)明性實(shí)施方案、附圖和技術(shù),包括本文所說(shuō)明并描述的示例性設(shè)計(jì)和實(shí)施方案,而是可在所附權(quán)利要求書(shū)的范圍以及其等效物的完整范圍內(nèi)修改。
[0019]本文所公開(kāi)的是在諸如SDN網(wǎng)絡(luò)之類(lèi)的網(wǎng)絡(luò)中實(shí)施分段源路由的各種示例實(shí)施例。分段源路由意味著數(shù)據(jù)包可以攜帶一些或所有信息,這樣路徑上的節(jié)點(diǎn)無(wú)需搜索轉(zhuǎn)發(fā)表。為了使開(kāi)銷(xiāo)最小化并使數(shù)據(jù)包的載荷大小最大化,路由信息可被分割成一個(gè)或多個(gè)路由段并分發(fā)給沿路徑的一個(gè)或多個(gè)分段節(jié)點(diǎn)。每個(gè)路由段可以描述用于通過(guò)路徑將數(shù)據(jù)包從源節(jié)點(diǎn)傳輸至目的節(jié)點(diǎn)的至少一部分路由信息或路由信息子集。分段節(jié)點(diǎn)可以將路由信息附加到沿路徑遍歷的數(shù)據(jù)包中。附加到數(shù)據(jù)包中的路由信息可以基于從網(wǎng)絡(luò)控制器接收到的路由段。位于分段節(jié)點(diǎn)之間的中間節(jié)點(diǎn)可以使用附加到數(shù)據(jù)包中的路由信息并且在不使用路由表的情況下將數(shù)據(jù)轉(zhuǎn)發(fā)給合適的網(wǎng)絡(luò)節(jié)點(diǎn)。
[0020]圖1是可以操作本發(fā)明示例實(shí)施例的SDN網(wǎng)絡(luò)100的示例實(shí)施例的示意圖。SDN網(wǎng)絡(luò)100可以包括網(wǎng)絡(luò)控制器102、多個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)104,以及多個(gè)終端節(jié)點(diǎn)106。控制路徑由虛線表示,數(shù)據(jù)路徑由實(shí)線表示。系統(tǒng)配置、管理信息,以及路由段信息可以通過(guò)控制路徑在網(wǎng)絡(luò)控制器102和網(wǎng)絡(luò)節(jié)點(diǎn)104之間交換。數(shù)據(jù)包可以通過(guò)數(shù)據(jù)路徑從終端節(jié)點(diǎn)106接收并在網(wǎng)絡(luò)節(jié)點(diǎn)104之間轉(zhuǎn)發(fā)。終端節(jié)點(diǎn)106可以是用于傳輸、接收、發(fā)起,和/或終止數(shù)據(jù)的任意網(wǎng)元,例如主機(jī)、虛擬機(jī),和/或服務(wù)器。網(wǎng)絡(luò)節(jié)點(diǎn)104可以是SND網(wǎng)絡(luò)100內(nèi)沿一個(gè)或多個(gè)路徑接收和傳輸數(shù)據(jù)的任意設(shè)備。在一項(xiàng)示例實(shí)施例中,網(wǎng)絡(luò)節(jié)點(diǎn)104可以遵循一種或多種應(yīng)用編程接口(applicat1n programming interface,API)協(xié)議,例如Openflow。網(wǎng)絡(luò)節(jié)點(diǎn) 104可以是交換機(jī)、路由器、網(wǎng)橋,和/或用于在SDN網(wǎng)絡(luò)100的數(shù)據(jù)平面內(nèi)轉(zhuǎn)發(fā)數(shù)據(jù)的任意其它設(shè)備。在一項(xiàng)示例實(shí)施例中,網(wǎng)絡(luò)節(jié)點(diǎn)104可以在數(shù)據(jù)平面中操作,但不在控制平面內(nèi)操作。至少一些網(wǎng)絡(luò)節(jié)點(diǎn)104可以配置為分段節(jié)點(diǎn),而其它網(wǎng)絡(luò)節(jié)點(diǎn)104可以配置為利用SDN網(wǎng)絡(luò)100形成的任意給定路徑內(nèi)的中間節(jié)點(diǎn)。
[0021]網(wǎng)絡(luò)控制器102可以是用于執(zhí)行各種控制路徑和/或控制平面功能的任意網(wǎng)絡(luò)控制器,例如繪制網(wǎng)絡(luò)圖和定義路由段中的信息,該路由段定義如何路由傳入包。在一項(xiàng)示例實(shí)施例中,網(wǎng)絡(luò)控制器102可以是SDN控制器。網(wǎng)絡(luò)控制器102可以配置用于控制平面的管理和控制功能,這些功能可以包括路由和資源管理。網(wǎng)絡(luò)控制器102可以通過(guò)控制平面接收來(lái)自網(wǎng)絡(luò)節(jié)點(diǎn)104的消息并向網(wǎng)絡(luò)節(jié)點(diǎn)104傳輸消息。網(wǎng)絡(luò)控制器102可通過(guò)各種API協(xié)議,例如Openf low,與分段節(jié)點(diǎn)104通信。網(wǎng)絡(luò)控制器102可以確定SDN網(wǎng)絡(luò)100的全局網(wǎng)絡(luò)拓?fù)洹@萌志W(wǎng)絡(luò)拓?fù)?、狀態(tài)信息、動(dòng)態(tài)業(yè)務(wù)流/量信息以及其它網(wǎng)絡(luò)狀態(tài)信息,網(wǎng)絡(luò)控制器102可以決定如何通過(guò)SDN網(wǎng)絡(luò)100分配資源和路由應(yīng)用、信息,和/或數(shù)據(jù)包流。
[0022]正如所屬領(lǐng)域普通技術(shù)人員所了解,盡管前述討論涉及SDN和SDN網(wǎng)絡(luò),但是所公開(kāi)的技術(shù)不局限于該應(yīng)用,但同樣適用于多個(gè)網(wǎng)絡(luò)架構(gòu)和網(wǎng)絡(luò)技術(shù),這些網(wǎng)絡(luò)架構(gòu)和網(wǎng)絡(luò)技術(shù)利用具有網(wǎng)絡(luò)全局視圖的集中式控制器可以控制網(wǎng)絡(luò)中的網(wǎng)元,所有這些應(yīng)該被本發(fā)明包含。單個(gè)架構(gòu)的使用和論述只是為了方便描述和解釋。
[0023]本發(fā)明中所描述的至少一些特征/方法可以在諸如分段節(jié)點(diǎn)和中間節(jié)點(diǎn)之類(lèi)的網(wǎng)絡(luò)控制器和網(wǎng)絡(luò)節(jié)點(diǎn)中實(shí)現(xiàn)。例如,本發(fā)明的特征/方法可以使用硬件、固件和/或安裝在硬件上運(yùn)行的軟件來(lái)實(shí)現(xiàn)。網(wǎng)絡(luò)控制器可以是通過(guò)控制平面通信的任意設(shè)備,例如,路由器、服務(wù)器、SDN控制器等。圖2是網(wǎng)絡(luò)控制器200的示例實(shí)施例的示意圖,網(wǎng)絡(luò)控制器可以是用于提供控制平面功能的任意設(shè)備,例如圖1所示的網(wǎng)絡(luò)控制器102。網(wǎng)絡(luò)控制器200也可以用于實(shí)現(xiàn)或支持本文所公開(kāi)的分段源路由。
[0024]網(wǎng)絡(luò)控制器200可以包括親合到收發(fā)器(transceiver,Tx/Rx) 212的一個(gè)或多個(gè)下行端口210,Tx/Rx 212可以是發(fā)射器、接收器,或其組合。Tx/Rx 212可耦合到多個(gè)下行端口210用于傳輸和/或接收來(lái)自其它節(jié)點(diǎn)的幀。Tx/Rx 212可耦合到多個(gè)上行端口230用于傳輸和/或接收來(lái)自其它節(jié)點(diǎn)的幀。處理器225可以耦合到Tx/Rx 212以處理幀和/或確定向哪些節(jié)點(diǎn)發(fā)送幀。處理器225可包括一個(gè)或多個(gè)多核處理器和/或存儲(chǔ)器模塊222,存儲(chǔ)器模塊222可用作數(shù)據(jù)存儲(chǔ)器、緩沖器等。處理器225可以作為通用處理器實(shí)現(xiàn)或者可以是一個(gè)或多個(gè)專(zhuān)用集成電路(applicat1n specific integrated circuit,ASIC)和/或數(shù)字信號(hào)處理器(digital signal processor,DSP)的一部分。下行端口210和/或上行端口230可以包含電和/或光發(fā)射和/或接收部件。在一項(xiàng)示例實(shí)施例中,網(wǎng)絡(luò)控制器200可以是作出路由決策的路由部件。
[0025]存儲(chǔ)器模塊222可用于存放用于執(zhí)行本文所述的系統(tǒng)和方法的指令。存儲(chǔ)器模塊222可包括用于暫時(shí)存儲(chǔ)內(nèi)容的緩存,例如隨機(jī)存取存儲(chǔ)器(Random Access Memory,RAM)。此外,存儲(chǔ)器模塊222可包括用于將內(nèi)容存儲(chǔ)相對(duì)較長(zhǎng)時(shí)間的長(zhǎng)期存儲(chǔ)設(shè)備,例如只讀存儲(chǔ)器(Read Only Memory,ROM)。例如,緩存和長(zhǎng)期存儲(chǔ)設(shè)備可包括動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(dynamic random-access memory,DRAM)、固態(tài)驅(qū)動(dòng)器(solid-state drive,SSD)、硬盤(pán)或其組合。存儲(chǔ)器模塊222可包括可以在處理器225上實(shí)施的源路由確定和分段塊228?;蛘?,源路由確定和分段塊228可以直接在處理器225上實(shí)施。源路由確定和分段塊228可以用于實(shí)施圖6公開(kāi)的方法600。例如,源路由確定和分段塊228可以用于為了響應(yīng)請(qǐng)求來(lái)確定數(shù)據(jù)的路徑、生成路徑的路由信息,以及將路由信息劃分為路由段。
[0026]存儲(chǔ)器模塊222還可包括段分發(fā)塊229,其可使用處理器225實(shí)施或者可以直接在處理器225上實(shí)施。段分發(fā)塊229可以用于將對(duì)應(yīng)路徑的路由段分發(fā)給網(wǎng)絡(luò)中的一個(gè)或多個(gè)分段節(jié)點(diǎn)。在一項(xiàng)示例實(shí)施例中,段分發(fā)塊229可將路由段同時(shí)分發(fā)給分段節(jié)點(diǎn)。在另一項(xiàng)示例實(shí)施例中,段分發(fā)塊229可以將第一段分發(fā)給第一分段節(jié)點(diǎn),隨后為了響應(yīng)后續(xù)分段節(jié)點(diǎn)的請(qǐng)求來(lái)分發(fā)后續(xù)路由段。源路由確定和分段塊228和段分發(fā)塊229可以使用軟件、硬件或者兩者進(jìn)行實(shí)施。
[0027]圖3是諸如分段節(jié)點(diǎn)之類(lèi)的網(wǎng)絡(luò)節(jié)點(diǎn)300的示例實(shí)施例的示意圖,分段節(jié)點(diǎn)可以是通過(guò)網(wǎng)絡(luò)傳輸和處理數(shù)據(jù)的任意設(shè)備,例如圖1中公開(kāi)的網(wǎng)絡(luò)節(jié)點(diǎn)104。網(wǎng)絡(luò)節(jié)點(diǎn)300可以用于實(shí)現(xiàn)或支持本文所公開(kāi)的分段源路由。網(wǎng)絡(luò)節(jié)點(diǎn)300可以包括下行端口310、收發(fā)器312、存儲(chǔ)器模塊322、處理器325,以及上行端口 330,它們大體上分別類(lèi)似于圖2所示的下行端口210、收發(fā)器212、存儲(chǔ)器模塊222、處理器225,以及上行端口 230。
[0028]存儲(chǔ)器模塊322可包括可以在處理器325上實(shí)施的數(shù)據(jù)包轉(zhuǎn)發(fā)塊328。數(shù)據(jù)包轉(zhuǎn)發(fā)塊328可以用于實(shí)施圖7所示的方法700?;蛘?,數(shù)據(jù)包轉(zhuǎn)發(fā)塊328可以直接在處理器325上實(shí)施。數(shù)據(jù)包轉(zhuǎn)發(fā)塊328可以用于使用數(shù)據(jù)包內(nèi)的路由信息路由數(shù)據(jù)包。在一項(xiàng)示例實(shí)施例中,數(shù)據(jù)包轉(zhuǎn)發(fā)塊328可以隨著從網(wǎng)絡(luò)控制器接收到的新路由信息而更新數(shù)據(jù)包中包含的路由信息。如果在接收數(shù)據(jù)包之后未從網(wǎng)絡(luò)控制器接收到合適的路由段,數(shù)據(jù)轉(zhuǎn)發(fā)塊328也可以用于搜索和/或請(qǐng)求合適的路由段。數(shù)據(jù)包轉(zhuǎn)發(fā)塊328可以使用軟件、硬件或這兩者進(jìn)行實(shí)施。
[0029]應(yīng)理解,通過(guò)將可執(zhí)行指令編程和/或加載到網(wǎng)絡(luò)控制器200和/或分段節(jié)點(diǎn)300上,處理器225和/或325、緩存,和長(zhǎng)期存儲(chǔ)設(shè)備中的至少一個(gè)被更改,從而將網(wǎng)絡(luò)控制器200和/或網(wǎng)絡(luò)節(jié)點(diǎn)300部分轉(zhuǎn)變成具有本發(fā)明所教示的新穎功能的特定機(jī)器或裝置,例如分段源路由網(wǎng)絡(luò)部件。加載可執(zhí)行軟件至計(jì)算機(jī)所實(shí)現(xiàn)的功能可以通過(guò)公知設(shè)計(jì)規(guī)則轉(zhuǎn)換成硬件實(shí)施,這在電力工程和軟件工程領(lǐng)域是很基礎(chǔ)的。決定使用軟件還是硬件來(lái)實(shí)施一個(gè)概念通常取決于對(duì)設(shè)計(jì)穩(wěn)定性及待生產(chǎn)的單元數(shù)量的考慮,而不是從軟件領(lǐng)域轉(zhuǎn)換至硬件領(lǐng)域中所涉及的任何問(wèn)題。一般來(lái)說(shuō),經(jīng)常變動(dòng)的設(shè)計(jì)更適于在軟件中實(shí)施,因?yàn)橹匦戮帉?xiě)硬件實(shí)施比重新編寫(xiě)軟件更為昂貴。一般而言,將投入量產(chǎn)的穩(wěn)定設(shè)計(jì)可首選以硬件實(shí)現(xiàn),例如通過(guò)ASIC實(shí)現(xiàn),這是因?yàn)閷?duì)于大型生產(chǎn)活動(dòng),硬件實(shí)現(xiàn)的成本可能要低于軟件實(shí)現(xiàn)。設(shè)計(jì)通??梢砸攒浖问竭M(jìn)行開(kāi)發(fā)和測(cè)試,之后通過(guò)公知設(shè)計(jì)規(guī)定轉(zhuǎn)變成專(zhuān)用集成電路中等同的硬件實(shí)施,該集成電路硬線軟件指令。機(jī)器由新的ASIC控制后就成為具有特殊用途的機(jī)器或裝置,同樣,經(jīng)過(guò)編程和/或已加載有可執(zhí)行指令的計(jì)算機(jī)也可視為具有特殊用途的機(jī)器或裝置。
[0030]圖4是執(zhí)行分段源路由的網(wǎng)絡(luò)400的示例實(shí)施例的示意圖。當(dāng)分段節(jié)點(diǎn)418接收來(lái)自源節(jié)點(diǎn)450的數(shù)據(jù)包時(shí),網(wǎng)絡(luò)控制器410可以從耦合到源節(jié)點(diǎn)450的分段節(jié)點(diǎn)418接收對(duì)路由信息的請(qǐng)求。網(wǎng)絡(luò)控制器410可以維持網(wǎng)絡(luò)400的拓?fù)洌约熬W(wǎng)絡(luò)400中分段節(jié)點(diǎn)418和中間節(jié)點(diǎn)420的可達(dá)信息。網(wǎng)絡(luò)控制器410可以確定將包從源節(jié)點(diǎn)450傳輸?shù)侥康墓?jié)點(diǎn)460的最優(yōu)路徑。網(wǎng)絡(luò)控制器410可以利用下文論述的已知路由技術(shù)生成數(shù)據(jù)包的路由,例如最短路徑、距離、成本、鏈路帶寬、時(shí)延、內(nèi)部網(wǎng)關(guān)協(xié)議(Inter1r Gateway Protocol,IGP),和/或邊界網(wǎng)關(guān)協(xié)議(Border Gateway Protocol ,BGP)以確定最優(yōu)路徑。正如所屬領(lǐng)域普通技術(shù)人員將知曉,前述示例是非包含性的,并且網(wǎng)絡(luò)控制器在確定數(shù)據(jù)包的最優(yōu)路徑中可以利用任意合適的路由技術(shù)。一個(gè)以上路徑可以遍歷網(wǎng)絡(luò)400內(nèi)的分段節(jié)點(diǎn)418和中間節(jié)點(diǎn)420。在一項(xiàng)示例實(shí)施例中,圖4所示的分段節(jié)點(diǎn)418可以用作一個(gè)或多個(gè)路徑內(nèi)的中間節(jié)點(diǎn)420并且可以用作其它路徑內(nèi)的分段節(jié)點(diǎn)418。此外,圖4所示的中間節(jié)點(diǎn)420可以用作一個(gè)或多個(gè)路徑內(nèi)的中間節(jié)點(diǎn)420并且可以用作其它路徑內(nèi)的分段節(jié)點(diǎn)418。
[0031]在另一項(xiàng)示例實(shí)施例中,在分段節(jié)點(diǎn)418處接收數(shù)據(jù)包之前,將數(shù)據(jù)包從源節(jié)點(diǎn)450傳輸至目的節(jié)點(diǎn)460的最優(yōu)路徑可以由網(wǎng)絡(luò)控制器410預(yù)先確定。在任一示例實(shí)施例中,在確定最優(yōu)路徑之后,網(wǎng)絡(luò)控制器410可以將路由信息分割成較小的路由段430。路由段430可以包括識(shí)別網(wǎng)絡(luò)400中的鏈路440子集的信息,數(shù)據(jù)包應(yīng)當(dāng)通過(guò)該鏈路進(jìn)行轉(zhuǎn)發(fā)。路由段430的集合可以指示網(wǎng)絡(luò)400中的每條鏈路440,通過(guò)鏈路440傳輸數(shù)據(jù)包經(jīng)由最優(yōu)路徑到達(dá)目的節(jié)點(diǎn)460。
[0032]如圖4所示,網(wǎng)絡(luò)控制器410可以分別在分段節(jié)點(diǎn)418a、418b和418c中傳輸和設(shè)立路由段430a、430b和430c。每個(gè)分段節(jié)點(diǎn)418a-c可以使用路由段430來(lái)確定路由信息并將路由信息附加到傳入數(shù)據(jù)包中。附加到數(shù)據(jù)包中的路由信息可以為至少一部分最優(yōu)路徑提供路由數(shù)據(jù)包的信息。例如,路由段430a可以指定數(shù)據(jù)包將通過(guò)鏈路440A、B、C和D從分段節(jié)點(diǎn)418a轉(zhuǎn)發(fā)到分段節(jié)點(diǎn)418b。分段節(jié)點(diǎn)418a可以附加包含鏈路440A-D的信息的路由信息到數(shù)據(jù)包中,隨后基于附加的路由信息通過(guò)鏈路440A轉(zhuǎn)發(fā)數(shù)據(jù)包。從路由段430中獲取的路由信息可以根據(jù)所屬領(lǐng)域普通技術(shù)人員已知的任意合適的方法進(jìn)行傳輸和附加。
[0033]路由段430a_c可以通過(guò)各種方式分發(fā)給分段節(jié)點(diǎn)418a_c。在一項(xiàng)示例實(shí)施例中,在分段節(jié)點(diǎn)418a接收到數(shù)據(jù)包之前,網(wǎng)絡(luò)控制器410可以在各分段節(jié)點(diǎn)418a-c中傳輸和設(shè)立相應(yīng)的路由段430a-c。網(wǎng)絡(luò)控制器410可以基于下文參照?qǐng)D5更為詳細(xì)地描述的分段長(zhǎng)度“η”確定哪些網(wǎng)絡(luò)節(jié)點(diǎn)是分段節(jié)點(diǎn)418a-c。通常,路由段430可以在接收來(lái)自源節(jié)點(diǎn)450的幀的第一網(wǎng)絡(luò)節(jié)點(diǎn)(例如,邊緣節(jié)點(diǎn))中設(shè)立。在圖4中,分段節(jié)點(diǎn)418a可以是邊緣節(jié)點(diǎn)并且可以表示第一網(wǎng)絡(luò)節(jié)點(diǎn)。此后沿?cái)?shù)據(jù)包被轉(zhuǎn)發(fā)的最優(yōu)路徑的每“η”個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)可被選為分段節(jié)點(diǎn)418。換言之,網(wǎng)絡(luò)控制器410可以將路由段430a-c分發(fā)給段邊界,例如由附加到數(shù)據(jù)包中的路由信息所提供的已經(jīng)通過(guò)所有鏈路440轉(zhuǎn)發(fā)的數(shù)據(jù)包所在的位置,上的分段節(jié)點(diǎn)418。如圖4所示,路由段430可以在網(wǎng)絡(luò)400中的分段節(jié)點(diǎn)418a、418b和418c中設(shè)立,其中分段長(zhǎng)度“η”為4。其它網(wǎng)絡(luò)節(jié)點(diǎn)可以是中間節(jié)點(diǎn)420,其可能不接收路由段430a-c。
[0034]在另一項(xiàng)示例實(shí)施例中,網(wǎng)絡(luò)控制器410可以每次傳輸并設(shè)立分段節(jié)點(diǎn)418上的一個(gè)路由段430。在數(shù)據(jù)包已經(jīng)通過(guò)其當(dāng)前路由段430所標(biāo)識(shí)的所有鏈路440進(jìn)行轉(zhuǎn)發(fā)之后,剛剛接收到數(shù)據(jù)包的分段節(jié)點(diǎn)418可以確定分段節(jié)點(diǎn)418是否擁有正確的路由信息。如果分段節(jié)點(diǎn)418不具有路由信息,分段節(jié)點(diǎn)418可以向網(wǎng)絡(luò)控制器410請(qǐng)求路由信息。在接收路由段430之后,分段節(jié)點(diǎn)418可以將新的路由信息附加到數(shù)據(jù)包中。為了確定分段節(jié)點(diǎn)418是否存儲(chǔ)合適的路由信息,分段節(jié)點(diǎn)418可以使用數(shù)據(jù)包內(nèi)的信息,例如源地址、目的地址、先前的路由信息,輸入端口等查找路由信息。一旦分段節(jié)點(diǎn)418獲取到新的路由信息,分段節(jié)點(diǎn)418可以在將數(shù)據(jù)包轉(zhuǎn)發(fā)給網(wǎng)絡(luò)400中的下一分段節(jié)點(diǎn)418之前將先前的路由信息替換為新的路由信息。如圖4所示,附加到數(shù)據(jù)包中的路由信息可以包括輸出鏈路信息、下一跳網(wǎng)絡(luò)節(jié)點(diǎn)、輸出端口信息,和/或向分段節(jié)點(diǎn)418和/或中間節(jié)點(diǎn)420指示轉(zhuǎn)發(fā)數(shù)據(jù)包的位置的任意其它合適的信息。
[0035]在網(wǎng)絡(luò)400的示例實(shí)施例中,網(wǎng)絡(luò)400可以在創(chuàng)建路由段430時(shí)利用嚴(yán)格的鏈路源路由。因此,路由段430可以顯式描述每個(gè)特定鏈路440,數(shù)據(jù)包應(yīng)當(dāng)通過(guò)該鏈路進(jìn)行轉(zhuǎn)發(fā)。換言之,路由段430的集合可以描述數(shù)據(jù)包通過(guò)網(wǎng)絡(luò)400從源節(jié)點(diǎn)450傳送到目的節(jié)點(diǎn)460的精確路由,并且清楚地告知每個(gè)分段節(jié)點(diǎn)418通過(guò)哪個(gè)鏈路440向哪些其它分段節(jié)點(diǎn)418轉(zhuǎn)發(fā)數(shù)據(jù)包。
[0036]在附加路由信息之后,分段節(jié)點(diǎn)418可以基于附加到數(shù)據(jù)包中的路由信息轉(zhuǎn)發(fā)數(shù)據(jù)包。為了確定轉(zhuǎn)發(fā)數(shù)據(jù)包的位置,分段節(jié)點(diǎn)418可以檢查數(shù)據(jù)包內(nèi)引用合適的路由信息的指針470。分段節(jié)點(diǎn)418隨后可以根據(jù)路由信息所描述的且由指針470所標(biāo)識(shí)的鏈路440轉(zhuǎn)發(fā)數(shù)據(jù)包。如圖4所示,將數(shù)據(jù)包從分段節(jié)點(diǎn)418a轉(zhuǎn)發(fā)至沿路徑的下一節(jié)點(diǎn),例如中間節(jié)點(diǎn)420時(shí),指針470指向鏈路440A。一旦中間節(jié)點(diǎn)420接收數(shù)據(jù)包,中間節(jié)點(diǎn)還檢查指針470以從數(shù)據(jù)包中獲取路由信息。中間節(jié)點(diǎn)420可以不使用轉(zhuǎn)發(fā)表或者任意其它類(lèi)型的路由表來(lái)確定如何轉(zhuǎn)發(fā)數(shù)據(jù)包。指針470可以遞增以指向合適的路由信息,例如鏈路440B。
[0037]中間節(jié)點(diǎn)420可以繼續(xù)讀取和遞增附著的指針470,并相應(yīng)地轉(zhuǎn)發(fā)數(shù)據(jù)包直至數(shù)據(jù)包到達(dá)下一分段節(jié)點(diǎn)418b。分段節(jié)點(diǎn)418b隨后可以檢查指針470并確定分段節(jié)點(diǎn)418a附加的路由信息中沒(méi)有引用其它鏈路。分段節(jié)點(diǎn)418b可以搜索和/請(qǐng)求來(lái)自網(wǎng)絡(luò)控制器410的下一路由段430b,并在接收路由段430b之后,將數(shù)據(jù)包內(nèi)的路由信息替換為從路由段430b中獲取到的路由信息。分段節(jié)點(diǎn)418b隨后可以以與分段節(jié)點(diǎn)418a類(lèi)似的方式轉(zhuǎn)發(fā)數(shù)據(jù)包。中間網(wǎng)絡(luò)節(jié)點(diǎn)420可以如先前所論述的那樣進(jìn)行操作并且可以如上所述將數(shù)據(jù)包轉(zhuǎn)發(fā)給下一分段節(jié)點(diǎn)418。
[0038]圖5是數(shù)據(jù)包500的示例實(shí)施例。數(shù)據(jù)包500可以在實(shí)施本文所公開(kāi)的技術(shù),例如網(wǎng)絡(luò)400的分段源路由,的各種示例實(shí)施例中使用。數(shù)據(jù)包500可以包括路由頭510、凈荷520,以及指針540。凈荷520可以是用戶(hù)想要通過(guò)網(wǎng)絡(luò),例如SDN網(wǎng)絡(luò)100和/互聯(lián)網(wǎng),從源向目的地傳輸?shù)娜我鈹?shù)據(jù),并且可以由分段節(jié)點(diǎn)從源節(jié)點(diǎn)接收。路由頭510可以包括由分段節(jié)點(diǎn)附加到遍歷路徑的數(shù)據(jù)包500中的路由信息。路由頭510可以是基于從網(wǎng)絡(luò)控制器發(fā)往分段節(jié)點(diǎn)的路由段的路由信息。路由信息可以包括一個(gè)或多個(gè)網(wǎng)絡(luò)鏈路的列表、一個(gè)或多個(gè)下一跳路由器的列表、一個(gè)或多個(gè)輸出端口的列表,或者指示分段節(jié)點(diǎn)和/或中間節(jié)點(diǎn)轉(zhuǎn)發(fā)數(shù)據(jù)包500的位置的任意其它合適的信息。指針540可以包括分段節(jié)點(diǎn)和/或中間節(jié)點(diǎn)所檢查的用于確定路由頭510中的哪個(gè)路由信息應(yīng)當(dāng)接著在轉(zhuǎn)發(fā)數(shù)據(jù)包500時(shí)使用的指示符。
[0039]返回路由頭510,路由頭還可包括數(shù)據(jù)包500的完整路由路徑的一段或一部分。路由段可以包括“η”條鏈路530,其中“η”為整數(shù),每個(gè)路由段包括耦合網(wǎng)元的一個(gè)或多個(gè)網(wǎng)絡(luò)鏈路的標(biāo)識(shí),相關(guān)的數(shù)據(jù)包500應(yīng)當(dāng)在網(wǎng)元之間轉(zhuǎn)發(fā)。在路由頭510的示例實(shí)施例中,其中數(shù)據(jù)包500應(yīng)通過(guò)其傳輸?shù)木W(wǎng)絡(luò)鏈路的總數(shù)量不能被η整除,最后一個(gè)路由段應(yīng)包括“m”條鏈路,其中“m”為整數(shù),并且。例如,在圖4中,網(wǎng)絡(luò)包含14條鏈路并且段大小為4(例如,“n” =4)。圖4中最后一個(gè)路由段包含網(wǎng)絡(luò)中剩余的鏈路并且大小為2(例如,“m” =2)。路由路徑的每個(gè)路由段中鏈路530的數(shù)量,例如每個(gè)路由段的大小,可以是一種預(yù)定義的設(shè)計(jì)選擇,可以由網(wǎng)絡(luò)管理員基于網(wǎng)絡(luò)中可用的數(shù)據(jù)開(kāi)銷(xiāo)確定,或者可以由網(wǎng)絡(luò)控制器動(dòng)態(tài)確定。路由段的總大小可以是隨著每個(gè)相應(yīng)網(wǎng)絡(luò)中的數(shù)據(jù)開(kāi)銷(xiāo)量因網(wǎng)絡(luò)而變化的臨界值,并且數(shù)據(jù)業(yè)務(wù)流的設(shè)計(jì)考慮因素可能變化。
[0040]圖6是用于分割和分發(fā)分段源路由信息的方法600的示例實(shí)施例的流程圖。方法600可以在網(wǎng)絡(luò)控制器,例如網(wǎng)絡(luò)控制器200中實(shí)施。在步驟610中,方法600可以接收來(lái)自分段節(jié)點(diǎn),例如分段節(jié)點(diǎn)418的請(qǐng)求以將數(shù)據(jù)包從源節(jié)點(diǎn)路由到目的節(jié)點(diǎn)。在步驟620處,方法600可以使用如上文論述的并且所屬領(lǐng)域普通技術(shù)人員已知的任意合適的數(shù)據(jù)路由技術(shù)來(lái)確定數(shù)據(jù)包的最優(yōu)路徑。方法600可以生成最優(yōu)路徑的路由信息,其可用于識(shí)別沿路徑的網(wǎng)絡(luò)節(jié)點(diǎn)之間的一個(gè)或多個(gè)連接或鏈路。在步驟630處,方法600可以將路由信息分割成較小的路由段,例如路由段430。最優(yōu)路徑的路由信息可以通過(guò)劃分路由信息進(jìn)行分割,這樣每個(gè)路由段可以是完整的最優(yōu)路由信息的唯一合適子集,其中每個(gè)路由段包含的信息比所有完整的最優(yōu)路由信息要少。每個(gè)路由段中存在的最優(yōu)路徑的鏈路數(shù)量可取決于給定網(wǎng)絡(luò)中可用的數(shù)據(jù)開(kāi)銷(xiāo)量并且可隨網(wǎng)絡(luò)而不同。每個(gè)路由段中的鏈路數(shù)量可能大約相等,或者,最后一個(gè)路由段具有的鏈路可能少于先前每個(gè)路由段。在步驟640處,方法600可將路由段分發(fā)給網(wǎng)絡(luò)中的一個(gè)或多個(gè)分段節(jié)點(diǎn)。方法600可以將路由段分發(fā)給段邊界,例如已通過(guò)數(shù)據(jù)當(dāng)前路由段中的所有鏈路轉(zhuǎn)發(fā)并且等待描述該數(shù)據(jù)應(yīng)通過(guò)其轉(zhuǎn)發(fā)的其它網(wǎng)絡(luò)鏈路的新路由段的數(shù)據(jù)的所處位置,上的分段節(jié)點(diǎn),或者,方法600可以將第一路由段分發(fā)給網(wǎng)絡(luò)中的第一分段節(jié)點(diǎn)并為了響應(yīng)網(wǎng)絡(luò)中位于段邊界處的其它分段節(jié)點(diǎn)的請(qǐng)求來(lái)分發(fā)后續(xù)路由段。
[0041]圖7是用于基于分段源路由轉(zhuǎn)發(fā)數(shù)據(jù)包的方法700的示例實(shí)施例的流程圖。方法700可以在分段節(jié)點(diǎn),例如分段節(jié)點(diǎn)300中實(shí)施。在步驟710處,方法700可以接收來(lái)自網(wǎng)絡(luò)控制器,例如網(wǎng)絡(luò)控制器200的路由段,該路由段描述數(shù)據(jù)包應(yīng)通過(guò)其轉(zhuǎn)發(fā)的鏈路。在步驟720處,方法700可以接收來(lái)自網(wǎng)絡(luò)中的先前分段節(jié)點(diǎn)的數(shù)據(jù)包。或者,如果方法700在接收來(lái)自先前分段節(jié)點(diǎn)的數(shù)據(jù)包之前未接收到來(lái)自網(wǎng)絡(luò)控制器的路由段,則在步驟730處,方法700可以確定轉(zhuǎn)發(fā)數(shù)據(jù)包所必需的路由信息是否存在于該數(shù)據(jù)內(nèi)。如果此信息不在數(shù)據(jù)包內(nèi)并且未從網(wǎng)絡(luò)控制器接收,則在步驟740處,方法700可以搜索并請(qǐng)求合適的路由段。方法700可以使用數(shù)據(jù)包特有的信息,例如源地址、目的地址、輸入端口、當(dāng)前位置等,搜索路由段內(nèi)的路由信息。在步驟750處,方法700可以在通過(guò)路由段中描述的下一鏈路轉(zhuǎn)發(fā)數(shù)據(jù)包之前使用從網(wǎng)絡(luò)控制器接收到的新路由信息覆蓋或替換當(dāng)前附加到數(shù)據(jù)包中的舊路由信息。在步驟760處,方法700可以檢查數(shù)據(jù)包附著的指針并通過(guò)對(duì)應(yīng)的網(wǎng)絡(luò)鏈路將數(shù)據(jù)包轉(zhuǎn)發(fā)給后續(xù)分段節(jié)點(diǎn),該指針識(shí)別路由分段中的哪條鏈路是進(jìn)行轉(zhuǎn)發(fā)的下一鏈路。
[0042]本發(fā)明公開(kāi)至少一項(xiàng)示例性實(shí)施例,且所屬領(lǐng)域的普通技術(shù)人員對(duì)所述示例性實(shí)施例和/或所述示例性實(shí)施例的特征作出的變化、組合和/或修改均在本發(fā)明公開(kāi)的范圍內(nèi)。因組合、合并和/或省略所述示例性實(shí)施例的特征而得到的替代性示例性實(shí)施例也在本發(fā)明的范圍內(nèi)。在明確說(shuō)明數(shù)字范圍或限制的情況下,此類(lèi)表達(dá)范圍或限制應(yīng)被理解成包括在明確說(shuō)明的范圍或限制內(nèi)具有相同大小的迭代范圍或限制(例如,從約為I到約為10包括2、3、4等;大于0.10包括0.11、0.12、0.13等)。例如,只要公開(kāi)具有下限Ri和上限Ru的數(shù)字范圍,則明確公開(kāi)了此范圍內(nèi)的任何數(shù)字。具體而言,在所述范圍內(nèi)的以下數(shù)字是明確公開(kāi)的:R=Ri+k*(Ru-Ri),其中k為從1%至丨」100%范圍內(nèi)以1%遞增的變量,即,k為1%、2%、3%、4%,5%……50%、51%、52%……95%、96%、97%、98%、99% 或 100%。此夕卜,由上文所定義的兩個(gè)數(shù)字R定義的任何數(shù)字范圍也是明確公開(kāi)的。除非另有說(shuō)明,否則術(shù)語(yǔ)“約”是指隨后數(shù)字的±10%。相對(duì)于權(quán)利要求的任一元素使用術(shù)語(yǔ)“選擇性地”意味著所述元素是需要的,或者所述元素是不需要的,兩種替代方案均在所述權(quán)利要求的范圍內(nèi)。使用如“包括”、“包含”和“具有”等較廣術(shù)語(yǔ)應(yīng)被理解為提供對(duì)如“由……組成”、“基本上由……組成”以及“大體上由……組成”等較窄術(shù)語(yǔ)的支持。因此,保護(hù)范圍不受上文所陳述的說(shuō)明限制,而是由所附權(quán)利要求書(shū)界定,所述范圍包含所附權(quán)利要求書(shū)的標(biāo)的物的所有等效物。每一和每條權(quán)利要求作為進(jìn)一步揭示內(nèi)容并入說(shuō)明書(shū)中,且所附權(quán)利要求書(shū)是本發(fā)明的示例實(shí)施例。對(duì)所述揭示內(nèi)容中的參考進(jìn)行的論述并非承認(rèn)其為現(xiàn)有技術(shù),尤其是具有在本申請(qǐng)案的在先申請(qǐng)優(yōu)先權(quán)日期之后的【公開(kāi)日】期的任何參考。本發(fā)明中所引用的所有專(zhuān)利、專(zhuān)利申請(qǐng)案和公開(kāi)案的揭示內(nèi)容特此以引用的方式并入本文本中,其提供補(bǔ)充本發(fā)明的示例性、程序性或其它細(xì)節(jié)。
[0043]雖然本發(fā)明中已提供若干實(shí)施例,但應(yīng)理解,在不脫離本發(fā)明的精神或范圍的情況下,本發(fā)明所公開(kāi)的系統(tǒng)和方法可以以許多其他特定形式來(lái)體現(xiàn)。本發(fā)明的實(shí)例應(yīng)被視為說(shuō)明性而非限制性的,且本發(fā)明并不限于本文本所給出的細(xì)節(jié)。例如,各種元件或部件可以在另一系統(tǒng)中組合或合并,或者某些特征可以省略或不實(shí)施。
[0044]此外,在不脫離本發(fā)明的范圍的情況下,各種實(shí)施例中描述和說(shuō)明為離散或單獨(dú)的技術(shù)、系統(tǒng)、子系統(tǒng)和方法可以與其它系統(tǒng)、模塊、技術(shù)或方法進(jìn)行組合或合并。展示或論述為彼此耦合或直接耦合或通信的其它項(xiàng)也可以采用電方式、機(jī)械方式或其它方式通過(guò)某一接口、設(shè)備或中間部件間接地耦合或通信。其他變化、替代和改變的示例可以由本領(lǐng)域的技術(shù)人員在不脫離本文精神和所公開(kāi)的范圍的情況下確定。
【主權(quán)項(xiàng)】
1.一種在網(wǎng)絡(luò)控制器中實(shí)施的用于執(zhí)行源路由的方法,其特征在于,所述方法包括: 接收來(lái)自網(wǎng)絡(luò)節(jié)點(diǎn)的請(qǐng)求以確定將數(shù)據(jù)包從源節(jié)點(diǎn)傳輸至目的節(jié)點(diǎn)的路徑; 確定將所述數(shù)據(jù)包從所述源節(jié)點(diǎn)傳輸至所述目的節(jié)點(diǎn)的所述路徑; 將所述路徑的描述分割成多個(gè)路由段;以及 將所述路由段分發(fā)給一個(gè)或多網(wǎng)絡(luò)節(jié)點(diǎn)以將路由信息附加到所述數(shù)據(jù)包中, 其中所述網(wǎng)絡(luò)節(jié)點(diǎn)使用所述附加的路由信息并且在不使用轉(zhuǎn)發(fā)表的情況下路由所述數(shù)據(jù)包,以及 每個(gè)所述路由段描述了所述路徑的一部分。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述路由段包括多個(gè)用于轉(zhuǎn)發(fā)所述數(shù)據(jù)包的鏈路;劃分所述路徑的所述描述包括形成描述所述鏈路的第一部分的第一路由段,所述數(shù)據(jù)包將通過(guò)所述鏈路的所述第一部分轉(zhuǎn)發(fā),以及描述所述鏈路的第二部分的第二路由段,所述數(shù)據(jù)包將通過(guò)所述鏈路的上述第二部分轉(zhuǎn)發(fā)。3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述第一路由段中的連接數(shù)量不等于所述第二路由段中的連接數(shù)量。4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述附加的路由信息指示與所述路徑關(guān)聯(lián)的多條鏈路,所述數(shù)據(jù)包包括數(shù)據(jù)凈荷、一條或多條鏈路,以及引用所述鏈路的指針。5.根據(jù)權(quán)利要求1所述的方法,其特征在于,分發(fā)所述路由段包括向所述網(wǎng)絡(luò)中位于段邊界的每個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)發(fā)送所述路由段,接收所述路由段的所述網(wǎng)絡(luò)節(jié)點(diǎn)基于分段長(zhǎng)度變量。6.根據(jù)權(quán)利要求5所述的方法,其特征在于,分發(fā)所述路由段包括同時(shí)向所述網(wǎng)絡(luò)中位于段邊界的每個(gè)分段節(jié)點(diǎn)發(fā)送所述路由段。7.根據(jù)權(quán)利要求5所述的方法,其特征在于,分發(fā)所述路由段包括向所述網(wǎng)絡(luò)中位于第一段邊界的第一分段節(jié)點(diǎn)發(fā)送第一路由段,以及向所述網(wǎng)絡(luò)中位于第二段邊界的第二分段節(jié)點(diǎn)發(fā)送第二路由段,所述第一分段節(jié)點(diǎn)和所述第二分段節(jié)點(diǎn)之間的網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)量由所述分段長(zhǎng)度變量確定。8.—種包括存儲(chǔ)在非瞬時(shí)計(jì)算機(jī)可讀介質(zhì)上的計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)程序產(chǎn)品,其特征在于,當(dāng)處理器執(zhí)行所述計(jì)算機(jī)可執(zhí)行指令時(shí),使所述處理器執(zhí)行以下操作: 確定將數(shù)據(jù)包從源節(jié)點(diǎn)轉(zhuǎn)發(fā)至目的節(jié)點(diǎn)的完整路由; 將所述完整路由的描述分割成多個(gè)路由段; 獲取段長(zhǎng)度變量,所述段長(zhǎng)度變量確定沿所述完整路徑的每個(gè)分段節(jié)點(diǎn)之間的中間節(jié)點(diǎn)數(shù)量;以及 將所述路由段分發(fā)給所述分段節(jié)點(diǎn), 其中所述分段節(jié)點(diǎn)基于所述路由段將路由信息附加到所述數(shù)據(jù)包中,以及 所述中間節(jié)點(diǎn)使用所述附加的路由信息并且在不使用轉(zhuǎn)發(fā)表的情況下轉(zhuǎn)發(fā)所述數(shù)據(jù)包。9.根據(jù)權(quán)利要求8所述的計(jì)算機(jī)程序產(chǎn)品,其特征在于,將所述路由段分發(fā)給所述分段節(jié)點(diǎn)包括同時(shí)向所述網(wǎng)絡(luò)中位于段邊界的每個(gè)分段節(jié)點(diǎn)發(fā)送所述路由段。10.根據(jù)權(quán)利要求8所述的計(jì)算機(jī)程序產(chǎn)品,其特征在于,存儲(chǔ)在非瞬時(shí)計(jì)算機(jī)可讀介質(zhì)上的所述指令還使所述處理器基于所述分段長(zhǎng)度變量選擇沿所述路徑的所述分段節(jié)點(diǎn),所述分段長(zhǎng)度變量指示每個(gè)路由段的網(wǎng)絡(luò)鏈路的數(shù)量。11.根據(jù)權(quán)利要求8所述的計(jì)算機(jī)程序產(chǎn)品,其特征在于,將所述完整路由的所述描述分割成多個(gè)路由段包括形成描述路由的第一部分的第一路由段,所述數(shù)據(jù)包將通過(guò)所述路由的所述第一部分轉(zhuǎn)發(fā),以及描述所述路由的第二部分的第二路由段,所述數(shù)據(jù)包將通過(guò)所述路由的所述第二部分轉(zhuǎn)發(fā)。12.根據(jù)權(quán)利要求11所述的計(jì)算機(jī)程序產(chǎn)品,其特征在于,所述第一路由段中的鏈路數(shù)量大于所述第二路由段中的鏈路數(shù)量。13.根據(jù)權(quán)利要求8所述的計(jì)算機(jī)程序產(chǎn)品,其特征在于,存儲(chǔ)在非瞬時(shí)計(jì)算機(jī)可讀介質(zhì)上的所述指令還使所述處理器生成第二數(shù)據(jù)包的第二路徑,所述路徑上的第一分段節(jié)點(diǎn)是所述第二路徑的一部分,所述第一分段節(jié)點(diǎn)不接收所述第二路徑對(duì)應(yīng)的路由段。14.根據(jù)權(quán)利要求13所述的計(jì)算機(jī)程序產(chǎn)品,其特征在于,所述路徑上的第一中間節(jié)點(diǎn)是所述第二路徑的一部分,所述第一中間節(jié)點(diǎn)接收所述第二路徑對(duì)應(yīng)的路由段。15.—種在網(wǎng)絡(luò)節(jié)點(diǎn)中實(shí)施的用于執(zhí)行分段源路由的方法,其特征在于,所述方法包括: 接收數(shù)據(jù)包; 檢查引用附加到所述數(shù)據(jù)包中的路由信息的指針;以及 根據(jù)所述指針引用的路由信息轉(zhuǎn)發(fā)所述數(shù)據(jù)包, 其中所述路由信息表示用于將所述數(shù)據(jù)包從源節(jié)點(diǎn)路由至目的節(jié)點(diǎn)的所有路由信息的一部分,以及 在使用轉(zhuǎn)發(fā)表的情況下轉(zhuǎn)發(fā)所述數(shù)據(jù)包。16.根據(jù)權(quán)利要求15所述的方法,其特征在于,所述數(shù)據(jù)包包括數(shù)據(jù)凈荷、用于路由所述數(shù)據(jù)包的鏈路的列表,以及引用轉(zhuǎn)發(fā)所述數(shù)據(jù)包的所述下一鏈路的所述指針。17.根據(jù)權(quán)利要求15所述的方法,其特征在于,還包括接收路由段,所述路由段包括用于將所述數(shù)據(jù)包從所述源節(jié)點(diǎn)轉(zhuǎn)發(fā)至所述目的節(jié)點(diǎn)的所述路由信息的一部分。18.根據(jù)權(quán)利要求17所述的方法,其特征在于,還包括無(wú)法在所述網(wǎng)絡(luò)節(jié)點(diǎn)內(nèi)定位所述數(shù)據(jù)包對(duì)應(yīng)的合適的路由信息時(shí),請(qǐng)求用于轉(zhuǎn)發(fā)所述數(shù)據(jù)包的所述路由段。19.根據(jù)權(quán)利要求17所述的方法,其特征在于,所述網(wǎng)絡(luò)節(jié)點(diǎn)接收第一路徑的路由段,但不接收第二路徑的路由段。20.根據(jù)權(quán)利要求15所述的方法,其特征在于,還包括接收指示轉(zhuǎn)發(fā)所述數(shù)據(jù)包的所述鏈路的路由段并且將附加到所述數(shù)據(jù)包中的所述路由信息替換為從所述路由段中獲取的第二路由信息。
【文檔編號(hào)】H04L12/701GK105850082SQ201480046785
【公開(kāi)日】2016年8月10日
【申請(qǐng)日】2014年8月20日
【發(fā)明人】宋浩宇
【申請(qǐng)人】華為技術(shù)有限公司