背景
現(xiàn)代計(jì)算設(shè)備能夠通過(guò)各種數(shù)據(jù)網(wǎng)絡(luò)(諸如互聯(lián)網(wǎng))與其他計(jì)算設(shè)備通信(即,傳輸并接收數(shù)據(jù)通信)。為了促成這種計(jì)算設(shè)備之間的通信,這些網(wǎng)絡(luò)通常包括一個(gè)或多個(gè)網(wǎng)絡(luò)設(shè)備(例如,網(wǎng)絡(luò)交換機(jī)、網(wǎng)絡(luò)路由器等等)以便基于網(wǎng)絡(luò)流將這些通信(即,網(wǎng)絡(luò)分組)從一個(gè)計(jì)算設(shè)備路由到另一個(gè)計(jì)算設(shè)備。傳統(tǒng)上,已經(jīng)在這些網(wǎng)絡(luò)設(shè)備的專(zhuān)用網(wǎng)絡(luò)處理器上執(zhí)行網(wǎng)絡(luò)分組處理。然而,網(wǎng)絡(luò)虛擬化技術(shù)(例如,網(wǎng)絡(luò)功能虛擬化(nfv))和中央控制器網(wǎng)絡(luò)架構(gòu)(例如,軟件定義網(wǎng)絡(luò)(sdn))的進(jìn)步已經(jīng)導(dǎo)致高度可縮放和快速可部署的網(wǎng)絡(luò)基礎(chǔ)設(shè)施。
在一個(gè)這種網(wǎng)絡(luò)分組處理示例中,互連服務(wù)器節(jié)點(diǎn)集群可用于網(wǎng)絡(luò)分組路由和交換。在服務(wù)器節(jié)點(diǎn)集群中,每個(gè)服務(wù)器節(jié)點(diǎn)可從一個(gè)或多個(gè)外部端口接收網(wǎng)絡(luò)分組并且將所接收的網(wǎng)絡(luò)分組派發(fā)到其他服務(wù)器節(jié)點(diǎn)以便基于網(wǎng)絡(luò)流的標(biāo)識(shí)規(guī)則轉(zhuǎn)發(fā)到目的地或離開(kāi)端口。為了通過(guò)服務(wù)器節(jié)點(diǎn)集群路由網(wǎng)絡(luò)流量,服務(wù)器節(jié)點(diǎn)通常使用路由表(即,路由信息庫(kù)(rib))和轉(zhuǎn)發(fā)表(即,轉(zhuǎn)發(fā)信息庫(kù)(fib))。
當(dāng)每個(gè)服務(wù)器節(jié)點(diǎn)被添加到集群時(shí),不僅集群的轉(zhuǎn)發(fā)能力增加,而且其可到達(dá)的目的地地址的數(shù)量也增加。換言之,隨著網(wǎng)絡(luò)的基礎(chǔ)設(shè)施的大小放大,路由表和轉(zhuǎn)發(fā)表各自的大小也增加并且可變得非常大。通常,更大的路由表要求更多的時(shí)間和計(jì)算資源(例如,存儲(chǔ)器、存儲(chǔ)、處理周期等等)以便在轉(zhuǎn)發(fā)表上執(zhí)行查找。此外,這種擴(kuò)展的負(fù)面影響可包括處理網(wǎng)絡(luò)分組所需要的附加跳(即,網(wǎng)絡(luò)分組在服務(wù)器節(jié)點(diǎn)之間的每次通過(guò))或例如跨集群的內(nèi)部交換機(jī)結(jié)構(gòu)執(zhí)行的查找。這種負(fù)面影響可導(dǎo)致降低的吞吐量和/或超出轉(zhuǎn)發(fā)表容量的轉(zhuǎn)發(fā)表大小。
附圖簡(jiǎn)要描述
通過(guò)舉例而非通過(guò)限制在附圖中示出在此描述的概念。為了說(shuō)明簡(jiǎn)單和清晰,圖中所示元素?zé)o需按比例繪制。當(dāng)認(rèn)為合適時(shí),已經(jīng)在附圖中重復(fù)參照標(biāo)號(hào)以便表明相應(yīng)的或類(lèi)似的元素。
圖1是用于由包括多個(gè)計(jì)算節(jié)點(diǎn)的軟件集群開(kāi)關(guān)進(jìn)行模塊化轉(zhuǎn)發(fā)表可縮放性的系統(tǒng)的至少一個(gè)實(shí)施例的簡(jiǎn)化框圖。
圖2是圖1的系統(tǒng)的軟件集群交換機(jī)的計(jì)算節(jié)點(diǎn)的至少一個(gè)實(shí)施例的簡(jiǎn)化框圖;
圖3是圖2的系統(tǒng)的計(jì)算節(jié)點(diǎn)的環(huán)境的至少一個(gè)實(shí)施例的簡(jiǎn)化框圖;
圖4和圖5是可由圖2的計(jì)算節(jié)點(diǎn)執(zhí)行的用于確定所接收的網(wǎng)絡(luò)分組的離開(kāi)計(jì)算節(jié)點(diǎn)的方法的至少一個(gè)實(shí)施例的簡(jiǎn)化流程圖。
圖6是可由圖2的計(jì)算節(jié)點(diǎn)執(zhí)行的用于轉(zhuǎn)發(fā)從進(jìn)入節(jié)點(diǎn)接收的網(wǎng)絡(luò)分組的方法的至少一個(gè)實(shí)施例的簡(jiǎn)化流程圖;以及
圖7是可由圖2的計(jì)算節(jié)點(diǎn)執(zhí)行的用于向路由表添加與網(wǎng)絡(luò)分組的網(wǎng)絡(luò)流標(biāo)識(shí)符相對(duì)應(yīng)的條目的方法的至少一個(gè)實(shí)施例的簡(jiǎn)化流程圖。
附圖詳細(xì)描述
盡管本公開(kāi)的概念可受到各種修改和替代形式,已經(jīng)通過(guò)舉例在附圖中示出并且將在此詳細(xì)地描述其特定實(shí)施例。然而,應(yīng)當(dāng)理解的是不旨在將本公開(kāi)的概念限制為所公開(kāi)的具體形式,而是相反,本發(fā)明涵蓋與本公開(kāi)和所附權(quán)利要求書(shū)一致的所有修改、等效方案和替代方案。
在說(shuō)明書(shū)中對(duì)“一個(gè)實(shí)施例”、“實(shí)施例”、“說(shuō)明性實(shí)施例”等等的引用表明所描述的實(shí)施例可包括具體的特征、結(jié)構(gòu)或特性,但是每個(gè)實(shí)施例可無(wú)需包括該具體的特征、結(jié)構(gòu)或特性。而且,這種短語(yǔ)無(wú)需指代相同的實(shí)施例。而且,當(dāng)結(jié)合實(shí)施例描述具體的特征、結(jié)構(gòu)或特性時(shí),認(rèn)為其在本領(lǐng)域普通技術(shù)人員結(jié)合顯式地或未顯式地描述的其他實(shí)施例實(shí)施這種特征、結(jié)構(gòu)或特性的知識(shí)范圍內(nèi)。此外,應(yīng)當(dāng)認(rèn)識(shí)到列表中包括的“a、b和c中的至少一個(gè)”形式的項(xiàng)目可意味著(a);(b);(c);(a和b);(a和c);(b和c);或者(a、b和c)。類(lèi)似地,以“a、b、和c中的至少一個(gè)”的形式列出的項(xiàng)目可指(a);(b);(c);(a和b);(a和c);(b和c);或(a、b和c)。
在某些情況下,可在硬件、固件、軟件、或其任何組合中實(shí)現(xiàn)所公開(kāi)的實(shí)施例。所公開(kāi)的實(shí)施例還可被實(shí)現(xiàn)為由一個(gè)或多個(gè)瞬態(tài)或非瞬態(tài)機(jī)器可讀(例如計(jì)算機(jī)可讀)存儲(chǔ)介質(zhì)攜帶或存儲(chǔ)在其上的指令,這些指令可由一個(gè)或多個(gè)處理器讀取并執(zhí)行。機(jī)器可讀存儲(chǔ)介質(zhì)可被實(shí)施為任何用于存儲(chǔ)或傳輸機(jī)器(例如,易失性或非易失性存儲(chǔ)器、介質(zhì)盤(pán)、或其他介質(zhì)設(shè)備)可讀形式的信息的存儲(chǔ)設(shè)備、機(jī)構(gòu)、或其他物理結(jié)構(gòu)。
在附圖中,可用特定安排和/或排序示出某些結(jié)構(gòu)或方法特征。然而,應(yīng)當(dāng)認(rèn)識(shí)到可不要求這種特定安排和/或排序。相反,在某些實(shí)施例中,可用與說(shuō)明性附圖中示出的不同的方式和/或順序安排這種特征。此外,具體附圖中包括結(jié)構(gòu)或方法特征不意味著暗示在所有實(shí)施例中要求這種特征以及在某些實(shí)施例中可不包括這種特征或者這種特征可與其他特征組合。
現(xiàn)在參照?qǐng)D1,在說(shuō)明性實(shí)施例中,用于模塊化轉(zhuǎn)發(fā)表可縮放性的系統(tǒng)100包括與源計(jì)算設(shè)備102和目的地計(jì)算設(shè)備106進(jìn)行網(wǎng)絡(luò)通信的軟件集群開(kāi)關(guān)104。軟件集群開(kāi)關(guān)104可在網(wǎng)絡(luò)功能虛擬化(nfv)和/或軟件定義網(wǎng)絡(luò)(sdn)架構(gòu)的范圍中(諸如在虛擬演進(jìn)分組核心(vepc)模型中)充當(dāng)分布式服務(wù)的獨(dú)立軟件交換機(jī)/路由器或底線結(jié)構(gòu)。說(shuō)明性軟件集群開(kāi)關(guān)104包括多個(gè)計(jì)算節(jié)點(diǎn)110,每個(gè)計(jì)算節(jié)點(diǎn)110能夠充當(dāng)進(jìn)入和離開(kāi)計(jì)算節(jié)點(diǎn)。雖然說(shuō)明性系統(tǒng)100包括源計(jì)算設(shè)備102和目的地計(jì)算設(shè)備106,應(yīng)當(dāng)認(rèn)識(shí)到計(jì)算節(jié)點(diǎn)110各自可通信地耦合到任何數(shù)量的不同網(wǎng)絡(luò)和/或子網(wǎng)絡(luò)、網(wǎng)絡(luò)設(shè)備和/或其他軟件集群交換機(jī)。這樣,任何計(jì)算節(jié)點(diǎn)110可接收源自一個(gè)網(wǎng)絡(luò)的網(wǎng)絡(luò)分組并且可基于軟件集群開(kāi)關(guān)104的路由表將網(wǎng)絡(luò)分組轉(zhuǎn)發(fā)到不同的網(wǎng)絡(luò)。
說(shuō)明性軟件集群開(kāi)關(guān)104包括“進(jìn)入(ingress)”計(jì)算節(jié)點(diǎn)112、計(jì)算節(jié)點(diǎn)114、計(jì)算節(jié)點(diǎn)116以及“離開(kāi)(engress)”計(jì)算節(jié)點(diǎn)118。當(dāng)然,在某些實(shí)施例中,軟件集群開(kāi)關(guān)104還可包括支持網(wǎng)絡(luò)分組吞吐量所需的附加計(jì)算節(jié)點(diǎn)110。在使用時(shí),軟件集群開(kāi)關(guān)104的進(jìn)入計(jì)算節(jié)點(diǎn)112從與軟件集群開(kāi)關(guān)104進(jìn)行有線或無(wú)線網(wǎng)絡(luò)通信的源計(jì)算設(shè)備102(例如,網(wǎng)絡(luò)交換機(jī)、網(wǎng)絡(luò)路由器、發(fā)起計(jì)算設(shè)備等等)接收網(wǎng)絡(luò)分組108。應(yīng)當(dāng)認(rèn)識(shí)到在圖1中說(shuō)明性地示出的任何其他計(jì)算節(jié)點(diǎn)110可替代地從源計(jì)算設(shè)備102接收網(wǎng)絡(luò)分組108。這樣,接收網(wǎng)絡(luò)分組108的具體計(jì)算節(jié)點(diǎn)110可被指定為“進(jìn)入”計(jì)算節(jié)點(diǎn)112并且在以下描述中被稱(chēng)為這樣。
當(dāng)接收到網(wǎng)絡(luò)分組108時(shí),進(jìn)入計(jì)算節(jié)點(diǎn)112在轉(zhuǎn)發(fā)表(即,轉(zhuǎn)發(fā)信息庫(kù))上執(zhí)行查找以便基于與網(wǎng)絡(luò)分組108相對(duì)應(yīng)的流標(biāo)識(shí)符(例如,目標(biāo)計(jì)算設(shè)備的媒體訪問(wèn)代碼(mac)、目標(biāo)計(jì)算設(shè)備的網(wǎng)際協(xié)議(ip)地址、五元組流標(biāo)識(shí)符等等)標(biāo)識(shí)負(fù)責(zé)在軟件集群開(kāi)關(guān)104中處理網(wǎng)絡(luò)分組108的離開(kāi)計(jì)算節(jié)點(diǎn)118(即,處理節(jié)點(diǎn))并且隨后經(jīng)由互連設(shè)備120或交換機(jī)將網(wǎng)絡(luò)分組108直接轉(zhuǎn)發(fā)到該節(jié)點(diǎn)。為了這樣做,計(jì)算節(jié)點(diǎn)110中的每一個(gè)包括存儲(chǔ)將該流標(biāo)識(shí)符映射到計(jì)算節(jié)點(diǎn)110中的每一個(gè)的輸出端口的信息的路由表。從該路由表,可生成兩個(gè)結(jié)構(gòu):(1)全局查找表或全局分區(qū)表(gpt)以及(2)轉(zhuǎn)發(fā)表?xiàng)l目。如將進(jìn)一步詳細(xì)描述的,gpt可被配置成比路由表更小(即,更緊湊),并且這樣可被復(fù)制到計(jì)算節(jié)點(diǎn)110中的每一個(gè)。
不像傳統(tǒng)的軟件集群交換機(jī),其中,每個(gè)計(jì)算節(jié)點(diǎn)包括包含以其整體復(fù)制的全部轉(zhuǎn)發(fā)表?xiàng)l目的轉(zhuǎn)發(fā)表,目前描述的轉(zhuǎn)發(fā)表跨計(jì)算節(jié)點(diǎn)110中的每一個(gè)分區(qū)并分配,從而使得計(jì)算節(jié)點(diǎn)110都不包括整個(gè)轉(zhuǎn)發(fā)表。換言之,基于哪一個(gè)計(jì)算節(jié)點(diǎn)110負(fù)責(zé)處理經(jīng)由該計(jì)算節(jié)點(diǎn)110的輸出端口轉(zhuǎn)發(fā)相關(guān)聯(lián)的網(wǎng)絡(luò)分組(即,負(fù)責(zé)傳輸網(wǎng)絡(luò)分組的離開(kāi)計(jì)算節(jié)點(diǎn)),整個(gè)轉(zhuǎn)發(fā)表的分區(qū)部分跨軟件集群開(kāi)關(guān)104的計(jì)算節(jié)點(diǎn)110分布。相應(yīng)地,每個(gè)計(jì)算節(jié)點(diǎn)110可負(fù)責(zé)基于路由表和每個(gè)計(jì)算節(jié)點(diǎn)110的輸出端口查找轉(zhuǎn)發(fā)表?xiàng)l目的不同部分(即,整個(gè)轉(zhuǎn)發(fā)表的子集)。結(jié)果是,軟件集群開(kāi)關(guān)104可管理網(wǎng)絡(luò)分組108在單跳中到正確處理節(jié)點(diǎn)的直接傳送。此外,使用gpt和分區(qū)轉(zhuǎn)發(fā)表?xiàng)l目可要求比傳統(tǒng)軟件集群開(kāi)關(guān)更少的存儲(chǔ)器(即,開(kāi)銷(xiāo)),其中,每個(gè)計(jì)算節(jié)點(diǎn)處的存儲(chǔ)器線性地隨著傳統(tǒng)軟件集群開(kāi)關(guān)中的計(jì)算節(jié)點(diǎn)的數(shù)量而增加。
源計(jì)算設(shè)備102以及類(lèi)似地目的地計(jì)算設(shè)備106可被實(shí)施為任何類(lèi)型的能夠執(zhí)行在此描述的功能的運(yùn)算或計(jì)算設(shè)備,包括但不限于計(jì)算設(shè)備、智能電話、桌上計(jì)算機(jī)、工作站、膝上計(jì)算機(jī)、筆記本計(jì)算機(jī)、平板計(jì)算機(jī)、移動(dòng)計(jì)算設(shè)備、可穿戴計(jì)算設(shè)備、網(wǎng)絡(luò)電器、web電器、分布式計(jì)算系統(tǒng)、基于處理器的系統(tǒng)、多處理器系統(tǒng)、服務(wù)器(例如,獨(dú)立式、機(jī)架式、刀片式等等)、網(wǎng)絡(luò)電器(例如,物理的或虛擬的)和/或任何類(lèi)型的計(jì)算和/或存儲(chǔ)設(shè)備。
軟件集群開(kāi)關(guān)104可被實(shí)施為一起動(dòng)作以便執(zhí)行在此描述的功能的一組單獨(dú)的計(jì)算節(jié)點(diǎn)110,諸如集群軟件路由器、集群軟件開(kāi)關(guān)、分布式軟件開(kāi)關(guān)、分布式軟件路由器、用于分布式服務(wù)的交換結(jié)構(gòu)等等。在某些實(shí)施例中,軟件集群開(kāi)關(guān)104可包括根據(jù)全連接網(wǎng)格聯(lián)網(wǎng)技術(shù)通信地耦合到彼此的多個(gè)計(jì)算節(jié)點(diǎn)110。當(dāng)然,應(yīng)當(dāng)認(rèn)識(shí)到,每個(gè)計(jì)算節(jié)點(diǎn)110可根據(jù)任何其他聯(lián)網(wǎng)技術(shù)通信地耦合到其他計(jì)算節(jié)點(diǎn)110。例如,每個(gè)計(jì)算節(jié)點(diǎn)110可根據(jù)除其他拓?fù)渲獾慕粨Q網(wǎng)絡(luò)拓?fù)?、clos網(wǎng)絡(luò)拓?fù)洹⒖偩€網(wǎng)絡(luò)拓?fù)?、星形網(wǎng)絡(luò)拓?fù)?、環(huán)形網(wǎng)絡(luò)拓?fù)?、網(wǎng)絡(luò)拓?fù)?、蝴蝶狀拓?fù)浜?或其任何組合通信地耦合到其他計(jì)算節(jié)點(diǎn)110。
軟件集群開(kāi)關(guān)104的計(jì)算節(jié)點(diǎn)110中的每一個(gè)可被配置成用于執(zhí)行軟件集群開(kāi)關(guān)104的路由操作的任何部分(例如,進(jìn)入操作、轉(zhuǎn)發(fā)操作、離開(kāi)操作等等)。換言之,每個(gè)計(jì)算節(jié)點(diǎn)110可被配置成作為從源計(jì)算設(shè)備102接收網(wǎng)絡(luò)分組108的計(jì)算節(jié)點(diǎn)(例如,進(jìn)入計(jì)算節(jié)點(diǎn)112)和被確定用于執(zhí)行查找并將網(wǎng)絡(luò)分組108傳輸出軟件集群開(kāi)關(guān)104的計(jì)算節(jié)點(diǎn)(例如,離開(kāi)計(jì)算節(jié)點(diǎn)118)來(lái)執(zhí)行。
計(jì)算節(jié)點(diǎn)110可被實(shí)現(xiàn)為或以其他方式包括能夠執(zhí)行在此描述的功能的任何類(lèi)型的計(jì)算設(shè)備,包括但不限于服務(wù)器計(jì)算機(jī)、聯(lián)網(wǎng)設(shè)備、機(jī)架計(jì)算架構(gòu)組件、桌上計(jì)算機(jī)、膝上計(jì)算設(shè)備、智能電器、消費(fèi)者電子設(shè)備、移動(dòng)計(jì)算設(shè)備、移動(dòng)電話、智能電話、平板計(jì)算設(shè)備、個(gè)人數(shù)字助理、可穿戴計(jì)算設(shè)備和/或其他類(lèi)型的計(jì)算設(shè)備。如圖2說(shuō)明性地所示,計(jì)算節(jié)點(diǎn)110包括處理器202、輸入輸出(“i/o”)子系統(tǒng)210、存儲(chǔ)器212、數(shù)據(jù)存儲(chǔ)設(shè)備218、通信電路220、以及多個(gè)通信接口222。當(dāng)然,在其他實(shí)施例中,計(jì)算節(jié)點(diǎn)110可包括附加或替代組件,諸如在網(wǎng)絡(luò)計(jì)算設(shè)備中發(fā)現(xiàn)的那些。此外,在某些實(shí)施例中,說(shuō)明性組件中的一個(gè)或多個(gè)可被結(jié)合到另一個(gè)組件中或者以其他方式形成其一部分。例如,在某些實(shí)施例中,存儲(chǔ)器212或其部分可被結(jié)合到處理器202中。
處理器202可被實(shí)施為能夠執(zhí)行在此描述的功能的任何類(lèi)型的處理器。例如,在某些實(shí)施例中,處理器202可被實(shí)施為單核處理器、多核處理器、數(shù)字信號(hào)處理器、微控制器、或其他處理器或處理/控制電路。處理器202可包括高速緩存存儲(chǔ)器204,該高速緩存存儲(chǔ)器可被實(shí)施為處理器202可比訪問(wèn)用于存儲(chǔ)指令和/數(shù)據(jù)以便執(zhí)行的存儲(chǔ)器212(諸如片上高速緩存)更快地訪問(wèn)的任何類(lèi)型的高速緩存存儲(chǔ)器。在某些實(shí)施例中,高速緩存存儲(chǔ)器204還可存儲(chǔ)全局分區(qū)表(gpt)206和轉(zhuǎn)發(fā)表218。
如上所述,gpt206通常比完全可復(fù)制的轉(zhuǎn)發(fā)表更緊湊,這可允許在計(jì)算節(jié)點(diǎn)110中的每一個(gè)的操作期間在計(jì)算節(jié)點(diǎn)110處在高速緩存存儲(chǔ)器204中復(fù)制并存儲(chǔ)gpt206。如將在以下進(jìn)一步詳細(xì)描述的,在某些實(shí)施例中,可使用設(shè)置分離映射策略實(shí)現(xiàn)gpt206,該策略將輸入密鑰映射到計(jì)算節(jié)點(diǎn)110中的處理節(jié)點(diǎn)(例如,離開(kāi)計(jì)算節(jié)點(diǎn)118)。設(shè)置分離映射策略包括開(kāi)發(fā)由整個(gè)輸入密鑰集合的更小的組或子集組成的高級(jí)索引結(jié)構(gòu)??蓮呐c網(wǎng)絡(luò)分組108相對(duì)應(yīng)的流標(biāo)識(shí)符(例如,目的地ip地址、目的地mac地址、五元組流標(biāo)識(shí)符等等)導(dǎo)出每個(gè)輸入密鑰。
如上所述,轉(zhuǎn)發(fā)表208可包括將輸入密鑰映射到處理節(jié)點(diǎn)的轉(zhuǎn)發(fā)表?xiàng)l目并且在某些實(shí)施例中可包括附加信息。計(jì)算節(jié)點(diǎn)110的每個(gè)轉(zhuǎn)發(fā)表208可存儲(chǔ)從路由表214獲得的不同轉(zhuǎn)發(fā)表?xiàng)l目集合(例如,部分、子集等等)。這樣,每個(gè)計(jì)算節(jié)點(diǎn)110處的轉(zhuǎn)發(fā)表208的大小比包括軟件集群開(kāi)關(guān)104的所有路由表?xiàng)l目的路由表214的大小更小(例如,包括更少的路由表?xiàng)l目)。在軟件集群開(kāi)關(guān)104的控制平面處,轉(zhuǎn)發(fā)表208可被實(shí)施為散列表。然而,在某些實(shí)施例中,轉(zhuǎn)發(fā)表208可被結(jié)構(gòu)化為或?qū)嵤楸患虞d到高速緩存存儲(chǔ)器204中用于后續(xù)檢索的單獨(dú)網(wǎng)絡(luò)路由條目集合或群組。
存儲(chǔ)器212可被實(shí)施為能夠執(zhí)行在此描述的功能的任何類(lèi)型的易失性或非易失性存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)設(shè)備。在操作中,存儲(chǔ)器212可存儲(chǔ)在計(jì)算節(jié)點(diǎn)110的操作期間使用的各種數(shù)據(jù)和軟件,諸如操作系統(tǒng)、應(yīng)用、程序、庫(kù)和驅(qū)動(dòng)程序。存儲(chǔ)器212經(jīng)由i/o子系統(tǒng)210通信地耦合到處理器202,其可被實(shí)施為用于促成與計(jì)算節(jié)點(diǎn)110的處理器202、存儲(chǔ)器212、以及其他組件的輸入/輸出操作的電路和/或組件。例如,i/o子系統(tǒng)210可被實(shí)施為或以其他方式包括用于促成輸入/輸出操作的存儲(chǔ)器控制器中樞、輸入/輸出控制中樞、固件設(shè)備、通信鏈路(即,點(diǎn)到點(diǎn)鏈路、總線鏈路、導(dǎo)線、線纜、光導(dǎo)、印刷電路板跡線等等)和/或其他組件及子系統(tǒng)。在某些實(shí)施例中,i/o子系統(tǒng)210可形成片上系統(tǒng)(soc)的一部分并且可與計(jì)算節(jié)點(diǎn)110的處理器202、存儲(chǔ)器212和其他組件一起結(jié)合到單個(gè)集成電路芯片上。應(yīng)當(dāng)認(rèn)識(shí)到高速緩存存儲(chǔ)器204以上被描述為片上高速緩存或處理器上高速緩存,在這種實(shí)施例中,高速緩存存儲(chǔ)器204可以是片外高速緩存但是駐留在與處理器202相同的soc上。
軟件集群開(kāi)關(guān)104的路由表214的拷貝(即,全局路由表)可存儲(chǔ)在每個(gè)計(jì)算節(jié)點(diǎn)110的存儲(chǔ)器212中。路由表214包括多個(gè)路由表?xiàng)l目,每個(gè)路由表?xiàng)l目具有與不同的網(wǎng)絡(luò)目的地(例如,網(wǎng)絡(luò)地址、目的地網(wǎng)絡(luò)或子網(wǎng)、遠(yuǎn)程計(jì)算設(shè)備等等)相對(duì)應(yīng)的信息。例如,在某些實(shí)施例中,每個(gè)路由表?xiàng)l目可包括指示目的地ip地址(即,目標(biāo)計(jì)算設(shè)備和/或目的地子網(wǎng)的ip地址)、與應(yīng)當(dāng)通過(guò)其發(fā)送針對(duì)目的地ip地址的網(wǎng)絡(luò)分組的網(wǎng)關(guān)ip地址、和/或通過(guò)其將針對(duì)目的地ip地址的網(wǎng)絡(luò)分組發(fā)送到網(wǎng)關(guān)ip地址的離開(kāi)接口的信息。應(yīng)當(dāng)認(rèn)識(shí)到路由表214可包括用于助益將網(wǎng)絡(luò)分組路由到其最終目的地的任何類(lèi)型的信息。
在某些實(shí)施例中,網(wǎng)絡(luò)路由表?xiàng)l目的全部或一部分可從路由表214獲得并且用于生成或更新gpt206和轉(zhuǎn)發(fā)表208的條目。例如,可在計(jì)算節(jié)點(diǎn)110處接收對(duì)路由表214的更新,計(jì)算節(jié)點(diǎn)110然后可從該更新生成或更新(即,添加、刪除或修改)轉(zhuǎn)發(fā)表208的條目和gpt206。經(jīng)更新的轉(zhuǎn)發(fā)表?xiàng)l目可在隨后被傳輸?shù)竭m當(dāng)?shù)奶幚砉?jié)點(diǎn),該處理節(jié)點(diǎn)可使用該條目更新該處理節(jié)點(diǎn)本地的轉(zhuǎn)發(fā)表208。此外,在某些實(shí)施例中,接收對(duì)轉(zhuǎn)發(fā)表208的更新的計(jì)算節(jié)點(diǎn)110可向全部其他計(jì)算節(jié)點(diǎn)110廣播更新其對(duì)應(yīng)的gpt的更新指示。
如先前所描述的,轉(zhuǎn)發(fā)表208可被實(shí)施為散列表。相應(yīng)地,軟件集群開(kāi)關(guān)104的控制平面可支持必要的操作,諸如散列表構(gòu)建和轉(zhuǎn)發(fā)表?xiàng)l目添加、刪除和更新。應(yīng)當(dāng)認(rèn)識(shí)到盡管gpt206和轉(zhuǎn)發(fā)表208被描述為存儲(chǔ)在說(shuō)明性計(jì)算節(jié)點(diǎn)110的高速緩存存儲(chǔ)器204內(nèi),在其他實(shí)施例中,gpt206和轉(zhuǎn)發(fā)表208中的任一者或兩者可被存儲(chǔ)在計(jì)算節(jié)點(diǎn)110的其他數(shù)據(jù)存儲(chǔ)設(shè)備(例如,存儲(chǔ)器和/或數(shù)據(jù)存儲(chǔ)218)內(nèi)。例如,在其中針對(duì)具體計(jì)算節(jié)點(diǎn)110的轉(zhuǎn)發(fā)表208的大小超過(guò)在高速緩存存儲(chǔ)器204中可供使用的存儲(chǔ)量的實(shí)施例中,轉(zhuǎn)發(fā)表208的至少一部分可替代地被存儲(chǔ)在計(jì)算節(jié)點(diǎn)110的存儲(chǔ)器212內(nèi)。在某些實(shí)施例中,gpt206的大小可基于可用的高速緩存存儲(chǔ)器204。在這種實(shí)施例中,附加計(jì)算節(jié)點(diǎn)110可被添加到軟件集群開(kāi)關(guān)104以便確保gpt206的大小不超過(guò)可用的高速緩存存儲(chǔ)器204空間。
集合映射表216可被實(shí)施為散列表。相應(yīng)地,軟件集群開(kāi)關(guān)104的控制平面可支持必要的操作,諸如散列表構(gòu)建和轉(zhuǎn)發(fā)表?xiàng)l目添加、刪除和更新。這樣,當(dāng)集合映射表216本地地刪除、生成或更新表?xiàng)l目時(shí),消息可被傳輸?shù)杰浖洪_(kāi)關(guān)104中的其他計(jì)算節(jié)點(diǎn)110以便提供所刪除的、所生成的或以其他方式更新的表?xiàng)l目以適當(dāng)?shù)貏h除、生成或更新gpt206和/或轉(zhuǎn)發(fā)表208中的相應(yīng)表?xiàng)l目的指示。
數(shù)據(jù)存儲(chǔ)218可被實(shí)施為被配置成用于數(shù)據(jù)的短期或長(zhǎng)期存儲(chǔ)的任何類(lèi)型的設(shè)備,諸如例如存儲(chǔ)器設(shè)備和電路、存儲(chǔ)器卡、硬盤(pán)驅(qū)動(dòng)器、固態(tài)驅(qū)動(dòng)器、或其他數(shù)據(jù)存儲(chǔ)設(shè)備。例如,數(shù)據(jù)存儲(chǔ)設(shè)備218可被配置成用于存儲(chǔ)有待由計(jì)算節(jié)點(diǎn)110初始化和/或執(zhí)行的一個(gè)或多個(gè)操作系統(tǒng)。在某些實(shí)施例中,在針對(duì)更快處理和/或任何其他原因的操作期間,操作系統(tǒng)的部分可被拷貝到存儲(chǔ)器212。
計(jì)算節(jié)點(diǎn)110的通信電路220可被實(shí)施為任何類(lèi)型的通信電路、設(shè)備或其集合,能夠允許計(jì)算節(jié)點(diǎn)110、源計(jì)算設(shè)備102、目的地計(jì)算設(shè)備104、互連設(shè)備120和/或其他計(jì)算或網(wǎng)絡(luò)設(shè)備之間的經(jīng)由一個(gè)或多個(gè)通信網(wǎng)絡(luò)(例如,局域網(wǎng)、個(gè)域網(wǎng)、廣域網(wǎng)、蜂窩網(wǎng)絡(luò)、全球網(wǎng)絡(luò),諸如互聯(lián)網(wǎng)等等)的通信。通信電路220可被配置成用于使用任何一種或多種通信技術(shù)(例如,無(wú)線通信或有線通信)和相關(guān)聯(lián)的協(xié)議(例如,以太網(wǎng)、
現(xiàn)在參照?qǐng)D3,在使用中,每個(gè)計(jì)算節(jié)點(diǎn)110在操作期間建立環(huán)境300。說(shuō)明性環(huán)境300包括網(wǎng)絡(luò)通信模塊310、路由表管理模塊、全局分區(qū)表(gpt)管理模塊330、轉(zhuǎn)發(fā)表管理模塊340、轉(zhuǎn)發(fā)表查找模塊350和gpt查找模塊360。環(huán)境300的模塊、邏輯和其他組件中的每一個(gè)可被實(shí)施為硬件、固件、軟件或其組合。例如,環(huán)境300的模塊、邏輯和其他組件各自可形成計(jì)算節(jié)點(diǎn)110的處理器或其他硬件組件的一部分或以其他方式由其建立。這樣,在某些實(shí)施例中,環(huán)境300的模塊中的一個(gè)或多個(gè)可被實(shí)施為電氣設(shè)備的電路或集合(例如,網(wǎng)絡(luò)通信電路、路由管理電路等等)。在說(shuō)明性環(huán)境300中,計(jì)算節(jié)點(diǎn)110包括路由表數(shù)據(jù)302、集合映射數(shù)據(jù)304、gpt數(shù)據(jù)306和轉(zhuǎn)發(fā)表數(shù)據(jù)308,上述中的每一個(gè)可由計(jì)算節(jié)點(diǎn)110的各個(gè)模塊和/或子模塊中的一個(gè)或多個(gè)訪問(wèn)。應(yīng)當(dāng)認(rèn)識(shí)到計(jì)算節(jié)點(diǎn)110可包括在服務(wù)器設(shè)備中通常發(fā)現(xiàn)的其他組件、子組件、模塊以及設(shè)備,為了描述清晰的目的,未在圖3中示出。
網(wǎng)絡(luò)通信模塊310被配置成用于促成源計(jì)算設(shè)備102、互連設(shè)備120和目的地計(jì)算設(shè)備106之間的網(wǎng)絡(luò)通信。每個(gè)計(jì)算節(jié)點(diǎn)可被配置成用于路由和交換目的。相應(yīng)地,每個(gè)計(jì)算節(jié)點(diǎn)110可從一個(gè)或多個(gè)外部端口(即,通信接口222)接收網(wǎng)絡(luò)分組108并且將網(wǎng)絡(luò)分組108傳輸?shù)搅硪粋€(gè)計(jì)算節(jié)點(diǎn)110以便基于流標(biāo)識(shí)規(guī)則轉(zhuǎn)發(fā)到目的地或離開(kāi)端口。換言之,網(wǎng)絡(luò)通信模塊310可被配置成用于充當(dāng)進(jìn)入計(jì)算設(shè)備112和/或離開(kāi)計(jì)算設(shè)備118,這取決于計(jì)算設(shè)備110是否正從外部計(jì)算設(shè)備接收網(wǎng)絡(luò)分組108和/或?qū)⒕W(wǎng)絡(luò)分組傳輸?shù)侥康牡赜?jì)算設(shè)備。例如,在某些條件下,諸如其中計(jì)算設(shè)備110接收網(wǎng)絡(luò)分組108并且具有與所接收的網(wǎng)絡(luò)分組108相對(duì)應(yīng)的轉(zhuǎn)發(fā)表208的一部分,該計(jì)算設(shè)備可充當(dāng)進(jìn)入計(jì)算設(shè)備112和離開(kāi)計(jì)算設(shè)備118兩者。
在某些實(shí)施例中,網(wǎng)絡(luò)通信模塊310可包括進(jìn)入通信模塊312和/或離開(kāi)通信模塊314。進(jìn)入通信模塊312被配置成用于當(dāng)計(jì)算節(jié)點(diǎn)110充當(dāng)進(jìn)入計(jì)算節(jié)點(diǎn)112時(shí)從源計(jì)算設(shè)備102(例如,網(wǎng)絡(luò)交換機(jī)、網(wǎng)絡(luò)路由器、發(fā)起計(jì)算設(shè)備等等)接收網(wǎng)絡(luò)分組108。所接收到的網(wǎng)絡(luò)分組108可被實(shí)施為包括所接收到的網(wǎng)絡(luò)分組108的目標(biāo)的目的地ip地址的網(wǎng)際協(xié)議(ip)分組。當(dāng)然,所接收到的網(wǎng)絡(luò)分組108可包括其他類(lèi)型的信息,諸如例如目的地端口、源ip地址、源端口、協(xié)議信息、和/或mac地址。然而,應(yīng)當(dāng)認(rèn)識(shí)到在其他實(shí)施例中,所接收到的網(wǎng)絡(luò)分組108可被實(shí)施為任何其他類(lèi)型的網(wǎng)絡(luò)分組。在某些實(shí)施例中,可從通信地耦合到圖2的說(shuō)明性計(jì)算節(jié)點(diǎn)110的通信接口222的外部計(jì)算設(shè)備接收網(wǎng)絡(luò)分組108。應(yīng)當(dāng)認(rèn)識(shí)到在其中進(jìn)入通信模塊312從外部計(jì)算設(shè)備接收網(wǎng)絡(luò)分組108的實(shí)施例中,計(jì)算設(shè)備110可被稱(chēng)為“進(jìn)入”計(jì)算節(jié)點(diǎn)112。進(jìn)入通信模塊312可被進(jìn)一步配置成用于在對(duì)路由表數(shù)據(jù)302、集合映射表數(shù)據(jù)304、gpt數(shù)據(jù)306和/或轉(zhuǎn)發(fā)表數(shù)據(jù)308中的任何數(shù)據(jù)執(zhí)行更新之后為其他計(jì)算節(jié)點(diǎn)110提供指示。
離開(kāi)通信模塊314被配置成用于確定輸出端口并且當(dāng)計(jì)算節(jié)點(diǎn)110充當(dāng)“離開(kāi)”計(jì)算節(jié)點(diǎn)118時(shí)將離開(kāi)軟件集群開(kāi)關(guān)104的網(wǎng)絡(luò)分組108從輸出端口傳輸?shù)侥康牡赜?jì)算設(shè)備106。即,離開(kāi)通信模塊314被配置成用于將網(wǎng)絡(luò)分組108傳輸?shù)狡渥罱K目的地。例如,在某些實(shí)施例中,網(wǎng)路分組108的最終目的地可以是直接連接到離開(kāi)計(jì)算節(jié)點(diǎn)118的通信接口222之一上的外部計(jì)算設(shè)備。在另一個(gè)示例中,在某些實(shí)施例中,網(wǎng)絡(luò)分組108的最終目的地可以是經(jīng)由一個(gè)或多個(gè)網(wǎng)絡(luò)通信地耦合到離開(kāi)計(jì)算節(jié)點(diǎn)118的外部計(jì)算設(shè)備。
路由表管理模塊320被配置成用于維護(hù)存儲(chǔ)在路由表214中的路由表302和存儲(chǔ)在集合映射表216中的集合映射數(shù)據(jù)304。為了維護(hù)路由表數(shù)據(jù)302,路由表管理模塊320進(jìn)一步被配置成用于支持路由表數(shù)據(jù)302的構(gòu)建和修改(例如,添加、刪除和/或修改)。在某些實(shí)施例中,路由表數(shù)據(jù)302可由計(jì)算節(jié)點(diǎn)110從外部計(jì)算設(shè)備(諸如網(wǎng)絡(luò)控制器)接收。為了維護(hù)集合映射數(shù)據(jù)304,路由表管理模塊320進(jìn)一步被配置成用于支持集合映射數(shù)據(jù)304的構(gòu)建和修改(例如,添加、刪除和/或修改)。集合映射數(shù)據(jù)304包括散列表,該散列表包括多個(gè)桶,其中,每個(gè)桶包括用于存儲(chǔ)輸入密鑰及其相應(yīng)值的一個(gè)或多個(gè)條目。路由表管理模塊320另外被配置成用于使用桶到組(bucket-to-group)映射方案(即,密鑰的2級(jí)散列化(a2-levelhashingofthekey))以便確定每個(gè)輸入密鑰將被存儲(chǔ)在哪個(gè)指定桶中。在某些實(shí)施例中,路由表管理模塊320被配置成用于確定將為其指派多個(gè)桶的組。在這種實(shí)施例中,桶的連續(xù)塊或密鑰塊可用于將更大數(shù)量的塊和甚至更大數(shù)量的條目映射到更少數(shù)量的組。
在某些實(shí)施例中,輸入密鑰可由網(wǎng)絡(luò)分組108的流標(biāo)識(shí)符的至少一部分組成,例如諸如目的地ip地址、目的地mac地址、流標(biāo)簽、五元組流標(biāo)識(shí)符(即,源端口、目的地端口、源ip地址、目的地ip地址和協(xié)議)。每一組輸入密鑰可基于散列函數(shù)(例如,簡(jiǎn)單統(tǒng)一散列(simpleuniformhash))而被放置在桶中,該散列函數(shù)可被直接應(yīng)用到輸入密鑰,其結(jié)果可對(duì)應(yīng)于輸入密鑰將存儲(chǔ)在其中的指定桶。相應(yīng)地,多于一個(gè)輸入密鑰(例如,十六個(gè)輸入密鑰)可存儲(chǔ)在每個(gè)指定桶中。此外,每個(gè)計(jì)算節(jié)點(diǎn)110被指派用于將每個(gè)計(jì)算節(jié)點(diǎn)110與軟件集群開(kāi)關(guān)104的其他計(jì)算節(jié)點(diǎn)110區(qū)分開(kāi)的唯一標(biāo)識(shí)符或節(jié)點(diǎn)索引。在某些實(shí)施例中,節(jié)點(diǎn)索引可以是二進(jìn)制參考號(hào)。
gpt206的每個(gè)條目包括:與已經(jīng)為其指派流標(biāo)識(shí)符的候選組(即,各自包括一個(gè)或多個(gè)條目的桶塊)相對(duì)應(yīng)的集合映射索引;以及散列函數(shù)索引,其與產(chǎn)生同流標(biāo)識(shí)符相對(duì)應(yīng)的節(jié)點(diǎn)索引(即,該流標(biāo)識(shí)符的離開(kāi)計(jì)算節(jié)點(diǎn)的索引)的散列函數(shù)族中的散列函數(shù)的索引相對(duì)應(yīng)。為了確定散列函數(shù)索引,路由表管理模塊320進(jìn)一步被配置成用于使用蠻力計(jì)算(bruteforcecomputation)來(lái)確定來(lái)自散列函數(shù)族的哪一個(gè)散列函數(shù)將該組的每個(gè)輸入密鑰映射到輸出值小集合(即,節(jié)點(diǎn)索引)而無(wú)需存儲(chǔ)輸入密鑰。換言之,散列函數(shù)族的每個(gè)散列函數(shù)可按照預(yù)先確定的順序應(yīng)用到該組的每個(gè)條目,直到返回正確的節(jié)點(diǎn)索引。類(lèi)似于集合映射索引,散列函數(shù)索引可僅需要大小是幾個(gè)比特——相對(duì)于散列函數(shù)族的散列函數(shù)的數(shù)量。桶到組映射方案的結(jié)果是,找到所有組的合適的散列函數(shù)可能更加可行。此外,僅存儲(chǔ)索引(即,集合映射索引和散列函數(shù)索引)可導(dǎo)致gpt206更緊湊并且在大小上比路由表214更小。
此外,當(dāng)將輸入密鑰添加到其相應(yīng)的桶以及因此其相應(yīng)的組時(shí),可能需要為該組重新計(jì)算散列函數(shù)并且更新相應(yīng)的gpt數(shù)據(jù)306(即,散列函數(shù)索引)。相應(yīng)地,在某些實(shí)施例中,路由表管理模塊320可向gpt管理模塊330和/或轉(zhuǎn)發(fā)表管理模塊340提供指示集合映射數(shù)據(jù)304已經(jīng)發(fā)生改變的通知。在某些實(shí)施例中,集合映射數(shù)據(jù)304的每個(gè)桶中的條目的數(shù)量可在大小上受限制。換言之,集合映射數(shù)據(jù)304可僅能夠支持為每個(gè)桶存儲(chǔ)最大數(shù)量的輸入密鑰。在最大數(shù)量的輸入密鑰已經(jīng)存儲(chǔ)在相應(yīng)的桶中的情況下,可忽略特定條目。相應(yīng)地,gpt206可仍基于散列函數(shù)的輸出將網(wǎng)絡(luò)分組108路由到特定計(jì)算節(jié)點(diǎn)110;然而,計(jì)算節(jié)點(diǎn)110可不對(duì)應(yīng)于離開(kāi)計(jì)算設(shè)備118。結(jié)果是,網(wǎng)絡(luò)分組108被路由到其上的計(jì)算節(jié)點(diǎn)110(即,“回彈(bounce)”或“中間”計(jì)算節(jié)點(diǎn))可在隨后執(zhí)行全路由表查找并且將分組傳輸?shù)竭m當(dāng)?shù)碾x開(kāi)計(jì)算設(shè)備118。換言之,可添加附加跳。
在控制平面處,gpt管理模塊330被配置成用于構(gòu)建并維護(hù)(即,添加、刪除、修改等等)gpt數(shù)據(jù)306。在某些實(shí)施例中,gpt數(shù)據(jù)306可包括gpt206,該gpt206可基于路由表數(shù)據(jù)302生成。為了避免重構(gòu)整個(gè)gpt數(shù)據(jù)306,可能在初始構(gòu)建之前需要總表大小的先驗(yàn)知識(shí)。相應(yīng)地,對(duì)于某些工作負(fù)荷,可基于各種試探法和/或估計(jì)確定總表大小的粗略估計(jì)。此外,在某些實(shí)施例中(例如,vepc),輸入密鑰范圍的先驗(yàn)知識(shí)可用于為gpt數(shù)據(jù)306構(gòu)建表(例如,圖2的gpt206),可根據(jù)需要更新表。在其他實(shí)施例中——其中不能確定輸入密鑰范圍的先驗(yàn)知識(shí),可作為針對(duì)在線引導(dǎo)的手段執(zhí)行批構(gòu)建。特別是,可在每個(gè)計(jì)算節(jié)點(diǎn)110中使用整個(gè)轉(zhuǎn)發(fā)表(即,替代gpt206)的完全復(fù)制直到已經(jīng)收集了足夠的輸入密鑰,并且當(dāng)已經(jīng)采集了足夠的密鑰時(shí),可基于所收集的輸入密鑰構(gòu)建用于gpt數(shù)據(jù)306的表。
gpt管理模塊330可被進(jìn)一步配置成用于接收將從gpt數(shù)據(jù)306刪除條目的通知(例如,來(lái)自路由表管理模塊320)。在vepc實(shí)施例中,例如,可從移動(dòng)管理實(shí)體(mme)接收該通知。在交換機(jī)或路由器實(shí)施例中,本地轉(zhuǎn)發(fā)表208可維護(hù)逐出(eviction)策略,諸如最近最少使用(lru)逐出策略。在已經(jīng)從gpt數(shù)據(jù)306刪除條目之后,gpt管理模塊330可向控制平面提供通知。在更新條目時(shí),gpt管理模塊330可重新計(jì)算相應(yīng)組的散列函數(shù)并且相應(yīng)地保存新散列函數(shù)的索引。
轉(zhuǎn)發(fā)表管理模塊340在控制平面被配置成用于構(gòu)建轉(zhuǎn)發(fā)表(例如,圖2的轉(zhuǎn)發(fā)表)并且使用各種添加、刪除和修改操作維護(hù)轉(zhuǎn)發(fā)表的轉(zhuǎn)發(fā)表數(shù)據(jù)308。相應(yīng)地,在某些實(shí)施例中,轉(zhuǎn)發(fā)表數(shù)據(jù)308可包括位于計(jì)算節(jié)點(diǎn)110本地的轉(zhuǎn)發(fā)表208(即,整個(gè)轉(zhuǎn)發(fā)表的一部分或子集)。轉(zhuǎn)發(fā)表查找模塊350可被進(jìn)一步配置成用于向gpt管理模塊330提供通知以便通知gpt管理模塊330來(lái)基于在維護(hù)轉(zhuǎn)發(fā)表數(shù)據(jù)308時(shí)執(zhí)行的操作來(lái)對(duì)gpt數(shù)據(jù)306采取相應(yīng)的動(dòng)作。例如,如果轉(zhuǎn)發(fā)表查找模塊350執(zhí)行刪除操作以便從轉(zhuǎn)發(fā)表數(shù)據(jù)308移除轉(zhuǎn)發(fā)表?xiàng)l目,則轉(zhuǎn)發(fā)表查找模塊350可向gpt管理模塊330提供指示哪個(gè)轉(zhuǎn)發(fā)表?xiàng)l目已經(jīng)被移除的通知,從而使得gpt管理模塊330可從gpt數(shù)據(jù)306移除相應(yīng)的條目。
轉(zhuǎn)發(fā)表查找模塊350在數(shù)據(jù)平面被配置成用于在轉(zhuǎn)發(fā)表數(shù)據(jù)308上執(zhí)行查找操作以便確定網(wǎng)絡(luò)分組108的轉(zhuǎn)發(fā)信息。如先前所述,軟件集群開(kāi)關(guān)104中的每個(gè)計(jì)算節(jié)點(diǎn)110可主存轉(zhuǎn)發(fā)表?xiàng)l目的一部分。為了確定每個(gè)計(jì)算節(jié)點(diǎn)110的轉(zhuǎn)發(fā)表?xiàng)l目的分配,基于計(jì)算節(jié)點(diǎn)110中的哪個(gè)計(jì)算節(jié)點(diǎn)是處理節(jié)點(diǎn)(即,負(fù)責(zé)處理網(wǎng)絡(luò)分組108)來(lái)劃分并分布整個(gè)轉(zhuǎn)發(fā)表。相應(yīng)地,計(jì)算節(jié)點(diǎn)110中的每一個(gè)僅接收該計(jì)算節(jié)點(diǎn)110負(fù)責(zé)處理并傳輸?shù)霓D(zhuǎn)發(fā)表數(shù)據(jù)308中的轉(zhuǎn)發(fā)表?xiàng)l目的一部分。這樣,計(jì)算節(jié)點(diǎn)110本地的轉(zhuǎn)發(fā)表208可僅包括與該特定計(jì)算節(jié)點(diǎn)110相對(duì)應(yīng)的那些轉(zhuǎn)發(fā)條目。
gpt查找模塊360在數(shù)據(jù)平面處被配置成用于在gpt數(shù)據(jù)306上執(zhí)行查找操作以便確定哪一個(gè)計(jì)算節(jié)點(diǎn)110是處理節(jié)點(diǎn)(即,離開(kāi)計(jì)算節(jié)點(diǎn))。為了這樣做,gpt查找模塊360可被配置成用于將散列函數(shù)應(yīng)用到網(wǎng)絡(luò)分組108的流標(biāo)識(shí)符(例如,目的地ip地址、目的地mac地址、五元組流標(biāo)識(shí)符等等)以便確定流標(biāo)識(shí)符條目存儲(chǔ)在其中的桶(即,gpt表206的一個(gè)或多個(gè)條目)。gpt查找模塊360可響應(yīng)于在gpt數(shù)據(jù)306上執(zhí)行查找操作返回與處理節(jié)點(diǎn)(即,離開(kāi)計(jì)算節(jié)點(diǎn)118)相對(duì)應(yīng)的值(即,索引)。
在某些條件下,諸如當(dāng)gpt表206中的存在的條目的數(shù)量超過(guò)gpt表206的最大可允許條目數(shù)量時(shí),與搜索流標(biāo)識(shí)符條目的散列函數(shù)相關(guān)聯(lián)的成本可超過(guò)預(yù)定成本閾值。在這種條件下,gpt查找模塊360可基于可能不是正確散列函數(shù)的散列函數(shù)的輸出將網(wǎng)絡(luò)分組108路由到另一個(gè)計(jì)算節(jié)點(diǎn)110——即使該計(jì)算節(jié)點(diǎn)110不是處理節(jié)點(diǎn)。相應(yīng)地,如果接收到所路由的網(wǎng)絡(luò)分組108的計(jì)算節(jié)點(diǎn)110不是處理節(jié)點(diǎn),則該非處理節(jié)點(diǎn)可對(duì)路由表執(zhí)行全查找并且將網(wǎng)絡(luò)分組108路由到處理節(jié)點(diǎn),從而導(dǎo)致附加跳。在某些實(shí)施例中,gpt查找模塊360可被進(jìn)一步配置成用于向離開(kāi)通信模塊314提供指示哪一個(gè)最終輸出端口與網(wǎng)絡(luò)分組108的目的地ip地址相對(duì)應(yīng)的指示。
現(xiàn)在參照?qǐng)D4,在使用中,計(jì)算節(jié)點(diǎn)110(例如,圖1的進(jìn)入計(jì)算節(jié)點(diǎn)112)可執(zhí)行用于為所接收的網(wǎng)絡(luò)分組(例如,網(wǎng)絡(luò)分組108)確定離開(kāi)計(jì)算節(jié)點(diǎn)(例如,離開(kāi)計(jì)算節(jié)點(diǎn)118)的方法400。如先前所提及的,任何計(jì)算節(jié)點(diǎn)110可充當(dāng)進(jìn)入計(jì)算節(jié)點(diǎn)112。方法400以框402開(kāi)始,其中進(jìn)入計(jì)算節(jié)點(diǎn)112確定是否諸如從源計(jì)算設(shè)備102接收到網(wǎng)絡(luò)分組108。為了這樣做,進(jìn)入計(jì)算節(jié)點(diǎn)112可監(jiān)視通信接口222以便接收新的網(wǎng)絡(luò)分組108。如果進(jìn)入計(jì)算節(jié)點(diǎn)112確定尚未接收到新的網(wǎng)絡(luò)分組108,方法400返回到框402并且進(jìn)入計(jì)算節(jié)點(diǎn)112繼續(xù)監(jiān)視接收新的網(wǎng)絡(luò)分組108。然而,如果進(jìn)入計(jì)算節(jié)點(diǎn)112確定已經(jīng)接收到新的網(wǎng)絡(luò)分組108,則方法400前進(jìn)到框404。
在框404,進(jìn)入計(jì)算節(jié)點(diǎn)112確定網(wǎng)絡(luò)分組108的流標(biāo)識(shí)符。在某些實(shí)施例中,流標(biāo)識(shí)符可以是通信地耦合到軟件集群開(kāi)關(guān)104的一個(gè)計(jì)算節(jié)點(diǎn)110的目標(biāo)計(jì)算設(shè)備(例如,目的地計(jì)算設(shè)備106)或經(jīng)由一個(gè)或多個(gè)網(wǎng)絡(luò)和/或網(wǎng)絡(luò)設(shè)備通信地耦合到軟件集群開(kāi)關(guān)104的目的地計(jì)算設(shè)備(例如,目的地計(jì)算設(shè)備106)的地址和/或端口。在實(shí)施例中,所接收到的網(wǎng)絡(luò)分組108可被實(shí)施為除其他類(lèi)型的信息以外包括所接收到的網(wǎng)絡(luò)分組108的目標(biāo)的目的地ip地址的網(wǎng)際協(xié)議(ip)分組。在這種實(shí)施例中,進(jìn)入計(jì)算節(jié)點(diǎn)112可檢查(即,解析)所接收的ip網(wǎng)絡(luò)分組108的ip頭部以便確定源計(jì)算設(shè)備的ip地址和/或端口(即,源地址和/或端口)、目標(biāo)計(jì)算設(shè)備的ip地址和/或端口(即,目的地地址和/或端口)和/或協(xié)議。
在框406處,進(jìn)入計(jì)算節(jié)點(diǎn)112確定是否已經(jīng)創(chuàng)建gpt206。如先前所描述的,在某些實(shí)施例中,可能需要最小數(shù)量的輸入密鑰來(lái)構(gòu)建gpt206。相應(yīng)地,在其中尚未創(chuàng)建gpt的這種實(shí)施例中,在框408處,進(jìn)入計(jì)算節(jié)點(diǎn)112對(duì)全復(fù)制的轉(zhuǎn)發(fā)表(即,整個(gè)轉(zhuǎn)發(fā)表,不是整個(gè)轉(zhuǎn)發(fā)表的本地分區(qū))執(zhí)行查找以便標(biāo)識(shí)離開(kāi)計(jì)算節(jié)點(diǎn)118。否則,方法400前進(jìn)到框416以便執(zhí)行以下進(jìn)一步詳細(xì)描述的查找操作。從框408,方法400前進(jìn)到框410,其中,進(jìn)入計(jì)算節(jié)點(diǎn)112確定進(jìn)入計(jì)算節(jié)點(diǎn)112是否是與在框408處的查找中所標(biāo)識(shí)的離開(kāi)計(jì)算節(jié)點(diǎn)118相同的計(jì)算節(jié)點(diǎn)。換言之,進(jìn)入計(jì)算節(jié)點(diǎn)112確定進(jìn)入計(jì)算節(jié)點(diǎn)112是否也是離開(kāi)計(jì)算節(jié)點(diǎn)118。如果這樣,方法400前進(jìn)到框412,其中,進(jìn)入計(jì)算節(jié)點(diǎn)112基于在框408處執(zhí)行的查找經(jīng)由進(jìn)入計(jì)算節(jié)點(diǎn)112的輸出端口傳輸網(wǎng)絡(luò)分組108。如果進(jìn)入計(jì)算節(jié)點(diǎn)112確定離開(kāi)計(jì)算節(jié)點(diǎn)118是除進(jìn)入計(jì)算節(jié)點(diǎn)112之外的計(jì)算節(jié)點(diǎn),方法400前進(jìn)到框414,其中,進(jìn)入計(jì)算節(jié)點(diǎn)112將網(wǎng)路分組108傳輸?shù)皆诳?08處確定的離開(kāi)計(jì)算節(jié)點(diǎn)118。
如先前所描述的,如果進(jìn)入計(jì)算節(jié)點(diǎn)112確定目前所收集的輸入密鑰的數(shù)量小于構(gòu)建gpt206所需的輸入密鑰的最小數(shù)量,方法前進(jìn)到框416。在框416處,進(jìn)入計(jì)算節(jié)點(diǎn)112使用集合映射索引作為密鑰來(lái)對(duì)gpt執(zhí)行查找并且作為查找的結(jié)果來(lái)檢索散列函數(shù)索引(即,其密鑰與集合映射索引匹配的密鑰值對(duì)的值)。為了這樣做,在框418處,進(jìn)入計(jì)算節(jié)點(diǎn)112將散列函數(shù)(例如,簡(jiǎn)單的統(tǒng)一散列)應(yīng)用到流標(biāo)識(shí)符以便標(biāo)識(shí)集合映射索引。此外,在框418處,進(jìn)入計(jì)算節(jié)點(diǎn)112比較集合映射索引和gpt206以便確定散列函數(shù)的索引(即,散列函數(shù)索引)。
應(yīng)當(dāng)認(rèn)識(shí)到對(duì)gpt的查找可返回gpt206中不與離開(kāi)計(jì)算節(jié)點(diǎn)118相對(duì)應(yīng)的集合映射索引。例如,在其中g(shù)pt206是全表(即,不能支持附加流)的實(shí)施例中,如果接收到不是由gpt206表示的流標(biāo)識(shí)符,則gpt206查找可返回不與曾在其上執(zhí)行g(shù)pt206查找的流標(biāo)識(shí)符相對(duì)應(yīng)的散列函數(shù)索引。相應(yīng)的,在框416處執(zhí)行的查找操作可導(dǎo)致不是離開(kāi)計(jì)算節(jié)點(diǎn)118而是“回彈”計(jì)算節(jié)點(diǎn)或“中間”計(jì)算節(jié)點(diǎn)的計(jì)算節(jié)點(diǎn)。
在框424,進(jìn)入計(jì)算節(jié)點(diǎn)112確定進(jìn)入計(jì)算節(jié)點(diǎn)112是否是與在框422處確定的下一個(gè)計(jì)算節(jié)點(diǎn)118相同的計(jì)算節(jié)點(diǎn)。如果進(jìn)入計(jì)算節(jié)點(diǎn)112不是與下一個(gè)計(jì)算節(jié)點(diǎn)118相同的計(jì)算節(jié)點(diǎn),方法400前進(jìn)到框426,其中,進(jìn)入計(jì)算節(jié)點(diǎn)112將網(wǎng)路分組108傳輸?shù)较乱粋€(gè)計(jì)算節(jié)點(diǎn)。如果進(jìn)入計(jì)算節(jié)點(diǎn)112是與下一個(gè)計(jì)算節(jié)點(diǎn)相同的計(jì)算節(jié)點(diǎn),方法400前進(jìn)到框428,如圖5所示,其中,進(jìn)入計(jì)算節(jié)點(diǎn)112在轉(zhuǎn)發(fā)表(例如,轉(zhuǎn)發(fā)表208)的本地部分上執(zhí)行流標(biāo)識(shí)符的查找以便確定從其傳輸所接收的網(wǎng)絡(luò)分組的進(jìn)入計(jì)算節(jié)點(diǎn)112的輸出端口。
在框430處,進(jìn)入計(jì)算節(jié)點(diǎn)112確定在框416處執(zhí)行的查找操作是否成功。如果在框416處執(zhí)行的查找成功,方法400前進(jìn)到框432,其中,進(jìn)入計(jì)算節(jié)點(diǎn)112經(jīng)由查找操作所確定的進(jìn)入計(jì)算節(jié)點(diǎn)112的輸出端口將網(wǎng)絡(luò)分組108傳輸?shù)侥繕?biāo)計(jì)算設(shè)備(例如,目的地計(jì)算設(shè)備106)。如果查找操作不成功,方法400前進(jìn)到框434,其中,進(jìn)入計(jì)算節(jié)點(diǎn)112在路由表(例如,路由表214)上執(zhí)行流標(biāo)識(shí)符的查找以便確定離開(kāi)計(jì)算節(jié)點(diǎn)118。在框436處,進(jìn)入計(jì)算節(jié)點(diǎn)112將所接收的網(wǎng)絡(luò)分組傳輸?shù)皆诳?34處確定的離開(kāi)計(jì)算節(jié)點(diǎn)118。
應(yīng)當(dāng)認(rèn)識(shí)到在某些實(shí)施例中在框408、424和428處的查找操作中所使用的流標(biāo)識(shí)符可以是不同的流標(biāo)識(shí)符和/或相同的流標(biāo)識(shí)符的諸個(gè)部分。例如,在某些實(shí)施例中,在框408和424處執(zhí)行的查找操作可使用目標(biāo)計(jì)算設(shè)備的ip地址,而在框428處執(zhí)行的查找操作可使用五元組流標(biāo)識(shí)符。
現(xiàn)在參照?qǐng)D6,在使用時(shí),計(jì)算節(jié)點(diǎn)110(例如,圖1的計(jì)算節(jié)點(diǎn)114、計(jì)算節(jié)點(diǎn)116或離開(kāi)計(jì)算節(jié)點(diǎn)118)可執(zhí)行用于轉(zhuǎn)發(fā)從進(jìn)入節(jié)點(diǎn)接收的網(wǎng)絡(luò)分組(例如,網(wǎng)絡(luò)分組108)的方法600。方法600始于框602,其中,離開(kāi)計(jì)算節(jié)點(diǎn)118確定是否從下一個(gè)計(jì)算節(jié)點(diǎn)(諸如從進(jìn)入計(jì)算節(jié)點(diǎn)112)接收到網(wǎng)絡(luò)分組108。為了這樣做,下一個(gè)計(jì)算節(jié)點(diǎn)可監(jiān)視通信接口222以便接收網(wǎng)絡(luò)分組108。
如先前所描述的,進(jìn)入計(jì)算節(jié)點(diǎn)112可在gpt206上執(zhí)行查找操作,這可導(dǎo)致進(jìn)入計(jì)算節(jié)點(diǎn)112將網(wǎng)絡(luò)分組傳輸?shù)较乱粋€(gè)計(jì)算節(jié)點(diǎn),而不知道下一個(gè)計(jì)算節(jié)點(diǎn)是離開(kāi)計(jì)算節(jié)點(diǎn)118還是回彈計(jì)算節(jié)點(diǎn)。相應(yīng)的,在某些實(shí)施例中,可在框602處接收的網(wǎng)絡(luò)分組內(nèi)(例如,在封裝器或消息頭部?jī)?nèi))或伴隨其提供指示網(wǎng)絡(luò)分組是否是從進(jìn)入節(jié)點(diǎn)112傳輸?shù)闹甘?即,已經(jīng)與gpt206比較)。
如果下一個(gè)計(jì)算節(jié)點(diǎn)確定尚未接收到網(wǎng)絡(luò)分組108,方法600返回到框602并且下一個(gè)計(jì)算節(jié)點(diǎn)繼續(xù)監(jiān)視接收網(wǎng)絡(luò)分組108。然而,如果下一個(gè)計(jì)算節(jié)點(diǎn)確定已經(jīng)接收到網(wǎng)絡(luò)分組108,方法600前進(jìn)到框604,其中,下一個(gè)計(jì)算節(jié)點(diǎn)112確定網(wǎng)絡(luò)分組108的流標(biāo)識(shí)符。在某些實(shí)施例中,流標(biāo)識(shí)符可以是通信地耦合到軟件集群開(kāi)關(guān)104的一個(gè)計(jì)算節(jié)點(diǎn)110的目標(biāo)計(jì)算設(shè)備(例如,目的地計(jì)算設(shè)備106)或經(jīng)由一個(gè)或多個(gè)網(wǎng)絡(luò)和/或網(wǎng)絡(luò)設(shè)備通信地耦合到軟件集群開(kāi)關(guān)104的目的地計(jì)算設(shè)備(例如,目的地計(jì)算設(shè)備106)的地址和/或端口。在實(shí)施例中,所接收到的網(wǎng)絡(luò)分組108可被實(shí)施為除其他類(lèi)型的信息以外包括所接收到的網(wǎng)絡(luò)分組108的目標(biāo)的目的地ip地址的網(wǎng)際協(xié)議(ip)分組。在這種實(shí)施例中,下一個(gè)計(jì)算節(jié)點(diǎn)可檢查(即,解析)所接收的ip網(wǎng)絡(luò)分組108的ip頭部以便確定目標(biāo)計(jì)算設(shè)備的ip地址和/或端口、源計(jì)算設(shè)備的ip地址和/或端口、和/或協(xié)議。
在框606處,下一個(gè)計(jì)算節(jié)點(diǎn)在轉(zhuǎn)發(fā)表(例如,轉(zhuǎn)發(fā)表208)的本地部分上執(zhí)行流標(biāo)識(shí)符的查找以便確定下一個(gè)計(jì)算節(jié)點(diǎn)的輸出端口。在框608處,離開(kāi)計(jì)算節(jié)點(diǎn)118確定在框606處執(zhí)行的查找是否成功。換言之,下一個(gè)計(jì)算節(jié)點(diǎn)確定其是否是從其傳輸所接收的網(wǎng)絡(luò)分組的離開(kāi)計(jì)算節(jié)點(diǎn)118。如果在框606處執(zhí)行的查找成功(即,下一個(gè)計(jì)算節(jié)點(diǎn)是離開(kāi)計(jì)算節(jié)點(diǎn)118),方法600前進(jìn)到框610,其中,下一個(gè)計(jì)算節(jié)點(diǎn)作為離開(kāi)計(jì)算節(jié)點(diǎn)118經(jīng)由在框606處執(zhí)行的查找所確定的下一個(gè)計(jì)算節(jié)點(diǎn)的輸出端口將網(wǎng)絡(luò)分組108傳輸?shù)侥繕?biāo)計(jì)算設(shè)備(例如,目的地計(jì)算設(shè)備106)。如果在框606處執(zhí)行的查找不成功(即,下一個(gè)計(jì)算節(jié)點(diǎn)實(shí)際上是“回彈”或“中間”節(jié)點(diǎn)),方法600前進(jìn)到框612,其中,下一個(gè)計(jì)算節(jié)點(diǎn)在路由表(例如,路由表214)上執(zhí)行流標(biāo)識(shí)符的查找以便確定離開(kāi)計(jì)算節(jié)點(diǎn)118。在框614處,下一個(gè)計(jì)算節(jié)點(diǎn)將所接收的網(wǎng)絡(luò)分組傳輸?shù)皆诳?12處確定的離開(kāi)計(jì)算節(jié)點(diǎn)118。
現(xiàn)在參照?qǐng)D7,計(jì)算節(jié)點(diǎn)110可執(zhí)行用于將與網(wǎng)絡(luò)分組(例如,網(wǎng)絡(luò)分組108)的網(wǎng)絡(luò)流標(biāo)識(shí)符相對(duì)應(yīng)的條目添加到計(jì)算節(jié)點(diǎn)110的路由表(例如,路由表214)的方法700。方法700始于框702,其中,計(jì)算節(jié)點(diǎn)110確定是否在計(jì)算節(jié)點(diǎn)110處接收到向路由表214添加條目(即,流標(biāo)識(shí)符)的請(qǐng)求。如果計(jì)算節(jié)點(diǎn)110確定尚未接收到請(qǐng)求,方法700返回到框702,其中,計(jì)算節(jié)點(diǎn)110繼續(xù)監(jiān)視對(duì)添加條目請(qǐng)求的接收。然而,如果計(jì)算節(jié)點(diǎn)110確定已經(jīng)接收到添加條目請(qǐng)求,方法700前進(jìn)到框704。
在框704,計(jì)算節(jié)點(diǎn)110將散列函數(shù)應(yīng)用到流標(biāo)識(shí)符以便標(biāo)識(shí)流標(biāo)識(shí)符可被存儲(chǔ)在其中的散列表(例如,集合映射數(shù)據(jù)304)的桶。在框706處,計(jì)算節(jié)點(diǎn)110確定所標(biāo)識(shí)的桶是否具有可用于存儲(chǔ)流標(biāo)識(shí)符的條目。如果不具有,方法700返回到框702并且計(jì)算節(jié)點(diǎn)110繼續(xù)監(jiān)視對(duì)添加條目請(qǐng)求的接收。如果所標(biāo)識(shí)的桶被確定為具有可用條目,方法700前進(jìn)到框708,其中,計(jì)算節(jié)點(diǎn)110將流標(biāo)識(shí)符添加到所標(biāo)識(shí)的桶中的可用條目。在框710處,計(jì)算節(jié)點(diǎn)110基于先前指派給所標(biāo)識(shí)的桶的組(即,各自包括用于存儲(chǔ)流標(biāo)識(shí)符的一個(gè)或多個(gè)條目的桶塊)重新計(jì)算散列函數(shù)換言之,計(jì)算設(shè)備110為每個(gè)桶中的已經(jīng)被指派相同的組的每個(gè)條目重新計(jì)算散列函數(shù)。如先前所描述的,重新計(jì)算散列函數(shù)可包括應(yīng)用散列函數(shù)族的多個(gè)散列函數(shù)中的每一個(gè)直到返回等于與網(wǎng)絡(luò)分組108的處理節(jié)點(diǎn)或離開(kāi)計(jì)算節(jié)點(diǎn)相對(duì)應(yīng)的節(jié)點(diǎn)索引的結(jié)果。
在框712處,計(jì)算節(jié)點(diǎn)110基于所重新計(jì)算的散列函數(shù)更新gpt206。換言之,計(jì)算節(jié)點(diǎn)110更新在框704處所標(biāo)識(shí)的桶的適當(dāng)?shù)纳⒘泻瘮?shù)索引。在框714處,計(jì)算節(jié)點(diǎn)110將gpt更新通知廣播到其他計(jì)算節(jié)點(diǎn)110,該通知指示基于在框712處執(zhí)行的經(jīng)更新的gpt更新其對(duì)應(yīng)的gpt。
示例
以下提供在此公開(kāi)的設(shè)備、系統(tǒng)、和方法的說(shuō)明性示例。設(shè)備、系統(tǒng)、和方法的實(shí)施例可包括以下所描述的示例中的任何一個(gè)或多個(gè)以及任何組合。
示例1包括一種用于模塊化轉(zhuǎn)發(fā)表可縮放性的軟件集群開(kāi)關(guān)的計(jì)算節(jié)點(diǎn),該計(jì)算節(jié)點(diǎn)包括:路由表管理模塊,該路由表管理模塊用于管理包括多個(gè)桶的集合映射表,其中,每個(gè)桶包括一個(gè)或多個(gè)條目,該一個(gè)或多個(gè)條目用于存儲(chǔ)與該計(jì)算節(jié)點(diǎn)所接收的網(wǎng)絡(luò)分組相對(duì)應(yīng)的流標(biāo)識(shí)符,其中,每個(gè)桶被指派到組,并且其中,每個(gè)組包括多于一個(gè)桶;全局分區(qū)表管理模塊,該全局分區(qū)表管理模塊用于管理包括多個(gè)條目的全局分區(qū)表(gpt),該多個(gè)條目可用于確定該軟件集群開(kāi)關(guān)的下一個(gè)計(jì)算節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識(shí)符;gpt查找模塊,該gpt查找模塊用于響應(yīng)于接收到網(wǎng)絡(luò)分組對(duì)該gpt執(zhí)行查找以便基于該網(wǎng)絡(luò)分組的流標(biāo)識(shí)符確定該網(wǎng)絡(luò)分組的該下一個(gè)計(jì)算節(jié)點(diǎn)并且將第二散列函數(shù)應(yīng)用到該流標(biāo)識(shí)符以便生成標(biāo)識(shí)該下一個(gè)計(jì)算節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識(shí)符,其中,對(duì)該gpt執(zhí)行該查找包括(i)將第一散列函數(shù)應(yīng)用到該流標(biāo)識(shí)符以便生成標(biāo)識(shí)該集合映射表的組的集合映射索引,(ii)比較該集合映射索引和該gpt以便確定第二散列函數(shù),并且其中,該下一個(gè)計(jì)算節(jié)點(diǎn)包括回彈計(jì)算節(jié)點(diǎn)或離開(kāi)計(jì)算節(jié)點(diǎn)之一;以及網(wǎng)絡(luò)通信模塊,該網(wǎng)絡(luò)通信模塊用于將該網(wǎng)絡(luò)分組傳輸?shù)皆撓乱粋€(gè)計(jì)算節(jié)點(diǎn)。
示例2包括示例1所述的主題,并且其中,該網(wǎng)絡(luò)通信模塊進(jìn)一步用于從另一個(gè)計(jì)算節(jié)點(diǎn)接收網(wǎng)絡(luò)分組,并且其中,該網(wǎng)絡(luò)通信模塊進(jìn)一步用于確定來(lái)自另一個(gè)計(jì)算節(jié)點(diǎn)的該網(wǎng)絡(luò)分組是否包括另一個(gè)計(jì)算節(jié)點(diǎn)是進(jìn)入計(jì)算節(jié)點(diǎn)或回彈節(jié)點(diǎn)之一的指示。
示例3包括示例1和2所述的主題,并且進(jìn)一步包括轉(zhuǎn)發(fā)表管理模塊,該轉(zhuǎn)發(fā)表管理模塊用于響應(yīng)于確定另一個(gè)計(jì)算節(jié)點(diǎn)是回彈節(jié)點(diǎn)在轉(zhuǎn)發(fā)表的本地部分執(zhí)行該流標(biāo)識(shí)符的查找以便確定該計(jì)算節(jié)點(diǎn)的輸出端口,其中,該轉(zhuǎn)發(fā)表的該本地部分包括基于該計(jì)算節(jié)點(diǎn)的輸出端口的轉(zhuǎn)發(fā)表?xiàng)l目子集。
示例4包括示例1-3中任一項(xiàng)所述的主題,并且其中,該網(wǎng)絡(luò)通信模塊進(jìn)一步用于響應(yīng)于確定該轉(zhuǎn)發(fā)表的該本地部分處的該流標(biāo)識(shí)符的該查找成功經(jīng)由該輸出端口將該網(wǎng)絡(luò)分組傳輸?shù)侥繕?biāo)計(jì)算設(shè)備。
示例5包括示例1-4中任一項(xiàng)所述的主題,并且進(jìn)一步包括:轉(zhuǎn)發(fā)表管理模塊,該轉(zhuǎn)發(fā)表管理模塊用于響應(yīng)于確定另一個(gè)計(jì)算節(jié)點(diǎn)是離開(kāi)節(jié)點(diǎn)在轉(zhuǎn)發(fā)表的本地部分執(zhí)行該流標(biāo)識(shí)符的查找以便確定該計(jì)算節(jié)點(diǎn)的輸出端口,其中,該轉(zhuǎn)發(fā)表的該本地部分包括基于該計(jì)算節(jié)點(diǎn)的輸出端口的轉(zhuǎn)發(fā)表?xiàng)l目子集;以及路由表查找模塊,該路由表查找模塊用于響應(yīng)于確定該轉(zhuǎn)發(fā)表的該本地部分處的該流標(biāo)識(shí)符的該查找不成功而在路由表處執(zhí)行該流標(biāo)識(shí)符的查找以便確定該離開(kāi)計(jì)算節(jié)點(diǎn),其中,該路由表標(biāo)識(shí)該流標(biāo)識(shí)符的離開(kāi)計(jì)算節(jié)點(diǎn);并且其中,該網(wǎng)絡(luò)通信模塊進(jìn)一步用于將該網(wǎng)絡(luò)分組傳輸?shù)皆撾x開(kāi)計(jì)算節(jié)點(diǎn)。
示例6包括示例1-5中任一項(xiàng)所述的主題,并且其中,比較該集合映射索引和該gpt以便確定該第二散列函數(shù)包括(i)根據(jù)該集合映射索引在該gpt的條目上執(zhí)行查找以及(ii)作為該查找的結(jié)果檢索標(biāo)識(shí)散列函數(shù)族的散列函數(shù)的散列函數(shù)索引,其中,該散列函數(shù)族包括多個(gè)散列函數(shù)。
示例7包括示例1-6中任一項(xiàng)所述的主題,并且進(jìn)一步包括路由表管理模塊,該路由表管理模塊用于(i)接收向該計(jì)算節(jié)點(diǎn)的路由表添加該網(wǎng)絡(luò)分組的該流標(biāo)識(shí)符的請(qǐng)求,(ii)響應(yīng)于已經(jīng)接收到該請(qǐng)求向該計(jì)算節(jié)點(diǎn)的該路由表添加該流標(biāo)識(shí)符,(iii)將散列函數(shù)應(yīng)用到該流標(biāo)識(shí)符以便標(biāo)識(shí)該集合映射表的桶從而存儲(chǔ)該流標(biāo)識(shí)符,(iv)向該桶內(nèi)的條目添加該流標(biāo)識(shí)符,(v)為該條目指派組,以及(vi)更新與指派給該gpt內(nèi)的該條目的該組相對(duì)應(yīng)的散列函數(shù)索引。
示例8包括示例1-7中任一項(xiàng)所述的主題,并且其中,該路由表管理模塊進(jìn)一步用于將更新通知廣播到該軟件集群開(kāi)關(guān)的其他計(jì)算節(jié)點(diǎn),其中,該更新通知向gpt提供更新的指示。
示例9包括示例1-8中任一項(xiàng)所述的主題,并且其中,更新散列函數(shù)索引包括從散列函數(shù)族標(biāo)識(shí)導(dǎo)致與網(wǎng)絡(luò)分組的離開(kāi)計(jì)算節(jié)點(diǎn)的節(jié)點(diǎn)索引相對(duì)應(yīng)的輸出的散列函數(shù)。
示例10包括示例1-9中任一項(xiàng)所述的主題,并且其中,從散列函數(shù)族標(biāo)識(shí)散列函數(shù)包括將散列函數(shù)族的每個(gè)散列函數(shù)應(yīng)用到指派給與該流標(biāo)識(shí)符相同的組的該集合映射表的每個(gè)條目,直到所應(yīng)用的散列函數(shù)導(dǎo)致與節(jié)點(diǎn)索引相對(duì)應(yīng)的輸出,該節(jié)點(diǎn)索引與指派給與流標(biāo)識(shí)符相同的組的集合映射表的條目中的每個(gè)條目的離開(kāi)計(jì)算節(jié)點(diǎn)相對(duì)應(yīng)。
示例11包括示例1-10中任一項(xiàng)所述的主題,并且其中,確定該網(wǎng)絡(luò)分組的該流標(biāo)識(shí)符包括確定包括在所接收的網(wǎng)絡(luò)分組中的指示所接收的網(wǎng)絡(luò)分組的目標(biāo)的目的地地址。
示例12包括示例1-11中任一項(xiàng)所述的主題,并且其中,確定該網(wǎng)絡(luò)分組的該流標(biāo)識(shí)符包括確定包括在所接收的網(wǎng)絡(luò)分組中的指示所接收的網(wǎng)絡(luò)分組的目標(biāo)的五元組流標(biāo)識(shí)符。
示例13包括示例1-12中任一項(xiàng)所述的主題,并且其中,確定與該軟件集群開(kāi)關(guān)的該離開(kāi)計(jì)算節(jié)點(diǎn)相對(duì)應(yīng)的該節(jié)點(diǎn)標(biāo)識(shí)符包括基于具有映射到該流標(biāo)識(shí)符的輸出端口確定被標(biāo)識(shí)為該軟件集群開(kāi)關(guān)的該計(jì)算節(jié)點(diǎn)的存儲(chǔ)該轉(zhuǎn)發(fā)表?xiàng)l目的該子集的離開(kāi)計(jì)算節(jié)點(diǎn)。
示例14包括一種用于軟件集群開(kāi)關(guān)的模塊化轉(zhuǎn)發(fā)表可縮放性的方法,該方法:計(jì)算節(jié)點(diǎn)管理包括多個(gè)桶的集合映射表,其中,每個(gè)桶包括一個(gè)或多個(gè)條目,該一個(gè)或多個(gè)條目用于存儲(chǔ)與該計(jì)算節(jié)點(diǎn)所接收的網(wǎng)絡(luò)分組相對(duì)應(yīng)的流標(biāo)識(shí)符,其中,每個(gè)桶被指派到組,并且其中,每個(gè)組包括多于一個(gè)桶;該計(jì)算節(jié)點(diǎn)管理包括多個(gè)條目的全局分區(qū)表(gpt),該多個(gè)條目可用于確定該軟件集群開(kāi)關(guān)的下一個(gè)計(jì)算節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識(shí)符;該計(jì)算節(jié)點(diǎn)響應(yīng)于接收到網(wǎng)絡(luò)分組對(duì)該gpt執(zhí)行查找以便基于該網(wǎng)絡(luò)分組的流標(biāo)識(shí)符確定該網(wǎng)絡(luò)分組的該下一個(gè)計(jì)算節(jié)點(diǎn),其中,對(duì)該gpt執(zhí)行該查找包括(i)將第一散列函數(shù)應(yīng)用到該流標(biāo)識(shí)符以便生成標(biāo)識(shí)該集合映射表的組的集合映射索引,(ii)比較該集合映射索引和該gpt以便確定第二散列函數(shù),并且其中,該下一個(gè)計(jì)算節(jié)點(diǎn)包括回彈計(jì)算節(jié)點(diǎn)或離開(kāi)計(jì)算節(jié)點(diǎn)之一;將該第二散列函數(shù)應(yīng)用到該流標(biāo)識(shí)符以便生成標(biāo)識(shí)該下一個(gè)計(jì)算節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識(shí)符,并且其中,該下一個(gè)計(jì)算節(jié)點(diǎn)包括回彈計(jì)算節(jié)點(diǎn)或離開(kāi)計(jì)算節(jié)點(diǎn)之一;以及該計(jì)算節(jié)點(diǎn)將該網(wǎng)絡(luò)分組傳輸?shù)皆撓乱粋€(gè)計(jì)算節(jié)點(diǎn)。
示例15包括示例14所述的主題,并且進(jìn)一步包括該計(jì)算節(jié)點(diǎn)從另一個(gè)計(jì)算節(jié)點(diǎn)接收網(wǎng)絡(luò)分組;以及該計(jì)算節(jié)點(diǎn)確定來(lái)自另一個(gè)計(jì)算節(jié)點(diǎn)的該網(wǎng)絡(luò)分組是否包括另一個(gè)計(jì)算節(jié)點(diǎn)是進(jìn)入計(jì)算節(jié)點(diǎn)或回彈節(jié)點(diǎn)之一的指示。
示例16包括示例14和15中任一項(xiàng)所述的主題,并且進(jìn)一步包括該計(jì)算節(jié)點(diǎn)并且響應(yīng)于確定另一個(gè)計(jì)算節(jié)點(diǎn)是回彈節(jié)點(diǎn)在轉(zhuǎn)發(fā)表的本地部分處執(zhí)行該流標(biāo)識(shí)符的查找以便確定該計(jì)算節(jié)點(diǎn)的輸出端口,其中,該轉(zhuǎn)發(fā)表的該本地部分包括基于該計(jì)算節(jié)點(diǎn)的輸出端口的轉(zhuǎn)發(fā)表?xiàng)l目子集。
示例17包括示例14-16中任一項(xiàng)所述的方法,并且進(jìn)一步包括該計(jì)算節(jié)點(diǎn)響應(yīng)于確定該轉(zhuǎn)發(fā)表的該本地部分處的該流標(biāo)識(shí)符的該查找成功經(jīng)由該輸出端口將該網(wǎng)絡(luò)分組傳輸?shù)侥繕?biāo)計(jì)算設(shè)備。
示例18包括示例14-17中任一項(xiàng)所述的主題,并且進(jìn)一步包括:該計(jì)算節(jié)點(diǎn)響應(yīng)于確定另一個(gè)計(jì)算節(jié)點(diǎn)是離開(kāi)節(jié)點(diǎn)而在轉(zhuǎn)發(fā)表的本地部分執(zhí)行該流標(biāo)識(shí)符的查找以便確定該計(jì)算節(jié)點(diǎn)的輸出端口,其中,該轉(zhuǎn)發(fā)表的該本地部分包括基于該計(jì)算節(jié)點(diǎn)的輸出端口的轉(zhuǎn)發(fā)表?xiàng)l目子集;以及該計(jì)算節(jié)點(diǎn)響應(yīng)于確定該轉(zhuǎn)發(fā)表的該本地部分處的該流標(biāo)識(shí)符的該查找不成功而在路由表處執(zhí)行該流標(biāo)識(shí)符的查找以便確定該離開(kāi)計(jì)算節(jié)點(diǎn),其中,該路由表標(biāo)識(shí)該流標(biāo)識(shí)符的該離開(kāi)計(jì)算節(jié)點(diǎn);以及將該網(wǎng)絡(luò)分組傳輸?shù)皆撾x開(kāi)計(jì)算節(jié)點(diǎn)。
示例19包括示例14-18中任一項(xiàng)所述的主題,并且其中,比較該集合映射索引和該gpt以便確定該第二散列函數(shù)包括(i)根據(jù)該集合映射索引在該gpt的條目上執(zhí)行查找以及(ii)作為該查找的結(jié)果檢索標(biāo)識(shí)散列函數(shù)族的散列函數(shù)的散列函數(shù)索引,其中,該散列函數(shù)族包括多個(gè)散列函數(shù)。
示例20包括示例14-19中任一項(xiàng)所述的主題,并且進(jìn)一步包括接收向該計(jì)算節(jié)點(diǎn)的路由表添加該網(wǎng)絡(luò)分組的該流標(biāo)識(shí)符;響應(yīng)于已經(jīng)接收到該請(qǐng)求向該計(jì)算節(jié)點(diǎn)的該路由表添加該流標(biāo)識(shí)符;將散列函數(shù)應(yīng)用到該流標(biāo)識(shí)符以便標(biāo)識(shí)該集合映射表的桶從而存儲(chǔ)該流標(biāo)識(shí)符;向該桶內(nèi)的條目添加該流標(biāo)識(shí)符;為該條目指派組;以及更新與指派給該gpt內(nèi)的該條目的該組相對(duì)應(yīng)的該散列函數(shù)索引。
示例21包括示例14-20中任一項(xiàng)所述的主題,并且進(jìn)一步包括將更新通知廣播到該軟件集群開(kāi)關(guān)的其他計(jì)算節(jié)點(diǎn),其中,該更新通知向該gpt提供該更新的指示。
示例22包括示例14-21中任一項(xiàng)所述的主題,并且其中,更新該散列函數(shù)索引包括從該散列函數(shù)族標(biāo)識(shí)導(dǎo)致與該網(wǎng)絡(luò)分組的該離開(kāi)計(jì)算節(jié)點(diǎn)的節(jié)點(diǎn)索引相對(duì)應(yīng)的輸出的散列函數(shù)。
示例23包括示例14-22中任一項(xiàng)所述的主題,并且其中,從該散列函數(shù)族標(biāo)識(shí)該散列函數(shù)包括將該散列函數(shù)族的每個(gè)散列函數(shù)應(yīng)用到指派給與該流標(biāo)識(shí)符相同的組的該集合映射表的每個(gè)條目,直到所應(yīng)用的散列函數(shù)導(dǎo)致與節(jié)點(diǎn)索引相對(duì)應(yīng)的輸出,所述節(jié)點(diǎn)索引與指派給與該流標(biāo)識(shí)符相同的組的該集合映射表的該條目中的每個(gè)條目的該離開(kāi)計(jì)算節(jié)點(diǎn)相對(duì)應(yīng)。
示例24包括示例14-23中任一項(xiàng)所述的主題,并且其中,確定該網(wǎng)絡(luò)分組的該流標(biāo)識(shí)符包括確定包括在所接收的網(wǎng)絡(luò)分組中的指示所接收的網(wǎng)絡(luò)分組的目標(biāo)的目的地地址。
示例25包括示例14-24中任一項(xiàng)所述的主題,并且其中,確定該網(wǎng)絡(luò)分組的該流標(biāo)識(shí)符包括確定包括在所接收的網(wǎng)絡(luò)分組中的指示所接收的網(wǎng)絡(luò)分組的目標(biāo)的五元組流標(biāo)識(shí)符。
示例26包括示例14-25中任一項(xiàng)所述的主題,并且其中,確定與該軟件集群開(kāi)關(guān)的該離開(kāi)計(jì)算節(jié)點(diǎn)相對(duì)應(yīng)的該節(jié)點(diǎn)標(biāo)識(shí)符包括基于具有映射到該流標(biāo)識(shí)符的輸出端口確定被標(biāo)識(shí)為該軟件集群開(kāi)關(guān)的該計(jì)算節(jié)點(diǎn)的存儲(chǔ)該轉(zhuǎn)發(fā)表?xiàng)l目的該子集的離開(kāi)計(jì)算節(jié)點(diǎn)。
示例27包括計(jì)算節(jié)點(diǎn),該計(jì)算節(jié)點(diǎn)包括處理器和存儲(chǔ)器,該存儲(chǔ)器其中存儲(chǔ)有多條指令,當(dāng)由該處理器執(zhí)行時(shí),該多條指令致使該計(jì)算設(shè)備執(zhí)行示例14至26中任一項(xiàng)所述的方法。
示例28包括一種或多種機(jī)器可讀存儲(chǔ)介質(zhì),包括存儲(chǔ)在其上的多條指令,響應(yīng)于被執(zhí)行,該多條指令致使計(jì)算節(jié)點(diǎn)執(zhí)行如示例14至26中任一項(xiàng)所述的方法。
示例29包括一種用于模塊化轉(zhuǎn)發(fā)表可縮放性的軟件集群開(kāi)關(guān)的計(jì)算節(jié)點(diǎn),該計(jì)算節(jié)點(diǎn)包括:用于管理包括多個(gè)桶的集合映射表的裝置,其中,每個(gè)桶包括一個(gè)或多個(gè)條目,該一個(gè)或多個(gè)條目用于存儲(chǔ)與該計(jì)算節(jié)點(diǎn)所接收的網(wǎng)絡(luò)分組相對(duì)應(yīng)的流標(biāo)識(shí)符,其中,每個(gè)桶被指派到組,并且其中,每個(gè)組包括多于一個(gè)桶;用于管理包括多個(gè)條目的全局分區(qū)表(gpt)的裝置,該多個(gè)條目可用于確定該軟件集群開(kāi)關(guān)的下一個(gè)計(jì)算節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識(shí)符;用于響應(yīng)于接收到網(wǎng)絡(luò)分組對(duì)該gpt執(zhí)行查找以便基于該網(wǎng)絡(luò)分組的流標(biāo)識(shí)符確定該網(wǎng)絡(luò)分組的該下一個(gè)計(jì)算節(jié)點(diǎn)的裝置,其中,用于對(duì)該gpt執(zhí)行該查找的裝置包括用于(i)將第一散列函數(shù)應(yīng)用到該流標(biāo)識(shí)符以便生成標(biāo)識(shí)該集合映射表的組的集合映射索引,以及(ii)比較該集合映射索引和該gpt以便確定第二散列函數(shù)的裝置;用于將該第二散列函數(shù)應(yīng)用到該流標(biāo)識(shí)符以便生成標(biāo)識(shí)該下一個(gè)計(jì)算節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識(shí)符的裝置,并且其中,該下一個(gè)計(jì)算節(jié)點(diǎn)包括回彈計(jì)算節(jié)點(diǎn)或離開(kāi)計(jì)算節(jié)點(diǎn)之一;以及用于將該網(wǎng)絡(luò)分組傳輸?shù)皆撓乱粋€(gè)計(jì)算節(jié)點(diǎn)的裝置。
示例30包括示例29所述的主題,并且進(jìn)一步包括用于從另一個(gè)計(jì)算節(jié)點(diǎn)接收網(wǎng)絡(luò)分組的裝置;以及用于確定來(lái)自另一個(gè)計(jì)算節(jié)點(diǎn)的該網(wǎng)絡(luò)分組是否包括另一個(gè)計(jì)算節(jié)點(diǎn)是進(jìn)入計(jì)算節(jié)點(diǎn)或回彈節(jié)點(diǎn)之一的指示的裝置。
示例31包括示例29和30中任一項(xiàng)所述的主題,并且進(jìn)一步包括用于響應(yīng)于確定另一個(gè)計(jì)算節(jié)點(diǎn)是回彈節(jié)點(diǎn)而在轉(zhuǎn)發(fā)表的本地部分執(zhí)行該流標(biāo)識(shí)符的查找以便確定該計(jì)算節(jié)點(diǎn)的輸出端口的裝置,其中,該轉(zhuǎn)發(fā)表的該本地部分包括基于該計(jì)算節(jié)點(diǎn)的輸出端口的轉(zhuǎn)發(fā)表?xiàng)l目子集。
示例32包括示例29-31中任一項(xiàng)所述的方法,并且進(jìn)一步包括用于響應(yīng)于確定該轉(zhuǎn)發(fā)表的該本地部分處的該流標(biāo)識(shí)符的該查找成功經(jīng)由該輸出端口將該網(wǎng)絡(luò)分組傳輸?shù)侥繕?biāo)計(jì)算設(shè)備的裝置。
示例33包括示例29-32中任一項(xiàng)所述的主題,并且進(jìn)一步包括:用于響應(yīng)于確定另一個(gè)計(jì)算節(jié)點(diǎn)是離開(kāi)節(jié)點(diǎn)在轉(zhuǎn)發(fā)表的本地部分執(zhí)行該流標(biāo)識(shí)符的查找以便確定該計(jì)算節(jié)點(diǎn)的輸出端口的裝置,其中,該轉(zhuǎn)發(fā)表的該本地部分包括基于該計(jì)算節(jié)點(diǎn)的輸出端口的轉(zhuǎn)發(fā)表?xiàng)l目子集;以及用于響應(yīng)于確定該轉(zhuǎn)發(fā)表的該本地部分處的該流標(biāo)識(shí)符的該查找不成功在路由表處執(zhí)行該流標(biāo)識(shí)符的查找以便確定該離開(kāi)計(jì)算節(jié)點(diǎn)的裝置,其中,該路由表標(biāo)識(shí)該流標(biāo)識(shí)符的該離開(kāi)計(jì)算節(jié)點(diǎn);以及用于將該網(wǎng)絡(luò)分組傳輸?shù)皆撾x開(kāi)計(jì)算節(jié)點(diǎn)的裝置。
示例34包括示例29-33中任一項(xiàng)所述的主題,并且其中,用于比較該集合映射索引和該gpt以便確定該第二散列函數(shù)的該裝置包括用于(i)根據(jù)該集合映射索引在該gpt的條目上執(zhí)行查找以及(ii)作為該查找的結(jié)果檢索標(biāo)識(shí)散列函數(shù)族的散列函數(shù)的散列函數(shù)索引的裝置,其中,該散列函數(shù)族包括多個(gè)散列函數(shù)。
示例35包括示例29-34中任一項(xiàng)所述的主題,并且進(jìn)一步包括用于接收向該計(jì)算節(jié)點(diǎn)的路由表添加該網(wǎng)絡(luò)分組的該流標(biāo)識(shí)符的裝置;用于響應(yīng)于已經(jīng)接收到該請(qǐng)求向該計(jì)算節(jié)點(diǎn)的該路由表添加該流標(biāo)識(shí)符的裝置;用于將散列函數(shù)應(yīng)用到該流標(biāo)識(shí)符以便標(biāo)識(shí)該集合映射表的桶從而存儲(chǔ)該流標(biāo)識(shí)符的裝置;用于向該桶內(nèi)的條目添加該流標(biāo)識(shí)符的裝置;用于為該條目指派組的裝置;以及用于更新與指派給該gpt內(nèi)的該條目的該組相對(duì)應(yīng)的該散列函數(shù)索引的裝置。
示例36包括示例29-35中任一項(xiàng)所述的主題,并且進(jìn)一步包括用于將更新通知廣播到該軟件集群開(kāi)關(guān)的其他計(jì)算節(jié)點(diǎn)的裝置,其中,該更新通知為該gpt提供該更新的指示。
示例37包括示例29-36中任一項(xiàng)所述的主題,并且其中,用于更新該散列函數(shù)索引的該裝置包括用于從該散列函數(shù)族標(biāo)識(shí)導(dǎo)致與該網(wǎng)絡(luò)分組的該離開(kāi)計(jì)算節(jié)點(diǎn)的節(jié)點(diǎn)索引相對(duì)應(yīng)的輸出的散列函數(shù)的裝置。
示例38包括示例29-37中任一項(xiàng)所述的主題,并且其中,用于從該散列函數(shù)族標(biāo)識(shí)該散列函數(shù)的該裝置包括用于將該散列函數(shù)族的每個(gè)散列函數(shù)應(yīng)用到指派給與該流標(biāo)識(shí)符相同的組的該集合映射表的每個(gè)條目的裝置,直到所應(yīng)用的散列函數(shù)導(dǎo)致與節(jié)點(diǎn)索引相對(duì)應(yīng)的輸出,該節(jié)點(diǎn)索引與指派給與該流標(biāo)識(shí)符相同的組的該集合映射表的該條目中的每個(gè)條目的該離開(kāi)計(jì)算節(jié)點(diǎn)相對(duì)應(yīng)。
示例39包括示例29-38中任一項(xiàng)所述的主題,并且其中,用于確定該網(wǎng)絡(luò)分組的該流標(biāo)識(shí)符的該裝置包括用于確定包括在所接收的網(wǎng)絡(luò)分組中的指示所接收的網(wǎng)絡(luò)分組的目標(biāo)的目的地地址的裝置。
示例40包括示例29-39中任一項(xiàng)所述的主題,并且其中,用于確定該網(wǎng)絡(luò)分組的該流標(biāo)識(shí)符的該裝置包括用于確定包括在所接收的網(wǎng)絡(luò)分組中的指示所接收的網(wǎng)絡(luò)分組的目標(biāo)的五元組流標(biāo)識(shí)符的裝置。
示例41包括示例29-40中任一項(xiàng)所述的主題,并且其中,用于確定與該軟件集群開(kāi)關(guān)的該離開(kāi)計(jì)算節(jié)點(diǎn)相對(duì)應(yīng)的該節(jié)點(diǎn)標(biāo)識(shí)符的該裝置包括用于基于具有映射到該流標(biāo)識(shí)符的輸出端口確定被標(biāo)識(shí)為該軟件集群開(kāi)關(guān)的該計(jì)算節(jié)點(diǎn)的存儲(chǔ)該轉(zhuǎn)發(fā)表?xiàng)l目的該子集的離開(kāi)計(jì)算節(jié)點(diǎn)的裝置。