用于網(wǎng)絡(luò)設(shè)備流查找管理的技術(shù)的制作方法
【專利說明】用于網(wǎng)絡(luò)設(shè)備流查找管理的技術(shù)
【背景技術(shù)】
[0001] 現(xiàn)代計算設(shè)備已經(jīng)成為供個人、企業(yè)和社會使用的普遍工具。因此,許多現(xiàn)代計算 設(shè)備能夠連接到包括互聯(lián)網(wǎng)和企業(yè)內(nèi)聯(lián)網(wǎng)的各種數(shù)據(jù)網(wǎng)絡(luò),以在這些網(wǎng)絡(luò)上獲取和發(fā)送/ 接收數(shù)據(jù)通信。為了促進計算設(shè)備之間的通信,網(wǎng)絡(luò)通常包括一個或多個網(wǎng)絡(luò)設(shè)備(例如, 網(wǎng)絡(luò)交換機、網(wǎng)絡(luò)路由器等等),以將通信從一個計算設(shè)備路由到另一個計算設(shè)備。
[0002] 軟件定義網(wǎng)絡(luò)(SDN)是可以用于促進跨越網(wǎng)絡(luò)的通信(即,網(wǎng)絡(luò)分組的流動)的這 樣一種網(wǎng)絡(luò)體系架構(gòu)。在軟件定義網(wǎng)絡(luò)中,位于外部的SDN控制器連接到網(wǎng)絡(luò)交換/路由設(shè) 備,以針對跨越網(wǎng)絡(luò)的網(wǎng)絡(luò)分組做出網(wǎng)絡(luò)業(yè)務(wù)流邏輯決策,該任務(wù)傳統(tǒng)上是在網(wǎng)絡(luò)設(shè)備層 處執(zhí)行的。因此,之前在網(wǎng)絡(luò)設(shè)備的專用網(wǎng)絡(luò)處理器上執(zhí)行的網(wǎng)絡(luò)分組處理(例如,網(wǎng)絡(luò)業(yè) 務(wù)流邏輯)現(xiàn)在可以在通用處理器上進行處理,從而減少了在軟件定義網(wǎng)絡(luò)中所部署的網(wǎng) 絡(luò)設(shè)備所需要的硬件組件的復(fù)雜度,并且實現(xiàn)了獨立于硬件發(fā)布周期來部署新的基于軟件 的特征。另外,軟件定義網(wǎng)絡(luò)允許網(wǎng)絡(luò)基礎(chǔ)設(shè)施在規(guī)模上變得比傳統(tǒng)網(wǎng)絡(luò)更大,這可能導(dǎo)致 與網(wǎng)絡(luò)的每個網(wǎng)絡(luò)設(shè)備必須管理的網(wǎng)絡(luò)業(yè)務(wù)流邏輯有關(guān)的數(shù)據(jù)增加。網(wǎng)絡(luò)功能虛擬化 (NFV)是另一種網(wǎng)絡(luò)架構(gòu)概念,其用于使用傳統(tǒng)的服務(wù)器虛擬技術(shù)(例如,虛擬機或VM)來對 網(wǎng)絡(luò)設(shè)備功能進行虛擬化,從而實現(xiàn)了在通用處理器上對網(wǎng)絡(luò)業(yè)務(wù)的處理。當將NFV和SDN 基礎(chǔ)設(shè)施進行組合時,網(wǎng)絡(luò)可以在規(guī)模上進一步增加,從而進一步增加了網(wǎng)絡(luò)的每個網(wǎng)絡(luò) 設(shè)備必須管理的網(wǎng)絡(luò)業(yè)務(wù)流邏輯的量。
【附圖說明】
[0003] 在附圖中,通過舉例而非限制性的方式示出了本文所描述的概念。為了說明的簡 單和清楚起見,附圖中所示出的要素不一定按比例繪制。在認為適當?shù)牡胤?,在附圖中重復(fù) 附圖標記以指示相應(yīng)的或相似的要素。
[0004] 圖1是用于對通信進行路由的系統(tǒng)的至少一個實施例的簡化框圖;
[0005] 圖2是圖1的網(wǎng)絡(luò)設(shè)備的至少一個實施例的簡化框圖,其中該網(wǎng)絡(luò)設(shè)備包括具有管 芯上高速緩存(〇n-die cache)的處理器;
[0006] 圖3是圖2的網(wǎng)絡(luò)設(shè)備的多級散列表配置的至少一個實施例的簡化框圖;
[0007] 圖4是圖2的網(wǎng)絡(luò)設(shè)備的多級散列表配置的另一個實施例的簡化框圖;
[0008] 圖5是圖2的網(wǎng)絡(luò)設(shè)備的環(huán)境的至少一個實施例的簡化框圖;
[0009] 圖6是圖1的系統(tǒng)的軟件定義網(wǎng)絡(luò)架構(gòu)的至少一個實施例的簡化框圖;
[0010] 圖7是用于對圖2的網(wǎng)絡(luò)設(shè)備的高速緩存驅(qū)逐策略進行管理的方法的至少一個實 施例的簡化流程圖;以及
[0011] 圖8是用于接收圖1的系統(tǒng)的流策略信息的方法的至少一個實施例的簡化流程圖。
【具體實施方式】
[0012] 雖然本公開內(nèi)容的概念容易有各種修改和替代形式,但是其中的特定實施例已在 附圖中通過示例方式示出,并且將在本文中詳細描述。但是,應(yīng)當理解的是,這并非旨在將 本公開內(nèi)容的概念限制于所公開的特定形式,但是相反地,其目的是要涵蓋與本公開內(nèi)容 和所附權(quán)利要求相一致的所有修改、等效項和替代方案。
[0013] 說明書中對"一個實施例"、"實施例"、"說明性實施例"等的引用,指示所描述的實 施例可以包括特定的特征、結(jié)構(gòu)或特性,但每個實施例可能包括該特定的特征、結(jié)構(gòu)或特 性,也可能不一定包括該特定的特征、結(jié)構(gòu)或特性。此外,這種短語不一定指代相同的實施 例。此外,當結(jié)合實施例來描述特定的特征、結(jié)構(gòu)或特性時,認為結(jié)合其它實施例(無論其是 否被明確地描述)來影響這種特征、結(jié)構(gòu)或特性是在本領(lǐng)域技術(shù)人員的知識范圍內(nèi)。另外, 應(yīng)當意識到,在以"A、B和C中的至少一個"的形式的列表中所包括的項目可以表示(A)、(B)、 (C)、(A和B)、(A和C)、(B和C)或者(A、B和C)。類似地,以"A、B或C中的至少一個"形式所列出 的項目可以表示(A)、(B)、(C)、(A和B)、(A和C)、(B和C)或者(A、B和C)。
[0014] 在一些情況下,可以在硬件、固件、軟件或者其任意組合中實現(xiàn)所公開的實施例。 所公開的實施例還可以實現(xiàn)為由一個或多個暫時性或非暫時性機器可讀(例如,計算機可 讀)存儲介質(zhì)攜帶或者存儲在所述機器可讀存儲介質(zhì)上的指令,這些指令可以由一個或多 個處理器讀取和執(zhí)行。機器可讀存儲介質(zhì)可以體現(xiàn)為用于存儲或發(fā)送具有機器可讀形式的 信息的任何存儲設(shè)備、機制或其它物理結(jié)構(gòu)(例如,易失性或非易失性存儲器、介質(zhì)光盤或 者其它介質(zhì)設(shè)備)。
[0015] 在附圖中,可以以特定的排列和/或順序來示出一些結(jié)構(gòu)或方法特征。但是,應(yīng)當 意識到,可能不需要這些特定的排列和/或順序。相反,在一些實施例中,可以按照與說明性 附圖中所示出的方式和/或順序不同的方式和/或順序來排列這些特征。另外,在特定的附 圖中包括結(jié)構(gòu)或方法特征并非意在暗示在所有實施例中都需要該特征,并且在一些實施例 中,可以不包括該特征或者其可以將該特征與其它特征組合。
[0016] 現(xiàn)在參考圖1,在說明性實施例中,用于網(wǎng)絡(luò)設(shè)備流查找管理的系統(tǒng)或網(wǎng)絡(luò)100包 括遠程計算設(shè)備102,其連接到網(wǎng)絡(luò)控制設(shè)備110和網(wǎng)絡(luò)基礎(chǔ)設(shè)施120。網(wǎng)絡(luò)控制設(shè)備110和 網(wǎng)絡(luò)基礎(chǔ)設(shè)施120中的每一個都能夠在軟件定義網(wǎng)絡(luò)(SDN)架構(gòu)和/或網(wǎng)絡(luò)功能虛擬化 (NFV)架構(gòu)中進行操作。網(wǎng)絡(luò)基礎(chǔ)設(shè)施120包括至少一個網(wǎng)絡(luò)設(shè)備122,其被說明性地表示為 122a-122h并且在本文中被統(tǒng)稱為網(wǎng)絡(luò)設(shè)備122,以便促進經(jīng)由網(wǎng)絡(luò)通信路徑124在遠程計 算設(shè)備102和計算設(shè)備130之間傳輸網(wǎng)絡(luò)分組。
[0017] 在使用中,如下面進一步詳細描述的,網(wǎng)絡(luò)設(shè)備122從遠程計算設(shè)備102接收網(wǎng)絡(luò) 分組,基于在網(wǎng)絡(luò)設(shè)備122處所存儲的策略來對該網(wǎng)絡(luò)分組進行處理,并且將該網(wǎng)絡(luò)分組轉(zhuǎn) 發(fā)到傳輸路徑中的下一個計算設(shè)備(例如,另一個網(wǎng)絡(luò)設(shè)備122、計算設(shè)備130、遠程計算設(shè) 備102等等)。為了知道哪個計算設(shè)備是傳輸路徑中的下一個計算設(shè)備,網(wǎng)絡(luò)設(shè)備122執(zhí)行查 找操作以確定網(wǎng)絡(luò)流。查找操作對網(wǎng)絡(luò)分組的一部分執(zhí)行散列并且使用該結(jié)果對照流查找 表(即,映射到網(wǎng)絡(luò)流的下一個目的地的散列表)來進行檢查。
[0018] 通常,流查找表存儲在處理器上高速緩存(on-processor cache)中以減少查找操 作的延時,而網(wǎng)絡(luò)流存儲在網(wǎng)絡(luò)設(shè)備122的存儲器中。但是,流查找表可能變得非常大,從而 超出處理器上高速緩存中的可用空間。因此,流查找表的一部分(即,與網(wǎng)絡(luò)流散列條目相 對應(yīng)的高速緩存行)被驅(qū)逐到網(wǎng)絡(luò)設(shè)備122的存儲器,這給查找操作帶來了延時。另外,將哪 些高速緩存行驅(qū)逐到存儲器是由網(wǎng)絡(luò)設(shè)備基于網(wǎng)絡(luò)設(shè)備122使用哪種高速緩存驅(qū)逐算法來 控制的。但是,在多級流散列表中,多級流散列表的某些層級可以存儲在網(wǎng)絡(luò)設(shè)備122的處 理器上高速緩存中,而多級流散列表的其它層級可以存儲在網(wǎng)絡(luò)設(shè)備122的存儲器中。例 如,如下面將進一步詳細描述的,多級流散列表可以包括:第一級流散列表,用于將較高優(yōu) 先級水平的散列存儲在處理器上高速緩存中;以及第二級流散列表,用于將較低優(yōu)先級水 平的散列存儲在主存儲器中。在該實施例中,可以減少由查找操作引起的整體延時,特別是 針對被網(wǎng)絡(luò)設(shè)備122標識為具有高優(yōu)先級的那些網(wǎng)絡(luò)流散列的整體延時。
[0019] 網(wǎng)絡(luò)基礎(chǔ)設(shè)施120可以體現(xiàn)為任何類型的有線或無線通信網(wǎng)絡(luò),包括蜂窩網(wǎng)絡(luò)(例 如,全球移動通信系統(tǒng)(GSM))、數(shù)字用戶線(DSL)網(wǎng)絡(luò)、有線網(wǎng)絡(luò)、電話網(wǎng)絡(luò)、局域網(wǎng)或廣域 網(wǎng)、全球網(wǎng)絡(luò)(例如,互聯(lián)網(wǎng))或者其任意組合。另外,根據(jù)需要,網(wǎng)絡(luò)基礎(chǔ)設(shè)施120可以包括 任意數(shù)量的額外的設(shè)備以促進相應(yīng)設(shè)備之間的通信。
[0020] 在使用中,基于網(wǎng)絡(luò)流或分組流、沿著將網(wǎng)絡(luò)設(shè)備122進行互連的網(wǎng)絡(luò)通信路徑 124,在遠程計算設(shè)備102和計算設(shè)備130之間傳輸網(wǎng)絡(luò)分組。網(wǎng)絡(luò)流描述了從源到目的地的 分組集合或序列。通常,分組集合共享公共的屬性。網(wǎng)絡(luò)流由每個網(wǎng)絡(luò)設(shè)備122用來指示在 對接收到的網(wǎng)絡(luò)分組進行處理之后要將該網(wǎng)絡(luò)分組發(fā)送到何處(即,沿著哪些網(wǎng)絡(luò)通信路 徑124)。例如,網(wǎng)絡(luò)流可以包括諸如與特定的網(wǎng)絡(luò)流相對應(yīng)的流標識符和流元組(例如,源 IP地址、源端口號、目的地IP地址、目的地端口號以及協(xié)議)之類的信息。應(yīng)當意識到,網(wǎng)絡(luò) 流信息可以包括與特定的網(wǎng)絡(luò)流相對應(yīng)的任何其它類型的信息或信息的組合。
[0021] 網(wǎng)絡(luò)通信路徑124可以體現(xiàn)為能夠促進相應(yīng)設(shè)備之間的通信的任何類型的有線或 無線信號路徑。例如,網(wǎng)絡(luò)通信路徑可以體現(xiàn)為任意數(shù)量的電線、印刷電路板跡線、通孔總 線(via bus)、點對點互連、介于中間的設(shè)備等等。取決于例如遠程計算設(shè)備102、計算設(shè)備 130和網(wǎng)絡(luò)設(shè)備122的特定類型或配置,可以使用任何適當?shù)耐ㄐ艆f(xié)議(例如,TCP/IP)來實 現(xiàn)沿著網(wǎng)絡(luò)通信路徑124傳輸網(wǎng)絡(luò)分組。網(wǎng)絡(luò)設(shè)備122可以體現(xiàn)為能夠促進遠程計算設(shè)備 102和計算設(shè)備130之間的通信的任何類型的設(shè)備,例如,路由器、交換機等等。在一些實施 例中,例如在NFV架構(gòu)中,網(wǎng)絡(luò)設(shè)備122中的一個或多個網(wǎng)絡(luò)設(shè)備可以運行一個或多個虛擬 機(VM),以便用軟件來實現(xiàn)網(wǎng)絡(luò)設(shè)備122的物理網(wǎng)絡(luò)功能。換言之,可以對網(wǎng)絡(luò)設(shè)備122所執(zhí) 行的功能中的一些功能進行虛擬化。
[0022] 應(yīng)當意識到,對網(wǎng)絡(luò)通信路徑124的說明性的布置旨在指示存在供網(wǎng)絡(luò)分組在網(wǎng) 絡(luò)基礎(chǔ)設(shè)施120內(nèi)移動的多個選項(即,路由),并且不應(yīng)被解釋為對示例性網(wǎng)絡(luò)基礎(chǔ)設(shè)施 120的限制。例如,可以向從網(wǎng)絡(luò)設(shè)備122a移動到網(wǎng)絡(luò)設(shè)備122e的網(wǎng)絡(luò)分組分配直接從網(wǎng)絡(luò) 設(shè)備122a到網(wǎng)絡(luò)設(shè)備122e的網(wǎng)絡(luò)流。在另一個例子中,在某些情況下(例如,網(wǎng)絡(luò)設(shè)備122a 和網(wǎng)絡(luò)設(shè)備122e之間在網(wǎng)絡(luò)通信路徑124上的服務(wù)質(zhì)量(QoS)較差),可以向該相同的網(wǎng)絡(luò) 分組分配用于指示網(wǎng)絡(luò)設(shè)備122a將該網(wǎng)絡(luò)分組發(fā)送給網(wǎng)絡(luò)設(shè)備122b的網(wǎng)絡(luò)流,繼而可以向 網(wǎng)絡(luò)設(shè)備122b分配用于指示網(wǎng)絡(luò)設(shè)備122b進一步將該網(wǎng)絡(luò)分組發(fā)送給網(wǎng)絡(luò)設(shè)備122e的網(wǎng) 絡(luò)流。
[0023]網(wǎng)絡(luò)分組管理信息(例如,網(wǎng)絡(luò)流、與網(wǎng)絡(luò)分組類型相對應(yīng)的策略等等)由網(wǎng)絡(luò)應(yīng) 用114進行管理,并提供給在網(wǎng)絡(luò)控制設(shè)備110上運行的網(wǎng)絡(luò)控制器112。為了使網(wǎng)絡(luò)應(yīng)用 114有效地管理網(wǎng)絡(luò)分組管理信息,網(wǎng)絡(luò)控制器112向網(wǎng)絡(luò)應(yīng)用114提供網(wǎng)絡(luò)基礎(chǔ)設(shè)施120的 抽象。在一些實施例中,網(wǎng)絡(luò)控制器112可以基于與多個可用的網(wǎng)絡(luò)流相對應(yīng)的QoS或者與 網(wǎng)絡(luò)分組的特定工作負載類型相關(guān)聯(lián)的策略,來對網(wǎng)絡(luò)分組管理信息進行更新。例如,計算 設(shè)備130可以向遠程計算設(shè)備102發(fā)送請求,該請求用于請求遠程計算設(shè)備102提供視頻流 以便在計算設(shè)備130上回放。在接收到該請求之后,遠程計算設(shè)備102然后對該請求進行處 理并且向網(wǎng)絡(luò)設(shè)備122中的一個網(wǎng)絡(luò)設(shè)備提供網(wǎng)絡(luò)分組,其中該網(wǎng)絡(luò)分組包括與所請求的 視頻流的內(nèi)容相對應(yīng)的數(shù)據(jù)(即,有效載荷數(shù)據(jù)、開銷數(shù)據(jù)等等)。在進行接收的網(wǎng)絡(luò)設(shè)備 122處,對所接收到的網(wǎng)絡(luò)分組進行處理,該操作是在利用目標設(shè)備的標識信息來對經(jīng)處理 的網(wǎng)絡(luò)分組的報頭進行更新之前進行的,其中所述目標設(shè)備是將經(jīng)處理的網(wǎng)絡(luò)分組發(fā)送至 的目標設(shè)備。然后,進行接收的網(wǎng)絡(luò)設(shè)備122根據(jù)網(wǎng)絡(luò)控制器112所提供的網(wǎng)絡(luò)流,向目標設(shè) 備發(fā)送經(jīng)處理的網(wǎng)絡(luò)分組。取決于網(wǎng)絡(luò)基礎(chǔ)設(shè)施120中進行接收的網(wǎng)絡(luò)設(shè)備122駐留在何 處,目標設(shè)備可以是另一個網(wǎng)絡(luò)設(shè)備122或者發(fā)起請求的計算設(shè)備130。
[0024] 某些網(wǎng)絡(luò)基礎(chǔ)設(shè)施120(即,包括成千上萬或者更多網(wǎng)絡(luò)設(shè)備122的數(shù)據(jù)中心)可以 包含足夠大數(shù)量的網(wǎng)絡(luò)設(shè)備122,使得網(wǎng)絡(luò)控制器112所提供的網(wǎng)絡(luò)流的數(shù)量可能在數(shù)目上 太龐大,以至于不能存儲在網(wǎng)絡(luò)設(shè)備122的存儲設(shè)備的優(yōu)先層級中。另外,即使在較小的網(wǎng) 絡(luò)基礎(chǔ)設(shè)施120中,每個網(wǎng)絡(luò)設(shè)備122也可能承載(host)多個虛擬機(VM),從而進一步增加 了用于通過網(wǎng)絡(luò)基礎(chǔ)設(shè)施120來傳輸網(wǎng)絡(luò)分組的可能網(wǎng)絡(luò)流的數(shù)量。
[002