冗余非循環(huán)路徑的制作方法
【專利摘要】一種示例方法包括:創(chuàng)建通往多個交換機的多個冗余非循環(huán)路徑;和向多個交換機提供關于多個冗余非循環(huán)路徑的信息。該方法進一步包括:將多個客戶端中的每個分配給所述多個冗余非循環(huán)路徑中的一個;和向多個交換機提供關于多個客戶端中的每個客戶端被分配給多個冗余非循環(huán)路徑中哪個冗余非循環(huán)路徑的信息。然后,響應于接收來自多個客戶端中的客戶端的分組,該方法包括:至少部分地基于所述客戶端被分配給多個冗余非循環(huán)路徑中哪個冗余非循環(huán)路徑,在多個冗余非循環(huán)路徑中的一個上向多個交換機中的一個傳送分組。
【專利說明】冗余非循環(huán)路徑
【背景技術】
[0001]在聯(lián)網(wǎng)技術空間中,存在在源設備和目的設備之間傳送的各種分組。最常見類型的分組是單播分組,單播分組是被送往單個設備的分組。其它類型的分組包括廣播分組、多播分組及未知目的地址分組。廣播分組是被送往網(wǎng)絡中所有設備的分組。多播分組是被送往網(wǎng)絡中一組目的設備的分組。此外,如名字所表示的,未知目的地址分組是設備(例如,交換機)當前不知道目的地址的分組。如下面更詳細地描述的,經(jīng)常與典型的單播分組不同地處理廣播分組、多播分組以及未知目的地址分組,例如通過目前的交換機網(wǎng)格化(switch meshing)方法所展示的。
【專利附圖】
【附圖說明】
[0002]在下面的【具體實施方式】中并且參考附圖,描述示例實施例,其中:
[0003]圖1描繪根據(jù)實施例的系統(tǒng);
[0004]圖2描繪根據(jù)另一實施例的過程流程圖;
[0005]圖3描繪根據(jù)再一實施例的系統(tǒng);
[0006]圖4描繪根據(jù)又一實施例的過程流程圖;
[0007]圖5描繪根據(jù)實施例的網(wǎng)格交換機的框圖。
【具體實施方式】
[0008]交換機網(wǎng)格化是一種交換技術,該交換技術將多個交換機聯(lián)接在一起以形成網(wǎng)格化交換機域(meshed switch domain)。該網(wǎng)格化交換機域提供源設備和目的設備之間的多個交換機路徑,因此允許對不同分組使用不同交換機路徑。例如,發(fā)源設備(例如,工作站)可以利用遍歷網(wǎng)格化交換機域中的交換機1、2和5的第一路徑來向目的設備(例如,服務器)傳送單播分組,并且隨后利用遍歷該網(wǎng)格化交換機域中的交換機1、3、4和5的第二路徑來向相同目的設備傳送另一單播分組。利用第一路徑或第二路徑的決定可以基于各種條件,如交換機的狀態(tài)、路徑的狀態(tài)和/或所發(fā)送的分組的內(nèi)容。
[0009]具體關于網(wǎng)格化交換機域中的廣播分組、多播分組及未知目的地址分組,目前的交換機網(wǎng)格化方法利用穿過該網(wǎng)格化交換機域的單個路徑,來向所有交換機傳播所有廣播分組、多播分組及未知目的地址分組。此單個路徑在一個交換機處開始并且遍歷該網(wǎng)格化交換機域中的每個其它交換機。這使交換機能夠有效地通過單個路徑向該網(wǎng)格化交換機域中的每個其它交換機分發(fā)進入的廣播分組、多播分組和/或未知目的地址分組。然而,此方法的潛在問題是該單個路徑中的段(segment)可能發(fā)生故障,結果直到該路徑被重建,該交換機才能夠傳送廣播分組、多播分組和/或未知目的地址分組。這會引起傳播延遲及擁塞,這在特定環(huán)境中可能是無法接受的。另一潛在問題是交換機可能在短的一段時間內(nèi)難于應付大量廣播分組、多播分組和/或未知目的地址分組。結果,由于所有分組必須經(jīng)由單個路徑輸出,所以可能形成瓶頸。此瓶頸可能產(chǎn)生傳輸延遲,傳輸延遲如上面提到的那樣可能在特定環(huán)境中是不可接受的。
[0010]本文描述的各實施例,通過對在網(wǎng)格交換環(huán)境中分發(fā)廣播分組、多播分組和未知目的地址分組提供新穎的和以前未預見到的方法,至少解決上述問題。更準確地,各實施例將客戶端分配給該網(wǎng)格化交換機域中不同的冗余非循環(huán)路徑,以便以平衡且可靠的方式分發(fā)廣播分組、多播分組和/或未知目的地址分組。此外,各實施例利用算法來在該網(wǎng)格化交換機域中的各冗余非循環(huán)路徑之間以可靠且平衡的方式分發(fā)廣播分組、多播分組和/或未知目的地址分組。
[0011]在一個示例實施例中,提供一種方法。該方法包括:創(chuàng)建通往多個交換機的多個冗余非循環(huán)路徑;以及向多個交換機提供關于多個冗余非循環(huán)路徑的信息。該方法進一步包括:將多個客戶端中的每個客戶端分配給多個冗余非循環(huán)路徑中的一個冗余非循環(huán)路徑;以及向多個交換機提供關于多個客戶端中的每個客戶端被分配給多個冗余非循環(huán)路徑中哪個冗余非循環(huán)路徑的信息。然后,響應于接收來自多個客戶端中的客戶端的分組,該方法包括:至少部分地基于該客戶端被分配給多個冗余非循環(huán)路徑中哪個冗余非循環(huán)路徑,在多個冗余非循環(huán)路徑中的一個冗余非循環(huán)路徑上將該分組傳送至多個交換機中的一個交換機。
[0012]在另一實施例中,提供另一種方法。該方法包括:存儲對進入的分組應用的算法;創(chuàng)建通往多個交換機的多個冗余非循環(huán)路徑;向多個交換機提供關于多個冗余非循環(huán)路徑的信息;以及向多個交換機提供關于多個附接客戶端的信息。此外,該方法包括:接收來自多個附接客戶端中的一個附接客戶端的分組;將與該分組關聯(lián)的信息應用至該算法,以產(chǎn)生轉發(fā)結果;至少部分地基于該轉發(fā)結果,選擇多個冗余非循環(huán)路徑中的一個冗余非循環(huán)路徑;以及在多個冗余非循環(huán)路徑中所選擇的一個冗余非循環(huán)路徑上傳送該分組。
[0013]在又一實施例中,提供一種系統(tǒng)。該系統(tǒng)包括第一交換機和第二交換機。第一交換機被配置用于:存儲對進入的分組應用的算法;向第二交換機提供關于多個冗余非循環(huán)路徑及附接客戶端的信息;將與所接收的分組關聯(lián)的信息應用至該算法,以產(chǎn)生轉發(fā)結果;至少部分地基于該轉發(fā)結果,選擇多個冗余非循環(huán)路徑中的一個冗余非循環(huán)路徑;以及在多個冗余非循環(huán)路徑中所選擇的一個冗余非循環(huán)路徑上傳送該分組。第二交換機被配置用于:存儲對進入的分組應用的算法;存儲關于多個冗余非循環(huán)路徑及附接客戶端的信息;接收在第一交換機處生成的分組;以及將與所接收的分組關聯(lián)的信息應用至該算法,以產(chǎn)生第二轉發(fā)結果,其中第二轉發(fā)結果可以與第一轉發(fā)結果相同。
[0014]圖1描繪根據(jù)一個實施例的系統(tǒng)100。系統(tǒng)100包括多個交換機110 (每個具有多個端口 120)、多個客戶端130以及多個段140。應當容易明白,圖1中描繪的系統(tǒng)100代表概括說明,并且可以增加其它要素或可以移除、修改或重布置現(xiàn)有要素,而不脫離本公開的范圍。
[0015]每個客戶端130通常是被配置為可通信地連接至交換機110的計算設備。例如,客戶端130可以是便攜機、臺式機、平板、服務器、工作站、存儲設備、安全設備、無線接入點、無線控制器、智能電話、醫(yī)療器械、科學儀器、IP語音(VoIP)電話等等??蛻舳?30可以利用無線和/或有線介質(例如,射頻(RF)、光纖、同軸電纜、雙絞線等)來與交換機110通信。在一些實現(xiàn)方式中,不屬于該網(wǎng)格化交換機域的一部分的交換機可以是客戶端和交換機110之間的中介。例如,客戶端130可以與非網(wǎng)格交換機通信,非網(wǎng)格交換機接著與網(wǎng)格交換機110通信。
[0016]每個交換機110通常是計算機聯(lián)網(wǎng)設備,其被配置用于:經(jīng)由網(wǎng)絡段140連接其它設備以及經(jīng)由網(wǎng)絡段140和關聯(lián)的端口 120轉發(fā)送往其它設備和來自其它設備的分組。此夕卜,每個交換機110被配置用于:存儲轉發(fā)表150以及至少部分地基于轉發(fā)表150內(nèi)的信息轉發(fā)進入的分組。例如,圖1中的交換機C可以是網(wǎng)格交換機,其被配置用于:接收來自客戶端X和/或客戶端Y的分組以及基于內(nèi)部轉發(fā)表150經(jīng)由網(wǎng)絡段140及關聯(lián)的端口 120向網(wǎng)格交換機A、B或D傳送分組。類似地,交換機C可以接收來自交換機A、B或D的分組,并且基于內(nèi)部轉發(fā)表150經(jīng)由網(wǎng)絡段140及關聯(lián)的端口 120向客戶端X或Y傳送分組。
[0017]除上文之外且根據(jù)圖1中描繪的實施例,每個網(wǎng)格交換機110可以被配置用于:(i)建立通往網(wǎng)格化交換機域中其它交換機110的多個冗余非循環(huán)路徑,(ii)向該網(wǎng)格化交換機域中的其它交換機110分發(fā)關于所建立的路徑的信息,(iii)將客戶端130分配給所建立的路徑,并且向該網(wǎng)格化交換機域中的其它交換機110通知該分配,以及(iv)利用所建立的路徑來將進入的廣播分組、多播分組和/或未知目的地址分組從客戶端130傳送至該網(wǎng)格化交換機域中的其它交換機110。下面參照圖1更詳細的描述這些功能中的每個。
[0018]對于(i)建立通往網(wǎng)格化交換機域中其它交換機的多個冗余非循環(huán)路徑,圖1中的交換機C可以例如建立將交換機C連接至交換機A、B和D中的每個交換機的三個冗余非循環(huán)路徑(見圖1中的路徑1、2和3)。就每個路徑類似地將交換機C連接至交換機A、B和D中的每個而言,這三個路徑可以是冗余的,并且就每個路徑未遍歷交換機或網(wǎng)絡段一次以上而言,這三個路徑可以是非循環(huán)的。如所示,路徑I可以將所接收的分組從交換機C上的端口 I傳播至交換機A上的端口 2,以及將分組從交換機C上的端口 8傳播至交換機D上的端口 7。然后,交換機A可以將所接收的分組從交換機A上的端口 3轉發(fā)至交換機B上的端口 4。作為對照,路徑2可以將分組從交換機C上的端口 I傳播至交換機A上的端口 2,以及從交換機C上的端口 9傳播至交換機B上的端口 11。交換機A響應于接收來自交換機C的分組,可以將分組從交換機A上的端口 10傳播至交換機D上的端口 12。作為進一步對照,路徑3可以將分組從交換機C上的端口 9傳播至交換機B上的端口 11。然后,交換機B可以將所接收的分組從交換機B上的端口 4轉發(fā)至交換機A上的端口 3,以及從交換機B上的端口 5轉發(fā)至交換機D上的端口 6。
[0019]在交換機建立通往網(wǎng)格化交換機域中其它交換機的多個冗余非循環(huán)路徑之后,交換機可以(ii)向該網(wǎng)格化交換機域中的其它交換機110分發(fā)關于路徑的信息。例如,交換機C可以向交換機A、B和D提供關于路徑1、2和3的信息。交換機C可以經(jīng)由通知協(xié)議(例如,廣播通知協(xié)議)提供關于路徑的信息。所提供的信息可以例如包括:路徑標識符(例如,“路徑I ”)、利用此路徑的分組的類型(例如,廣播分組、多播分組及未知目的地址分組)、發(fā)源交換機標識符(例如,“交換機C,,)、發(fā)源交換機MAC地址(例如,12:34:56:78: ab: cd)、與該路徑相關的進入端口標識符(例如,交換機A,端口 2)和/或外出端口標識符(交換機A,端口 3)。應注意,在一些實例中可能存在多個外出端口。例如,對于路徑3,向交換機B提供的信息可以包括:路徑標識符(例如,“路徑3”)、利用此路徑的分組的類型(例如,廣播分組、多播分組及未知目的地址分組)、發(fā)源交換機標識符(例如,“交換機C”)、發(fā)源交換機MAC地址(例如,12:34:56:78: ab: cd)、與該路徑相關的進入端口標識符(例如,交換機B,端口 11)和/或外出端口標識符(例如,交換機B,端口 4和端口 5)。當接收這樣的信息時,每個交換機可以用此路徑信息更新內(nèi)部轉發(fā)表150。例如且參照圖1,交換機A可以從交換機C接收關于路徑I的信息并且更新內(nèi)部轉發(fā)表150,以指示來自交換機C的被分配給路徑I的廣播分組、多播分組及未知目的地址分組應經(jīng)由端口 3輸出。類似地,交換機A可以從交換機C接收關于路徑2的信息并且更新內(nèi)部轉發(fā)表150,以指示被分配給路徑2的廣播分組、多播分組和未知目的地址分組應當經(jīng)由端口 10輸出。更進一步,交換機A可以從交換機C接收關于路徑3的信息并且更新內(nèi)部轉發(fā)表150,以指示被分配給路徑3的廣播分組、多播分組和未知目的地址分組不應當輸出。
[0020]在交換機向網(wǎng)格化交換機域中的其它交換機110分發(fā)關于路徑的信息之前或之后,該交換機可以(iii)將附接客戶端分配至多個冗余非循環(huán)路徑,并且將此分配告知其它交換機。例如,與交換機C附接的每個客戶端可以被分配給由交換機C建立的多個冗余非循環(huán)路徑中的一個冗余非循環(huán)路徑。因此,參照圖1,交換機C可以將客戶端X分配給路徑2,并且將客戶端Y分配給路徑I。結果,可以經(jīng)由路徑2向網(wǎng)格化交換機域中的其它交換機發(fā)送從客戶端X產(chǎn)生的所有廣播分組、多播分組和/或未知目的地址分組,并且可以經(jīng)由路徑I向該網(wǎng)格化交換機域中的其它交換機發(fā)送從客戶端Y產(chǎn)生的所有廣播分組、多播分組和/或未知目的地址分組。交換機C可以通過通知協(xié)議(例如,MAC通知協(xié)議)分發(fā)關于這些分配的信息。在通知消息收發(fā)中提供的信息可以例如包括:客戶端標識符(例如,“客戶端X”)、客戶端MAC地址(例如,12:34:56:78: cd: 00)、所分配的路徑(例如,路徑2)和/或通過所分配的路徑分發(fā)的分組的類型(例如,廣播分組、多播分組及未知目的地址分組)。當接收此信息時,每個交換機可以用此分配信息更新內(nèi)部轉發(fā)表150。例如并參照圖1,交換機A可以從交換機C接收指示客戶端Y被分配給路徑I且客戶端X分配給路徑2的信息。然后,交換機C可以更新其內(nèi)部轉發(fā)表150,以指示從交換機C發(fā)出的關于客戶端Y的廣播分組、多播分組和未知目的地址分組被分配給路徑I。類似地,交換機A可以更新其內(nèi)部轉發(fā)表150,以指示從交換機C發(fā)出的關于客戶端X的廣播分組、多播分組和未知目的地址分組被分配給路徑2。
[0021]此后,交換機llO(iv)利用所建立的路徑,來根據(jù)它們各自的路徑分配將來自客戶端130的進入的廣播分組、多播分組和/或未知目的地址分組傳送至其它交換機110。例如,從客戶端Y向交換機C發(fā)送的廣播分組將在路徑I上轉發(fā),使得其從交換機C上的端口I輸出至交換機A上的端口 2并且從交換機C上的端口 8輸出至交換機D上的端口 7。交換機A將接收該廣播分組,并且基于其內(nèi)部轉發(fā)表150中的信息,將該廣播分組從交換機A上的端口 3輸出至交換機B上的端口 4。結果,所接收的來自客戶端Y的廣播分組將通過所分配的路徑I被分發(fā)給交換機A、B和D中的每個交換機。更具體地,來自客戶端Y的廣播分組將被分發(fā)給交換機A、B和D中的每個交換機,而沒有遍歷相同鏈路一次以上且沒有被相同的交換機接收一次以上(即,路徑I是網(wǎng)格化交換機域中的非循環(huán)路徑)。
[0022]由于來自各客戶端的廣播分組、多播分組和/或未知目的地址分組是在多個冗余非循環(huán)路徑之間分發(fā)的,所以圖1中圖示的上面介紹的方法增強負載均衡。因此,如果多個客戶端全部同時發(fā)送廣播分組,則由于分組在多個路徑之間分發(fā)(即,與經(jīng)由單個路徑分發(fā)分組的傳統(tǒng)方法不同),所以不產(chǎn)生瓶頸。此外,在段發(fā)生故障的情況下,由于交換機可以立即將來自客戶端的業(yè)務分配給另一路徑(即,與等待該段被重建的傳統(tǒng)方法不同),所以減輕延遲。例如,網(wǎng)格交換機可以響應于例如接收段/路徑故障指示或未接收確認分組而確定與路徑中的一個路徑關聯(lián)的段已發(fā)生故障。然后,該網(wǎng)格交換機可以繼續(xù)迅速確定哪個客戶端當前被分配給與發(fā)生故障的段關聯(lián)的路徑,并且確定每個客戶端的替代路徑。然后,交換機可以繼續(xù)向網(wǎng)格化交換機域中的其它交換機分發(fā)關于新客戶端路徑分配的信息,并且如果需要則重轉發(fā)分組。此后,響應于網(wǎng)格交換機接收或以其它方式確定該段/路徑已被重建,交換機可以將客戶端重新分配回其原始路徑。
[0023]圖2描繪根據(jù)實施例的過程流程圖200。應當容易明白,圖2(以及圖4)中描繪的過程代表概括說明,并且可以增加其它過程或可以移除、修改或重置現(xiàn)有過程,而不脫離本公開的范圍和精神。此外,應理解,這些過程可以代表引起與交換機110關聯(lián)的計算機、處理器和/或邏輯設備進行響應、執(zhí)行動作、改變狀態(tài)和/或做出決定的可執(zhí)行指令。因此,所描述的過程可以被實現(xiàn)為由與交換機110關聯(lián)的計算機可讀介質提供的可處理器執(zhí)行指令和/或操作。此外,過程可以代表由像模擬電路、數(shù)字信號處理器電路、專用集成電路(ASIC)或與交換機110關聯(lián)的其它邏輯設備這樣的功能等效電路執(zhí)行的功能和/或行為。圖2不旨在限制所描述的實施例的實現(xiàn)方式,而相反【專利附圖】
【附圖說明】功能信息,本領域技術人員可以使用該功能信息來設計/制造電路、生成軟件或使用硬件和軟件的結合執(zhí)行所圖示的過程。
[0024]該過程在框210處開始,此時網(wǎng)格交換機創(chuàng)建通往網(wǎng)格化交換機域中其它交換機的多個冗余非循環(huán)路徑。該過程可以包括:交換機利用發(fā)現(xiàn)協(xié)議來識別網(wǎng)格化交換機域中的各交換機、端口和/或段;以及交換機至少部分地基于所檢測的該信息創(chuàng)建多個冗余非循環(huán)路徑。交換機可以將關于所創(chuàng)建的路徑的信息存儲在包括轉發(fā)表的內(nèi)部存儲器中。此外,在框220處,交換機可以向該域中的其它交換機提供關于所創(chuàng)建的路徑的信息。這可以包括:交換機向每個交換機通知與各交換機相關的路徑,或者可替代地向所有交換機通知所有路徑,使得每個交換機可以知道全部轉發(fā)機制。如上面介紹的,這樣的信息可以通過通知協(xié)議(例如,廣播通知協(xié)議)進行分發(fā),通知協(xié)議向其它交換機提供路徑信息,如路徑標識符(例如,“路徑I”)、利用此路徑的分組的類型(例如,廣播分組、多播分組及未知目的地址分組)、發(fā)源交換機標識符(例如,“交換機C”)、發(fā)源交換機MAC地址(例如,12:34:56:78: ab: Cd)、與路徑相關的進入端口標識符(例如,交換機A,端口 2)和/或外出端口標識符(例如,交換機A,端口 3)。
[0025]在框230處,交換機將客戶端分配給路徑。更準確地,交換機將全部附接客戶端分配給在框210中建立的多個路徑中的一個路徑。此過程可以最初在交換機連接網(wǎng)格化交換機域時基于那時與該交換機附接的客戶端被實施,以及未來在客戶端附接至交換機時被實施。交換機可以將關于客戶端分配的信息存儲在內(nèi)部轉發(fā)表中,并且在框240處,交換機可以向該網(wǎng)格化交換機域中的其它交換機提供關于客戶端分配的信息。交換機可以通過通知協(xié)議提供該信息,并且該信息可以例如包括:客戶端標識符(例如,“客戶端X”)、客戶端MAC地址(例如,12:34:56:78: Cd:00)、所分配的路徑(例如,路徑2)和/或通過所分配的路徑分發(fā)的分組的類型(例如,廣播分組、多播分組及未知目的地址分組)。當接收此分配信息時,每個交換機可以更新內(nèi)部轉發(fā)表,使得每個交換機可以知道如何處理與每個客戶端關聯(lián)的分組。
[0026]在框250處,交換機可以接收來自客戶端的分組。如果分組是廣播分組、多播分組或未知目的地址分組,則交換機可以參考其內(nèi)部轉發(fā)表,并且在框260處,基于之前在框230中分配給客戶端的路徑傳送分組。其它交換機可以接收廣播分組、多播分組或未知目的地址分組,并且類似地參考其內(nèi)部轉發(fā)表并且如果需要則進行轉發(fā)。
[0027]盡管圖2中未繪出,但該過程可以進一步包括:交換機接收或以其它方式確定與路徑中的一個路徑關聯(lián)的段已發(fā)生故障。響應于此事件,交換機可以繼續(xù)確定哪個客戶端被分配給與發(fā)生故障的段關聯(lián)的路徑,并且確定每個客戶端的替代路徑。然后,交換機可以繼續(xù)向該網(wǎng)格化交換機域中的其它交換機提供關于新客戶端路徑分配的信息。此后,響應于交換機接收或以其它方式確定該段已被修復,交換機可以將客戶端重新分配回其原路徑。
[0028]應注意,上述參照圖2描述的過程可以由網(wǎng)格化交換機域中的每個交換機實施。例如,上面描述的過程中的一個或多個可以由參照圖1描述的交換機A-D中的一個或多個實施。
[0029]圖3描繪根據(jù)另一實施例的系統(tǒng)300。應理解,圖3中描繪的系統(tǒng)300代表概括的說明,并且可以增加其它要素或可以移除、修改或重置已有要素,而不脫離本公開的范圍。
[0030]與圖1中描繪的系統(tǒng)100類似,圖3中的系統(tǒng)300包括多個交換機110 (每個具有多個端口 120)、多個客戶端130以及多個段140。交換機110、端口 120、客戶端130以及段主要地以與上面關于圖1描述的相同方式操作。然而,區(qū)別的一個方面是:進入的廣播分組、多播分組或未知目的地址分組被動態(tài)地分配給路徑,而不是如關于圖1介紹的那樣基于客戶端分配被預先地分配。更具體地,將與進入的廣播分組、多播分組及未知目的地址分組關聯(lián)的信息輸入到算法(例如,哈希算法)中,并且結果被用于確定將分組分配給哪個路徑。與進入的廣播分組、多播分組及未知目的地址分組關聯(lián)的信息可以包括:業(yè)務所達到的物理進入端口、源媒體接入控制(MAC)地址、目的MAC地址、源互聯(lián)網(wǎng)協(xié)議(IP)地址、目的IP地址、IP協(xié)議字段、傳輸控制協(xié)議(TCP)源端口、用戶數(shù)據(jù)報協(xié)議(UDP)源端口、TCP目的端口、UDP目的端口、優(yōu)先級、差分服務代碼點(DSCP)以及以太網(wǎng)類型(EtherType)。
[0031]例如,參照圖3,交換機A、B、C和D可以商定并存儲對所有進入的廣播分組、多播分組及未知目的地址分組應用的哈希算法。當客戶端Y向交換機C發(fā)送廣播分組、多播分組或未知目的地址分組時,交換機C可以取得分組的內(nèi)容并將其應用至哈希算法。例如,交換機C可以取得分組的源/目的MAC地址、以太網(wǎng)類型、IP協(xié)議以及源/目的IP地址的XOR0哈希結果可以是“P”,該“P”可以被映射/或索引至路徑I。因此,基于交換機C的轉發(fā)表150中的內(nèi)容,交換機C可以將分組從交換機C上的端口 I轉發(fā)至交換機A上的端口2,并且從交換機C上的端口 8轉發(fā)至交換機D上的端口 7。交換機A和交換機D可以接收分組,并且類似地獲得分組內(nèi)的內(nèi)容,并且將該內(nèi)容應用至哈希算法。由于每個交換機中的哈希算法是相同的,所以交換機A和交換機D將獲得與交換機C相同的哈希結果(即,哈希結果=“P” ),因此確定路徑I應當被用于此分組?;谄滢D發(fā)表150,交換機A然后將分組從交換機A上的端口 3轉發(fā)至交換機B上的端口 4。作為對照,由于交換機B和交換機D各自的轉發(fā)表150指示對被分配給路徑I的分組不應當實施轉發(fā),所以交換機B和交換機D將避免轉發(fā)該分組。
[0032]應注意,上面在圖3中提到的轉發(fā)可以是基于流的,其中所有屬于相同業(yè)務流或分組流的分組可以被分配給相同的路徑。也就是說,來自客戶端的屬于相同流的分組序列將被分配給網(wǎng)格化交換機域中的相同路徑。這可以通過將該流中的第一分組應用至所存儲的算法并確定合適的路徑來完成。此后,相同流中的所有分組將被分配給相同路徑。作為對照,如果交換機接收來自客戶端的屬于兩個不同流的分組,則存在與每個流的分組關聯(lián)的信息的處理將產(chǎn)生不同哈希結果的統(tǒng)計可能,因此,這些流可以被分配給網(wǎng)格化交換機域中的不同路徑。這可能是有益的,因為這些流在這些路徑之間的分配可能提供更好的負載均衡,并且消除如果將這些流量分配給相同路徑則可能產(chǎn)生的任何潛在瓶頸。
[0033]圖4描繪根據(jù)實施例的過程流程圖400。應當容易明白,圖4中描繪的過程代表概括說明,并且可以增加其它過程或可以移除、修改或重布置現(xiàn)有過程,而不脫離本公開的范圍和精神。
[0034]該過程在框410處開始,在這里,交換機存儲對進入的廣播分組、多播分組及未知目的地址分組應用的算法。特別地,網(wǎng)格化交換機域中的每個交換機存儲相同的算法。這些算法可以通過該域中的各交換機之間的協(xié)商過程來確定,在該協(xié)商過程中選擇每個交換機能夠支持的共同算法。可替代地,該算法可以由單個交換機選擇,其它交換機可以被指示存儲和利用該算法。更進一步,該算法可以由控制設備確定,每個交換機可以被指示存儲和利用該算法。如上面提到的,該算法可以是例如哈希函數(shù),該哈希函數(shù)將來自進入的廣播分組、多播分組及未知目的地址分組的內(nèi)容直接地或間接地映射至多個路徑中的一個。例如,該哈希函數(shù)可以將分組的源/目的MAC地址、以太網(wǎng)類型、IP協(xié)議和/或源/目的IP地址直接地或間接地映射至多個路徑中的一個。
[0035]在框420處,交換機可以建立通往網(wǎng)格化交換機域中其它交換機的多個冗余非循環(huán)路徑。此過程可以包括:交換機利用發(fā)現(xiàn)協(xié)議來識別該域中的各交換機、端口和/或段;以及至少部分地基于所檢測的該信息創(chuàng)建多個冗余非循環(huán)路徑。交換機可以將關于所創(chuàng)建的路徑的信息存儲在包括轉發(fā)表的內(nèi)部存儲器中。然后,在框430處,交換機可以向該域內(nèi)的其它交換機提供關于所創(chuàng)建的路徑的信息。這可以包括:交換機向每個交換機通知與各自的交換機相關的路徑或可替代地向所有交換機通知所有路徑,使得每個可以知道整個轉發(fā)機制。如上面介紹的,這樣的信息可以通過通知協(xié)議(例如,廣播通知協(xié)議)分發(fā),通知協(xié)議可以向其它交換機提供路徑信息,如路徑標識符(例如,“路徑I”)、利用此路徑的分組的類型(例如,廣播分組、多播分組及未知目的地址分組)、發(fā)源交換機標識符(例如,“交換機C”)、發(fā)源交換機MAC地址(例如,12:34:56:78:ab:cd)、與該路徑相關的進入端口標識符(例如,交換機A,端口 2)和/或外出端口標識符(交換機A,端口 3)。
[0036]在框440處,交換機可以向網(wǎng)格化交換機域中的其它交換機提供關于其附接客戶端的信息。例如,交換機可以利用MAC通知協(xié)議來向其它交換機通知各客戶端位于該交換機上。此外,交換機可以向其它交換機通知具有這些客戶端作為源MAC的廣播分組、多播分組及未知目的地址分組應當在框430處提供的交換機路徑中的一個上被轉發(fā)。
[0037]此后,在框450處,交換機可以接收來自附接客戶端的分組,并且在框460處,將分組的內(nèi)容應用至所存儲的算法。然后,至少部分地基于算法結果,交換機在多個冗余非循環(huán)路徑中的一個上轉發(fā)分組。此外,交換機在相同的路徑上轉發(fā)隨后的屬于相同流的分組。
[0038]上面提到的方法增強負載均衡,因為廣播分組、多播分組和/或未知目的地址分組是在逐個流基礎上動態(tài)轉發(fā)的。因此,如果一個客戶端正在發(fā)送屬于不同流的大量廣播分組,則這些分組可以在通過該網(wǎng)的各路徑之間動態(tài)地分發(fā)。此外,如上面介紹的,上面提到的方法增強可靠性,因為如果廣播路徑中的段發(fā)生故障,則被分配給該路徑的業(yè)務會被重新分配給其它路徑中的一個,因此,減少被丟掉的業(yè)務和/或延遲。
[0039]現(xiàn)在轉向圖5,這里示出網(wǎng)格交換機110的框圖,根據(jù)實施例,該網(wǎng)格交換機110可以用于執(zhí)行上面描述的功能中的一個或多個。網(wǎng)格交換機110包括非瞬態(tài)計算機可讀介質510、處理設備520、總線530以及通信接口 540。
[0040]非瞬態(tài)計算機可讀介質510可以是存儲機器可讀指令的設備。例如,非瞬態(tài)計算機可讀介質510可以對應于存儲指令、代碼、數(shù)據(jù)和/或其它信息的任意典型存儲設備,并且可以是非易失性存儲器、易失性存儲器和/或一個或多個存儲設備中的一種或多種。非易失性存儲器的示例包括但不限于:電可擦除可編程只讀存儲器(EEPROM)以及只讀存儲器(ROM)。易失性存儲器的示例包括但不限于:靜態(tài)隨機存取存儲器(SRAM)以及動態(tài)隨機存取存儲器(DRAM)。存儲設備的示例包括但不限于:硬盤驅動器、光盤驅動器、數(shù)字多用途光盤驅動器、光學設備以及閃存設備。
[0041]處理設備520可以是通常獲取并執(zhí)行在非瞬態(tài)計算機可讀介質510中存儲的指令的設備。例如,處理設備可以是中央處理單元(CPU)、處理器、微控制器等等。在一些實施例中,處理設備520可以通過總線530訪問非瞬態(tài)計算機可讀介質510。在其它實施例中,非瞬態(tài)計算機可讀介質510可以與處理設備520集成在一起。
[0042]通信接口 540可以是交換機110中使交換機110能夠與其它設備(例如,客戶端和/或其它交換機)通信的一個或多個組件。例如,通信接口 540可以包括端口、接收器、發(fā)射器、收發(fā)器、PHY等等。
[0043]計算機可讀介質510、處理設備520和/或通信接口 540可以彼此協(xié)作和/或與其它組件(例如,專用集成電路(ASIC))協(xié)作,以實施上面關于圖1-4中描述的各種功能。例如,這些組件可以協(xié)作來(i)建立通往網(wǎng)格化交換機域中其它交換機的多個冗余非循環(huán)路徑,(ii)向網(wǎng)格化交換機域中的其它交換機分發(fā)關于所建立的路徑的信息,(iii)將客戶端分配給所建立的路徑并且向網(wǎng)格化交換機域中的其它交換機通知該分配,和/或(iv)利用所建立的路徑來將來自客戶端的進入廣播分組、多播分組和/或未知目的地址分組傳送至網(wǎng)格化交換機域中的其它交換機。此外,這些組件可以協(xié)作來(i)存儲對進入的分組應用的算法,(ii)創(chuàng)建通往多個交換機的多個冗余非循環(huán)路徑,(iii)向多個交換機提供關于多個冗余非循環(huán)路徑的信息,(iv)向多個交換機提供關于多個附接客戶端的信息,(v)接收來自多個附接客戶端的分組,(vi)將與分組關聯(lián)的信息應用至該算法,以產(chǎn)生轉發(fā)結果,(vii)至少部分地基于轉發(fā)結果,選擇多個冗余非循環(huán)路徑中的一個,和/或(viii)在多個冗余非循環(huán)路徑中所選擇的一個上傳送分組。
[0044]已經(jīng)關于上述示例性實施例示出和描述了本公開。然而應理解,不脫離在下面的權利要求中限定的本公開的精神和范圍的情況下,可以做出其它形式、細節(jié)以及實施例。
【權利要求】
1.一種方法,包括: 創(chuàng)建通往多個交換機的多個冗余非循環(huán)路徑; 向所述多個交換機提供關于所述多個冗余非循環(huán)路徑的信息; 將多個客戶端中的每個客戶端分配給所述多個冗余非循環(huán)路徑中的一個冗余非循環(huán)路徑; 向所述多個交換機提供關于所述多個客戶端中的每個客戶端被分配給所述多個冗余非循環(huán)路徑中哪個冗余非循環(huán)路徑的信息; 接收來自所述多個客戶端中的客戶端的分組;以及 至少部分地基于所述客戶端被分配給所述多個冗余非循環(huán)路徑中哪個冗余非循環(huán)路徑,在所述多個冗余非循環(huán)路徑中的一個冗余非循環(huán)路徑上向所述多個交換機中至少一個交換機傳送所述分組。
2.根據(jù)權利要求1所述的方法,其中所述分組是廣播分組、多播分組或未知目的地址分組。
3.根據(jù)權利要求1所述的方法,其中所述多個交換機中的每個交換機存儲關于所述多個冗余非循環(huán)路徑的信息,并且進一步存儲關于所述多個客戶端中的每個客戶端被分配給所述多個冗余非循 環(huán)路徑中哪個冗余非循環(huán)路徑的信息。
4.根據(jù)權利要求1所述的方法,其中所述多個交換機是在網(wǎng)格化交換機域中操作的網(wǎng)格交換機。
5.根據(jù)權利要求1所述的方法,進一步包括:響應于確定所述多個冗余非循環(huán)路徑中至少一個冗余非循環(huán)路徑發(fā)生故障,向所述多個交換機提供關于所述多個客戶端中的客戶端被分配給所述多個冗余非循環(huán)路徑中哪個冗余非循環(huán)路徑的不同信息。
6.一種方法,包括: 存儲對進入的分組應用的算法; 創(chuàng)建通往多個交換機的多個冗余非循環(huán)路徑; 向所述多個交換機提供關于所述多個冗余非循環(huán)路徑的信息; 向所述多個交換機提供關于多個附接客戶端的信息; 接收來自所述多個附接客戶端中一個附接客戶端的分組; 將與所述分組關聯(lián)的信息應用至所述算法,以產(chǎn)生轉發(fā)結果; 至少部分地基于所述轉發(fā)結果,選擇所述多個冗余非循環(huán)路徑中的一個冗余非循環(huán)路徑;以及 在所述多個冗余非循環(huán)路徑中所選擇的一個冗余非循環(huán)路徑上傳送所述分組。
7.根據(jù)權利要求6所述的方法,其中所述算法是哈希算法。
8.根據(jù)權利要求6所述的方法,其中與所述分組關聯(lián)的信息包括以下至少一種:業(yè)務所到達的物理進入端口、源媒體接入控制(MAC)地址、目的MAC地址、源互聯(lián)網(wǎng)協(xié)議(IP)地址、目的IP地址、IP協(xié)議字段、傳輸控制協(xié)議(TCP)源端口、用戶數(shù)據(jù)報協(xié)議(UDP)源端口、TCP目的端口、UDP目的端口、優(yōu)先級、差分服務代碼點(DSCP)以及以太網(wǎng)類型。
9.根據(jù)權利要求6所述的方法,其中所述分組是廣播分組、多播分組或未知目的地址分組。
10.根據(jù)權利要求6所述的方法,進一步包括:接收第二分組;以及 如果所述第二分組屬于與所述分組相同的業(yè)務流,則在所述多個冗余非循環(huán)路徑中所選擇的一個冗余非循環(huán)路徑上傳送所述第二分組。
11.根據(jù)權利要求6所述的方法,進一步包括: 在所述多個交換機中的一個交換機處接收所述分組; 將與所述分組關聯(lián)的信息應用至所述算法,以產(chǎn)生第二轉發(fā)結果; 至少部分地基于所述第二轉發(fā)結果,選擇所述多個冗余非循環(huán)路徑中的一個冗余非循環(huán)路徑;以及 在所述多個冗余非循環(huán)路徑中所選擇的一個冗余非循環(huán)路徑上傳送所述分組。
12.—種系統(tǒng),包括: 第一交換機,用于 存儲對進入的分組應用的算法, 向第二交換機提供關于多個冗余非循環(huán)路徑和附接客戶端的信息, 將與所接收的分組關聯(lián)的信息應用至所述算法,以產(chǎn)生轉發(fā)結果, 至少部分地基于所述轉發(fā)結果,選擇所述多個冗余非循環(huán)路徑中的一個冗余非循環(huán)路徑,和 在所述多個冗余非循環(huán)路徑中所選擇的一個冗余非循環(huán)路徑上傳送所述分組;以及 第二交換機,用于 存儲所述對進入的分組應用的算法, 存儲所述關于多個冗余非循環(huán)路徑和附接客戶端的信息, 接收在所述第一交換機處發(fā)出的所述分組,和 將與所接收的分組關聯(lián)的信息應用至所述算法,以產(chǎn)生第二轉發(fā)結果。
13.根據(jù)權利要求12所述的系統(tǒng),其中所述第一交換機和所述第二交換機是在網(wǎng)格化交換機域中操作的網(wǎng)格交換機。
14.根據(jù)權利要求12所述的系統(tǒng),其中第一轉發(fā)結果和所述第二轉發(fā)結果被映射至所述多個冗余非循環(huán)路徑。
15.根據(jù)權利要求12所述的系統(tǒng),其中所述算法是哈希算法。
【文檔編號】H04L12/46GK104081727SQ201280068483
【公開日】2014年10月1日 申請日期:2012年1月30日 優(yōu)先權日:2012年1月30日
【發(fā)明者】馬克·古奇, 肖恩·瓦庫莫托 申請人:惠普發(fā)展公司,有限責任合伙企業(yè)