定義軟件定義網(wǎng)絡(luò)的網(wǎng)絡(luò)元件的查找表實(shí)現(xiàn)的方法和設(shè)備的制作方法
【專利摘要】本發(fā)明涉及定義軟件定義網(wǎng)絡(luò)的網(wǎng)絡(luò)元件的查找表實(shí)現(xiàn)的方法和設(shè)備。呈現(xiàn)了一種用于定義用于軟件定義網(wǎng)絡(luò)“SDN”的網(wǎng)絡(luò)元件的查找表的實(shí)現(xiàn)的方法和設(shè)備。網(wǎng)絡(luò)元件包括用于以兩種或更多種相互替換方式實(shí)現(xiàn)查找表的硬件。該方法包括基于a)可用于實(shí)現(xiàn)查找表的硬件,b)關(guān)于一個(gè)或多個(gè)查找鍵的信息,和c)下列中的至少一個(gè):查找表的條目的最大數(shù)目、連續(xù)查找之間的平均時(shí)間、查找表的連續(xù)修改之間的平均時(shí)間,選擇(301)相互替換方式的最佳或至少適合的一個(gè),以實(shí)現(xiàn)查找表。該方法使得能夠以用最佳或至少合適方式利用網(wǎng)絡(luò)元件的硬件資源的方式配置網(wǎng)絡(luò)元件。
【專利說(shuō)明】定義軟件定義網(wǎng)絡(luò)的網(wǎng)絡(luò)元件的查找表實(shí)現(xiàn)的方法和設(shè)備
【技術(shù)領(lǐng)域】
[0001]本發(fā)明通常涉及軟件定義網(wǎng)絡(luò)“SND”。更具體而言,本發(fā)明涉及一種用于定義用于軟件定義網(wǎng)絡(luò)的網(wǎng)絡(luò)元件的查找表的實(shí)現(xiàn)的方法、設(shè)備和計(jì)算機(jī)程序。此外,本發(fā)明涉及軟件定義網(wǎng)絡(luò)的網(wǎng)絡(luò)元件。
【背景技術(shù)】
[0002]軟件定義網(wǎng)絡(luò)是用于數(shù)據(jù)傳送網(wǎng)絡(luò)的新興架構(gòu)。在軟件定義網(wǎng)絡(luò)“SND”中,控制平面與數(shù)據(jù)平面分離,使得在可以與網(wǎng)絡(luò)元件分離的一個(gè)或多個(gè)控制器中實(shí)現(xiàn)控制平面,并且在網(wǎng)絡(luò)元件中實(shí)現(xiàn)數(shù)據(jù)平面。網(wǎng)絡(luò)元件可以是例如網(wǎng)際協(xié)議“IP”路由器、多協(xié)議標(biāo)簽交換“MPLS”節(jié)點(diǎn)、分組光交換機(jī)、和/或以太網(wǎng)交換機(jī)。每個(gè)網(wǎng)絡(luò)元件可以由單一裝置或多個(gè)裝置的組合構(gòu)成。典型的是,該軟件定義網(wǎng)絡(luò)允許交換和/或路由策略的快速試驗(yàn)和優(yōu)化,以及對(duì)于先前為封閉并且專有的網(wǎng)絡(luò)元件內(nèi)部的外部訪問(wèn)。
[0003]基于網(wǎng)絡(luò)的網(wǎng)際協(xié)議“IP”首先基于自主系統(tǒng)“AS”的概念建立。該概念允許網(wǎng)絡(luò)基于局部須知信息通過(guò)將分組轉(zhuǎn)發(fā)給合理的下一跳的連接接頭來(lái)縮放和擴(kuò)展。AS原理工作非常像傳統(tǒng)郵局服務(wù),其中給定城市的郵政工人不需要了解另一城市中所有街道的所有居住者,以便為手中的信件選擇合理的下一跳。聯(lián)網(wǎng)的該方法很簡(jiǎn)單,并且已經(jīng)證明有彈性且可擴(kuò)展。然而,該方法具有一些缺點(diǎn)。其不允許指定目的地或者具有家庭郵箱的住戶在不改變它們身份的情形下移動(dòng)如分組遞送服務(wù)所涉及的那么遠(yuǎn)。作為它們附加到的網(wǎng)絡(luò)接口的目的地拓?fù)湮恢?,指令與分組遞送服務(wù)相關(guān)的它們的身份。此外,僅使用基本AS原理,難以指定其他特質(zhì),諸如邏輯組、接入控制、服務(wù)質(zhì)量、中間網(wǎng)絡(luò)處理、或指定與形成流的分組序列相關(guān)的方面。
[0004]使用郵政服務(wù)的類比,軟件定義網(wǎng)絡(luò)針對(duì)任何所給街道位置工作,使得來(lái)自所有住戶的所有信件在軟件定義網(wǎng)絡(luò)邊緣上通過(guò)網(wǎng)絡(luò)元件首先聚集。該網(wǎng)絡(luò)元件被配置成使用全球查找機(jī)制來(lái)檢查用于每一個(gè)信件目的地的當(dāng)前位置?;谌虿檎液突谄渌蚨x和全球測(cè)量的考慮,諸如接入控制或遠(yuǎn)程位置負(fù)載狀態(tài),所述網(wǎng)絡(luò)元件將一個(gè)或多個(gè)原始信件放置在地址為作為當(dāng)前目的地的每個(gè)街道位置的額外信封內(nèi)。其然后使用如傳統(tǒng)的網(wǎng)際協(xié)議“IP”的正常郵政服務(wù),以得到遠(yuǎn)程位置的這些外封裝。這基于現(xiàn)有和可擴(kuò)展的逐跳轉(zhuǎn)發(fā)服務(wù)來(lái)完成。然后,所述外封裝通過(guò)遠(yuǎn)程網(wǎng)絡(luò)元件打開(kāi)并且原始信封被遞送到目的地。應(yīng)該注意的是,在軟件定義聯(lián)網(wǎng)和郵政服務(wù)之間的上述類比是非常簡(jiǎn)化的,并且其僅給出關(guān)于由軟件定義聯(lián)網(wǎng)提供的通用可能性的限制觀點(diǎn)。
[0005]然而,軟件定義網(wǎng)絡(luò)離不開(kāi)挑戰(zhàn)。一些挑戰(zhàn)涉及配置網(wǎng)絡(luò)元件,使得網(wǎng)絡(luò)元件時(shí)常能夠執(zhí)行以上說(shuō)明的任務(wù)并且使得網(wǎng)絡(luò)元件的資源以充分最佳方式被利用。配置網(wǎng)絡(luò)元件包括在網(wǎng)絡(luò)元件能夠作為軟件定義網(wǎng)絡(luò)的一部分操作的幫助下定義和實(shí)現(xiàn)一個(gè)或多個(gè)查找表。應(yīng)該實(shí)現(xiàn)每個(gè)查找表,使得以充分有效方式利用網(wǎng)絡(luò)元件的軟件資源。
【發(fā)明內(nèi)容】
[0006]下文呈現(xiàn)簡(jiǎn)化的
【發(fā)明內(nèi)容】
,以便提供對(duì)各種本發(fā)明實(shí)施例的一些方面的基本理解。該概要不是本發(fā)明的廣泛概述。它既不是旨在識(shí)別本發(fā)明的關(guān)鍵或重要元件,也不是描述本發(fā)明的范圍。下文的
【發(fā)明內(nèi)容】
僅以簡(jiǎn)化形式呈現(xiàn)本發(fā)明的一些概念,作為本發(fā)明的例示實(shí)施例的更加詳細(xì)描述的前序。
[0007]根據(jù)本發(fā)明,提供了一種用于定義用于軟件定義網(wǎng)絡(luò)的網(wǎng)絡(luò)元件的查找表的實(shí)現(xiàn)的新方法,其中網(wǎng)絡(luò)元件包括用于以兩種或更多種相互替換方式實(shí)現(xiàn)查找表的硬件。根據(jù)本發(fā)明的方法包括基于可用于實(shí)現(xiàn)查找表的硬件、一個(gè)或多個(gè)第一數(shù)據(jù)項(xiàng)、和一個(gè)或多個(gè)第二數(shù)據(jù)項(xiàng)來(lái)選擇兩種或更多種相互替換方式的最佳或至少合適的一種,以實(shí)現(xiàn)查找表,其中:
[0008]-一個(gè)或多個(gè)第一數(shù)據(jù)項(xiàng)提供關(guān)于查找表的一個(gè)或多個(gè)查找鍵的信息,以及
[0009]-一個(gè)或多個(gè)第二數(shù)據(jù)項(xiàng)指示下列中的至少一個(gè):查找表的條目的最大數(shù)目、從查找表的連續(xù)查找之間的平均時(shí)間、查找表的連續(xù)修改之間的平均時(shí)間。
[0010]用于定義查找表的實(shí)現(xiàn)的上述方法使得能夠以用最佳或至少適合方式利用網(wǎng)絡(luò)元件的硬件資源的方式來(lái)配置網(wǎng)絡(luò)元件。關(guān)于查找鍵的信息可以但不一定指示例如查找鍵的字段長(zhǎng)度和/或查找的類型,諸如例如虛擬本地訪問(wèn)網(wǎng)絡(luò)標(biāo)識(shí)符“VLAN-1D”、多協(xié)議標(biāo)簽交換“MPLS”標(biāo)簽值、網(wǎng)際協(xié)議目的地地址“ IP DA”、網(wǎng)際協(xié)議源地址“ IP DA”、以及以太網(wǎng)媒體訪問(wèn)控制“MAC”地址??梢岳缬帽忍鼗蜃止?jié)來(lái)表達(dá)字段長(zhǎng)度。例如,實(shí)現(xiàn)方式的選擇可以是使得查找鍵的這種短字段長(zhǎng)度和連續(xù)查找(即,高查找頻率)之間的較小平均時(shí)間,趨于促進(jìn)基于內(nèi)容存取存儲(chǔ)器“CAM”技術(shù)的實(shí)現(xiàn),而長(zhǎng)字段長(zhǎng)度和低查找頻率趨于促使基于檢索樹(shù)“trie”算法和隨機(jī)存取存儲(chǔ)器“RAM”技術(shù)的實(shí)現(xiàn)。又例如,結(jié)合基于內(nèi)容存取存儲(chǔ)器技術(shù)的實(shí)現(xiàn),查找表的“不考慮”鍵匹配比特位置的高相對(duì)部分可以被定義以促進(jìn)三進(jìn)制內(nèi)容存取存儲(chǔ)器“TCAM”技術(shù),而“不考慮”鍵匹配比特位置的低相對(duì)部分可以被定義,以促進(jìn)二進(jìn)制內(nèi)容存取存儲(chǔ)器技術(shù)。又例如,實(shí)現(xiàn)方式的選擇可以是使得一個(gè)或多個(gè)查找鍵的某些類型趨于促進(jìn)特定實(shí)現(xiàn)。例如,可能存在用于例如VLAN-1D查找鍵的專用硬件。
[0011]根據(jù)本發(fā)明,也提供了一種用于定義用于軟件定義網(wǎng)絡(luò)的網(wǎng)絡(luò)元件的查找表的實(shí)現(xiàn)的新設(shè)備,所述網(wǎng)絡(luò)元件包括用于以兩種或更多種相互替換方式實(shí)現(xiàn)查找表的硬件。根據(jù)本發(fā)明的設(shè)備包括處理系統(tǒng),該處理系統(tǒng)適于:
[0012]-接收提供關(guān)于查找表的一個(gè)或多個(gè)查找鍵的信息的一個(gè)或多個(gè)第一數(shù)據(jù)項(xiàng),
[0013]-接收一個(gè)或多個(gè)第二數(shù)據(jù)項(xiàng),所述一個(gè)或多個(gè)第二數(shù)據(jù)項(xiàng)指示下列中的一個(gè):查找表的條目的最大數(shù)目、從查找表的連續(xù)查找之間的平均時(shí)間、查找表的連續(xù)修改之間的平均時(shí)間,以及
[0014]-基于可用于實(shí)現(xiàn)查找表的硬件、一個(gè)或多個(gè)第一數(shù)據(jù)項(xiàng)、和一個(gè)或多個(gè)第二數(shù)據(jù)項(xiàng)來(lái)選擇兩種或更多種相互替換方式中的一種,以實(shí)現(xiàn)查找表。
[0015]根據(jù)本發(fā)明,也提供了一種用于軟件定義網(wǎng)絡(luò)的新網(wǎng)絡(luò)元件。所述網(wǎng)絡(luò)元件可以是例如網(wǎng)際協(xié)議“IP”路由器、多協(xié)議標(biāo)簽交換“MPLS”交換機(jī)、分組光交換機(jī)、和/或以太網(wǎng)交換機(jī)。網(wǎng)絡(luò)元件可以由單一裝置或多個(gè)裝置的組合構(gòu)成。此外,網(wǎng)絡(luò)元件可以具有模塊結(jié)構(gòu),使得其包括一個(gè)或多個(gè)行接口模塊和諸如控制模塊的一個(gè)或多個(gè)其他模塊。根據(jù)本發(fā)明的網(wǎng)絡(luò)元件包括:
[0016]-數(shù)據(jù)傳送接口,所述數(shù)據(jù)傳送接口用于接收數(shù)據(jù)和用于發(fā)射數(shù)據(jù),接收到的數(shù)據(jù)指定要在網(wǎng)絡(luò)元件中實(shí)現(xiàn)的查找表,
[0017]-用于以兩種或更多種相互替換方式實(shí)現(xiàn)查找表的硬件,以及
[0018]-根據(jù)用于定義查找表的實(shí)現(xiàn)的本發(fā)明的設(shè)備。
[0019]根據(jù)本發(fā)明,也提供了一種新軟件定義網(wǎng)絡(luò),該新軟件定義網(wǎng)絡(luò)包括根據(jù)本發(fā)明的一個(gè)或多個(gè)網(wǎng)絡(luò)元件和用于配置一個(gè)或多個(gè)網(wǎng)絡(luò)元件的控制器系統(tǒng)。應(yīng)該注意的是,控制器系統(tǒng)或其一個(gè)或多個(gè)部件也可以用作一個(gè)或多個(gè)網(wǎng)絡(luò)元件,所述一個(gè)或多個(gè)網(wǎng)絡(luò)元件可以是例如網(wǎng)際協(xié)議“IP “路由器、多協(xié)議標(biāo)簽交換“MPLS”節(jié)點(diǎn)、分組光交換機(jī)、和/或以太網(wǎng)交換機(jī)。
[0020]根據(jù)本發(fā)明,也提供了一種用于定義用于軟件定義網(wǎng)絡(luò)的網(wǎng)絡(luò)元件的查找表的實(shí)現(xiàn)的新計(jì)算機(jī)程序,網(wǎng)絡(luò)元件包括用于以兩種或更多種相互替換方式實(shí)現(xiàn)查找表的硬件。根據(jù)本發(fā)明的計(jì)算機(jī)程序包括計(jì)算機(jī)可執(zhí)行指令,該計(jì)算機(jī)可執(zhí)行指令用于控制可編程處理系統(tǒng),以基于可用于實(shí)現(xiàn)查找表的硬件、一個(gè)或多個(gè)第一數(shù)據(jù)項(xiàng)、和一個(gè)或多個(gè)第二數(shù)據(jù)項(xiàng)來(lái)選擇兩種或更多種相互替換方式中的一種,以實(shí)現(xiàn)查找表,其中
[0021]-一個(gè)或多個(gè)第一數(shù)據(jù)項(xiàng)提供關(guān)于查找表的一個(gè)或多個(gè)查找鍵的信息,以及
[0022]-一個(gè)或多個(gè)第二數(shù)據(jù)項(xiàng)指示下列中的至少一個(gè):查找表的條目的最大數(shù)目、從查找表的連續(xù)查找之間的平均時(shí)間、查找表的連續(xù)修改之間的平均時(shí)間。
[0023]根據(jù)本發(fā)明,也提供了一種新計(jì)算機(jī)程序產(chǎn)品。該計(jì)算機(jī)程序產(chǎn)品包括利用根據(jù)本發(fā)明的計(jì)算機(jī)程序編碼的非易失性計(jì)算機(jī)可讀介質(zhì),例如光盤(pán)“CD”。
[0024]在隨附從屬權(quán)利要求中描述了本發(fā)明的多個(gè)例示和非限制性實(shí)施例。
[0025]當(dāng)結(jié)合附圖閱讀時(shí),根據(jù)特定例示實(shí)施例的下文描述,將更好地理解關(guān)于構(gòu)造和操作方法的本發(fā)明的各種例示和非限制性實(shí)施例和其額外的方面和優(yōu)勢(shì)。
[0026]動(dòng)詞“包含”和“包括”在該文檔中用作開(kāi)放性限定,其既不排除也不要求未敘述特征的存在。除非另有明確說(shuō)明,在隨附的從屬權(quán)利要求中所敘述的這些特征可以互相自由組合。
【專利附圖】
【附圖說(shuō)明】
[0027]下文將參考附圖更加詳細(xì)地解釋本發(fā)明的例示和非限制性實(shí)施例和它們的優(yōu)勢(shì),在附圖中:
[0028]圖1示出根據(jù)本發(fā)明的示例性實(shí)施例的軟件定義網(wǎng)絡(luò)的示意圖,
[0029]圖2示出根據(jù)本發(fā)明的示例性實(shí)施例的網(wǎng)絡(luò)元件的示意圖,以及
[0030]圖3示出根據(jù)本發(fā)明的示例性實(shí)施例的用于配置軟件定義網(wǎng)絡(luò)的網(wǎng)絡(luò)元件的方法的流程圖。
【具體實(shí)施方式】
[0031]圖1示出根據(jù)本發(fā)明的示例性實(shí)施例的軟件定義網(wǎng)絡(luò)“SDN” 100的示意圖。軟件定義網(wǎng)絡(luò)包括網(wǎng)絡(luò)元件101、102、103和104以及控制器系統(tǒng)105。該示例性軟件定義網(wǎng)絡(luò)的網(wǎng)絡(luò)元件101-104與圖1中示出的數(shù)據(jù)傳送鏈路相互地互連。此外,示例性軟件定義網(wǎng)絡(luò)“SDN” 100可以包括在圖1中未示出的其他網(wǎng)絡(luò)元件。每個(gè)網(wǎng)絡(luò)元件可以是例如網(wǎng)際協(xié)議“IP”路由器、多協(xié)議標(biāo)簽交換“MPLS1點(diǎn)、分組光交換機(jī)、和/或以太網(wǎng)交換機(jī)。每個(gè)網(wǎng)絡(luò)元件可以由單一裝置或多個(gè)裝置的組合構(gòu)成??刂破飨到y(tǒng)105也可以由單一裝置或多個(gè)裝置的組合構(gòu)成。在圖1中示出的示例性情形下,控制器系統(tǒng)105包括兩個(gè)互連裝置。終端設(shè)備107被連接到控制器系統(tǒng)105,并且網(wǎng)絡(luò)元件102用作可以是例如全球互聯(lián)網(wǎng)的外部網(wǎng)絡(luò)106的網(wǎng)關(guān)??刂破飨到y(tǒng)105包括數(shù)據(jù)傳送接口,該數(shù)據(jù)傳送接口用于從終端設(shè)備107和/或從與該控制系統(tǒng)的數(shù)據(jù)傳送接口的數(shù)據(jù)傳送鏈路連接的一個(gè)或多個(gè)其他設(shè)備接收數(shù)據(jù)。應(yīng)該注意的是,控制器系統(tǒng)105或其一個(gè)或多個(gè)部件也可以用作一個(gè)或多個(gè)網(wǎng)絡(luò)元件,其可以是例如網(wǎng)際協(xié)議“IP”路由器、多協(xié)議標(biāo)簽交換“MPLS”節(jié)點(diǎn)、分組光交換機(jī)、和/或以太網(wǎng)交換機(jī)。
[0032]每個(gè)網(wǎng)絡(luò)元件101-104包括控制處理器部和數(shù)據(jù)轉(zhuǎn)發(fā)部,控制處理部用于維持包括定義與管理數(shù)據(jù)幀將連同執(zhí)行的動(dòng)作的至少一個(gè)查找系統(tǒng)表的查找系統(tǒng),數(shù)據(jù)轉(zhuǎn)發(fā)部用于根據(jù)查找系統(tǒng)來(lái)管理數(shù)據(jù)幀。查找系統(tǒng)的至少一個(gè)查找表可以但是不一定包括例如一個(gè)或多個(gè)連續(xù)流表和根據(jù)該OpenFlow規(guī)范的一組表。OpenFlow可以由開(kāi)放聯(lián)網(wǎng)基金會(huì)“0NF”管理。在使用OpenFlow的示例性情形下,網(wǎng)絡(luò)元件中的每個(gè)流表包含一組流條目。每個(gè)流條目可以由匹配字段、計(jì)數(shù)器和被應(yīng)用以與數(shù)據(jù)幀匹配的一組動(dòng)作構(gòu)成。匹配典型地在第一流表開(kāi)始并且可以繼續(xù)額外的流表。流條目可以被排列成優(yōu)先級(jí)順序,并且每個(gè)表中的第一匹配條目是正被使用的那個(gè)。如果發(fā)現(xiàn)匹配流條目,則與特定流條目相關(guān)聯(lián)的一個(gè)或多個(gè)動(dòng)作被執(zhí)行。如果在流表中沒(méi)有發(fā)現(xiàn)匹配,則可以將數(shù)據(jù)幀通過(guò)考慮的網(wǎng)絡(luò)元件和控制器系統(tǒng)105之間的OpenFlow信道轉(zhuǎn)發(fā)到控制器系統(tǒng)105,該數(shù)據(jù)幀可以被丟棄,或者該數(shù)據(jù)幀可以繼續(xù)下一流表或者組表。與每個(gè)流條目相關(guān)聯(lián)的動(dòng)作可以包括例如數(shù)據(jù)幀轉(zhuǎn)發(fā)、數(shù)據(jù)幀修正、組表處理和流水線處理。流水線處理動(dòng)作允許將數(shù)據(jù)幀發(fā)送到后續(xù)流表以用于進(jìn)一步處理,并且允許元數(shù)據(jù)形式的信息在流表之間通信。當(dāng)與匹配流條目相關(guān)聯(lián)的一個(gè)或多個(gè)動(dòng)作不指定下一表時(shí),表流水線處理停止。此時(shí),考慮的數(shù)據(jù)幀通常被修正和轉(zhuǎn)發(fā)。組表處理動(dòng)作允許將數(shù)據(jù)幀發(fā)送到組表以用于進(jìn)一步處理并且允許元數(shù)據(jù)的形式的信息被通信到該組表。該組表包含組條目,其中每個(gè)組條目可以包含針對(duì)被定義為屬于特定組的數(shù)據(jù)幀的動(dòng)作的列表。
[0033]控制器系統(tǒng)105適于將配置數(shù)據(jù)發(fā)送到網(wǎng)絡(luò)元件101-104的每個(gè),配置數(shù)據(jù)包括用于配置考慮的網(wǎng)絡(luò)元件的數(shù)據(jù)項(xiàng)以根據(jù)例如用于配置網(wǎng)絡(luò)元件的OpenFlow的協(xié)議所定義的動(dòng)作的預(yù)定聚集來(lái)維持查找系統(tǒng)。此外,配置數(shù)據(jù)可以包括一個(gè)或多個(gè)配置程序,每個(gè)配置程序包括定義將結(jié)合考慮的網(wǎng)絡(luò)元件中管理數(shù)據(jù)幀來(lái)執(zhí)行動(dòng)作或一連串動(dòng)作的一個(gè)或多個(gè)計(jì)算機(jī)可執(zhí)行指令。網(wǎng)絡(luò)元件101-104的每個(gè)的控制處理器部可以適于將每個(gè)配置程序與查找系統(tǒng)的一個(gè)或多個(gè)查找表相關(guān)聯(lián),使得在查找系統(tǒng)的幫助下結(jié)合管理數(shù)據(jù)幀可調(diào)用(callable)執(zhí)行該配置程序。網(wǎng)絡(luò)元件101-104的每個(gè)的數(shù)據(jù)轉(zhuǎn)發(fā)部可以適于,響應(yīng)于其中管理特定數(shù)據(jù)幀包括執(zhí)行配置程序的命令的情形,執(zhí)行通過(guò)配置程序定義的動(dòng)作或一系列動(dòng)作。通過(guò)配置程序所定義的動(dòng)作或一系列動(dòng)作可以包括例如:從數(shù)據(jù)幀讀取數(shù)據(jù)、修正數(shù)據(jù)幀、選擇網(wǎng)絡(luò)元件的一個(gè)或多個(gè)出端口和將數(shù)據(jù)幀和它的可能復(fù)制轉(zhuǎn)發(fā)到選擇的一個(gè)或多個(gè)出端口、選擇查找系統(tǒng)的查找表之一并且從選擇的查找表執(zhí)行查找、執(zhí)行算術(shù)運(yùn)算、分支操作、執(zhí)行邏輯運(yùn)算、讀取與數(shù)據(jù)幀相關(guān)聯(lián)的元數(shù)據(jù)、寫(xiě)入與數(shù)據(jù)幀相關(guān)聯(lián)的元數(shù)據(jù)、修正與數(shù)據(jù)幀相關(guān)聯(lián)的元數(shù)據(jù)、丟棄數(shù)據(jù)幀、和/或復(fù)制數(shù)據(jù)幀。
[0034]網(wǎng)絡(luò)元件101-104的至少一個(gè)包括用于以兩種或更多種相互替換方式實(shí)現(xiàn)屬于網(wǎng)絡(luò)元件的查找系統(tǒng)的至少一個(gè)查找表的硬件。該硬件可以包括例如:網(wǎng)絡(luò)元件的數(shù)據(jù)轉(zhuǎn)發(fā)部、網(wǎng)絡(luò)元件的一個(gè)或多個(gè)隨機(jī)存取存儲(chǔ)器“RAM”、網(wǎng)絡(luò)元件的一個(gè)或多個(gè)二進(jìn)制內(nèi)容存取存儲(chǔ)器“CAM”、網(wǎng)絡(luò)元件的一個(gè)或多個(gè)三進(jìn)制內(nèi)容存取存儲(chǔ)器“TCAM”、和/或網(wǎng)絡(luò)元件的一個(gè)或多個(gè)存儲(chǔ)器總線。網(wǎng)絡(luò)元件適于基于a)可用于實(shí)現(xiàn)查找表的硬件,b)關(guān)于一個(gè)或多個(gè)查找鍵的信息,例如一個(gè)或多個(gè)查找鍵的一個(gè)字段長(zhǎng)度或多個(gè)字段長(zhǎng)度,以及c)下列中的至少一個(gè):查找表的條目的最大數(shù)目、連續(xù)查找之間的平均時(shí)間、查找表的連續(xù)修改之間的平均時(shí)間,選擇相互替換方式的最佳或至少適合的一個(gè),以實(shí)現(xiàn)查找表。上述選擇的目的是以最佳或至少合適的方式利用網(wǎng)絡(luò)元件的硬件資源。例如,一個(gè)或多個(gè)查找鍵的一個(gè)短字段長(zhǎng)度或多個(gè)短字段長(zhǎng)度和連續(xù)查找(即高查找頻率)之間的小平均時(shí)間趨于促進(jìn)基于內(nèi)容存取存儲(chǔ)器技術(shù)的實(shí)現(xiàn),而長(zhǎng)字段長(zhǎng)度和低查找頻率趨于促進(jìn)基于檢索樹(shù)“trie”算法和隨機(jī)存取存儲(chǔ)器“RAM”技術(shù)的實(shí)現(xiàn)。結(jié)合基于內(nèi)容存取存儲(chǔ)器技術(shù)的實(shí)現(xiàn),查找表的“不考慮”鍵匹配比特位置的高相對(duì)部分趨于促進(jìn)三進(jìn)制內(nèi)容存取存儲(chǔ)器”TCAM “技術(shù),而“不考慮”鍵匹配比特位置的低相對(duì)部分趨于促進(jìn)二進(jìn)制內(nèi)容存取存儲(chǔ)器技術(shù)。
[0035]上述網(wǎng)絡(luò)元件可以適于計(jì)算例如一個(gè)或多個(gè)查找鍵的一個(gè)或多個(gè)字段長(zhǎng)度的加權(quán)和,以及下列中的至少一個(gè):查找表的條目的最大數(shù)目、連續(xù)查找之間的平均時(shí)間、和/或查找表的連續(xù)修改之間的平均時(shí)間。加權(quán)和中的加權(quán)優(yōu)選為非負(fù)數(shù)。網(wǎng)絡(luò)元件可以適于將加權(quán)和與第一閾值進(jìn)行比較,以便在基于內(nèi)容存取存儲(chǔ)器技術(shù)的實(shí)現(xiàn)和基于檢索樹(shù)算法和隨機(jī)存取存儲(chǔ)器技術(shù)的實(shí)現(xiàn)之間進(jìn)行選擇。有利地,當(dāng)加權(quán)和低于第一閾值時(shí),選擇基于內(nèi)容存取存儲(chǔ)器技術(shù)的實(shí)現(xiàn),否則選擇基于檢索樹(shù)算法和隨機(jī)存取存儲(chǔ)器技術(shù)的實(shí)現(xiàn)。此夕卜,網(wǎng)絡(luò)元件可以適于,當(dāng)?shù)谝贿x擇已經(jīng)導(dǎo)致基于內(nèi)容存取存儲(chǔ)器技術(shù)的實(shí)現(xiàn)時(shí)在二進(jìn)制內(nèi)容存取存儲(chǔ)器技術(shù)和三進(jìn)制內(nèi)容存取存儲(chǔ)器技術(shù)之間進(jìn)行進(jìn)一步選擇。例如,網(wǎng)絡(luò)元件可以適于將第二閾值與查找表的“不考慮”鍵匹配比特位置的數(shù)目和查找表的所有鍵匹配比特位置的數(shù)目之比進(jìn)行比較,以便在二進(jìn)制內(nèi)容存取存儲(chǔ)器技術(shù)和三進(jìn)制內(nèi)容存取存儲(chǔ)器技術(shù)之間進(jìn)行選擇。有利地,當(dāng)上述比超過(guò)第二閾值時(shí),選擇基于三進(jìn)制內(nèi)容存取存儲(chǔ)器技術(shù)的實(shí)現(xiàn),因?yàn)槊總€(gè)“不考慮”鍵匹配比特位置將需要二進(jìn)制內(nèi)容存取存儲(chǔ)器中的兩行,以便覆蓋可允許的替換,即“不考慮”鍵匹配比特位置的“I”和“O”。另一方面,三進(jìn)制內(nèi)容存取存儲(chǔ)器比二進(jìn)制內(nèi)容存取存儲(chǔ)器更貴,因此如果較之所有鍵匹配比特位置的數(shù)目,“不考慮”鍵匹配比特位置的相對(duì)數(shù)目較小,則使用二進(jìn)制內(nèi)容存取存儲(chǔ)器更有利。也可以在基于三進(jìn)制內(nèi)容存取存儲(chǔ)器技術(shù)的實(shí)現(xiàn)和基于檢索樹(shù)算法和隨機(jī)存取存儲(chǔ)器技術(shù)的實(shí)現(xiàn)之間的選擇中,使用“不考慮”鍵匹配比特位置的數(shù)目,使得“不考慮”鍵匹配比特位置的高相對(duì)數(shù)目趨于促進(jìn)三進(jìn)制內(nèi)容存取存儲(chǔ)器。
[0036]在通常情形下,上述網(wǎng)絡(luò)元件的查找系統(tǒng)可以包括多于一個(gè)查找表。網(wǎng)絡(luò)元件可以適于暫時(shí)連續(xù)地定義兩種或更多種查找表的實(shí)現(xiàn)。網(wǎng)絡(luò)元件可以適于在定義不是要實(shí)現(xiàn)的最后一個(gè)的每個(gè)查找表的實(shí)現(xiàn)之后,確定保持自由用于實(shí)現(xiàn)隨后要實(shí)現(xiàn)的一個(gè)或多個(gè)查找表的硬件。此外,網(wǎng)絡(luò)元件可以適于基于a)可用于實(shí)現(xiàn)該查找表的硬件,b)關(guān)于與該查找表相關(guān)的一個(gè)或多個(gè)查找鍵的信息,例如一個(gè)或多個(gè)查找鍵的一個(gè)字段長(zhǎng)度或多個(gè)字段長(zhǎng)度,以及c)下列中的至少一個(gè):該查找表的條目的最大數(shù)目、從該查找表的連續(xù)查找之間的平均時(shí)間、該查找表的連續(xù)修改之間的平均時(shí)間,選擇每個(gè)查找表的實(shí)現(xiàn)。例如,以上述方式可以定義查找系統(tǒng)的查找表的實(shí)現(xiàn),使得以大小降序的順序來(lái)處理查找表,即最大查找表的實(shí)現(xiàn)被定義為第一。也可以使用用于查找表的不同定義順序來(lái)獲得相互不同替換查找系統(tǒng)實(shí)現(xiàn)并且選擇替換查找系統(tǒng)實(shí)現(xiàn)中的最有利的一個(gè)。當(dāng)將不同查找系統(tǒng)實(shí)現(xiàn)彼此比較時(shí),查找系統(tǒng)的特征可以是,例如當(dāng)運(yùn)行與考慮的查找系統(tǒng)相關(guān)的操作時(shí)資源消耗估計(jì)指示考慮的網(wǎng)絡(luò)元件的至少一個(gè)組件的載荷因子。網(wǎng)絡(luò)元件的至少一個(gè)組件可以包括例如網(wǎng)絡(luò)元件的數(shù)據(jù)轉(zhuǎn)發(fā)部、網(wǎng)絡(luò)元件的控制處理器部、網(wǎng)絡(luò)元件的一個(gè)或多個(gè)隨機(jī)存取存儲(chǔ)器“RAM”、網(wǎng)絡(luò)元件的一個(gè)或多個(gè)二進(jìn)制內(nèi)容存取存儲(chǔ)器“CAM”、網(wǎng)絡(luò)元件的一個(gè)或多個(gè)三進(jìn)制內(nèi)容存取存儲(chǔ)器“TCAM”、和/或網(wǎng)絡(luò)元件的一個(gè)或多個(gè)存儲(chǔ)器總線。
[0037]考慮的查找系統(tǒng)實(shí)現(xiàn)的每個(gè)查找表可以與查找表特定資源消耗估計(jì)相關(guān)聯(lián),查找表特定資源消耗估計(jì)可以包括例如,當(dāng)運(yùn)行考慮的查找表時(shí)指示網(wǎng)絡(luò)元件的一個(gè)或多個(gè)組件的載荷因子的一個(gè)或多個(gè)數(shù)值。例如,當(dāng)運(yùn)行與利用內(nèi)容存取存儲(chǔ)器實(shí)現(xiàn)的第一示例性查找表相關(guān)的操作時(shí),網(wǎng)絡(luò)元件的數(shù)據(jù)轉(zhuǎn)發(fā)部的載荷因子可以是例如處理容量的50%,網(wǎng)絡(luò)元件的隨機(jī)存取存儲(chǔ)器“RAM”的載荷因子是零,網(wǎng)絡(luò)元件的內(nèi)容存取存儲(chǔ)器的載荷因子可以是例如存儲(chǔ)器容量的45%,并且存儲(chǔ)器總線的載荷因子可以是例如它們的傳送容量的45%。相應(yīng)地,當(dāng)運(yùn)行與具有算法實(shí)現(xiàn)的第二示例性查找表的操作時(shí),網(wǎng)絡(luò)元件的數(shù)據(jù)轉(zhuǎn)發(fā)部的載荷因子可以是例如46%,網(wǎng)絡(luò)元件的隨機(jī)存取存儲(chǔ)器“RAM”的載荷因子可以是例如38%,網(wǎng)絡(luò)元件的內(nèi)容存取存儲(chǔ)器的載荷因子是零,并且存儲(chǔ)器總線的載荷因子可以是例如25%。因此,用于第一和第二示例性查找表的查找表特定資源消耗估計(jì)分別是下列矢量:[50%, O, 45%, 45%]和[46%,38%, O, 25%]。在該示例性情形下,由上述第一和第二示例性查找表組成的查找系統(tǒng)實(shí)現(xiàn)的資源消耗估計(jì)可以是[96%,38%, 45%, 70%]。如果這些數(shù)值的任何一個(gè)超過(guò)100%,則考慮的網(wǎng)絡(luò)元件將不能夠運(yùn)行考慮的查找系統(tǒng)實(shí)現(xiàn)。在該情形下,應(yīng)當(dāng)為網(wǎng)絡(luò)元件定義不同查找系統(tǒng)實(shí)現(xiàn)。用于選擇不同查找系統(tǒng)實(shí)現(xiàn)中的一個(gè)的準(zhǔn)則是,例如使得構(gòu)成查找系統(tǒng)實(shí)現(xiàn)的資源消耗估計(jì)的數(shù)值的最大一個(gè)應(yīng)盡可能的小,以便避免網(wǎng)絡(luò)元件操作中的不利瓶頸。
[0038]考慮的網(wǎng)絡(luò)元件可以適于將查找系統(tǒng)實(shí)現(xiàn)的資源消耗估計(jì)發(fā)送到控制器系統(tǒng)105,以便使得控制器系統(tǒng)105將軟件定義網(wǎng)絡(luò)100整體優(yōu)化。例如,控制器系統(tǒng)105可以適于配置軟件定義網(wǎng)絡(luò)100的路由拓?fù)洌沟卯?dāng)網(wǎng)絡(luò)元件的查找系統(tǒng)實(shí)現(xiàn)的資源消耗估計(jì)表明網(wǎng)絡(luò)元件的更低載荷比當(dāng)查找系統(tǒng)實(shí)現(xiàn)的資源消耗估計(jì)表明網(wǎng)絡(luò)元件的更高載荷,更多的數(shù)據(jù)通信負(fù)載被分配到考慮的網(wǎng)絡(luò)元件。網(wǎng)絡(luò)元件可以具有模塊結(jié)構(gòu),使得其包括諸如入模塊和出模塊的一個(gè)或多個(gè)行接口模塊和諸如控制模塊和/或電源模塊的一個(gè)或多個(gè)其他模塊。在該情形下,可以存在每個(gè)網(wǎng)絡(luò)元件多于一個(gè)資源消耗估計(jì),并且每個(gè)資源消耗估計(jì)可以通過(guò)模塊指示符提供,模塊指示符表達(dá)通過(guò)資源消耗估計(jì)指示其載荷的模塊。模塊指示符可以表達(dá)獨(dú)立模塊或僅一種類型的模塊,諸如入模塊、出模塊、或與網(wǎng)絡(luò)元件的整個(gè)控制相關(guān)的模塊。在例如一個(gè)或多個(gè)行接口模塊存在超載風(fēng)險(xiǎn)而網(wǎng)絡(luò)元件的其他部件仍在資源消耗具有優(yōu)勢(shì)的情形下,當(dāng)軟件定義網(wǎng)絡(luò)100的路由拓?fù)渥顑?yōu)化時(shí),可以利用模塊指示符。
[0039]圖2示出根據(jù)本發(fā)明的示例性實(shí)施例的網(wǎng)絡(luò)元件201的示意圖示。網(wǎng)絡(luò)元件可以是例如網(wǎng)際協(xié)議“IP”路由器、多協(xié)議標(biāo)簽交換“MPLS”交換機(jī)、分組光交換機(jī)、和/或以太網(wǎng)交換機(jī)。在該示例性情形下,網(wǎng)絡(luò)原件是單一裝置,但是如本文檔中上文所述,網(wǎng)絡(luò)元件也可以是多個(gè)裝置的組合。網(wǎng)絡(luò)元件包括用于接收數(shù)據(jù)和用于發(fā)射數(shù)據(jù)的數(shù)據(jù)傳送接口211。數(shù)據(jù)傳送接口 211包括入端口 214和215和出端口 216和217,以用于經(jīng)由數(shù)據(jù)傳送鏈路連接到數(shù)據(jù)傳送網(wǎng)絡(luò)220。網(wǎng)絡(luò)元件201包括處理器系統(tǒng)210,處理器系統(tǒng)210包括控制處理器部213和數(shù)據(jù)轉(zhuǎn)發(fā)部212。網(wǎng)絡(luò)元件包括用于以兩種或更多種相互替換方式實(shí)現(xiàn)查找表的硬件218,其中,查找表通過(guò)在網(wǎng)絡(luò)元件接收到的數(shù)據(jù)指定。在該示例性情形下,硬件218包括數(shù)據(jù)轉(zhuǎn)發(fā)部212、三進(jìn)制內(nèi)容存取存儲(chǔ)器“TCAM” 221、二進(jìn)制內(nèi)容存取存儲(chǔ)器“CAM” 222、以及隨機(jī)存取存儲(chǔ)器“RAM” 223。網(wǎng)絡(luò)元件包括用于定義查找表的實(shí)現(xiàn)的設(shè)備209。設(shè)備包括用于基于a)可用于實(shí)現(xiàn)查找表的硬件,b)關(guān)于一個(gè)或多個(gè)查找鍵的信息,例如一個(gè)或多個(gè)查找鍵的一個(gè)字段長(zhǎng)度或多個(gè)字段長(zhǎng)度,和c)下列中的至少一個(gè):查找表的條目的最大數(shù)目、連續(xù)查找之間的平均時(shí)間、查找表的連續(xù)修改之間的平均時(shí)間,選擇相互替換方式的最佳或至少適合的一個(gè),以實(shí)現(xiàn)查找表的裝置。在圖2中示出的示例性情形下,利用代表控制處理器部213或控制處理器部的部分的處理系統(tǒng)224,實(shí)現(xiàn)上述裝置。控制處理器部213適于配置硬件218以實(shí)現(xiàn)查找表,并且數(shù)據(jù)轉(zhuǎn)發(fā)部312適于根據(jù)查找表管理數(shù)據(jù)幀。[0040]在根據(jù)本發(fā)明的示例性實(shí)施例的網(wǎng)絡(luò)元件中,設(shè)備209的處理系統(tǒng)224適于計(jì)算一個(gè)或多個(gè)查找鍵的一個(gè)或多個(gè)字段長(zhǎng)度的加權(quán)和,以及下列中的至少一個(gè):查找表的條目的最大數(shù)目、連續(xù)查找之間的平均時(shí)間、查找表的連續(xù)修改之間的平均時(shí)間。處理系統(tǒng)224適于將加權(quán)和與第一閾值進(jìn)行比較,以便在基于內(nèi)容存取存儲(chǔ)器技術(shù)的實(shí)現(xiàn)和基于檢索樹(shù)算法和隨機(jī)存取存儲(chǔ)器技術(shù)的實(shí)現(xiàn)之間進(jìn)行選擇。
[0041]在根據(jù)本發(fā)明的示例性實(shí)施例的網(wǎng)絡(luò)元件中,設(shè)備209的處理系統(tǒng)224適于將第二閾值與數(shù)據(jù)項(xiàng)進(jìn)行比較,該數(shù)據(jù)項(xiàng)指示查找表的“不考慮”鍵匹配比特位置的數(shù)目和查找表的所有鍵匹配比特位置的數(shù)目之比,以便在基于二進(jìn)制內(nèi)容存取存儲(chǔ)器技術(shù)的實(shí)現(xiàn)和基于三進(jìn)制內(nèi)容存取存儲(chǔ)器技術(shù)的實(shí)現(xiàn)之間進(jìn)行選擇。
[0042]在根據(jù)本發(fā)明的示例性實(shí)施例的網(wǎng)絡(luò)元件中,設(shè)備209的處理器系統(tǒng)224適于基于a)可用于實(shí)現(xiàn)另一查找表的硬件,b)關(guān)于一個(gè)或多個(gè)查找鍵的信息,例如與另一查找表相關(guān)的一個(gè)或多個(gè)查找鍵的一個(gè)字段長(zhǎng)度或多個(gè)字段長(zhǎng)度,以及c)下列中的至少一個(gè)--另一查找表的條目的最大數(shù)目、從另一查找表的連續(xù)查找之間的平均時(shí)間、另一查找表的連續(xù)修改之間的平均時(shí)間,確定用于在上文提及的查找表實(shí)現(xiàn)之后保持自由用于實(shí)現(xiàn)另一查找表的硬件,并且選擇兩種或更多種相互替換方式中的一種,以實(shí)現(xiàn)另一查找表。
[0043]圖2中示出的網(wǎng)絡(luò)元件的處理系統(tǒng)210可以利用一個(gè)或多個(gè)處理器電路來(lái)實(shí)現(xiàn),每個(gè)處理器電路可以是設(shè)置有適當(dāng)軟件的可編程處理器電路、諸如例如專用集成電路“ASIC”的專用硬件處理器、或諸如例如現(xiàn)場(chǎng)可編程門(mén)陣列“FPGA”的可配置硬件處理器。
[0044]圖3示出根據(jù)用于定義用于軟件定義網(wǎng)絡(luò)的網(wǎng)絡(luò)元件的查找系統(tǒng)的實(shí)現(xiàn)的本發(fā)明的示例性實(shí)施例的方法的流程圖,其中,網(wǎng)絡(luò)元件包括用于以兩種或更多種相互替換方式實(shí)現(xiàn)查找表的硬件。該方法包括動(dòng)作301,基于可用于實(shí)現(xiàn)查找表的硬件、一個(gè)或多個(gè)第一數(shù)據(jù)項(xiàng)、和一個(gè)或多個(gè)第二數(shù)據(jù)項(xiàng)來(lái)選擇兩種或更多種相互替換方式的最佳或至少適合的一種,以實(shí)現(xiàn)查找表,其中:
[0045]-一個(gè)或多個(gè)第一數(shù)據(jù)項(xiàng)提供關(guān)于查找表的一個(gè)或多個(gè)查找鍵的信息,以及
[0046]-一個(gè)或多個(gè)第二數(shù)據(jù)項(xiàng)指示下列中的至少一個(gè):查找表的條目的最大數(shù)目、從查找表的連續(xù)查找之間的平均時(shí)間、查找表的連續(xù)修改之間的平均時(shí)間。[0047]根據(jù)本發(fā)明的示例性實(shí)施例的方法包括:計(jì)算一個(gè)或多個(gè)第一數(shù)據(jù)項(xiàng)和一個(gè)或多個(gè)第二數(shù)據(jù)項(xiàng)的加權(quán)和,并且將加權(quán)和與第一閾值進(jìn)行比較,以便在基于內(nèi)容存取存儲(chǔ)器技術(shù)的實(shí)現(xiàn)和基于檢索樹(shù)算法和隨機(jī)存取存儲(chǔ)器技術(shù)的實(shí)現(xiàn)之間進(jìn)行選擇。
[0048]根據(jù)本發(fā)明的示例性實(shí)施例的方法包括:將第二閾值與第三數(shù)據(jù)項(xiàng)進(jìn)行比較,第三數(shù)據(jù)項(xiàng)指示查找表的“不考慮”鍵匹配比特位置的數(shù)目和查找表的所有鍵匹配比特位置的數(shù)目之比,以便在基于二進(jìn)制內(nèi)容存取存儲(chǔ)器技術(shù)的實(shí)現(xiàn)和基于三進(jìn)制內(nèi)容存取存儲(chǔ)器技術(shù)的實(shí)現(xiàn)之間進(jìn)行選擇。
[0049]根據(jù)本發(fā)明的示例性實(shí)施例的方法包括:基于可用于實(shí)現(xiàn)另一查找表的硬件以及與另一查找表相關(guān)并且指示作為一個(gè)或多個(gè)第一數(shù)據(jù)項(xiàng)和一個(gè)或多個(gè)第二數(shù)據(jù)項(xiàng)指示與上文提及的查找表相關(guān)的相對(duì)應(yīng)信息的數(shù)據(jù),確定用于在上文提及查找表實(shí)現(xiàn)之后保持自由用于實(shí)現(xiàn)另一查找表的硬件以及選擇兩種或更多種相互替換方式中的一種以實(shí)現(xiàn)另一查找表。
[0050]根據(jù)用于定義查找表的實(shí)現(xiàn)的本發(fā)明的示例性實(shí)施例的計(jì)算機(jī)程序包括計(jì)算機(jī)可執(zhí)行指令,計(jì)算機(jī)可執(zhí)行指令用于控制可編程處理系統(tǒng)執(zhí)行根據(jù)本發(fā)明的上述示例性實(shí)施例的任何一個(gè)的方法。
[0051]根據(jù)本發(fā)明的示例性實(shí)施例的計(jì)算機(jī)程序包括用于定義用于軟件定義網(wǎng)絡(luò)的網(wǎng)絡(luò)元件的查找系統(tǒng)的實(shí)現(xiàn)的軟件模塊,其中,網(wǎng)絡(luò)元件包括用于以兩種或更多種相互替換方式實(shí)現(xiàn)查找表的硬件。軟件模塊包括計(jì)算機(jī)可執(zhí)行指令,所述計(jì)算機(jī)可執(zhí)行指令用于控制可編程處理系統(tǒng)基于可用于實(shí)現(xiàn)查找表的硬件、一個(gè)或多個(gè)第一數(shù)據(jù)項(xiàng)、和一個(gè)或多個(gè)第二數(shù)據(jù)項(xiàng)來(lái)選擇兩種或更多種相互替換方式中的一種,以實(shí)現(xiàn)查找表,其中:
[0052]一個(gè)或多個(gè)第一數(shù)據(jù)項(xiàng)提供關(guān)于查找表的一個(gè)或多個(gè)查找鍵的信息,每個(gè)字段長(zhǎng)度用比特表達(dá),以及
[0053]一個(gè)或多個(gè)第二數(shù)據(jù)項(xiàng)指示下列中的至少一個(gè):查找表的條目的最大數(shù)目、從查找表的連續(xù)查找之間的平均時(shí)間、查找表的連續(xù)修改之間的平均時(shí)間。
[0054]軟件模塊可以是例如利用適當(dāng)?shù)木幊陶Z(yǔ)言和利用適合于編程語(yǔ)言和可編程處理系統(tǒng)的編譯器來(lái)實(shí)現(xiàn)的子例程或功能。
[0055]根據(jù)本發(fā)明的示例性實(shí)施例的計(jì)算機(jī)程序產(chǎn)品包括利用根據(jù)本發(fā)明示例性實(shí)施例的計(jì)算機(jī)程序編碼的計(jì)算機(jī)可讀介質(zhì),例如光盤(pán)(“CD”)。
[0056]根據(jù)本發(fā)明的示例性實(shí)施例的信號(hào)被編碼成承載定義根據(jù)本發(fā)明的示例性實(shí)施例的計(jì)算機(jī)程序的信息。
[0057]上文給出的描述中提供的特定示例不應(yīng)理解為限制隨附權(quán)利要求的范圍和/或適用性。
【權(quán)利要求】
1.一種用于定義用于軟件定義網(wǎng)絡(luò)的網(wǎng)絡(luò)元件的第一查找表的實(shí)現(xiàn)的設(shè)備(209),所述網(wǎng)絡(luò)元件包括用于以兩種或更多種相互替換方式實(shí)現(xiàn)所述第一查找表的硬件(218),所述設(shè)備包括: -用于接收一個(gè)或多個(gè)第一數(shù)據(jù)項(xiàng)的裝置,所述一個(gè)或多個(gè)第一數(shù)據(jù)項(xiàng)提供關(guān)于所述第一查找表的一個(gè)或多個(gè)查找鍵的信息,以及 -用于接收一個(gè)或多個(gè)第二數(shù)據(jù)項(xiàng)的裝置,所述一個(gè)或多個(gè)第二數(shù)據(jù)項(xiàng)指示下列中的至少一個(gè):所述第一查找表的條目的最大數(shù)目、從所述第一查找表的連續(xù)查找之間的平均時(shí)間、所述第一查找表的連續(xù)修改之間的平均時(shí)間, 其特征在于,所述設(shè)備進(jìn)一步包括:用于基于可用于實(shí)現(xiàn)所述第一查找表的硬件、所述一個(gè)或多個(gè)第一數(shù)據(jù)項(xiàng)、和所述一個(gè)或多個(gè)第二數(shù)據(jù)項(xiàng),選擇所述兩種或更多種相互替換方式中的一種,以實(shí)現(xiàn)所述第一查找表的裝置。
2.根據(jù)權(quán)利要求1所述的設(shè)備,其中,所述設(shè)備包括:用于計(jì)算所述一個(gè)或多個(gè)第一數(shù)據(jù)項(xiàng)和所述一個(gè)或多個(gè)第二數(shù)據(jù)項(xiàng)的加權(quán)和并且用于將所述加權(quán)和與第一閾值進(jìn)行比較,以便在基于內(nèi)容存取存儲(chǔ)器技術(shù)的實(shí)現(xiàn)和基于檢索樹(shù)算法和隨機(jī)存取存儲(chǔ)器技術(shù)的實(shí)現(xiàn)之間進(jìn)行選擇的裝置。
3.根據(jù)權(quán)利要求1或2所述 的設(shè)備,其中,所述設(shè)備包括:用于比較第二閾值和第三數(shù)據(jù)項(xiàng),以便在基于二進(jìn)制內(nèi)容存取存儲(chǔ)器技術(shù)的實(shí)現(xiàn)和基于三進(jìn)制內(nèi)容存取存儲(chǔ)器技術(shù)的實(shí)現(xiàn)之間進(jìn)行選擇的裝置,所述第三數(shù)據(jù)項(xiàng)指示所述第一查找表的不考慮鍵匹配比特位置的數(shù)目與所述第一查找表的所有鍵匹配比特位置的數(shù)目的比。
4.根據(jù)權(quán)利要求1所述的設(shè)備,其中,所述設(shè)備包括:用于基于可用于實(shí)現(xiàn)第二查找表的硬件以及與所述第二查找表相關(guān)并且指示作為所述一個(gè)或多個(gè)第一數(shù)據(jù)項(xiàng)和所述一個(gè)或多個(gè)第二數(shù)據(jù)項(xiàng)指示與所述第一查找表相關(guān)的相對(duì)應(yīng)信息的數(shù)據(jù),確定在所述第一查找表的實(shí)現(xiàn)之后保持自由用于實(shí)現(xiàn)所述第二查找表的硬件以及用于選擇所述兩種或更多種相互替換方式中的一種以實(shí)現(xiàn)所述第二查找表的裝置。
5.根據(jù)權(quán)利要求2所述的設(shè)備,其中,所述設(shè)備包括:用于基于可用于實(shí)現(xiàn)第二查找表的硬件以及與所述第二查找表相關(guān)并且指示作為所述一個(gè)或多個(gè)第一數(shù)據(jù)項(xiàng)和所述一個(gè)或多個(gè)第二數(shù)據(jù)項(xiàng)指示與所述第一查找表相關(guān)的相對(duì)應(yīng)信息的數(shù)據(jù),確定在所述第一查找表的實(shí)現(xiàn)之后保持自由用于實(shí)現(xiàn)所述第二查找表的硬件以及用于選擇所述兩種或更多種相互替換方式中的一種以實(shí)現(xiàn)所述第二查找表的裝置。
6.根據(jù)權(quán)利要求3所述的設(shè)備,其中,所述設(shè)備包括:用于基于可用于實(shí)現(xiàn)第二查找表的硬件以及與所述第二查找表相關(guān)并且指示作為所述一個(gè)或多個(gè)第一數(shù)據(jù)項(xiàng)和所述一個(gè)或多個(gè)第二數(shù)據(jù)項(xiàng)指示與所述第一查找表相關(guān)的相對(duì)應(yīng)信息的數(shù)據(jù),確定在所述第一查找表的實(shí)現(xiàn)之后保持自由用于實(shí)現(xiàn)所述第二查找表的硬件以及用于選擇所述兩種或更多種相互替換方式中的一種以實(shí)現(xiàn)所述第二查找表的裝置。
7.一種用于軟件定義網(wǎng)絡(luò)的網(wǎng)絡(luò)元件(201),所述網(wǎng)絡(luò)元件包括: -數(shù)據(jù)傳送接口(211),所述數(shù)據(jù)傳送接口(211)用于接收數(shù)據(jù)和用于發(fā)射數(shù)據(jù),接收到的數(shù)據(jù)指定要在所述網(wǎng)絡(luò)元件中實(shí)現(xiàn)的查找表, -硬件(218),所述硬件(218)用于以兩種或更多種相互替換方式實(shí)現(xiàn)所述查找表,以及-用于定義所述查找表的實(shí)現(xiàn)的根據(jù)權(quán)利要求1-5中的任一項(xiàng)所述的設(shè)備(209)。
8.根據(jù)權(quán)利要求7所述的網(wǎng)絡(luò)元件,其中,所述網(wǎng)絡(luò)元件是下列中的至少一個(gè):網(wǎng)際協(xié)議路由器、多協(xié)議標(biāo)簽切換交換機(jī)、分組光交換機(jī)、以太網(wǎng)交換機(jī)。
9.一種用于定義用于軟件定義網(wǎng)絡(luò)的網(wǎng)絡(luò)元件的第一查找表的實(shí)現(xiàn)的方法,所述網(wǎng)絡(luò)元件包括用于以兩種或更多種相互替換方式實(shí)現(xiàn)所述第一查找表的硬件,其特征在于,所述方法包括基于可用于實(shí)現(xiàn)所述第一查找表的所述硬件、一個(gè)或多個(gè)第一數(shù)據(jù)項(xiàng)、和一個(gè)或多個(gè)第二數(shù)據(jù)項(xiàng),選擇(301)所述兩種或更多種相互替換方式中的一種,以實(shí)現(xiàn)所述第一查找表,其中: -所述一個(gè)或多個(gè)第一數(shù)據(jù)項(xiàng)提供關(guān)于所述第一查找表的一個(gè)或多個(gè)查找鍵的信息,以及 -所述一個(gè)或多個(gè)第二數(shù)據(jù)項(xiàng)指示下列中的至少一個(gè):所述第一查找表的條目的最大數(shù)目、從所述第一查找表的連續(xù)查找之間的平均時(shí)間、所述第一查找表的連續(xù)修改之間的平均時(shí)間。
10.根據(jù)權(quán)利要求9所述的方法,其中,所述方法包括:計(jì)算所述一個(gè)或多個(gè)第一數(shù)據(jù)項(xiàng)和所述第一或多個(gè)第二數(shù)據(jù)項(xiàng)的加權(quán)和;以及將所述加權(quán)和與第一閾值進(jìn)行比較,以便在基于內(nèi)容存取存儲(chǔ)器技術(shù)的實(shí)現(xiàn)和基于檢索樹(shù)算法和隨機(jī)存取存儲(chǔ)器技術(shù)的實(shí)現(xiàn)之間進(jìn)行選擇。
11.根據(jù)權(quán)利要求9或10所述的方法,其中,所述方法包括:將第二閾值與第三數(shù)據(jù)項(xiàng)進(jìn)行比較,以便在基于二進(jìn)制內(nèi)容存取存儲(chǔ)器技術(shù)的實(shí)現(xiàn)和基于三進(jìn)制內(nèi)容存取存儲(chǔ)器技術(shù)的實(shí)現(xiàn)之間進(jìn)行選擇,所述第三數(shù)據(jù)項(xiàng)指示所述第一查找表的不考慮鍵匹配比特位置的數(shù)目與所述第一查找表的所有鍵匹配比特位置的數(shù)目之比。
12.根據(jù)權(quán)利要求9所述的方法,其中,所述方法包括:基于可用于實(shí)現(xiàn)第二查找表的硬件以及與所述第二查找表相關(guān)并且指示作為所述一個(gè)或多個(gè)第一數(shù)據(jù)項(xiàng)和所述一個(gè)或多個(gè)第二數(shù)據(jù)項(xiàng)指示與所述第一查找表相關(guān)的相對(duì)應(yīng)信息的數(shù)據(jù),確定在所述第一查找表的實(shí)現(xiàn)之后保持自由用于實(shí)現(xiàn)所述第二查找表的硬件以及選擇所述兩種或更多種相互替換方式中的一種以實(shí)現(xiàn)所述第二查找表。
13.根據(jù)權(quán)利要求10所述的方法,其中,所述方法包括:基于可用于實(shí)現(xiàn)第二查找表的硬件以及與所述第二查找表相關(guān)并且指示作為所述一個(gè)或多個(gè)第一數(shù)據(jù)項(xiàng)和所述一個(gè)或多個(gè)第二數(shù)據(jù)項(xiàng)指示與所述第一查找表相關(guān)的相對(duì)應(yīng)信息的數(shù)據(jù),確定在所述第一查找表的實(shí)現(xiàn)之后保持自由用于實(shí)現(xiàn)所述第二查找表的硬件以及選擇所述兩種或更多種相互替換方式中的一種以實(shí)現(xiàn)所述第二查找表。
14.根據(jù)權(quán)利要求11所述的方法,其中,所述方法包括:基于可用于實(shí)現(xiàn)第二查找表的硬件以及與所述第二查找表相關(guān)并且指示作為所述一個(gè)或多個(gè)第一數(shù)據(jù)項(xiàng)和所述一個(gè)或多個(gè)第二數(shù)據(jù)項(xiàng)指示與所述第一查找表相關(guān)的相對(duì)應(yīng)信息的數(shù)據(jù),確定在所述第一查找表的實(shí)現(xiàn)之后保持自由用于實(shí)現(xiàn)所述第二查找表的硬件以及選擇所述兩種或更多種相互替換方式中的一種以實(shí)現(xiàn)所述第二查找表。
15.一種軟件定義網(wǎng)絡(luò)(100),包括: -控制器系統(tǒng)(105),所述控制器系統(tǒng)(105)用于將配置數(shù)據(jù)發(fā)射到一個(gè)或多個(gè)網(wǎng)絡(luò)元件,以便配置所述一個(gè)或多個(gè)網(wǎng)絡(luò)元件,所述配置數(shù)據(jù)指定要在所述一個(gè)或多個(gè)網(wǎng)絡(luò)元件中實(shí)現(xiàn)的查找表,以及 -根據(jù)權(quán)利要求7或8所述的一個(gè)或多個(gè)網(wǎng)絡(luò)元件(101-104)。
16.根據(jù)權(quán)利要求15所述的軟件定義網(wǎng)絡(luò),其中,所述控制器系統(tǒng)被配置成將OpenFlow用作為 用于所述軟件定義網(wǎng)絡(luò)的控制平面的通信方法,以與所述軟件定義網(wǎng)絡(luò)的數(shù)據(jù)平面通信。
【文檔編號(hào)】H04L12/741GK103916321SQ201310750368
【公開(kāi)日】2014年7月9日 申請(qǐng)日期:2013年12月31日 優(yōu)先權(quán)日:2013年1月4日
【發(fā)明者】維萊·哈利沃里, 茱哈馬蒂·庫(kù)西薩里 申請(qǐng)人:特拉博斯股份有限公司