一種軟體縱向堆疊系統中三層組播實現方法和設備的製作方法
2023-08-07 21:21:51 1
一種軟體縱向堆疊系統中三層組播實現方法和設備的製作方法
【專利摘要】本發明公開了一種軟體縱向堆疊系統中三層組播實現方法,該方法包括:成員設備在下發三層組播表項到硬體時,確定該三層組播表項中的組播路由的入接口和出接口的分布情況,實現三層組播表項在軟體堆疊系統中的成員設備上按需下發,或者使用等效的二層組播表項下發。基於同樣的發明構思,本發明還提出一種設備,能夠減少各成員設備的三層組播表項的資源佔用,大大提升縱向堆疊系統整體的組播路由規格,避免縱向堆疊系統中三層組播表項規格小的設備成為組播路由性能的瓶頸。
【專利說明】—種軟體縱向堆疊系統中三層組播實現方法和設備
【技術領域】
[0001]本發明涉及通信【技術領域】,特別涉及一種軟體縱向堆疊系統中三層組播實現方法和設備。
【背景技術】
[0002]智能彈性架構(Intelligent Resilient Framework, I RF)是一種軟體虛擬化技術。它的核心思想是將多臺設備通過IRF物理接口連接在一起,進行必要的配置後,虛擬化成一臺「分布式設備」。使用這種虛擬化技術可以集合多臺設備的硬體資源和軟體處理能力,實現多臺設備的協同工作、統一管理和不間斷維護。
[0003]IRF可以分為軟體實現的IRF和硬體實現的IRF,軟體實現的IRF稱為軟體IRF,硬體實現的IRF稱為硬體IRF。
[0004]軟體IRF在跨設備的組播流轉發時,報文轉發信息無法攜帶到對端設備,報文在對端設備時需要重新經過入(Ingress)流程進行表項查找和轉發。採用這種方案,報文在每個設備的轉發路徑都是通過軟體計算並且控制的。
[0005]硬體IRF,就是晶片提供特殊的IRF接口,通過IRF接口能夠把描述符信息,即決定報文轉發的信息攜帶到對端設備,在對端設備的IRF接口忽略Ingress引擎的處理,根據描述符攜帶的信息進行轉發,實現真正意義上的一次查找和轉發,顯然,硬體IRF需要轉發晶片的支持。
[0006]參見圖1,圖1為縱向堆疊系統(V-1RF)拓撲堆疊示意圖。圖1中成員設備1、成員設備2、成員設備3和成員設備4組成縱向堆疊系統。其中,成員設備I和成員設備2為三層組播轉發表項規格大的高端設備,而成員設備3和成員設備4為三層組播轉發表項規格小的低端設備。
[0007]當採用軟體方式實現V-1RF時,表項在各設備間進行同步,數據報文在每個設備都需要重新查找轉發表項進行轉發。設備間的堆疊口上交互的是標準的以太報文,沒有任何特殊的私有報文頭信息。
[0008]為了實現三層組播業務功能,當前,軟體實現的縱向IRF也採用表項同步的方式,在各設備上都下發組播路由(S,G)和對應的出接口表項,組播流洪泛到各堆疊設備後再次查找組播路由進行轉發。
[0009]在實際應用中,三層組播表項規格大的成員設備I和成員設備2支持的路由表項規格也較大,三層組播能力較強;而三層組播表項規格小的成員設備3和成員設備4的三層組播路由能力較弱,支持的組播路由規模相對較小,但支持一定的二層組播功能。
[0010]在成員設備1、成員設備2、成員設備3和成員設備4組成的ν-1RF,就存在這樣一個矛盾,整個V-1RF需要配置三層組播功能,並且在配置三層組播功能後,軟體IRF中的三層組播表項需要進行同步,這樣導致整個系統支持的組播路由條數受到規格較低的成員設備3和成員設備4的限制,或者,成員設備I和成員設備2上的三層組播流量到達成員設備3或成員設備4後沒有組播路由可以匹配,而出現業務異常。[0011]例如,三層組播表項規格大的成員設備I和成員設備2,作為核心成員設備,核心成員設備的硬體支持16K組播路由(S,G),三層組播表項規格小的成員設備3和成員設備4作為網絡中的邊緣成員設備,其硬體最大只能支持2K組播路由(S,G)。由於三層組播路由要全局同步,因此,在圖1中的V-1RF組網中,要麼所有成員設備都只下發2K的三層組播表項;要麼超過2K的組播表項在成員設備3和成員設備4上不能下發,即導致超過2K的三層組播表項在成員設備3和成員設備4上下發失敗,從而觸發組播業務異常。
【發明內容】
[0012]有鑑於此,本發明提供一種軟體縱向堆疊系統中三層組播實現方法和設備,能夠減少各成員設備的三層組播表項的資源佔用,大大提升縱向堆疊系統整體的組播路由規格,避免縱向堆疊系統中三層組播表項規格小的設備成為組播路由性能的瓶頸。
[0013]為解決上述技術問題,本發明的技術方案是這樣實現的:
[0014]一種軟體縱向堆疊系統中三層組播實現方法,該堆疊系統中的成員設備包括三層組播表項規格大的設備和三層組播表項規格小的設備,所述方法包括:
[0015]任一所述成員設備在下發三層組播表項到硬體時,若確定該三層組播表項中的組播路由的入接口在其他成員設備上,兩個以上出接口在本成員設備上,且所述兩個以上出接口屬於同一虛擬區域網VLAN,則在所述VLAN內,將該三層組播表項映射為二層組播表項,並將該二層組播表項下發到硬體;其中,所述入接口為所述組播路由進該堆疊系統的接口,所述出接口為所述組播路由出該堆疊系統的接口 ;
[0016]接收到匹配該組播路由的組播流時,在該VLAN內根據下發到硬體的二層組播表項轉發該組播流。
[0017]一種設備,可應用為軟體縱向堆疊系統中的任一成員設備,該堆疊系統中的成員設備包括三層組播表項規格大的設備和三層組播表項規格小的設備,所述設備包括:確定單元、接收單元和處理單元;
[0018]所述確定單元,用於本設備在下發三層組播表項到硬體時,確定該三層組播表項的入接口和出接口;
[0019]所述接收單元,用於接收匹配該組播路由的組播流;
[0020]所述處理單元,用於若所述確定單元確定該三層組播表項中的組播路由的入接口在其他成員設備上,兩個以上出接口在本設備上,且所述兩個以上出接口屬於同一 VLAN,則在所述VLAN內,將該三層組播表項映射為二層組播表項,並將該二層組播表項下發到硬體;其中,所述入接口為所述組播路由進該堆疊系統的接口,所述出接口為所述組播路由出該堆疊系統的接口 ;在所述接收單元接收到匹配該組播路由的組播流時,在該VLAN內根據下發到硬體的二層組播表項轉發該組播流。
[0021]綜上所述,本發明通過成員設備在下發三層組播表項到硬體時,確定該三層組播表項中的組播路由的入接口和出接口的分布情況,實現三層組播表項在軟體堆疊系統中的各成員設備上按需下發,或者使用等效的二層組播表項下發,能夠減少各成員設備的三層組播表項的資源佔用,大大提升縱向堆疊系統整體的組播路由規格,避免縱向堆疊系統中三層組播表項規格小的設備成為組播路由性能的瓶頸。【專利附圖】
【附圖說明】
[0022]圖1為V-1RF拓撲堆疊示意圖;
[0023]圖2為本發明實施例一中三層組播實現方法流程示意圖;
[0024]圖3為本發明實施例一中縱向堆疊示意圖;
[0025]圖4為本發明實施例二中三層組播實現方法流程示意圖;
[0026]圖5為本發明實施例四中三層組播實現方法流程示意圖;
[0027]圖6為本發明具體實施例中應用於上述的縱向堆疊系統示意圖;
[0028]圖7為本發明具體實施例中應用於上述技術的設備的結構示意圖。
【具體實施方式】
[0029]為使本發明的目的、技術方案及優點更加清楚明白,以下參照附圖並舉實施例,對本發明所述方案作進一步地詳細說明。
[0030]本發明實施例中提出一種軟體縱向堆疊系統中三層組播實現方法,該堆疊系統中的成員設備包括三層組播表項規格大的設備和三層組播表項規格小的設備。任一所述成員設備在下發三層組播表項到硬體時,確定該三層組播表項中的組播路由的入接口和出接口的分布情況,實現三層組播表項在軟體堆疊系統中的成員設備上按需下發,或者使用等效的二層組播表項下發,能夠減少各成員設備的三層組播表項的資源佔用,大大提升縱向堆疊系統整體的組播路由規格,避免縱向堆疊系統中三層組播表項規格小的設備成為組播路由性能的瓶頸。
[0031]本發明具體實施例中組播路由的入接口指該組播路由進該堆疊系統的接口,組播路由的出接口指該組播路由出該堆疊系統的接口,不包括堆疊系統內部的堆疊口。
[0032]對於三層組播表項如何生成,以及在堆疊系統中各成員設備之間通過計算的生成樹,使各組播路由相關的組播流如何轉發,可以同現有實現的方式,本發明並不關心。本發明只是在將三層組播表項下發到硬體時根據具體情況確定是否下發,或者使用替代表項下發,達到減少三層組播表項下發的效果。
[0033]實施例一
[0034]參見圖2,圖2為本發明實施例一中三層組播實現方法流程示意圖。具體步驟為:
[0035]步驟201,縱向堆疊系統中任一成員設備在下發三層組播表項到硬體時,若確定該三層組播表項中的組播路由的入接口在其他成員設備上,兩個以上出接口在本成員設備上,且所述兩個以上出接口屬於同一虛擬區域網(VLAN),則在所述VLAN內,將該三層組播表項映射為二層組播表項,並將該二層組播表項下發到硬體。
[0036]該縱向堆疊系統中,根據組播路由協議計算生成三層組播表項,三層組播表項包含的內容為源網際網路協議(SIP)地址、目的網際網路協議(DIP)地址、入接口號和出接口號。縱向堆疊系統中各成員設備能夠獲知其他成員設備上的埠情況,因此根據三層組播表項中的入接口號和出接口號可以該組播路由的入接口和出接口在哪個成員設備上。
[0037]本步驟中在該VLAN內下發通過三層組播表項映射的二層組播表項到硬體,而不下發該三層組播表項到硬體,即使用二層組播表項來替代三層組播表項的下發。其中二層組播表項可以是(VLAN ID,(目的媒質訪問控制)DMAC地址)或者(VLAN ID7DIP位址),或者(VLAN ID, SIP位址,DIP位址),以及出接口號,具體取決於不同廠商的實現,其中DMAC地址遵照當前組播協議規範直接通過DIP位址映射得來。如:使用IP位址的後28位映射為MAC地址的後23位,MAC地址的前25位固定不變。如果出接口存在多個,則出接口號為一個出接口集,包括多個出接口號。
[0038]參見圖3,圖3為本發明實施例一中縱向堆疊示意圖。圖3中成員設備1、成員設備2、成員設備3和成員設備4堆疊為一個縱向堆疊系統,成員設備I和成員設備2為三層組播轉發表項規格大的設備,成員設備3和成員設備4為三層組播轉發表項規格小的設備。在具體實現時,可以只對三層組播轉發表項小的設備上的三層組播表項在向硬體下發時進行處理,也可以對所有成員設備上的三層組播表項在向硬體下發時均按本發明實施例的處理方式進行處理。
[0039]假設圖3中的各成員設備對於組播路由I (S,G)對應的組播流在該堆疊系統中的轉發路徑如圖3中箭頭所示。由成員設備I的接口 I進入該縱向堆疊系統,通過接口 2到達成員設備2,成員設備2通過接口 3出該縱向堆疊系統,通過接口 4和接口 5分別到達成員設備3和成員設備4,該組播流通過成員設備3的出接口 6和7出該縱向堆疊系統,通過成員設備4的出接口 8出該縱向堆疊系統。
[0040]假設成員設備3上的出接口 6和出接口 7屬於同一 VLAN,則對於成員設備3來說,該組播路由I的入接口在其他成員設備上,即成員設備I上,其中存在兩個出接口在本成員設備上,且這兩個出接口屬於同一 VLAN,在成員設備3上將三層組播表項映射為二層組播表項,使用該二層組播表項替換組播路由I對應的三層組播表項,下發到硬體。
[0041]三層組播轉發表項規格小的設備,雖然三層組播表項的規格有限,但是二層組播表項的規格卻很大,因此,使用二層組播表項替換三層組播表項下發到硬體,不會影響二層組播表項的下發,又節省了三層組播表項在硬體上的資源。
[0042]如果成員設備2接收到並需轉發給成員設備3的組播流所屬的VLAN同出接口 6和出接口 7所屬的VLAN不同,則成員設備2在向成員設備3轉發該組播流時,將VLAN替換為同出接口 6和出接口 7相同的VLAN。
[0043]步驟201,該成員設備接收到匹配該組播路由的組播流時,在該VLAN內根據下發到硬體的二層組播表項轉發該組播流。
[0044]假設這裡實現的二層組播表項包含的內容為VLAN ID、DMAC地址和出接口號,則在該組播流所屬的VLAN內查找二層組播表項,根據該組播流的DMAC地址對應的出接口號6和7對應的出接口將該組播流轉發。
[0045]實施例二
[0046]參見圖4,圖4為本發明實施例二中三層組播實現方法流程示意圖。具體步驟為:
[0047]步驟401,縱向堆疊系統中任一成員設備在下發三層組播表項到硬體時,若確定該三層組播表項中的組播路由的入接口在其他成員設備上,兩個以上出接口在本成員設備上,且所述兩個以上出接口不屬於同一 VLAN,以及所述兩個以上出接口均為接入類型的埠即ACCESS 口,則將所述兩個以上出接口加入到一個系統保留的VLAN中,在該系統保留的VLAN內,將該三層組播表項映射為二層組播表項,並將該二層組播表項下發到硬體。
[0048]仍然以圖3為例,假設圖3中成員設備3上的出接口 6和出接口 7的VLAN不相同,且出接口 6和出接口 7為ACCESS 口,則將出接口 6和出接口 7加入一個系統保留的VLAN中,即用戶不會使用的VLANjB 4095。[0049]對於成員設備3來說,該組播路由I的入接口在其他成員設備上,即成員設備I上,其中存在兩個出接口在本成員設備上,且這兩個出接口(出接口 6和出接口 7)屬於不同VLAN,在成員設備3上使用二層組播表項替換該組播路由I所對應的三層組播表項,下發到硬體。其中,二層組播表項中的VLAN ID為4095,出接口號為6和7。
[0050]這裡對於屬於不同VLAN的出接口也可以使用二層組播表項代替三層組播表項,主要是藉助於ACCESS 口的特點,通過ACCESS 口到達接收者後,不會帶VLAN TAG,因此,下發的二層組播表項進行轉發,能夠起到和下發三層組播表項轉發相同的效果。
[0051]步驟402,該成員設備接收到匹配該組播路由的組播流時,在系統保留的VLAN內,根據下發硬體的二層組播表項轉發該組播流。
[0052]實施例三
[0053]堆疊系統中任一成員設備在下發三層組播表項到硬體時,若確定該三層組播表項中的組播路由的入接口和出接口都不在本成員設備上,且不需要本成員設備轉發匹配該組播路由的組播流,則不向硬體下發該組播路由相關的組播表項。
[0054]這裡不向硬體下發該組播路由相關的組播表項,即不下發三層組播表項也不下發二層組播表項,由於該組播不會轉發到該成員設備上,因此,不需下發任何表項。
[0055]仍然以圖3為例,假設組播路由2 (S,G)對應的組播流通過成員設備I轉發到成員設備2,再從成員設備2轉發到成員設備3,從成員設備3轉發出該堆疊系統。則成員設備4上不存在該組播路由的出接口和入接口,該組播路由對應的組播流也不經過成員設備4轉發,則在成員設備4上不將該組播路由2對應的組播表項下發到硬體。
[0056]實施例四
[0057]參見圖5,圖5為本發明實施例四中三層組播實現方法流程示意圖。具體步驟為:
[0058]步驟501,縱向堆疊系統中任一成員設備在下發三層組播表項到硬體時,若該三層組播表項中的組播路由的入接口在其他成員設備上,且只有一個出接口在本成員設備上;或,該組播路由的入接口在本成員設備上,出接口在其他成員設備上,且本成員設備僅有一個接口可達所述出接口所在的其他成員設備,則將該三層組播表項映射為ACL規則,並將所述ACL規則下發到硬體。
[0059]仍然以圖3在實施例一中的描述為例,對於組播路由I對應的組播流,成員設備4有一個出接口(接口 8),且入接口不在成員設備4上,在成員設備I上,因此,對於成員設備4,下發組播路由I對應的三層組播表項時,使用對應的ACL規則替代三層組播表項下發到硬體。
[0060]對於組播路由1,成員設備I有一個入接口(接口 1),且出接口不在本成員設備,在其他成員設備上,如,成員設備2的接口 3、成員設備3的接口 6和接口 7,成員設備4的接口 8。並且成員設備I有且只有一個接口(接口 2)到達出接口所在的其他成員設備上。這時,在成員設備I上,將組播路由I對應的三層組播表項映射為對應的ACL規則,並使用該ACL規則替代三層組播表項下發到硬體。
[0061]如何將三層組播表項映射為ACL規則,具體處理如下:
[0062]如(s,g)為(1.1.1.1,225.1.1.1)的組播流,從 VLANlO 的 Portl 進入,需要轉發到 VLAN20 的 Port2,可以在 portl 上下發 ACL 的規則欄位為 SIP=L 1.1.1,GIP=225.1.1.1,VLAN=IO的ACL表項,該表項的動作為:修改VLAN ID為20,同時將報文重定向到Port2。[0063]步驟502,該成員設備接收到匹配該組播路由的組播流時,根據下發到硬體的ACL規則對該組播流進行匹配並轉發。
[0064]上述四個實施例可以任意組合實施在一個成員設備上,均可減少三層組播表項下發到硬體。
[0065]下面以具體實施例詳細說明在縱向堆疊系統中如何實現三層組播。
[0066]參見圖6,圖6為本發明具體實施例中應用於上述的縱向堆疊系統示意圖。圖6中,成員設備1、成員設備2、成員是設備3和成員設備4堆疊為一個縱向堆疊系統中,其中,成員設備I和成員設備2為三層組播表項規格大的設備,成員設備3和成員設備4為三層組播表現規格小的設備。在具體實現時,可以只對三層組播表項規格小的設備上的三層組播表項在向硬體下發時進行處理,也可以對所有成員設備上的三層組播表項在向硬體下發時均按本發明實施例的處理方式進行處理。
[0067]圖6中從成員設備I上進入的三層組播流3 (1.1.1.1,225.1.1.1),其下遊接收者都在成員設備I上,如圖6中的虛線箭頭所示,同時從成員設備I上進入的三層組播流4 (2.2.2.2,225.2.2.2),其出接口在成員設備3和成員設備4上,成員設備3上兩個接口P3UP32都在VLANlO中;成員設備4上的兩個接口中的P41屬於VLAN20,P42屬於VLAN30,兩者都是ACCESS類型接口。成員設備2上雖然沒有出接口和入接口,但是三層組播流2需要通過成員設備2轉發給成員設備3和成員設備4。
[0068]對於三層組播流3對應的路由(1.1.1.1,225.1.1.1)的出接口和入接口都在成員設備I上,即該路由為成員設備I的Local組播路由,需將對應的三層組播表項在本地下發。
[0069]由於該組播路由的入接口和出接口都在成員設備I上,且在其他成員設備上不存在出接口,因此,不會轉發到成員設備2、成員設備3和成員設備4上,因此,成員設備2、成員設備3和成員設備4都不需要下發該組播路由。
[0070]對於三層組播流4對應的路由(2.2.2.2,225.2.2.2),由於成員設備I為該組播路由的入接口,且該成員設備僅有一個接口將該三層組播流轉發到其他成員設備(成員設備2),因此,在成員設備I上將該三層組播表項映射為ACL規則,並使用ACL規則替代三層組播表項的下發。由於成員設備I為三層組播表項規格大的設備,也可仍然將對應的三層組播表項直接下發到硬體。
[0071]成員設備2上雖然沒有該三層組播流4的入接口也沒有出接口,但是三層組播流4需經過成員設備2轉發,並且通過兩個接口轉發給其他成員設備(成員設備3和成員設備4),因此,成員設備2上將對應的三層組播表項下發到硬體。
[0072]成員設備3上沒有該三層組播流4的入接口,但是有兩個出接口,且這兩個出接口在同一 VLANlO中,成員設備2在向成員設備3轉發該三層組播流時,如果該組播流不屬於VLAN10,則替換為,或偽裝為VLANlO轉發到成員設備3上。成員設備3在VLANlO內,將該三層組播表項映射為二層組播表項,並使用二層組播表項替代三層組播表項下發到硬體。具體的二層組播表項中VLAN ID為10,0獻(:地址為0100-5602-0202,出接口號為?31、?32。
[0073]成員設備4上沒有該三層組播流4的入接口,但是有兩個出接口,兩個出接口均為ACCESS 口,且這兩個出接口分屬於不同的VLAN中,則將接口 P41和P42加入系統保留VLAN中,如VLAN4095,具體實現時,也可以是VLAN0。成員設備4在VLAN4095內,將該三層組播表項映射為二層組播表項,並使用二層組播表項替代三層組播表項下發到硬體。具體的二層組播表項中VLAN ID為4095,DMAC地址為0100-5e02_0202,出接口號為P41、P42。
[0074]VLAN4095、VLANO為用戶不使用的VLAN,一般為系統保留,通過上述VLAN4095的一條表項是的報文從VLAN4095轉發兩個接口,由於是Access類型接口,報文出去不會帶VLAN-Tag,因此下遊接收者的角度看,和從VLAN20和VLAN30收到的報文沒有任何區別。
[0075]由上可見,成員設備I上可下發了兩個三層組播表項,也可下發一個三層組播表項和一個ACL規則。成員設備2下發了一個三層組播表項,而成員設備3和成員設備4上未下發三層組播表項,均下發了一個二層組播表項。這樣各成員設備大大減少了三層組播表項的下發,尤其是三層組播表項規格小的成員設備減少了硬體中三層組播表項的資源佔用,確保整個縱向堆疊系統能夠支持較大的三層組播路由規格。
[0076]除去上述特定特徵的路由之外的組播路由,同現有實現,需在各成員設備上都下發到硬體。並且無論是否將三層組播表項下發到硬體,在軟體中都會緩存。
[0077]當協議運行過程中上述路由類型變化時,需要按新的特徵重新下發或者暫時刪除路由硬體表項。
[0078]成員設備接收到組播流時,在硬體上進行匹配。由於對任一組播路由在該成員設備上只會下發ACL規則、三層組播表項和二層組播表項中的一個,因此,總會存在可以匹配的表項或ACL規則。
[0079]本發明具體實施例中基於同樣的發明構思,還提出一種設備,可應用為軟體縱向堆疊系統中的任一成員設備,該堆疊系統中的成員設備包括三層組播表項規格大的設備和三層組播表項規格小的設備。參見圖7,圖7為本發明具體實施例中應用於上述技術的設備的結構示意圖。該設備包括:確定單元701、接收單元702和處理單元703。
[0080]確定單元701,用於本設備在下發三層組播表項到硬體時,確定該三層組播表項的入接口和出接口。
[0081]接收單元702,用於接收匹配該組播路由的組播流。
[0082]處理單元703,用於若確定單元701確定該三層組播表項中的組播路由的入接口在其他成員設備上,兩個以上出接口在本設備上,且所述兩個以上出接口屬於同一 VLAN,則在所述VLAN內,將該三層組播表項映射為二層組播表項,並將該二層組播表項下發到硬體;其中,所述入接口為所述組播路由進該堆疊系統的接口,所述出接口為所述組播路由出該堆疊系統的接口 ;在接收單元702接收到匹配該組播路由的組播流時,在該VLAN內根據下發到硬體的二層組播表項轉發該組播流。
[0083]較佳地,
[0084]處理單元703,進一步用於確定單元701若確定該三層組播表項中的組播路由的入接口在其他成員設備上,兩個以上出接口在本設備上,且所述兩個以上出接口不屬於同一 VLAN,以及所述兩個以上出接口均為ACCESS 口,則將所述兩個以上出接口加入到一個系統保留的VLAN中,在該系統保留的VLAN內,將該三層組播表項映射為二層組播表項,並將該二層組播表項下發到硬體;在接收單元702接收到匹配該組播路由的組播流時,在系統保留的VLAN內,根據下發硬體的二層組播表項轉發該組播流。
[0085]較佳地,
[0086]處理單元703,進一步用於確定單元701若確定該三層組播表項中的組播路由的入接口和出接口都不在本設備上,且不需要本設備轉發匹配該組播路由的組播流,則不向硬體下發該組播路由相關的組播表項。
[0087]較佳地,
[0088]處理單元703,進一步用於確定單元701若確定該三層組播表項中的組播路由的入接口在其他成員設備上,且只有一個出接口在本設備上;或,該組播路由的入接口在本設備上,出接口在其他成員設備上,且本設備僅有一個接口可達所述出接口所在的其他成員設備;則將該三層組播表項映射為ACL規則,並將所述ACL規則下發到硬體;在接收單元702接收到匹配該組播路由的組播流時,根據下發到硬體的ACL規則對該組播流進行匹配並轉發。
[0089]上述實施例的單元可以集成於一體,也可以分離部署;可以合併為一個單元,也可以進一步拆分成多個子單兀。
[0090]綜上所述,本發明具體實施例中成員設備在下發三層組播表項到硬體時,確定該三層組播表項中的組播路由的入接口和出接口的分布情況,實現三層組播表項在軟體堆疊系統中的設備上按需下發,或者使用等效的二層組播表項下發,能夠減少各成員設備的三層組播表項的資源佔用,大大提升縱向堆疊系統整體的組播路由規格,避免縱向堆疊系統中三層組播表項規格小的設備成為組播路由性能的瓶頸。
[0091]以上所述,僅為本發明的較佳實施例而已,並非用於限定本發明的保護範圍。凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護範圍之內。
【權利要求】
1.一種軟體縱向堆疊系統中三層組播實現方法,該堆疊系統中的成員設備包括三層組播表項規格大的設備和三層組播表項規格小的設備,其特徵在於,所述方法包括: 任一所述成員設備在下發三層組播表項到硬體時,若確定該三層組播表項中的組播路由的入接口在其他成員設備上,兩個以上出接口在本成員設備上,且所述兩個以上出接口屬於同一虛擬區域網VLAN,則在所述VLAN內,將該三層組播表項映射為二層組播表項,並將該二層組播表項下發到硬體;其中,所述入接口為所述組播路由進該堆疊系統的接口,所述出接口為所述組播路由出該堆疊系統的接口; 接收到匹配該組播路由的組播流時,在該VLAN內根據下發到硬體的二層組播表項轉發該組播流。
2.根據權利要求1所述的方法,其特徵在於,所述方法進一步包括: 任一所述成員設備在下發三層組播表項到硬體時,若確定該三層組播表項中的組播路由的入接口在其他成員設備上,兩個以上出接口在本成員設備上,且所述兩個以上出接口不屬於同一 VLAN,以及所述兩個以上出接口均為接入ACCESS 口,則將所述兩個以上出接口加入到一個系統保留的VLAN中,在該系統保留的VLAN內,將該三層組播表項映射為二層組播表項,並將該二層組播表項下發到硬體; 接收到匹配該組播路由的組播流時,在所述系統保留的VLAN內,根據下發硬體的二層組播表項轉發該組播流。
3.根據權利要求1或2所述的方法,其特徵在於,所述方法進一步包括: 任一所述成員設備在下發三層組播表項到硬體時,若確定該三層組播表項中的組播路由的入接口和出接口都不在本成員設備上,且不需要本成員設備轉發匹配該組播路由的組播流,則不向硬體下發該組播路由相關的組播表項。
4.根據權利要求1或 2所述的方法,其特徵在於,所述方法進一步包括: 任一所述成員設備在下發三層組播表項到硬體時,若確定該三層組播表項中的組播路由的入接口在其他成員設備上,且只有一個出接口在本成員設備上;或,該組播路由的入接口在本成員設備上,出接口在其他成員設備上,且本成員設備僅有一個接口可達所述出接口所在的其他成員設備; 則將該三層組播表項映射為訪問控制列表ACL規則,並將所述ACL規則下發到硬體; 接收到匹配該組播路由的組播流時,根據下發到硬體的所述ACL規則對該組播流進行匹配並轉發。
5.一種設備,可應用為軟體縱向堆疊系統中的任一成員設備,該堆疊系統中的成員設備包括三層組播表項規格大的設備和三層組播表項規格小的設備,其特徵在於,所述設備包括:確定單元、接收單元和處理單元; 所述確定單元,用於本設備在下發三層組播表項到硬體時,確定該三層組播表項的入接口和出接口; 所述接收單元,用於接收匹配該組播路由的組播流; 所述處理單元,用於若所述確定單元確定該三層組播表項中的組播路由的入接口在其他成員設備上,兩個以上出接口在本設備上,且所述兩個以上出接口屬於同一虛擬區域網VLAN,則在所述VLAN內,將該三層組播表項映射為二層組播表項,並將該二層組播表項下發到硬體;其中,所述入接口為所述組播路由進該堆疊系統的接口,所述出接口為所述組播路由出該堆疊系統的接口 ;在所述接收單元接收到匹配該組播路由的組播流時,在該VLAN內根據下發到硬體的二層組播表項轉發該組播流。
6.根據權利要求5所述的設備,其特徵在於, 所述處理單元,進一步用於所述確定單元若確定該三層組播表項中的組播路由的入接口在其他成員設備上,兩個以上出接口在本設備上,且所述兩個以上出接口不屬於同一VLAN,以及所述兩個以上出接口均為接入ACCESS 口,則將所述兩個以上出接口加入到一個系統保留的VLAN中,在該系統保留的VLAN內,將該三層組播表項映射為二層組播表項,並將該二層組播表項下發到硬體;在所述接收單元接收到匹配該組播路由的組播流時,在系統保留的VLAN內,根據下發硬體的二層組播表項轉發該組播流。
7.根據權利要求5或6所述的方法,其特徵在於, 所述處理單元,進一步用於所述確定單元若確定該三層組播表項中的組播路由的入接口和出接口都不在本設備上,且不需要本設備轉發匹配該組播路由的組播流,則不向硬體下發該組播路由相關的組播表項。
8.根據權利要求5或6所述的設備,其特徵在於, 所述處理單元,進一步用於所述確定單元若確定該三層組播表項中的組播路由的入接口在其他成員設備上 ,且只有一個出接口在本設備上;或,該組播路由的入接口在本設備上,出接口在其他成員設備上,且本設備僅有一個接口可達所述出接口所在的其他成員設備;則將該三層組播表項映射為ACL規則,並將所述ACL規則下發到硬體;在所述接收單元接收到匹配該組播路由的組播流時,根據下發到硬體的ACL規則對該組播流進行匹配並轉發。
【文檔編號】H04L12/46GK103457862SQ201310403397
【公開日】2013年12月18日 申請日期:2013年9月6日 優先權日:2013年9月6日
【發明者】遊君平, 鄭國良, 趙海峰, 王 鋒 申請人:杭州華三通信技術有限公司