專利名稱:負(fù)載平衡的制作方法
負(fù)載平衡背景負(fù)載平衡通?;诿恳粋€(gè)所接收的數(shù)據(jù)分組的源網(wǎng)際協(xié)議(IP)地址或目的地IP 地址來實(shí)行。當(dāng)使用IP版本六(IPv6)過渡技術(shù)時(shí),源IP地址和目的地IP地址可能對(duì)負(fù)載平衡器不直接可見。例如,IPv6過渡技術(shù)(諸如Tered0、6到4(6 to 4)、以及站內(nèi)自動(dòng)隧道尋址協(xié)議ISATAP)將網(wǎng)際協(xié)議版本四(IPv4)源地址信息嵌入數(shù)據(jù)分組中。因此,負(fù)載平衡器在處理嵌入在IPv6過渡技術(shù)格式中的數(shù)據(jù)分組時(shí)可能有困難。概述當(dāng)前的公開文本描述了在陣列處對(duì)數(shù)據(jù)分組進(jìn)行負(fù)載平衡。以第一格式編碼的數(shù)據(jù)分組被分配給陣列的一個(gè)元素,并被路由給一設(shè)備(諸如,服務(wù)器)。以第二格式編碼的來自該設(shè)備的消息(如,答復(fù))在陣列處被接收。基于從該消息的凈荷部分所提取的信息, 將該消息分配給陣列的同一元素(如,所述被分配的元素)。例如,以IPv4格式封裝的數(shù)據(jù)分組可到達(dá)陣列,目的地是企業(yè)網(wǎng)絡(luò)的IPv6服務(wù)器。來自互聯(lián)網(wǎng)側(cè)的數(shù)據(jù)分組基于第一散列函數(shù)操作被路由到陣列的元素。來自IPv6服務(wù)器的答復(fù)消息作為原生IPv6或嵌入在IPv4內(nèi)的IPv6而到達(dá)陣列的企業(yè)側(cè)。嵌入答復(fù)消息中的信息被從消息的凈荷部分提取,并且對(duì)從消息的凈荷部分提取的信息執(zhí)行第二散列函數(shù)操作。答復(fù)消息被分配給陣列的與所述數(shù)據(jù)分組相同的元素,導(dǎo)致陣列上的雙向仿射性。提供本發(fā)明內(nèi)容以便以簡化形式介紹將在以下的具體實(shí)施方式
中進(jìn)一步描述的一些概念。本發(fā)明內(nèi)容并不旨在標(biāo)識(shí)出所要求保護(hù)的主題的關(guān)鍵特征或必要特征,也不旨在用于限定所要求保護(hù)的主題的范圍。附圖簡述
圖1是示出負(fù)載平衡系統(tǒng)的第一具體實(shí)施例的框圖;圖2是示出負(fù)載平衡系統(tǒng)的第二具體實(shí)施例的框圖;圖3是示出若干IPv6過渡技術(shù)和格式的框圖;圖4是示出負(fù)載平衡系統(tǒng)的第三具體實(shí)施例的框圖;圖5是示出負(fù)載平衡系統(tǒng)的第四具體實(shí)施例的框圖;圖6是示出負(fù)載平衡系統(tǒng)的第五具體實(shí)施例的框圖;圖7是示出負(fù)載平衡方法的具體實(shí)施例的框圖;以及圖8是示出通用計(jì)算機(jī)系統(tǒng)的示例實(shí)施例的框圖。詳細(xì)描述在一具體實(shí)施例中,揭示了一種在陣列處對(duì)數(shù)據(jù)分組進(jìn)行負(fù)載平衡的方法。該方法包括在陣列的輸入處接收以第一格式編碼的數(shù)據(jù)分組。所接收的數(shù)據(jù)分組被分配給陣列上一已分配的元素,并且所述數(shù)據(jù)分組被路由到一設(shè)備。從該設(shè)備接收以第二格式編碼的消息。從該消息的凈荷部分提取出信息,并且基于從該消息的凈荷部分所提取的信息將該消息分配給陣列的該已分配的元素。第一格式的示例是網(wǎng)際協(xié)議版本四(IPv4)格式,第二格式的示例是網(wǎng)際協(xié)議版本六(IPv6)格式。
在另一具體實(shí)施例中,所揭示的陣列包括網(wǎng)絡(luò)組件、提取組件和分配組件。陣列包括多個(gè)元素。網(wǎng)絡(luò)組件從一設(shè)備接收以過渡技術(shù)格式編碼的消息。提取組件從消息中提取信息。分配組件基于從消息提取出的信息而將消息分配給陣列的第一元素。在另一具體實(shí)施例中,揭示了包括可由計(jì)算機(jī)執(zhí)行的指令的計(jì)算機(jī)可讀介質(zhì)。當(dāng)由計(jì)算機(jī)執(zhí)行時(shí),這些指令使得計(jì)算機(jī)將在陣列上接收到的數(shù)據(jù)分組分配給陣列的已分配的元素。所述數(shù)據(jù)分組以第一格式編碼。當(dāng)由計(jì)算機(jī)執(zhí)行時(shí),這些指令使得計(jì)算機(jī)將數(shù)據(jù)分組路由到一設(shè)備,并從接收自該設(shè)備的消息的凈荷部分提取信息。該消息以第二格式編碼。當(dāng)由計(jì)算機(jī)執(zhí)行時(shí),這些指令使得計(jì)算機(jī)基于從消息的凈荷部分提取的信息將消息分配給陣列的所述已分配的元素。第一格式和第二格式中的至少一個(gè)包括過渡技術(shù)格式。參考圖1,示出了負(fù)載平衡系統(tǒng)的框圖,并總地標(biāo)記為100。系統(tǒng)100包括陣列102、 客戶機(jī)110、第一服務(wù)器112、第二服務(wù)器114。陣列102包括多個(gè)陣列元素。例如,在圖1 示出的實(shí)施例中,陣列102包括第一陣列元素104、第二陣列元素106、第三陣列元素108。來自客戶機(jī)110的通信通過網(wǎng)絡(luò)(諸如,因特網(wǎng))到達(dá)并在陣列102上按照封裝在網(wǎng)際協(xié)議版本四(IPv4)格式中的網(wǎng)際協(xié)議版本六(IPv6)通信來被接收。對(duì)來自客戶機(jī) 110的通信執(zhí)行第一散列函數(shù)操作116?;诘谝簧⒘泻瘮?shù)操作116的結(jié)果,將來自客戶機(jī) 110的通信路由到陣列102的多個(gè)元素中的一個(gè)。為了說明的目的,基于第一散列函數(shù)操作 116的結(jié)果,可將來自客戶機(jī)110的通信路由到第一陣列元素104。來自服務(wù)器側(cè)的通信可通過第二網(wǎng)絡(luò)(如企業(yè)網(wǎng)絡(luò))按照原生IPv6通信到達(dá),其中源由服務(wù)器的IPv6地址標(biāo)識(shí),而目的地由客戶機(jī)110的IPv6地址標(biāo)識(shí)。。例如,來自第二服務(wù)器114的通信以原生IPv6通信到達(dá)陣列102?;蛘?,來自服務(wù)器側(cè)的通信可按照封裝了 IPv6信息的IPv4通信到達(dá),其中源作為服務(wù)器的IPv4地址,而目的地作為陣列102 的IPv4地址。例如,來自服務(wù)器側(cè)的通信可以過渡技術(shù)格式到達(dá)。過渡技術(shù)格式的示例包括Teredo過渡技術(shù)格式、6到4過渡技術(shù)格式、以及站內(nèi)自動(dòng)隧道尋址協(xié)議(ISATAP)過渡技術(shù)格式。在圖1所示的實(shí)施例中,來自第一服務(wù)器112的通信作為封裝了 IPv6信息的 ISATAP IPv4通信到達(dá)陣列102。通過從服務(wù)器側(cè)通信提取IPv4信息,服務(wù)器側(cè)通信可被分配給與來自客戶機(jī)側(cè)的通信相同的陣列元素,允許陣列102上的雙向仿射性。在一具體實(shí)施例中,使用鉤(hook) 函數(shù)120將IPv4信息提取為經(jīng)提取的IPv4信息122。例如,可從來自第一服務(wù)器112的通信中(諸如,從數(shù)據(jù)分組的凈荷部分中)提取IPv4信息。基于所提取的IPv4信息122, 來自第一服務(wù)器112的通信可被分配給與來自客戶機(jī)110的通信相同的陣列元素。在上述的示例中,基于第一散列函數(shù)操作116將來自客戶機(jī)110的通信路由到第一陣列元素104。 所提取的IPv4信息122可被用于第二散列函數(shù)操作118中,以將來自第一服務(wù)器112的目的地為客戶機(jī)110的通信分配給第一陣列元素104,導(dǎo)致在陣列102上的雙向仿射性。類似地,可從來自第二服務(wù)器114的通信中提取IPv4信息。在一具體實(shí)施例中, 所提取的IPv4信息122是使用鉤函數(shù)120來提取的?;谒崛〉腎Pv4信息122,來自第二服務(wù)器114的通信可被分配給與來自客戶機(jī)110的通信相同的陣列元素。在上述的示例中,基于第一散列函數(shù)操作116將來自客戶機(jī)110的通信路由到第一陣列元素104。所提取的IPv4信息122可被第二散列函數(shù)操作118所使用以將來自第二服務(wù)器114的目的地為客戶機(jī)110的通信分配給第一陣列元素104,導(dǎo)致在陣列102上的雙向仿射性。
因此,在任何一個(gè)情況中(如,來自第二服務(wù)器114的原生IPv6通信或封裝在來自第一服務(wù)器112的IPv4中的IPv6通信),第二散列函數(shù)操作118不在過渡技術(shù)通信或原生IPv6通信上執(zhí)行。相反,從消息的凈荷部分提取值(如,IPv4信息)。所提取的值與第一散列函數(shù)操作116所使用的值相同。由此,在服務(wù)器側(cè)上的第二散列函數(shù)操作118的結(jié)果與在客戶機(jī)側(cè)上的第一散列函數(shù)操作116的結(jié)果相同。參考圖2,在200示出負(fù)載平衡系統(tǒng)的第二具體實(shí)施例的框圖。系統(tǒng)200包括陣列 202、客戶機(jī)204以及設(shè)備206(如,服務(wù)器)??蛻魴C(jī)204經(jīng)由網(wǎng)際協(xié)議版本四(IPv4)網(wǎng)絡(luò)208與陣列202進(jìn)行通信。設(shè)備206經(jīng)由網(wǎng)際協(xié)議版本六(IPv6)或ISATAP (IPv4)網(wǎng)絡(luò) 210與陣列202進(jìn)行通信。陣列202包括第一網(wǎng)絡(luò)組件212、提取組件214、分配組件216以及多個(gè)陣列元素218。例如,在圖2示出的實(shí)施例中,陣列202包括第一陣列元素220、第二陣列元素222、第三陣列元素224。在所示的實(shí)施例中,陣列202包括第二網(wǎng)絡(luò)組件226以及路由組件228。在操作中,客戶機(jī)204經(jīng)由IPv4網(wǎng)絡(luò)208將數(shù)據(jù)分組230發(fā)送到陣列202。在圖 2所示的實(shí)施例中,數(shù)據(jù)分組230以第一格式編碼。例如,第一格式可包括過渡技術(shù)格式,包括Teredo過渡技術(shù)格式、6到4過渡技術(shù)格式或ISATAP過渡技術(shù)格式。數(shù)據(jù)分組230在陣列202的第二網(wǎng)絡(luò)組件2 上被接收。在一具體實(shí)施例中,數(shù)據(jù)分組230包括IPv4分組, 且嵌入在IPv4分組中的IPv6地址可被提取出。路由組件2 將所接收的數(shù)據(jù)分組230經(jīng)由多個(gè)陣列元素218中的一個(gè)(如,已分配的元素)路由(即,分配)到設(shè)備(如,設(shè)備206)。例如,在所示的實(shí)施例中,數(shù)據(jù)分組 230被路由(S卩,分配)到第二陣列元素222。因此,在該情況中,第二陣列元素222是已分配的元素?;诘谝簧⒘泻瘮?shù)操作將數(shù)據(jù)分組230分配給已分配的元素(如,第二陣列元素22 。之后,數(shù)據(jù)分組230被路由到目的地設(shè)備,諸如設(shè)備206。響應(yīng)于來自客戶機(jī)204的數(shù)據(jù)分組230,設(shè)備206發(fā)出消息232。在圖2所示的實(shí)施例中,消息232以第二格式編碼。例如,第二格式可包括原生IPv6格式或過渡技術(shù)格式。 例如,消息232可以Teredo過渡技術(shù)格式、6到4過渡技術(shù)格式、或ISATAP過渡技術(shù)格式來編碼。在Teredo過渡技術(shù)格式中(如下文中參考附圖3所描述的),消息232包括被分配給客戶機(jī)設(shè)備(如,客戶機(jī)204)的IPv6地址,該IPv6地址包括Teredo服務(wù)器的IPv4 地址、與客戶機(jī)204相關(guān)聯(lián)的IPv4地址、以及與客戶機(jī)204相關(guān)聯(lián)的端口。例如,與客戶機(jī) 204相關(guān)聯(lián)的IPv4地址可被分配給客戶機(jī)204。另選地,與客戶機(jī)204相關(guān)聯(lián)的IPv4地址可被分配給網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)設(shè)備(如下文中參考圖6所描述的)。作為另一個(gè)示例,消息232可用6到4過渡技術(shù)格式(如參考圖3所描述的)來編碼。在6到4過渡技術(shù)格式中,消息232包括被分配給客戶機(jī)設(shè)備(如,客戶機(jī)204)的 6到4地址。6到4地址也包括表示被分配給主機(jī)設(shè)備的IPv6地址的部分。作為進(jìn)一步的示例,消息232可用ISATAP過渡技術(shù)格式(如參考圖3所描述的) 來編碼。在ISATAP過渡技術(shù)格式中,消息232包括被分配給客戶機(jī)設(shè)備(如,客戶機(jī)204) 的ISATAP地址。ISATAP地址還包括單播IPv4地址(如,公共或私有地址)。陣列202的第一網(wǎng)絡(luò)組件212經(jīng)由IPv6或ISATAP(IPv4)網(wǎng)絡(luò)210接收從設(shè)備 206發(fā)送的消息232。提取組件214從消息232中提取IP地址。所提取的IP地址可由分配組件216用來基于第二散列函數(shù)操作而將消息232分配給多個(gè)陣列元素218中的一個(gè)。 在所示的實(shí)施例中,分配組件216基于第二散列函數(shù)操作而將消息232分配給多個(gè)陣列元素218中的第二陣列元素222。在一具體實(shí)施例中,IPv4地址和端口號(hào)的組合被用作為對(duì)第二散列函數(shù)操作的輸入。因此,消息232被分配給與從客戶機(jī)204所接收的數(shù)據(jù)分組230 相同的陣列元素,導(dǎo)致陣列202上的雙向仿射性。參考圖3,在300處示出了若干個(gè)IPv6過渡技術(shù)格式的框圖。在Teredo過渡技術(shù)格式中的IPv6地址包括Teredo前綴302、Teredo服務(wù)器IPv4地址304、一個(gè)或多個(gè)標(biāo)志 306、遮蔽外部端口 308、以及遮蔽外部地址310。如所示,Teredo前綴302由32位來表示; Teredo服務(wù)器IPv4地址由32位來表示;標(biāo)志306由16位來表示;遮蔽外部端口由16位來表示;遮蔽外部地址310由32位來表示。當(dāng)使用Teredo IPv6過渡技術(shù)格式時(shí),客戶機(jī)被分配一 IPv6地址,該IPv6地址包括Teredo服務(wù)器IPv4地址304以及客戶機(jī)的IPv4地址(以及端口)(如,遮蔽外部地址 310和遮蔽外部端口 308)??蛻魴C(jī)的IPv4地址(如,遮蔽外部地址310)可以是客戶機(jī)的 IPv4地址或是其后方駐留有客戶機(jī)的網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)設(shè)備(如參考圖6所描述的)的 IPv4地址。在6到4過渡技術(shù)格式中的IPv6地址包含前綴312 (如,200 、表示分配給站點(diǎn)或主機(jī)的IPv6地址(如,W.X.Y.Z)的部分314(如,WffXX: YYZZ)、子網(wǎng)ID 316、以及接口 ID 318。如所示,6到4前綴312由16位來表示;部分314由32位來表示;子網(wǎng)ID 316由16 位來表示;接口 ID 318由64位來表示。在ISATAP過渡技術(shù)格式中的IPv6地址是“ 0:5EFE:w. x. y. ζ”的形式,其中 "w. χ. y. ζ” 320是任意的單播IPv4地址(公共的或私有的)。參考圖4,在400示出負(fù)載平衡系統(tǒng)的第三具體實(shí)施例的框圖。在6到4過渡技術(shù)格式中,客戶機(jī)IPv6地址可不由6到4路由器來分配。如圖4所示,客戶機(jī)402可位于原生IPv6網(wǎng)絡(luò)404上(且可被分配一原生IPv6地址)。例如,原生IPv6網(wǎng)絡(luò)404可以是第一企業(yè)(如,企業(yè)B) IPv6網(wǎng)絡(luò)。原生IPv6網(wǎng)絡(luò)404通過6到4路由器406被連接到因特網(wǎng)。如所示,6到4通信408在因特網(wǎng)上被傳送至負(fù)載平衡(LB)陣列410,負(fù)載平衡(LB) 陣列410連接到另一個(gè)網(wǎng)絡(luò)412(如,原生IPv6網(wǎng)絡(luò)或ISATAP網(wǎng)絡(luò))。例如,該另一個(gè)網(wǎng)絡(luò) 412可以是第二企業(yè)(如,企業(yè)A)網(wǎng)絡(luò)。在一具體實(shí)施例中,第一企業(yè)網(wǎng)絡(luò)404(如,企業(yè)B的原生IPv6網(wǎng)絡(luò))具有固定 IPv6前綴。鉤函數(shù)可監(jiān)視來自客戶機(jī)402的通信以確定企業(yè)B網(wǎng)絡(luò)的固定IPv6前綴。鉤函數(shù)可提取被嵌入在6到4IPv4分組中的客戶機(jī)402的IPv6地址。在陣列410的第二企業(yè)網(wǎng)絡(luò)(如,企業(yè)A網(wǎng)絡(luò)412)側(cè),當(dāng)調(diào)用鉤函數(shù)時(shí),鉤函數(shù)確定原生IPv6地址是否是目的地地址。如果目的地地址是原生IPv6地址,則鉤函數(shù)返回從6到4IPv4分組中提取的客戶機(jī)402的IPv6地址。參考圖5,在500示出負(fù)載平衡系統(tǒng)的第四具體實(shí)施例的框圖。在6到4過渡技術(shù)格式中,可由與將數(shù)據(jù)分組發(fā)送到陣列的6到4路由器不同的6到4路由器向客戶機(jī)分配一 IPv6地址。例如,在圖5所示的實(shí)施例中,客戶機(jī)502從第一區(qū)段504 (如,在企業(yè)B網(wǎng)絡(luò)上的區(qū)段1)上的6到4路由器506接收6到4IPv6地址。在第一區(qū)段504上的6到4路由器506在因特網(wǎng)上傳送6到4通信(如在508處所示)至6到4中繼器510。6到4中繼器510耦合到第二區(qū)段512 (如,在企業(yè)B網(wǎng)絡(luò)上的區(qū)段2),第二區(qū)段512耦合到另一個(gè) 6到4中繼器514。這另一個(gè)6到4中繼器514在因特網(wǎng)上發(fā)送6到4通信(在516處示出)至另一個(gè)網(wǎng)絡(luò)520(如,原生IPv6網(wǎng)絡(luò)或ISATAP網(wǎng)絡(luò))上的陣列518。例如,該另一個(gè)網(wǎng)絡(luò)520可以是企業(yè)(如,企業(yè)A)網(wǎng)絡(luò)。因此,對(duì)客戶機(jī)502分配一 6到4IPv6地址,該6 到4IPv6地址屬于與將數(shù)據(jù)分組發(fā)送到陣列518的6到4路由器(如,6到4中繼器514) 不同的6到4路由器(如,6到4路由器506)。在企業(yè)網(wǎng)絡(luò)側(cè)(如,企業(yè)A網(wǎng)絡(luò)520),鉤函數(shù)觀測6到4地址作為客戶機(jī)502的目的地IPv6地址。在一具體實(shí)施例中,可在陣列518為每個(gè)所接收的數(shù)據(jù)分組確定分段。在另一個(gè)具體實(shí)施例中,陣列518可確定是否已經(jīng)為某一 6到4IPv6地址確定分段。參考圖6,在600示出負(fù)載平衡系統(tǒng)的第五具體實(shí)施例的框圖。系統(tǒng)600包括位于一公共網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)設(shè)備608后方的多個(gè)客戶機(jī)。例如,在圖6所示的實(shí)施例中,第一客戶機(jī)602、第二客戶機(jī)604、第三客戶機(jī)606位于NAT設(shè)備608后方,NAT設(shè)備608連接到因特網(wǎng)610。位于公共NAT設(shè)備608后方的客戶機(jī)602-606的每一個(gè)以相同的源IP地址(諸如,公共NAT設(shè)備608的IPv4地址)出現(xiàn)在陣列6 的互聯(lián)網(wǎng)側(cè)。進(jìn)一步的,客戶機(jī)602-606中的每一個(gè)具有相同的遮蔽外部地址(諸如,公共NAT設(shè)備608的IPv4地址)。 因此,第一客戶機(jī)設(shè)備602、第二客戶機(jī)設(shè)備604以及第三客戶機(jī)設(shè)備604以公共NAT設(shè)備 608的IPv4地址出現(xiàn)在陣列6M的因特網(wǎng)側(cè)。例如,來自第一客戶機(jī)602的第一客戶機(jī)側(cè)數(shù)據(jù)分組612(如,帶有第一 IP地址和第一端口信息)作為具有與公共NAT設(shè)備608相同的IP地址(如第四IP地址)的第一因特網(wǎng)側(cè)數(shù)據(jù)分組618而出現(xiàn)在陣列擬4的因特網(wǎng)側(cè)。 類似地,來自第二客戶機(jī)604的第二客戶機(jī)側(cè)數(shù)據(jù)分組614 (如,帶有第二 IP地址和第二端口信息)以及來自第三客戶機(jī)606的第三客戶機(jī)側(cè)數(shù)據(jù)分組616 (諸如,帶有第三IP地址和第三端口信息)作為具有公共NAT設(shè)備608的IPv4地址(如,第四IP地址)的第二因特網(wǎng)側(cè)數(shù)據(jù)分組620和第三因特網(wǎng)側(cè)數(shù)據(jù)分組622而出現(xiàn)在陣列6 的因特網(wǎng)側(cè)。通常,這不會(huì)顯著影響陣列的元素上的負(fù)載分布,因?yàn)槠浣y(tǒng)計(jì)上類似于這些客戶機(jī)分布在不同NAT設(shè)備后方。然而,在一些情況中,使用僅僅IPv4地址(如,公共NAT設(shè)備 608的IPv4地址)可能導(dǎo)致陣列(如,陣列624)的一個(gè)元素過載。這樣的過載情況可發(fā)生在許多遠(yuǎn)程用戶都出現(xiàn)在一公共NAT設(shè)備后方時(shí)。例如,在會(huì)議中,許多用戶可從該公共 NAT設(shè)備后方遠(yuǎn)程地連接到同一個(gè)企業(yè)網(wǎng)絡(luò)。為了克服該潛在問題,IPv4地址可與端口號(hào)(如,圖3中所述的遮蔽外部端口 308)相組合以創(chuàng)建新的可在其上執(zhí)行散列操作的值。該散列操作可在陣列的因特網(wǎng)側(cè)和企業(yè)網(wǎng)絡(luò)側(cè)兩側(cè)執(zhí)行。在一具體實(shí)施例中,該散列操作僅僅在Teredo地址上執(zhí)行。例如,對(duì)應(yīng)于第一客戶機(jī)602的第一端口可被嵌入在來自公共NAT設(shè)備608的第一因特網(wǎng)側(cè)數(shù)據(jù)分組 618中??蓮牡谝灰蛱鼐W(wǎng)側(cè)數(shù)據(jù)分組618中提取該第一端口以執(zhí)行該散列操作。作為另一個(gè)示例,對(duì)應(yīng)于第二客戶機(jī)604的第二端口可被嵌入在第二因特網(wǎng)側(cè)數(shù)據(jù)分組620中??蓮牡诙蛱鼐W(wǎng)側(cè)數(shù)據(jù)分組620中提取該第二端口以執(zhí)行該散列操作。作為進(jìn)一步的示例, 對(duì)應(yīng)于第三客戶機(jī)606的第三端口可被嵌入在第三因特網(wǎng)側(cè)數(shù)據(jù)分組622中??蓮牡谌蛱鼐W(wǎng)側(cè)數(shù)據(jù)分組622中提取第三端口以執(zhí)行該散列操作。在一具體實(shí)施例中,該散列操作可被用于將分組分配給陣列624的元素。參考圖7,示出了負(fù)載平衡方法的一具體實(shí)施例的流程圖。該方法包括在702在陣列的輸入處接收以第一格式編碼的數(shù)據(jù)分組704。在一具體實(shí)施例中,數(shù)據(jù)分組704是IPv4 分組,且嵌入在IPv4分組中的IPv6地址可從數(shù)據(jù)分組704中被提取出。數(shù)據(jù)分組704可以過渡技術(shù)格式來編碼,并可包括IPv4內(nèi)容。例如,過渡技術(shù)格式可包括Teredo IPv6過渡技術(shù)格式、6到4IPv6過渡技術(shù)格式或ISATAP IPv6過渡技術(shù)格式。在Teredo IPv6過渡技術(shù)格式的情況中,數(shù)據(jù)分組704包括被分配給客戶機(jī)設(shè)備的IPv6地址,該IPv6地址包括"Teredo服務(wù)器的IPv4地址、與客戶機(jī)設(shè)備相關(guān)聯(lián)的IPv4地址以及與客戶機(jī)設(shè)備相關(guān)聯(lián)的端口。在一具體實(shí)施例中,與客戶機(jī)設(shè)備(如,圖2的客戶機(jī) 204)相關(guān)聯(lián)的IPv4地址包括客戶機(jī)地址。在另一個(gè)具體實(shí)施例中,與客戶機(jī)設(shè)備相關(guān)聯(lián)的 IPv4地址包括網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)設(shè)備(如,圖6的NAT設(shè)備608)的地址。在6到4過渡技術(shù)格式的情況中,數(shù)據(jù)分組704包括被分配給客戶機(jī)設(shè)備的6到4地址,該6到4地址包括表示分配給主機(jī)設(shè)備的IPv6地址的部分。在ISATAP過渡技術(shù)格式的情況中,數(shù)據(jù)分組704包括被分配給客戶機(jī)設(shè)備的ISATAP地址,該ISATAP地址包括單播IPv4地址(如, 公共或私有的單播地址)。在706,所接收的數(shù)據(jù)分組704被分配給陣列的一已分配的元素。在一具體實(shí)施例中,基于第一散列函數(shù)操作將數(shù)據(jù)分組704分配給陣列的該已分配的元素。在一說明性實(shí)施例中,IPv4地址和端口號(hào)的組合被用作為對(duì)第一散列函數(shù)的輸入(例如,如圖6所示,在多個(gè)客戶機(jī)設(shè)備位于單個(gè)NAT設(shè)備后方的情況中)。該方法包括在708經(jīng)由陣列的已分配的元素將數(shù)據(jù)分組704路由到一設(shè)備。例如, 該設(shè)備可包括服務(wù)器,且該服務(wù)器的目的地地址可包括IPv6地址。作為另一個(gè)示例,該設(shè)備(如,服務(wù)器)的目的地地址可包括與IPv4地址類型不同的地址類型。例如,該地址類似可包括互聯(lián)網(wǎng)過渡技術(shù)地址類型。在710,在陣列上從該設(shè)備接收消息712。消息712可以第二格式編碼。第二格式可包括原生IPv6格式或ISATAP格式。在714,從消息的凈荷部分提取信息。在716,基于從消息的凈荷部分提取的信息,將消息712分配給陣列的所述已分配的元素。在一具體實(shí)施例中,基于第二散列函數(shù)操作將消息712分配給陣列的該已分配的元素。消息712可被分配以使得數(shù)據(jù)分組704和消息712被分配給陣列的同一個(gè)元素,以維持陣列上的雙向仿射性。該方法在718結(jié)束。圖8描繪了包括可用于支持根據(jù)本發(fā)明的計(jì)算機(jī)實(shí)現(xiàn)的方法和計(jì)算機(jī)程序產(chǎn)品的各實(shí)施例的通用計(jì)算機(jī)設(shè)備810的計(jì)算環(huán)境800的框圖。在基本配置中,計(jì)算設(shè)備810 包括陣列,如參考圖1-2和4-6所述的。計(jì)算設(shè)備810通常包括至少一個(gè)處理單元820和系統(tǒng)存儲(chǔ)器830。取決于計(jì)算設(shè)備的確切配置和類型,系統(tǒng)存儲(chǔ)器830可以是易失性的(諸如隨機(jī)存取存儲(chǔ)器,即“RAM”)、 非易失性的(諸如只讀存儲(chǔ)器(即“ROM)、閃存以及即使在未被提供電源時(shí)也保持存儲(chǔ)的數(shù)據(jù)的類似存儲(chǔ)器設(shè)備),或兩者的某種組合。系統(tǒng)存儲(chǔ)器830通常包括操作系統(tǒng)832、一個(gè)或多個(gè)應(yīng)用平臺(tái)834、一個(gè)或多個(gè)應(yīng)用836,并可包括程序數(shù)據(jù)838。計(jì)算設(shè)備810還可具有附加特征或功能。例如,計(jì)算設(shè)備810還可包括可移動(dòng)和 /或不可移動(dòng)的附加數(shù)據(jù)存儲(chǔ)設(shè)備,諸如磁盤、光盤、磁帶,以及標(biāo)準(zhǔn)大小或小型閃存卡。在圖8中通過可移動(dòng)存儲(chǔ)840和不可移動(dòng)存儲(chǔ)850示出了這樣的附加存儲(chǔ)。計(jì)算機(jī)存儲(chǔ)介質(zhì)可包括以用于存儲(chǔ)諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序組件或其它數(shù)據(jù)等信息的任何方法或技術(shù)實(shí)現(xiàn)的易失性和/或非易失性存儲(chǔ)以及可移動(dòng)和/或不可移動(dòng)介質(zhì)。系統(tǒng)存儲(chǔ)器 830、可移動(dòng)存儲(chǔ)840和不可移動(dòng)存儲(chǔ)850都是計(jì)算機(jī)存儲(chǔ)介質(zhì)的示例。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括,但不限于,RAM、ROM、EEPR0M、閃存或其他存儲(chǔ)器技術(shù)、CD-ROM、數(shù)字多功能盤(DVD)或其他光存儲(chǔ)、磁帶盒、磁帶、磁盤存儲(chǔ)或其他磁性存儲(chǔ)設(shè)備、或能用于存儲(chǔ)所需信息且可以由計(jì)算設(shè)備810訪問的任何其他介質(zhì)。任何這樣的計(jì)算機(jī)存儲(chǔ)介質(zhì)都可以是設(shè)備810的一部分。計(jì)算設(shè)備810包括至少一個(gè)網(wǎng)絡(luò)接口 816以經(jīng)由網(wǎng)絡(luò)812發(fā)送并接收數(shù)據(jù) 814(如,來自客戶機(jī)110的分組以及來自服務(wù)器112和114的消息,如圖1所示)。計(jì)算設(shè)備810還包含允許該計(jì)算設(shè)備810通過有線或無線網(wǎng)絡(luò)與其它計(jì)算設(shè)備890(如,圖1的服務(wù)器112和114)進(jìn)行通信的一個(gè)或多個(gè)通信連接880。該一個(gè)或多個(gè)通信連接880是通信介質(zhì)的示例。作為示例而非限制,通信介質(zhì)包括有線介質(zhì),諸如有線網(wǎng)絡(luò)或直接線連接,以及無線介質(zhì),諸如聲學(xué)、射頻、紅外線和其他無線介質(zhì)。然而,可以理解,并非所有圖8所示或另外在先前的附圖中描述的組件或設(shè)備都必須支持此處所描述的實(shí)施例。結(jié)合此處所公開的各實(shí)施例所描述的方法或算法的各個(gè)步驟可被直接用硬件、由處理器執(zhí)行的軟件組件、或兩者的組合來實(shí)現(xiàn)。軟件組件可駐留在隨機(jī)存取存儲(chǔ)器(RAM)、閃存、只讀存儲(chǔ)器(ROM)、可編程只讀存儲(chǔ)器(PR0M)、可擦寫可編程只讀存儲(chǔ)器 (EPROM)、電可擦寫可編程只讀存儲(chǔ)器(EEPROM)、寄存器、硬盤、可移動(dòng)盤、緊致盤只讀存儲(chǔ)器(CD-ROM)、或本領(lǐng)域中已知的任何其他形式的存儲(chǔ)介質(zhì)中。示例性的存儲(chǔ)介質(zhì)耦合到處理器,使得處理器可從存儲(chǔ)介質(zhì)上讀取信息,并向存儲(chǔ)介質(zhì)寫入信息。在替換方案中,存儲(chǔ)介質(zhì)可以被整合到處理器。處理器和存儲(chǔ)介質(zhì)可位于計(jì)算設(shè)備的集成組件之中。在替換方案中,處理器和存儲(chǔ)介質(zhì)可作為分立組件駐留在計(jì)算設(shè)備中。本領(lǐng)域技術(shù)人員將進(jìn)一步理解,結(jié)合這里所公開的實(shí)施例所描述的各種說明性邏輯塊、配置、模塊、以及算法步驟,可以作為電子硬件、計(jì)算機(jī)軟件或兩者的組合來實(shí)現(xiàn)。為清楚地示出硬件和軟件的此互換性,已經(jīng)按照功能總體上描述了各種說明性組件、塊、配置、模塊、以及步驟。這種功能被實(shí)現(xiàn)為硬件還是軟件取決于在總體系統(tǒng)上所施加的具體應(yīng)用和設(shè)計(jì)限制。技術(shù)人員可針對(duì)每種具體應(yīng)用以不同方式來實(shí)現(xiàn)所描述的功能集,但此類設(shè)計(jì)決策不應(yīng)被解釋為致使脫離本公開的范圍。軟件模塊可駐留在諸如隨機(jī)存取存儲(chǔ)器(RAM)、閃存、只讀存儲(chǔ)器(ROM)、寄存器、 硬盤、可移動(dòng)盤、CD-ROM、或本領(lǐng)域內(nèi)已知的任何其他形式的存儲(chǔ)介質(zhì)等計(jì)算機(jī)可讀介質(zhì)中。示例性的存儲(chǔ)介質(zhì)耦合到處理器,使得處理器可從存儲(chǔ)介質(zhì)上讀取信息,并向存儲(chǔ)介質(zhì)與入{曰息。盡管已經(jīng)在此示出和描述了具體實(shí)施方式
,但應(yīng)理解,可以為所示的具體實(shí)施方式
替換被設(shè)計(jì)成實(shí)現(xiàn)相同或相似目的的任何后續(xù)安排。本發(fā)明旨在覆蓋各實(shí)施方式的任何和所有后續(xù)改變和變體。提交本發(fā)明的摘要的同時(shí)要明白,將不用它來解釋或限制權(quán)利要求的范圍或含義。另外,在前面的具體實(shí)施方式
中,可以出于將本發(fā)明連成一個(gè)整體的目的而將各種特征組合在一起或描述在單個(gè)實(shí)施方式中。此發(fā)明將不被解釋為反映所要求保護(hù)的實(shí)施方式要求比每個(gè)權(quán)利要求中明確陳述的更多特征的意圖。相反,如以下權(quán)利要求反映的,本發(fā)明的主題可涉及少于所公開的實(shí)施方式中的任一個(gè)的所有特征。
提供上文對(duì)所公開的實(shí)施例的描述,以使本領(lǐng)域技術(shù)人員能作出或使用所公開的實(shí)施例。對(duì)這些實(shí)施例的各種修改對(duì)于本領(lǐng)域技術(shù)人員將是顯而易見的,并且本文中定義的普適原理可被應(yīng)用于其他實(shí)施例而不會(huì)脫離本公開的范圍。因此,本發(fā)明不是旨在限于本文所示的各實(shí)施方式,而是按照與如由所附權(quán)利要求書定義的原理和新穎特征相一致的盡可能最寬范圍。
權(quán)利要求
1.一種在陣列上對(duì)數(shù)據(jù)分組進(jìn)行負(fù)載平衡的方法,所述方法包括在陣列(20 的輸入處接收(702)以第一格式(230)編碼的數(shù)據(jù)分組(704);將所接收的數(shù)據(jù)分組分配(706)給陣列(20 的一已分配的元素;經(jīng)由所述陣列(20 的所述已分配的元素,將所述數(shù)據(jù)分組路由(708)到一設(shè)備(206)在所述陣列(202)上從所述設(shè)備(206)接收(710)消息(712),所述消息以第二格式 (232)編碼;從所述消息(712)的凈荷部分提取(714)信息;以及基于從消息(712)的凈荷部分所提取的信息,將消息(712)分配(716)給所述陣列 (202)的所述已分配的元素。
2.如權(quán)利要求1所述的方法,其特征在于,所述消息以互聯(lián)網(wǎng)協(xié)議版本六(IPv6)過渡技術(shù)格式來編碼的,其中所述消息包括互聯(lián)網(wǎng)協(xié)議版本四(IPv4)信息,并且所述IPv4信息是從所述消息的凈荷部分提取的。
3.如權(quán)利要求1所述的方法,其特征在于,所述消息以原生互聯(lián)網(wǎng)協(xié)議版本六(IPv6) 格式來編碼的,其中所述消息包括互聯(lián)網(wǎng)協(xié)議版本四(IPv4)信息,并且所述IPv4信息是從所述消息的凈荷部分提取的。
4.如權(quán)利要求1所述的方法,其特征在于,基于第一散列函數(shù)操作而將所述數(shù)據(jù)分組分配給所述陣列的所述已分配的元素,基于第二散列函數(shù)操作而將所述消息分配給所述陣列的所述已分配的元素。
5.如權(quán)利要求1所述的方法,其特征在于,所述設(shè)備包括具有目的地地址的服務(wù)器,其中所述服務(wù)器的目的地地址包括互聯(lián)網(wǎng)協(xié)議版本六(IPv6)地址。
6.如權(quán)利要求1所述的方法,其特征在于,所述數(shù)據(jù)分組被路由到所述設(shè)備的目的地地址,其中所述設(shè)備的目的地地址包括與互聯(lián)網(wǎng)協(xié)議版本四(IPv4)地址類型不同的地址類型。
7.如權(quán)利要求1所述的方法,其特征在于,所述消息以Teredo過渡技術(shù)格式編碼,所述消息包括被分配給客戶機(jī)設(shè)備的互聯(lián)網(wǎng)協(xié)議版本六(IPv6)地址,所述IPv6地址包括 Teredo服務(wù)器的互聯(lián)網(wǎng)協(xié)議版本四(IPv4)地址、與所述客戶機(jī)設(shè)備相關(guān)聯(lián)的IPv4地址、以及與所述客戶機(jī)設(shè)備相關(guān)聯(lián)的端口。
8.如權(quán)利要求7所述的方法,其特征在于,與所述客戶機(jī)設(shè)備相關(guān)聯(lián)的IPv4地址包括客戶機(jī)地址以及網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)設(shè)備的地址中的一個(gè)。
9.如權(quán)利要求1所述的方法,其特征在于,所述消息以6到4過渡技術(shù)格式編碼,其中所述消息包括被分配給客戶機(jī)設(shè)備的6到4地址,其中所述6到4地址包括表示分配給主機(jī)設(shè)備的互聯(lián)網(wǎng)協(xié)議版本六(IPv6)地址的部分。
10.如權(quán)利要求1所述的方法,其特征在于,所述消息以ISATAP過渡技術(shù)格式編碼,其中所述消息包括被分配給客戶機(jī)設(shè)備的ISATAP地址,其中所述ISATAP地址包括單播互聯(lián)網(wǎng)協(xié)議版本四(IPv4)地址。
11.如權(quán)利要求1所述的方法,其特征在于,基于散列函數(shù)而將所述消息分配給所述陣列的所述已分配的元素,其中互聯(lián)網(wǎng)協(xié)議版本四(IPv4)地址和端口號(hào)的組合被用作為對(duì)所述散列函數(shù)的輸入。
12.如權(quán)利要求1所述的方法,其特征在于,所述數(shù)據(jù)分組包括互聯(lián)網(wǎng)協(xié)議版本四(IPv4)分組,其中所述方法進(jìn)一步包括提取嵌入在所述IPv4分組中的互聯(lián)網(wǎng)協(xié)議版本六 (IPv6)地址。
13.一種陣列,包括網(wǎng)絡(luò)組件012),用于從設(shè)備接收消息032),其中所述消息以過渡技術(shù)格式編碼; 提取組件014),用于從所述消息032)中提取信息;分配組件016),用于基于從所述消息所提取的信息,將所述消息分配給所述陣列的第一元素020),其中所述陣列包括多個(gè)元素018)。
14.如權(quán)利要求13所述的陣列,其特征在于,還包括 第二網(wǎng)絡(luò)組件,用于接收數(shù)據(jù)分組;以及路由組件,用于將所接收的數(shù)據(jù)分組路由到所述陣列的所述第一元素。
15.如權(quán)利要求13所述的方法,其特征在于,將所述數(shù)據(jù)分組和所述消息路由到所述陣列的所述第一元素導(dǎo)致在所述陣列上的雙向仿射性。
全文摘要
揭示了一種在陣列上對(duì)數(shù)據(jù)分組進(jìn)行負(fù)載平衡的方法。本方法包括在陣列的輸入處接收以第一格式編碼的數(shù)據(jù)分組。所接收的數(shù)據(jù)分組被分配給陣列的一已分配的元素,并且數(shù)據(jù)分組被路由到一設(shè)備。在陣列上從該設(shè)備接收以第二格式編碼的消息。從該消息的凈荷部分提取出信息,并且基于從該消息的凈荷部分所提取的信息將該消息分配給陣列上的該已分配的元素。
文檔編號(hào)H04L12/56GK102257776SQ200980151931
公開日2011年11月23日 申請(qǐng)日期2009年12月11日 優(yōu)先權(quán)日2008年12月19日
發(fā)明者A·埃亞勒, L·艾倫, N·奈斯, O·約瑟斐, S·卡里姆 申請(qǐng)人:微軟公司