用于層2多播多路徑傳送的系統和方法
【專利摘要】一種示例方法被提供并且包括來自數據源的多播數據消息,該消息在第一虛擬局域網中并且與多播群組相關聯。該方法還包括:基于虛擬局域網、數據源、以及多播群組來計算哈希值;基于哈希值確定層2網絡中的指定路由器的端口;以及將多播數據消息交換至被確定的端口。
【專利說明】用于層2多播多路徑傳送的系統和方法
【技術領域】
[0001]本公開一般涉及通信領域,并且更具體地涉及用于層2多播多路徑傳送的系統和方法。
【背景技術】
[0002]近年來,以太網架構變得越來越復雜。這至少部分是由于為了容納過多的端用戶而涌現出的多樣技術造成的。例如,數據中心以太網(DCE)表示傳統以太網(CE)的擴展并且它能夠提供更低成本、更低延遲、高帶寬的配置。網絡所采用的轉發方法一般是可伸縮的并且還向轉發路徑提供了同等成本的多路徑傳送以支持不同的轉發拓撲。
[0003]層2鏈路狀態路由協議能夠被用于數據中心中以克服生成樹協議(STP)的缺陷。來自IETF的多鏈路透明互聯(TRILL)和結構(Fabric)路徑(來自CA,San Jose的CiscoSystems, Inc)是這樣的層2鏈路狀態路由技術的示例。鏈路狀態協議允許通過計算到網絡中的節點的最短路徑轉發樹來更好地使用網絡資源。如果可用的話,單播流量能夠沿多個同等成本路徑來進行轉發。在某些網絡場景中,拓撲信息可能不是即時的、準確的和/或一致的。因而,最優地管理網絡拓撲對系統設計者、網絡運營商和服務提供商等等提出了顯著的挑戰。
【專利附圖】
【附圖說明】
[0004]為了提供對本公開以及特性和優點的更完整的理解,結合附圖來參考以下描述,其中相似的標號表不相似的部分,其中:
[0005]圖1是根據本公開的一個實施例用于層2網絡中的多播多路徑傳送的示例系統的簡化框圖;
[0006]圖2是根據本公開的一個實施例用于層2網絡中的多播多路徑傳送的接入交換機的簡化框圖;
[0007]圖3是根據本公開的一個實施例用于層2網絡中的多播多路徑傳送的示例過程的簡化流程圖;
[0008]圖4是根據本公開的一個實施例用于層2網絡中的多播多路徑傳送的另一示例過程的簡化流程圖;以及
[0009]圖5是層2網絡中的多播多路徑傳送的網絡節點的簡化框圖。
【具體實施方式】
[0010]鍵
[0011]在一個示例實施例中提供了一種方法,該方法包括例如在層2網絡的接入交換機處從數據源接收多播數據消息,該消息在第一虛擬局域網絡中并且與多播群組相關聯。方法還包括:基于虛擬局域網絡、數據源和多播群組計算哈希值,基于該哈希值確定層2網絡中的指定路由器的端口,以及將多播數據消息交換至所確定的端口。
[0012]示例實施例
[0013]圖1示出了根據本公開的一個實施例用于層2多播多路徑傳送的示例系統100。系統100包括多個數據源110、數據接收機120、接入交換機130、和交換路由器(switch-router) 140。數據源100可以是用于呈現、存儲和/或處理數據的任何邏輯設備。例如,數據源100可以是個人計算機、膝上型計算機、服務器、移動設備、和/或平板計算機。在某些實現方式中,一個或多個數據源110可以是虛擬機。數據源110通常需要將數據傳送到其他邏輯設備,并且因此被耦合至一個或多個通信網絡。數據源110可在同一虛擬局域網(VLAN)或者不同的虛擬局域網中。數據源110還可以接收數據。因此,它們僅為了便于論述而被標記為數據源。
[0014]類似地,數據接收機120可以是用于呈現、存儲、和/或處理數據的任何邏輯設備。例如,數據接收機120可以是個人計算機、膝上型計算機、服務器、移動設備、和/或平板計算機。數據接收機120通常需要從其他邏輯設備接收數據,并且因此被耦合至一個或多個通信網絡。在某些實現方式中,一個或多個數據接收機120可以是虛擬機。數據接收機120可在與一個或多個數據源110相同的VLAN或者在不同的VLAN中。數據接收機110還可以提供數據。因此,它們僅為了便于論述而被標記為數據接收機。
[0015]接入交換機130和交換路由器140被通信地耦合到數據源110和數據接收機120并且在它們之間提供交換和路由。接入交換機130和交換路由器140 —起能夠形成層2 (Layer-2)網絡180。在具體實現方式中,網絡180可以是層2多路徑網絡(例如,結構路徑(Fabricpath)網絡)。接入交換機130和交換路由器140可使用提供層2多路徑傳送性能的轉發范式(paradigm)。接入交換機130和交換路由器140還可提供將層2網絡縮放至大量的交換機和/或路由器(例如,Fabricpath)的能力。
[0016]Fabricpath網絡例如可以是企業網絡或數據中心的一部分,該企業網絡或數據中心例如還能夠包括多個服務器、數據庫和/或用于存儲和/或處理數據的其他設備。數據中心還能夠包括更多的通信網絡。通信網絡通常是用于接收和發送消息的相互連接的通信路徑的一系列點或節點。如這里所用的那樣,術語“網絡節點”意味著包含交換機、路由器、代理、網關、網橋、負載均衡器、防火墻、內聯服務節點、代理器、服務器、處理器、模塊或者可操作來在網絡環境中交換信息的任何其他適合的設備、組件、元件或對象。網絡節點可包括輔助該網絡節點的操作的任何適合的硬件、軟件、組件、模塊、接口、或對象。這其中可包括允許數據或信息的有效交換(接收和/或發送)的適當算法和通信協議。
[0017]數據中心的(一個或多個)通信網絡可提供網絡元件(例如,交換機、網橋、網關等等)之間的通信接口并且可以是任何IP網絡、局域網(LAN)、虛擬LAN(VLAN)、無線LAN(WLAN)、城域網(MAN)、廣域網(WAN)、外聯網、內聯網、虛擬專用網絡(VPN)、或者輔助網絡環境中的通信的任何其他適當的架構或系統。在本公開的具體實施例中,網絡能夠支持傳輸控制協議(TCP)/IP或者用戶數據報協議(UDP)/IP ;然而,這些網絡可以替換地實現用于在系統100內發送和接收數據分組的任何其他適合的通信協議。
[0018]接入交換機130和交換路由器140可使用鏈路狀態路由(例如,中間系統到中間系統(IS-1S)或者結構最短路徑優先(FSPF))來用于轉發,而傳統的以太網網絡通常使用生成樹協議(STP)作為它們的轉發協議。鏈路狀態協議一般在層2廣播域中運作。鏈路狀態路由是允許網絡中的節點通過共享關于到它的相鄰節點中的每一個節點的傳輸成本來確定網絡拓撲的協議。鏈路狀態路由消息被發送至相鄰節點以及從相鄰節點接收。通過使用鏈路狀態信息能夠確定到各種目的地的最便宜的路徑。
[0019]鏈路狀態信息能夠被用于在各個網絡節點處生成網絡拓撲信息以創建轉發表。轉發表允許網絡節點(例如,交換機、網橋、和路由器)在適當的輸出接口上轉發所接收到的流量。為了在特定的網絡節點生成網絡拓撲圖和轉發表,來自各個網絡節點的鏈路狀態信息被分發出去。每個網絡節點被配置為創建鏈路狀態消息,該鏈路狀態消息具有關于到它的每個鄰居的距離、延遲、或成本的信息。鏈路狀態記錄(LSR)然后能夠被發送到相鄰節點。
[0020]尋址和轉發可包括對用于轉發活動的本地分配的可聚合(或者等級式)介質訪問控制(MAC)地址的使用。鏈路狀態協議能夠用于確定轉發拓撲并且還支持單播流量的最短路徑轉發和同等成本的多路徑轉發。多播幀也能夠容易地使用多路徑傳送,盡管使用略不同的方案。此外,能夠使用單個控制協議來計算單播路徑和多目的地(例如,多播或廣播)樹。廣播技術能夠被視為多播的特殊情形,其中所有的節點都對消息感興趣。
[0021]在所示示例中,示出了三個接入交換機130,但在其他實現方式中可使用任意數目的接入交換機。接入交換機130從數據源110接收消息(例如,分組)并將它們交換至數據接收機120 (假設它們處在同一 VLAN中)和交換路由器140。接入交換機130還可從交換路由器140(例如,從網絡外側的數據源或者從不同VLAN中的數據源)接收消息并將它們交換至數據接收機120。
[0022]交換路由器140提供層2網絡和層3網絡150之間的網關。交換路由器140通過對消息進行交換和路由來在網絡環境中轉發(或者相互協作從而轉發)消息(例如,分組)。交換路由器140可以是集成的交換路由器、具有路由能力的交換機、或者具有交換能力的路由器。交換路由器140可使用諸如協議無關多播(PM)來轉發多播消息。PIM是通過LAN、WAN或互聯網提供一對多和多對多的數據分發的互聯網協議(IP)網絡的多播路由協議的一種。它被稱作協議無關是因為它不包括它自身的拓撲發現機制而是替代地依賴于由其他路由協議(例如,路由信息協議、開放式最短路徑優先、邊界網關協議、和多播源發現協議)供應的路由信息。對于控制平面交互,諸如Fabricpath IS-1S之類的協議可被用作下層的傳送機制。
[0023]層3網絡150可以是使用層3協議的任何適當類型的通信網絡。網絡150例如可包括用于傳載信息的多個交換機、路由器、網橋、中繼器、和/或其他裝備。網絡150例如可以是局域網或因特網。在具體實現方式中,網絡150可與數據中心互連并且是數據中心互連(DCI)。層3網絡150還被通信地耦合至路由器160,該路由器160例如可以是交換路由器。路由器160被耦合至數據接收機170。數據接收機170可類似于數據接收機120,只是其位于相對數據源110的層3網絡150上。
[0024]在某些操作模式中,接入交換機130和交換路由器140可使用通用的哈希(hash)序列來轉發多播消息。哈希序列例如可通過使用IS-1S路由器能力TLV(類型、長度、值)中的子TLV來在接入交換機130和交換路由器140之間被共享。例如可對{VLAN、源、群組}的三元組執行哈希,其中源是多播數據的源,群組是源向其發送數據的多播群組。在多數情形中,這應當為每個三元組提供唯一的標識符。此標識符然后可被用于檢索樹標識符(即,確定在哪個樹中進行轉發)和指定路由器(即,交換路由器140中的一個)的標簽。因此,樹和指定路由器可被鏈接。樹標識符例如可以是Fabricpath中的轉發標簽(Ftag)。這會使得IVLAN、源、群組}的不相交集合(dis1int set)(哈希結果)被分配至每個樹和可用的路由器。接收多播消息的接入交換機130然后可將消息交換到任何適當的接收機120以及適當的一個交換路由器140。
[0025]與{VLAN、源、群組}三元組相關聯的樹標識符和指定路由器可由接入交換機以多種方式來確定。例如,樹標識符和指定路由器可被存儲在輸出接口(OIF)列表中并且被三元組的哈希值所引用。導向指定的交換路由器140的端口可成為OIF列表的一部分。因此,接入交換機能夠確定在哪個端口上轉發消息。接收的交換路由器140還會知道哈希并使用它確定它應當執行層3多播轉發的群組。接收的交換路由器140還可基于哈希來確定目的地接口(例如,端口)。例如它可檢查OIF列表。
[0026]注意,在活動/待機模式下運行指定路由器是可能的。處于活動/待機模式的兩個指定路由器可在指定路由器的有序列表中具有相同的索引(index),因此允許_■者接收同一流量。此外,這意味著:這些路由器上的PM知道它能夠是{VLAN、源、群組}粒度的指定路由器的事實。
[0027]如果接收機120中的一個接收機在與數據源110不同的VLAN中,那么消息例如可能需要被路由到該接收機。此外,如果消息被定向到不是層2網絡的一部分的數據接收機(例如,數據接收機170),那么該消息需要被路由到層3網絡150中。
[0028]為了建立多播操作,接入交換機130可檢測到數據接收機120想要加入多播群組。接入交換機130例如可通過使用互聯網群組管理協議(IGMP)探聽(或者通過使用任何其他適當的協議)來實現此。當想要接收新的群組的數據的數據接收機120被一個接入交換機130首先檢測到時,接入交換機將計算{VLAN、源、群組}哈希并選取樹標識符(例如,Ftag)以及選取交換路由器140中的一個作為指定路由器。
[0029]現有的硬件可使用{VLAN、源、群組}三元組來挑選樹標識符。例如可基于樹的根(root)來選擇樹標識符,對于此根而言靠近源是有利的。然而,樹標識符不需要形成用于轉發查找的關鍵詞的一部分。樹標識符可被用于基于進入接口檢查(IIC)和色彩阻塞邏輯(Color Blocking Logic, CBL)的樹執行。注意,{VLAN、源、群組}查找的硬件結果能夠與源自{VLAN、源、群組}哈希的樹標識符的端口一起被編程。這意味著其他樹標識符的條目不需要被編程或計算。
[0030]對于在其中通過使用(有效地)單個查找來進行到路由器端口和接收機的轉發的硬件而言,軟件可構建OIF列表,該OIF列表是到達適當的數據接收機的鏈接和到達指定路由器的鏈接的聯合。然而,由于接入交換機尋求(Pin)到路由器的群組,只有導向該交換路由器的端口需要成為OIF列表的一部分(除了導向數據接收機120的端口之外)。
[0031]對于其他硬件而言,可使用兩步查找。首先,可執行{VLAN、源、群組}哈希,其可提供包括數據接收機以及路由器_標簽(router_tag)的OIF列表。然后,可執行提供了路由器端口的列表的{VLAN,路由器_標簽}查找。路由器_標簽例如可以是:1)到此{VLAN,路由器_標簽}的指定的交換路由器的間接指引(indirect1n) ;2)到可用路由器的列表的間接指引,這可能發生于路由器添加或移除期間;3)到已經被設置為活動/待機模式中的路由器集合的間接指引。
[0032]作為轉發{VLAN,路由器_標簽}查找的結果,硬件還能夠被增強來提供樹標識符(除了路由器_標簽和OIF列表之外)。這能夠被用于哈希產生了樹標識符的選擇不多的情形,這可以是配置驅動的。例如可通過對相對于樹標識符的哈希值執行模運算來選擇指定路由器。在某些實現方式中,還可考慮指定路由器到樹的根的距離,更近的指定路由器通常是更加優選的。加入請求可被發送至指定路由器,這可構建群組的轉發樹。此外,可向網絡的剩余部分通知該加入請求。例如,在Fabricpath網絡中,接入上的IS-1S協議將向網絡的剩余部分公告:它已經接收到了針對它的鏈路狀態協議數據單元(rou)分組中的{VLAN,群組}集的加入請求。
[0033]當接入交換機130中的一個接入交換機認知到指定交換路由器140的移除時,接入交換機可簡單地改變針對此指定的交換路由器的路由器_標簽以指向導向其他可用的交換路由器140的端口。然后,已經被分配到經移除的交換路由器的多播群組需要被重新分配到剩下的交換路由器140。因此,哈希結果到指定路由器的映射應當被更新(例如,在剩余的指定路由器間重新分布)。
[0034]例如,針對相對于樹標識符的哈希值執行的模運算可被調整以應對更少數目的路由器,并且這可用于對群組進行重新分配。例如,指定路由器可根據它們的MAC地址被分類到列表【路由器0.....路由器X-1】中,而哈希值輸出可通過X(路由器的數目)取模來進行處理。這并不總是提供遍及網絡的最優轉發,但如果PIM和層2同意,則它應當是有用的。在某些實現方式中,還可考慮指定路由器到層2多播樹的根的距離,更近的指定路由器通常是更優選的。因此,最接近層2多播樹的根的(一個或多個)指定路由器可與樹相關聯(例如,選取樹X的相同哈希值可選取最接近該樹的根的指定路由器),這可提供增強的轉發。
[0035]作為另一示例,接入交換機可知道多少交換路由器140是可用的,并且最高的源介質訪問控制(MAC)地址可采用第一樹號。層2網絡中的交換機例如可使用PM打招呼(hello)分組的接收來檢測網絡中的路由器的存在。在建立時間(settling time)之后,先前被分配到經移除的指定的交換路由器的群組于是能夠被重新分配到剩下的路由器-標簽。接入交換機和交換路由器可使用重新分布算法從而使得哈希值被綁定到指定路由器。
[0036]當新的指定的交換路由器可用時,認知到的群組在指定的交換路由器的新列表間重新分布。因此,加入網絡的新的指定路由器將從每個已經存在的指定路由器中得到值的某子集,從而使得哈希結果在新集合的路由器之間均勻分布,這會使得哈希結果到指定路由器的映射被更新(例如,在指定路由器間重新分布)。
[0037]例如,針對相對于樹標識符的哈希值執行的模運算可被調整以應對更多數目的路由器,并且這可用于對群組進行重新分配。在某些實現方式中,還可考慮指定路由器到層2多播樹的根的距離,更近的指定路由器通常是更優選的。層2轉發協議和PIM可進行交互以確定路由器相對于樹根的位置。因此,最接近層2多播樹的根的(一個或多個)指定路由器可與樹相關聯(例如,選取樹X的相同哈希值可選取最接近該樹的根的指定路由器),這可提供增強的轉發。作為另一示例,接入交換機可知道多少交換路由器140是可用的,并且最高的源介質訪問控制(MAC)地址可采用第一樹號。層2網絡中的交換機例如可使用PIM打招呼(hello)分組的接收來檢測網絡中的路由器的存在。在建立時間之后,先前被分配到經移除的指定的交換路由器的群組于是能夠被重新分配到剩下的路由器-標簽。接入交換機和交換路由器可使用重新分布算法從而使得哈希值被綁定到指定路由器。
[0038]為了重新分發群組,在PM和層2轉發協議(例如,Fabricpath)之間存在通信以將指定路由器分配到樹標識符。群組所分配到的樹標識符還提供指定路由器。路由器_標簽的改變可早于建立時段,在該建立時段期間流量被發送到所有可用的路由器。在上文所述的網絡過渡情形中,可能有不止一個的交換路由器140接收到給定{VLAN,源,群組}集的消息。在交換路由器開始轉發之前,這些交換路由器可使用PIM的斷言機制以建立對于那些{VLAN,源,群組}集的指定的交換路由器的所有權。這可防止重復。
[0039]所述的方案可能需要來自PIM的修改以用于以下情形中的操作:其中在層2網絡中具有:a)多個源,但沒有接收機;以及b)存在多個源,但接收機僅發出(*,g)加入。基本上,在這些情形中的層2網絡將不會察覺到各種發送源和/或接收機。針對兩種情形,由于層2網絡未察覺到完整的{VLAN,源,群組}信息并且因此不能夠計算完整的哈希,所以所發生的轉發將朝向可用的交換路由器。在此情形中,接入交換機130可計算針對每個{VLAN,群組}結合的樹的路徑。
[0040]然而,當源發送數據時,PM能夠接收初始數據消息。因此,如果PM指定的路由器在層2多路徑網絡中(可能通過到IS-1S的重新分布)創建了類IGMP的{VLAN,群組,源}狀態,那么就能夠解決該問題。當這種情況發生時,硬件不再尋找最優的多播轉發(OMF)條目(其是去向多個路由器的輸出接口的列表)或者通用的(*,群組)條目。作為替代,它尋找特定的{VLAN,源,群組} OIF列表,該列表將指向特定的路由器。
[0041]系統100的某些實施例能夠提供任意數目的顯著特征。例如,架構能夠隨著多播樹數目的增長而提升伸縮性。當前,樹的數目的增加將導致軟件中更大的處理需求以及硬件中更大的存儲需求。例如,對于N個{S,G}群組,M*N個條目需要被計算并被安裝在硬件中,其中M是樹的數目。所有這些條目的安裝是重要的,同一群組的多播消息可能經過M個樹中的任意一個樹,這基于在入口處選取的哈希/樹標識符。因此,應當為每個樹使用OIF列表。然而,在系統100中,伸縮性問題被解決,因為由于每個{VLAN,源,群組}應當哈希至同一條目,它僅需要計算和編程針對該群組的單個樹標識符的條目。
[0042]此外,雖然可能在VLAN上存在不止一個路由器,但僅有單個路由器被挑選作為用于在該VLAN上轉發群組的多播分組的指定路由器。(在VLAN上可能存在多個路由器,它們被配置為使得它們各自是針對群組的不相交集合的指定路由器。)然而,層2網絡中的交換機使用PM打招呼(hello)分組的接收來檢測網絡中的路由器的存在。因此,在層2網絡級別,交換機不知道對指定路由器的選擇,而是它們將VLAN上的所有路由器視為是活動的。層2網絡將所有的多播流量轉發至除了附接至層2網絡的接收機之外的(一個或多個)路由器。因此,由于指定的選擇對于交換機是可不見的,多播流量被通往該網絡上的所有路由器,而不論這些它們是否是指定路由器。這不僅是次優的,而且也未利用另外的機會用于層2多路徑(例如,Fabricpath)網絡中存在的負載均衡和容錯。然而,在系統100中,多播流量被指向適當的交換路由器。另外,流量被擴散至可用的交換路由器上,從而對它們做出了最優的使用。
[0043]另外,鏈路可以以更優的方式來使用。現有的方案導致傳統的訪問-脊胖樹類型(access-spine fat-tree type)的網絡中的鏈路的次優使用。這種負載均衡的機制還導向傳統的胖樹網絡中更佳的鏈路利用率。因此,系統100為多目的地流量提供了更佳的多路徑傳送解決方案。
[0044]盡管圖1示出了用于層2多播多路徑傳送的系統的一個示例,用于層2多播多路徑傳送的其他系統可包括更少的、另外的、和/或不同的組件布置。例如,一個或多個數據源可位于層2網絡180外側。數據源可通過層3網絡150向一個或多個交換路由器140發送多播數據。交換路由器140然后可將多播流量路由至適當的交換機130,該適當的交換機130可將該流量交換至適當的數據接收機120。然而,在一些實現方式中,可能不存在層3網絡150。作為另一示例,接入交換機130可以是交換路由器。
[0045]作為另一示例,局域網可存在于端節點(例如,數據源110和數據接收機120)和接入交換機130之間。局域網可允許端節點與接入交換機130傳遞消息。局域網例如可以是傳統的以太網網絡。在所示示例中,即使數據源IlOa和數據接收機IlOb在不同的虛擬LAN(VLAN)中,它們均可被耦合至局域網,并且即使數據接收機120b是與數據源IlOa同一VLAN的一部分,數據接收機120b可被耦合至另一局域網。在某些實現方式中,局域網、接入交換機、和交換路由器140可操作于第2層并形成層2網絡。然而,在這些情形中,每個局域網和由接入交換機和交換路由器140形成的網絡可具有它們自己的層2域。
[0046]如所論述的那樣,系統100被設計為將交換路由器140同時定位為層3(例如,PIM)路由器和層2(例如,L2MP)交換機。為了使得同一方案在層3實體與層2實體相分離的網絡中工作,可在路由器中配設另外的功能(例如,基于IVLAN,群組,源}的粒度而非每VLAN每群組地建立指定的路由器)以及額外的信令來擴展尋求到路由器的{VLAN,群組,源}和樹標識符。
[0047]圖2示出了示例接入交換機200,該接入交換機200是一種例如在系統100中使用的網絡節點。接入交換機200包括數據平面210和控制平面220。在數據平面210中,接入交換機200包括連接于兩組端口 214a和214b之間的交換邏輯212。交換邏輯212被配置為將在一個端口組214a (入端口)上接收的流量路由或者內部交換到另一端口組214b (出端口)。數據平面210還包括處理器216(例如,專用集成電路(ASIC))來執行增強的操作。控制平面220包括通用處理器或者專用處理器228來實現交換功能和任何信道協議。在具體實現方式中,處理器228可在狀態機、微控制器、硬件、固件、可編程邏輯、或者它們的組合中實現。
[0048]接入交換機200中還包括指定路由器列表222和OIF列表224。指定路由器列表222可存儲可用的指定路由器的列表并且是基于從指定路由器接收的注冊消息來構造的。層2網絡中的交換機例如可使用PM打招呼分組的接收來檢測網絡中的路由器的存在。OIF列表224例如可被構建為從其本地數據源接收群組加入請求的接入交換機200。
[0049]在某些操作模式中,接入交換機200可使用與路由器和其他接入交換機共同分享的哈希序列來轉發多播消息。在某些實現方式中。該哈希可由處理器216計算出來。哈希序列例如可通過使用IS-1S TLV在接入交換機和路由器之間共享。例如可對{VLAN,源,群組}三元組來執行哈希運算。該標識符然后可被用于檢索樹標識符(即,確定在哪個樹中進行轉發)和指定路由器。樹標識符例如可以是Fabricpath中的轉發標簽。因此,樹和指定路由器可被鏈接。當接入交換機200接收多播消息時,接入交換機然后可將消息交換到任何適當的接收機以及適當的交換路由器。
[0050]與{VLAN、源、群組}三元組相關聯的樹標識符和指定路由器可由接入交換機以多種方式來確定。例如,樹標識符和指定路由器可被存儲在OIF列表224中并且被三元組的哈希值所引用。導向指定路由器的端口可成為OIF列表的一部分。因此,接入交換機能夠確定在哪個端口上轉發消息。
[0051]為了建立多播操作,接入交換機200可檢測到相關聯的數據接收機想要加入多播群組。接入交換機200例如可通過使用IGMP探聽來實現此。當想要接收群組的數據的數據接收機被接入交換機200首先檢測到時,接入交換機可計算{VLAN、源、群組}哈希并選取樹標識符(例如,Ftag)以及從指定路由器列表中選取路由器作為指定路由器。
[0052]接入交換機200可使用{VLAN、源、群組}三元組來挑選樹標識符。然而,樹標識符不需要形成用于轉發查找的關鍵詞的一部分。樹標識符可被用于基于IIC和CBL的樹執行。處理器228可構建OIF列表224并將它裝載到交換結構212中,其中該OIF列表可由處理器216訪問。對于在其中通過使用(有效地)單個查找來進行到路由器端口和到接收機的轉發的硬件而言,軟件可構建OIF列表,該OIF列表是到達數據接收機的鏈接和到達指定路由器的鏈接的聯合。
[0053]注意,{VLAN、源、群組}查找的硬件結果能夠與源自{VLAN、源、群組}哈希的樹標識符的端口一起被編程。這意味著其他樹標識符的條目不需要被編程或計算。
[0054]對于在其中通過使用(有效地)單個查找來進行到路由器端口和接收機的轉發的硬件而言,軟件可構建OIF列表,該OIF列表是到達數據接收機的鏈接和到達指定路由器的鏈接的聯合。然而,由于接入交換機尋求到路由器的群組,只有導向該交換路由器的端口需要成為OIF列表的一部分(除了導向數據接收機的端口之外)。
[0055]對于其他硬件而言,可使用兩步查找。首先,可執行{VLAN、源、群組}哈希,其可提供包括數據接收機以及路由器_標簽的OIF列表。然后,可執行提供了路由器端口列表的{VLAN,路由器_標簽}查找。路由器_標簽例如可以是:1)到此{VLAN,路由器_標簽}的指定的交換路由器的間接指引;2)到可用路由器的列表的間接指引,這可能發生于路由器添加或移除期間;3)到已經被設置為活動/待機模式中的路由器集合的間接指引。
[0056]作為轉發{VLAN,路由器_標簽}查找的結果,硬件還能夠被增強來提供樹標識符(除了路由器_標簽和OIF列表之外)。這能夠被用于哈希產生了樹標識符的選擇不多的情形,這可以是配置驅動的。
[0057]當接入交換機200認知到指定交換路由器的移除時,接入交換機可簡單地改變針對此指定的交換路由器的路由器_標簽以指向導向其他可用的交換路由器的端口。然后,已經被分配到此路由器的群組可被重新分配到剩下的路由器。接入交換機例如可知道多少路由器是可用的,并且最高的源介質訪問控制(MAC)地址可采用第一樹號。在其他實現方式中,路由器_標簽可以均衡的方式(例如,使用模運算)和/或通過考慮指定路由器距離樹根的距離來進行重新分布。在建立時間之后,先前被分配到經移除的指定路由器的群組于是能夠被重新分配到剩下的路由器-標簽。
[0058]當另外的指定路由器可用時,認知到的群組在指定的交換路由器的更新列表間重新分布。在其他實現方式中,路由器_標簽可以均衡的方式(例如,使用模運算)和/或通過考慮指定路由器距離樹根的距離來進行重新分布。路由器_標簽的改變可早于建立時段,在該建立時段期間流量被發送到所有可用的路由器。
[0059]所述的方案可能需要來自PIM的修改以用于以下情形中的最優操作:其中在層2網絡中具有:a)多個源,但沒有接收機;以及b)存在多個源,但接收機僅發出(*,g)加入。基本上,在這些情形中的層2網絡將不會察覺到各種發送源和/或接收機。針對兩種情形,由于層2網絡未察覺到完整的{VLAN,源,群組}信息并且因此不能夠計算完整的哈希,所以所發生的轉發將朝向可用的路由器。然而,PIM在源發送數據時接收初始的數據消息。因此,如果PM指定的路由器在層2多路徑網絡中(可能通過到IS-1S的重新分布)創建了類IGMP的{VLAN,群組,源}狀態,那么就能夠解決該問題。當這種情況發生時,硬件不再尋找OMF條目(其去向所有的路由器)或者通用的(*,群組)條目。作為替代,它尋找特定的{VLAN,源,群組} OIF列表,該列表將指向特定的路由器。
[0060]圖3示出了層2多播多路徑傳送的示例流程圖300。圖3中所示的活動例如可由接入交換機130實現。如果多播消息已經被接收到,那么可對VLAN、源、以及與消息相關聯的多播群組執行哈希操作(操作308)。該流程還能夠包括基于哈希結果確定指定路由器的端口以及一個或多個數據接收機的(一個或多個)端口(操作312)。確定路由器端口和一個或多個數據接收機端口例如可通過使用哈希結果作為對OIF列表的索引來實現。該流程還要求使用所確定的端口在層2網絡內交換消息(操作316)。
[0061]如果層2多播消息未被接收到,該流程能夠包括確定是否接收到針對數據源的數據消息(操作320)。如果數據源也是數據接收機,那么例如會接收到針對數據源的數據消息。如果未接收到針對數據源的數據消息,那么進行是否從數據源接收到層2多播消息的檢查(操作304)。如果接收到針對數據源的數據消息,那么流程包括將該消息交換至該數據源(操作324)。流程還能夠包括檢查是否從該數據源接收到層2多播消息。在用于層2多播消息傳送的系統的操作期間可多次執行該流程活動。在某些實現方式中,流程可被持續地執行。
[0062]盡管圖3示出了用于層2多播多路徑傳送的一個過程,但層2多播多路徑傳送的其他過程可包括更少的、另外的、和/或不用的操作布置。例如,過程可能不包括確定是否接收到針對數據源的數據消息。作為另一示例,過程可包括處理來自數據接收機的群組加入請求。作為另一示例,過程可包括處理指定路由器的改變(例如,移除或添加)。作為又一示例,接入交換機可能不必將多播消息交換至數據接收機(例如,因為它們在不同的VLAN上或者數據接收機不在層2網絡中)。
[0063]圖4示出了層2多播多路徑傳送的示例流程圖400。該流程例如可由接入交換機130來實現。流程還能夠包括確定指定路由器(例如,交換路由器)是否從層2網絡中被移除(操作404)。確定指定路由器是否被移除例如可通過可達性測試來完成。如果指定路由器已經被移除,那么流程包括調整分配到該指定路由器的多播群組的指定路由器端口標識符,從而使得端口標識符指向其他指定路由器的端口(操作408)。例如,端口標識符可被調整為使得它指向所有的其他指定路由器端口。
[0064]流程還能夠包括為被分配至該經移除的指定路由器的多播群組選擇指定路由器(操作412)。選擇指定路由器例如可通過以均衡的方式(例如,使用模運算)和/或通過考慮指定路由器到樹根的距離來對這些路由器進行重新分布來完成。然后,已被分配到該經移除的路由器的群組可被重新分配到剩下的路由器。流程還要求調整被分配到經移除的路由器的多播群組的端口標識符以指向所選擇的路由器的端口。
[0065]返回操作404,如果指定路由器尚未被移除,那么流程要求確定指定路由器是否已被添加到層2網絡(操作420)。如果指定路由器尚未被添加,那么流程要求再次檢查指定路由器是否被移除(操作404)。然而,如果指定路由器已經被添加,那么該流程要求識別多播群組以分配到所添加的指定路由器(操作424)。識別多播群組以分配到所添加的指定路由器例如可通過使用網絡哈希算法進行負載共享來完成。在某些實現方式中,可通過使用模運算和/或考慮指定路由器到樹根的距離來對路由器標簽進行重新分布。
[0066]該流程還能夠包括調整所識別的多播群組的端口標識符以指向針對所添加的指定路由器的端口(操作428)。調整所識別的多播群組的端口標識符以指向所添加的指定路由器例如可通過改變OIF列表中的端口標識符來完成。在用于層2多播消息傳送的系統的操作期間可多次執行該流程。在某些實現方式中,圖4中的流程可被持續地執行。
[0067]盡管圖4示出了用于層2多播多路徑傳送的一個過程,但層2多播多路徑傳送的其他過程可包括更少的、另外的、和/或不同的操作布置。例如,過程可能不包括確定指定路由器是否被移除。作為另一示例,過程可能不包括確定指定路由器是否被添加。作為又一示例,過程可包括在路由器事件(添加或者移除)之后調整群組的路由器標簽之前的安排時間(例如,在其中路由器流量被發送給所有路由器)。
[0068]注意在某些示例實現方式中,這里所概述的交換/路由功能可由編碼在一個或多個非暫態計算機可讀介質中的邏輯(例如,在專用集成電路(ASIC)中設置的嵌入式邏輯、數字信號處理器(DSP)指令、由處理器或其他類似機器執行的軟件(可能包括目標代碼和源代碼)等等)來實現。在這些示例中的一些示例中,存儲器元件能夠存儲用于這里所述的交換/路由操作的數據。這包括能夠存儲被執行以實現本說明書中所述的活動的軟件、邏輯、代碼或處理器指令的存儲器元件。處理器能夠執行與數據相關聯的任何類型的指令以實現這里在本說明書中詳細說明的交換/路由操作。在一個示例中,處理器能將元件或物品(例如,數據)從一個狀態或事物(thing)變換到另一個狀態或事物。
[0069]在另一示例中,這里所概述的交換/路由活動可以用固定邏輯或者可編程邏輯(例如,由處理器執行的軟件/計算機指令)來實現,并且這里所標識的元件可以是某一類型的可編程處理器、可編程數字邏輯(例如,現場可編程門陣列(FPGA)、可擦寫可編程只讀存儲器(EPROM)、電可擦寫可編程只讀存儲器(EEPROM))、或者ASIC,其包括數字邏輯、軟件、代碼、電子指令、或者其任意適合組合。這些設備還可在適當的情況下或者基于具體需求將信息保存在在任意適合的存儲器元件(隨機存取存儲器(RAM)、ROM、EPROM、EEPROM、ASIC等等)、軟件、硬件中或者保存在任何其他適合的組件、設備、元件或對象中。任何可能的存儲器項目(例如,數據庫、表格、緩存等等)應當被視為被包含在廣義術語“存儲器元件”內。類似地,本說明書中所述的任何可能的處理元件、模塊、和機器應當被視為包含在廣義術語“處理器”內。
[0070]注意根據這里提供的示例,可能依照兩個或三個元件來實現交互。然而,這么做僅是為了清楚和示例的目的。在某些情形中,通過只引用有限數目的網絡元件可能更容易描述流程的給定集合的一個或多個功能。應當認識到,通信系統是可輕易擴展的并且能夠容納大量數目的云、網絡和/或交換機,以及更復雜/精密的布置和配置。從而,這里提供的示例不應限制或禁止本說明書的廣泛教導,因為它潛在地應用于種種其他架構。
[0071]圖5示出了用于在層2網絡中進行路由的示例計算機系統500。計算機系統500例如示出了交換機/路由器的控制平面的一些組件。系統500包括處理器510、輸入/輸出系統520、和存儲器530,它們能夠通過網絡540 (例如,輔助這些組件之間的單向或雙向通行的內部框架)被耦合到一起。可替換地,這些元件能夠以任何其他適當的方式被適合地鏈接(或交互)。處理器510能夠包括在程序指令(例如,來自軟件)的指示下處理數據的邏輯處理單元(例如,算術邏輯單元)。例如,處理器510可以是微處理器、微控制器、或者專用集成電路。處理器可依據精簡指令集計算機(RISC)或者復雜指令集計算機(CISC)原理來進行操作。總之,處理器可以是以邏輯的方式對數據進行操縱的任何設備。
[0072]輸入/輸出系統520可包括一個或多個通信接口和/或一個或多個用戶接口。通信接口例如可以是網絡接口卡(有線的或者無線的)、調制解調器、或者總線接口。用戶接口例如是用戶輸入設備(例如,鍵盤、鍵板、觸摸板、鼠標、觸控筆、或者麥克風)或者用戶輸出設備(例如,監視器、顯示器、或者揚聲器)。總之,系統520可以是計算機系統能夠通過其接收和輸出數據的設備的任意組合。
[0073]存儲器530例如可包括隨機存取存儲器(RAM)、只讀存儲器(ROM)、閃存存儲器、和/或盤存儲器。各種項目可被不同的時間被存儲在存儲器的不同部分。總之,存儲器530可以是用于存儲數據的設備的任意組合。
[0074]存儲器530包括指令532和數據536。指令532包括操作系統533 (例如,Windows、Linux、或Unix)和包括交換管理器535的應用534。數據536包括應用534所需的數據和/或應用534生成的數據,其包括指定路由器列表537和輸出接口(OIF)列表538。網絡540例如可包括多種不同類型的總線(例如,串行或并行的),該總線在某種程度上在給定設備內部。
[0075]在某些操作模式中,根據交換管理器535,計算機系統500可使用在層2網絡中共同分享的哈希序列來轉發多播消息。例如可對{VLAN,源,群組}三元組執行哈希運算。在多數情形中,這應當會為每個三元組提供唯一的標識符。該標識符然后可被用于檢索樹標識符(即,確定在哪個樹中進行轉發)和指定路由器(即,層2網絡中的交換路由器)。樹標識符例如可以是Fabricpath中的轉發標簽。因此,樹和指定路由器可被鏈接。
[0076]與{VLAN、源、群組}三元組相關聯的樹標識符和指定路由器可由接入交換機以多種方式來確定。例如,樹標識符和指定路由器可被存儲在OIF列表538中并且被三元組的哈希值所引用。導向指定路由器的端口可成為OIF列表的一部分。因此,接入交換機能夠確定在哪個端口上轉發消息。
[0077]為了建立多播操作,計算機系統500可檢測到數據接收機想要加入多播群組(例如,通過使用IGMP探聽)。當想要接收新的群組的數據的數據接收機被首先檢測到時,計算機系統500可計算{VLAN、源、群組}哈希并選取樹標識符(例如,Ftag)和來自指定路由器列表中的路由器。加入請求可被發送到指定路由器,這可構建該群組的轉發樹。此外,可向層2網絡的余下部分通知該加入請求。
[0078]對于在其中通過使用(有效地)單個查找來進行到路由器端口和接收機的轉發的硬件而言,計算機系統500可構建OIF列表,該OIF列表是到達數據接收機的鏈接和到達指定路由器的鏈接的聯合。然而,由于接入交換機尋求到路由器的群組,只有導向該交換路由器的端口需要成為OIF列表的一部分(除了導向數據接收機的端口之外)。
[0079]對于其他硬件而言,可使用兩步查找。首先,計算機系統500可執行{VLAN、源、群組}哈希,其可提供包括數據接收機以及路由器_標簽的OIF列表。然后,可執行提供了路由器端口列表的{VLAN,路由器_標簽}查找。路由器_標簽例如可以是:1)到此{VLAN,路由器_標簽}的指定的交換路由器的間接指引;2)到可用路由器的列表的間接指引,這可能發生于路由器添加或移除期間;3)到已經被設置為活動/待機模式中的路由器集合的間接指引。作為轉發IVLAN,路由器_標簽}查找的結果,硬件還能夠被增強來提供樹標識符(除了路由器_標簽和OIF列表之外)。這能夠被用于哈希產生了樹標識符的選擇不多的情形,這可以是配置驅動的。例如可通過對相對于樹標識符的哈希值執行模運算來選擇指定路由器。在某些實現方式中,還可考慮指定路由器到樹的根的距離,更近的指定路由器通常是更加優選的。
[0080]當計算機系統500認知到指定路由器的移除時,處理器可簡單地改變針對此指定路由器的路由器標簽以指向導向其他可用的路由器的端口。然后,已經被分配到此經移除的路由器的多播群組需要被重新分配到剩下的路由器。例如,計算機系統500可調整針對相對于樹標識符的哈希值執行的模運算以應對更少數目的路由器,并且這可用于對群組進行重新分配。例如,指定路由器可根據它們的MAC地址被分開到列表【路由器0.....路由器X-1】中,而哈希值輸出可通過X(路由器的數目)取模來進行處理。在某些實現方式中,還可考慮指定路由器到層2多播樹的根的距離,更近的指定路由器通常是更優選的。因此,最接近層2多播樹的根的(一個或多個)指定路由器可與樹相關聯(例如,選取樹X的相同哈希值可選取最接近該樹的根的指定路由器),這可提供增強的轉發。作為另一示例,計算機系統500確定多少路由器是可用的,并且最高的源介質訪問控制(MAC)地址可采用第一樹號。層2網絡中的交換機例如可使用PM打招呼分組的接收來檢測網絡中的路由器的存在。
[0081]在安排時間之后,計算機系統500可將先前被分配到經移除的指定的交換路由器的群組分配給剩下的路由器-標簽。重新分布算法可由計算機系統500和指定路由器使用從而使得哈希值被綁定到指定路由器。當新的指定的交換路由器可用時,多播群組在經修改的指定路由器列表間重新分布。例如,計算機系統500可調整針對相對于樹標識符對哈希值執行的模運算以應對更多數目的路由器,并且這可被用于重新分配群組。在某些實現方式中,處理器還可評估指定路由器到層2多播樹的根的距離,更近的指定路由器通常是更優選的。層2轉發協議和PIM可進行交互以確定路由器相對于樹根的位置。因此,最接近層2多播樹的根的(一個或多個)指定路由器可與樹相關聯(例如,選取樹X的相同哈希值將選取最接近該樹的根的指定路由器),這可提供增強的轉發。
[0082]作為另一不例,計算機系統500可確定多少執行路由器是可用的,并且最聞的MAC地址可采用第一樹號。層2網絡中的交換機例如可使用PM打招呼分組的接收來檢測網絡中的路由器的存在。在安排時間之后,計算機系統500可將先前被分配到經移除的指定的交換路由器的群組分配給剩下的路由器-標簽。重新分布算法可由計算機系統500和指定路由器使用從而使得哈希值被綁定到指定路由器。計算機系統500例如可通過實現過程300-400中的一個或多個部分來完成這些操作。計算機系統500還可使用這里所論述的任何其他技術。
[0083]還應當注意,參考圖1-5所述的操作僅示出了可由通信系統或者在通信系統內執行的一些可能的場景。這些操作中的一些操作可在適當的情況下被刪除或者移除,并且在不背離本公開的范圍的情況下,這些操作可被大幅地修改或者改變。此外,這些操作中的多個操作已經被描述為與一個或多個另外的操作同時或者并行地執行。然而,可在很大程度上更改這些操作的時序。先前的操作流已經被提供用于示例和論述。然而,基本的靈活性是允許的,在不背離本公開的教導的情況下可提供任何適當的布置、時間表、配置、和時序機制。
[0084]盡管已經參考具體實施例詳細描述了本公開,但應當理解在不背離本公開的精神和范圍的情況下可對其作出各種其他改變、替換、和更改。例如,實際上爭取智能地交換消息的任何配置能輕易地采用本公開的教導。
[0085]許多其它的改變、替換、變型、更改、和修改可由本領域技術人員確定且本公開旨在涵蓋落入所附權利要求范圍內的所有這些改變、替換、變型、更改和修改。為了輔助美國專利和商標局(USPTO)和另外就本申請而發布的任何專利的任何讀者理解所附權利要求, 申請人:希望指出 申請人::(a)并非試圖使所附權利要求中的任何權利要求自其申請日存在就援引美國專利法第112條第6款,只有在用語“用于......的裝置”或者“用于......的步驟”被特定地用于所附權利要求時才要求援引該法條;以及(b)不旨在通過說明書中的任何陳述以未以在所附權利要求反映的任何方式來限制本公開。
【權利要求】
1.一種方法,包括: 從數據源接收多播數據消息,該消息在第一虛擬局域網中并且與多播群組相關聯; 基于所述虛擬局域網、所述數據源以及所述多播群組來計算哈希值; 基于所述哈希值確定層2網絡中的指定路由器的端口 ;以及 將所述多播數據消息交換至被確定的所述端口。
2.如權利要求1所述的方法,還包括: 基于所述哈希值確定所述層2網絡中的數據接收機的端口 ;以及 將所述多播數據消息交換至被確定的該端口。
3.如權利要求1所述的方法,還包括: 確定指定路由器是否已被從所述層2網絡中移除;以及 調整被分配到所述指定路由器的多播群組的端口標識符以標識所述層2網絡中的其他指定路由器的端口。
4.如權利要求3所述的方法,還包括: 選擇所述其他指定路由器中的一個作為被分配到經移除的路由器的所述多播群組的指定路由器;以及 調整被分配到所述經移除的路由器的所述多播群組的所述端口標識符以指向所述其他指定路由器中被選中的那個路由器的端口。
5.如權利要求1所述的方法,還包括: 識別已經被添加到所述層2網絡的經添加的指定路由器; 識別分配到所述經添加的指定路由器的特定多播群組;以及 調整所述特定多播群組的端口標識符以指向所述經添加的指定路由器的端口。
6.一種網絡節點,包括: 存儲器元件,該存儲器元件被配置為存儲指令;以及 處理器,該處理器被耦合到所述存儲器元件并且被配置為執行所述指令以使得所述網絡節點被配置為: 確定是否從數據源接收到多播數據消息,該消息在第一虛擬局域網中并且與多播群組相關聯; 基于所述虛擬局域網、所述數據源以及所述多播群組來計算哈希值; 基于所述哈希值確定層2網絡中的指定路由器的端口 ;以及 將所述多播數據消息交換至被確定的所述端口。
7.如權利要求6所述的網絡節點,其中所述網絡節點還被配置為: 基于所述哈希值確定所述層2網絡中的數據接收機的端口 ;以及 將所述多播數據消息交換至被確定的該端口。
8.如權利要求6所述的網絡節點,其中所述網絡節點還被配置為: 確定指定路由器是否已被從所述層2網絡中移除;以及 調整被分配到所述指定路由器的多播群組的端口標識符以標識所述層2網絡中的其他指定路由器的端口。
9.如權利要求8所述的網絡節點,其中所述網絡節點還被配置為: 選擇所述其他指定路由器中的一個作為被分配到經移除的路由器的所述多播群組的指定路由器;以及 調整被分配到所述經移除的路由器的所述多播群組的所述端口標識符以指向所述其他指定路由器中被選中的那個路由器的端口。
10.如權利要求6所述的網絡節點,其中所述網絡節點還被配置為: 識別已經被添加到所述層2網絡的經添加的指定路由器; 識別分配到所述經添加的指定路由器的特定多播群組;以及 調整所述特定多播群組的端口標識符以指向所述經添加的指定路由器的端口。
11.如權利要求6所述的網絡節點,其中所述網絡節點還被配置為: 構建輸出接口(OIF)列表,該列表要被特定哈希值所引用。
12.如權利要求11所述的網絡節點,其中所述OIF列表是基于來自多個數據源的群組加入請求而被構建的。
13.如權利要求6所述的網絡節點,其中所述網絡節點還被配置為: 使用第一標識符來檢索第二標識符以確定應當使用哪個樹來進行轉發活動以及確定所述層2網絡中的特定的指定路由器。
14.一種編碼在一個或多個非暫態有形的計算機可讀介質上以用于執行的邏輯,并且當所述邏輯被執行時可操作來: 從數據源接收多播數據消息,該消息在第一虛擬局域網中并且與多播群組相關聯; 基于所述虛擬局域網、所述數據源以及所述多播群組來計算哈希值; 基于所述哈希值確定層2網絡中的指定路由器的端口 ;以及 將所述多播數據消息交換至被確定的所述端口。
15.如權利要求14所述的邏輯,其中所述邏輯還可操作來: 基于所述哈希值確定所述層2網絡中的數據接收機的端口 ;以及 將所述多播數據消息交換至被確定的該端口。
16.如權利要求14所述的邏輯,其中所述邏輯還可操作來: 確定指定路由器是否已被從所述層2網絡中移除;以及 調整被分配到所述指定路由器的多播群組的端口標識符以標識所述層2網絡中的其他指定路由器的端口。
17.如權利要求16所述的邏輯,其中所述邏輯還可操作來: 選擇所述其他指定路由器中的一個作為被分配到經移除的路由器的所述多播群組的指定路由器;以及 調整被分配到所述經移除的路由器的所述多播群組的所述端口標識符以指向所述其他指定路由器中被選中的那個路由器的端口。
18.如權利要求14所述的邏輯,其中所述邏輯還可操作來: 識別已經被添加到所述層2網絡的經添加的指定路由器; 識別分配到所述經添加的指定路由器的特定多播群組;以及 調整所述特定多播群組的端口標識符以指向所述經添加的指定路由器的端口。
19.如權利要求14所述的邏輯,其中所述邏輯還可操作來: 構建指定路由器列表,該列表標識了所述層2網絡中可用的指定路由器,其中該路由器列表是基于從所述層2網絡的多個網絡節點接收的注冊消息而被構建的。
20.如權利要求14所述的邏輯,其中所述邏輯還可操作來: 構建輸出接口(OIF)列表,該列表要被特定哈希值所引用,其中該OIF列表是基于來自多個數據源的群組加入請求而被構建的。
【文檔編號】H04L12/743GK104335537SQ201380029830
【公開日】2015年2月4日 申請日期:2013年4月12日 優先權日:2012年6月8日
【發明者】桑托什·哈加高帕蘭, 桑杰伊·塞恩, 倫納德·T·特蕾西, 阿揚·本那杰 申請人:思科技術公司