專利名稱:基于網際分組管理協議第三版的以太網組播實現方法
技術領域:
本發明涉及IP網絡,特別涉及一種基于網際分組管理協議(IGMP)的 以太網多端口組播實現方法。IP組播技術實現了 IP網絡中點到多點的高效數據傳輸。此技術能夠有 效地節約帶寬、降低網絡負載,被廣泛應用在多媒體會議、實時數據傳輸、 游戲等諸多方面。IGMP (Internet Group Management Protocol,網際分組管 理協議)是IP組播路由技術中的重要模塊,運行IGMP協議的組播路由器 負責將收集到的組播成員信息報告給其他組播路由器,故組播路由器在 IGMP協議中充當"組播路由側"和"組播用戶側"兩種角色。IGMPv3 (IGMP第3版)在IGMPv2 (IGMP第2版)基礎上增加了 IPv4 (網際協議第4版)源過濾功能,即系統可以指定接收來自特定源地址的組 播流或指定接收來自特定源地址以外的組播流。IGMPv3標準由RFC3376 進行定義,其中詳細描述了運行IGMPv3的系統在路由側和用戶側的功能。在路由側,系統主要完成組播監聽功能。系統周期性發送通用查詢報文, 請求所在網絡的組成員信息。對于同一個網絡中有多個接口的情況,協議中 只使用一個接口進行處理,并使用組播成員信息表(表結構定義{組播地 址multicast address(簡稱MA),組定時器group timer,過濾才莫式filter-mode, {源記錄source records } } 、 source record的結構定義{源地址source address, 源計時器source timer})來記錄組播成員信息。其中,{source records}用于記錄所有請求組播的系統的IP地址,是源記錄的集合。對于路由側接收到 的不同類型的用戶報告(如不同組播組地址的報告或不同組播組地址和不同 源地址的報告),按照標準中第6.4節所描述的規則更新組播成員信息表, 并發送特定組或特定源地址的組播查詢報文。
背景技術:
在用戶側,系統根據組播監聽到的組播信息來完成組播代理功能。當系 統接收到通用查詢報文時,系統查詢自己的組播成員信息表,并發送Current-State Record的成員信息報告給路由器。當因組播組定時器過期、源 地址定時器過期、新的用戶加入請求等引起系統組播成員信息發生變化時, 根據標準中第5.1節所描述的規則發送State-Change Report報文給路由器, 以此來保證網絡中組播樹的 一致。IGMPv3標準中僅使用 一個接口的組播成員信息表來記錄網絡中多個端 口的組播請求,在IPv4路由組播中雖能夠較好的建立組播樹并實現組播樹 的剪切,但在以太網組播中卻不能對特定用戶端口的組播流進行控制。標準 中描述的IGMPv3組播路由協議,僅考慮組播系統實現單網絡節點的組播信 息管理,不滿足以太網組播系統多端口的管理需求。在以太網組播系統中, 需要確切知道一個組播組記錄中哪些端口請求哪些組播流、包含哪些信息, 以滿足IPTV等上層業務對特定端口用戶的組播流控制。發明內容本發明要解決的技術問題是提供一種基于網際分組管理協議v3版本的 以太網組播實現方法,實現IGMPv3中的以太網組播。為了解決上述問題,本發明提供了 一種基于網際分組管理協議第三版的 以太網組#"實現方法,包括以下步驟(a) 以太網交換機收到組播成員報告后,更新組播成員信息表,所述 組播成員信息表中記錄的信息包括組播地址、虛擬局域網號、端口號、源記 錄,所述組播地址、虛擬局域網號、端口號唯一標識表中的一條記錄;(b) 當以太網交換機收到組播流數據需要轉發給用戶時,根據組播流 數據中攜帶的組播地址、虛擬局域網號、源記錄,查所述組播成員信息表, 確定組播流數據的發送方向。進一步地,上述方法還可具有以下特點,所述步驟(a)進一步包括 以太網交換機解析組播成員報告,根據報文中的索引信息判斷是否存在具有
所述索引信息的組播成員信息記錄,如果是,則更新該記錄,否則,創建一 條新記錄,記錄中包括組#"地址、虛擬局域網號、端口號、源記錄。進一步地,上述方法還可具有以下特點,所述組播成員報告報文中的組 播地址、虛擬局域網號和端口號為索引信息。進一步地,上述方法還可具有以下特點,所述源記錄包括源地址和源地 址定時器。進一步地,上述方法還可具有以下特點,在所述步驟(a)中,所述以 太網交換機根據所述組播成員信息表構建一組播成員關系表,所述組播成員 關系表中記錄的內容包括組播地址、虛擬局域網號、源地址和端口列表, 所述組播地址、虛擬局域網號、源地址用于標識表中的記錄;在所述步驟(b) 中,所述以太網交換機根據組播流數據中攜帶的組播地址、虛擬局域網號、 源地址查找所述組播成員關系表,確定組播流數據的發送端口 。進一步地,上述方法還可具有以下特點,在所述步驟(a)中,所述組 播成員信息表更新后觸發所述組播成員關系表的更新,所述組播成員關系表 的更新包括以組播地址、虛擬局域網端口號、各源地址分別查找所述組播 成員關系表,判斷是否存在具有上述信息的組播成員關系記錄,如果是,則 更新該記錄,否則,創建一條新記錄。進一步地,上述方法還可具有以下特點,當判斷所述組播成員關系表中 存在具有上述信息的組播成員關系記錄后,再判斷如果源地址定時器未過期 且源地址有效,則將端口信息添加到此記錄的端口成員列表中。進一步地,上述方法還可具有以下特點,所述創建一條新記錄是指將源 地址定時器未過期的端口添加到新創建的組播成員關系表對應的記錄中。進一步地,上述方法還可具有以下特點,所述組播成員關系表更新后, 同步更新交換機芯片中的組播地址、虛擬局域網號、端口列表、源地址。與現有技術相比,采用本發明所述方法,在現有IP協議組播^^由基礎 上,在系統路由側,通過對組播成員信息進行管理,實現組播管理和控制, 進一步保證用戶組播請求的高效性和準確性。
圖1為本實施例實現IGMPv3的組4番的流程圖;圖2為本實施例和現有技術中組播成員信息表對照圖;圖3為本實施例組播成員信息表與組播成員關系表的映射關系圖;圖4為本實施例組播成員信息表的更新流程圖;圖5為本實施例組播成員信息表與組播成員關系表的同步關系圖;圖6為本實施例組播成員關系表的更新流程圖;圖7為本實施例以太網交換機中芯片更新流程圖。
具體實施方式
下面結合附圖和具體實施方式
對本發明作進一步詳細描述。在IGMPv3組播路由側,通過擴展原有組播成員信息表結構,可以實現 IGMPv3的組播,同時新增加一個靜態組播成員關系表,提供以太網交換機 多端口用戶的組播成員信息的管理。如圖1所示,包括以下步驟步驟一,以太網交換機收到組播成員報告,更新組播成員信息表,組播 成員信息表中記錄的信息包括組播地址、VLAN號、Port號和源地址;以太網交換機從收到的組播成員報告中提取出VLAN號并且將收到該 報文的Port號加入到組播成員信息表中。所述組播成員報告可以是由以太網交換機定期查詢而得,或者由其下用 戶主動上報而得。步驟二,當以太網交換機收到組播流服務器發來的組播流數據需要轉發 給用戶時,查表將組播流數據發送給用戶。組播流服務器發來的組播流數據中攜帶有組播地址、VLAN號、源地址 信息,以太網交換機根據這些信息查表可以確定將該組播流數據通過哪個端 口發送給哪個用戶。在步驟一中,由于在組播成員信息表中添加了 VLAN號和Port號,如
圖2所示,以使得當以太網交換機收到組播流數據后可以確定該組播流數據 是針對于哪個用戶的,從而可以實現IGMPv3組播。為了保證用戶組播請求的高效和準確,本實施例還構建一張組播成員關 系表,組播成員關系表與組播成員信息表有映射關系(如圖3所示),當組 播成員信息表更新時,同時更新組播成員關系表。當以太網交換機收到組播 流數據后,可直接查組播成員關系表將組播流數據發送給用戶。對步驟一進一步說明如下擴展原有組播成員信息表結構,在原有組播成員信息表上添加VLAN 和port信息,滿足了以太網交換機系統在IGMPv3標準下按VLAN中端口 進行組播信息管理的需求,如圖2所示,即將原有的組播成員信息表結構擴 展為包括以下內容虛擬局域網號VLAN、組播地址multicast address、端口 號port、組定時器group timer、過濾模式filter曙mode、源記錄source records, 其中VLAN和port為增力口內容,source records的結構不變。這樣每一個以 太網口都會記錄與其連接的網絡上的組播組信息,并按照RFC3376中6.4 節的規則更新組播成員信息表。以太網交換機根據收到的IGMPv3組播成員報告更新組播成員信息表 結構,如圖4所示,包括以下步驟步驟401,以太網交換機解析組播成員報告,從報文中提取VLAN號、 port號、MA、用戶報告類型和組播源地址列表信息;步驟402,以MA、 VLAN和port為索引信息查我組播成員信息表,判 斷具有該索引信息的組播成員信息條目是否存在,如果是,按照RFC3376 第6.4節12條規則中匹配的規則,更新所述組播成員信息條目,否則,執 行下一步;VLAN、 port、 MA唯一區別一個表項,即每一個表項至少有VLAN、 port和MA與其他表項不同,因此以MA、 VLAN和port為索引進行查找, 可以唯一定義一個組播成員信息表中的 一項。步驟403,創建一條新的用戶信息記錄條目,條目中包括MA、 VLAN、port和源地址等信息;當更新完組播成員信息表后,如果存在有組播成員關系表,則按照對應 組播用戶信息表項中的MA、 VLAN和各個源地址信息,分別通知組播成員 關系表更新對應的組播關系條目信息;如果沒有,則創建一個組播成員關系 表。對組播成員關系表進一步說明如下組播成員關系表記錄了與組播相關的信息,包括以下內容VLAN、 multicast address、 source address、端口歹ll表port list、 filter-mode, 此表記錄 了每個 source address對應的所有成員端口信息。靜態組#番成員關系表中一 個條目是由組播成員信息表中多條記錄映射而成,兩者的映射關系如圖4所 示。它不 <又記錄了成員信息表中同一 VLAN 、 multicast address和 source address的所有端口信息,同時也記錄了有關此組播條目的最近一次成員報 告的模式。具體的說,在組播成員信息表中,可能每組MA、 VLAN和port對應多 個(源記錄中的)源地址,因此當交換機下發組播流時,需要遍歷所有組播 成員信息表,查找該組播流數據對應的所有源地址。而組播成員關系表以源 地址為主項建立,用源地址、MA和VLAN信息確定該組播流對應的所有端 口信息,使交換機能夠快速準確的從相應端口下發組播流數據。組播成員關系表可以是靜態的保存在交換機上,也可以動態建立,靜態 的組播成員關系表更方便維護。如圖5所示,以太網組播系統同步靜態組播成員關系表與組播成員信息 表,即以太網交換機根據組播成員信息表更新組播成員關系表,包括以下步 驟步驟501,組播成員關系表收到待更新組播用戶信息(包括VLAN、 MA 和組播源地址鏈表)后,以VLAN、 MA、各個組播源地址為索引分別查找 組播成員關系表,判斷記錄是否存在,如果是,執行下一步,否則,執行步 驟503;
待更新組播用戶信息還可以包含端口 、用戶報告類型等信息。步驟502,判斷組播源地址定時器是否過期和/或組播源地址是否無效, 如果是,清除此索引記錄的組播成員列表中對應的端口信息,否則,將端口 信息添加到此條目的組播端口成員列表中,同時更新對應索引的關系條目相 關狀態,如組定時器,組播組模式、寫芯片標志等信息;只有在組播源地址定時器沒有過期且組播源地址有效時,才添加端口信 息;否則,都清除此索引記錄的組播成員列表中對應的端口信息,包括以下 的情況之一組播源地址定時器已過期、組播源地址無效、組播源地址定時 器已過期且組播源地址無效。步驟503,將源地址定時器未過期的端口添加到新創建的組播成員關系 表對應條目中,同時更新對應索引的關系條目相關狀態,如組定時器,組播 組模式、寫芯片標志等信息。上述判斷不限順序,例如也可以采用如圖6所示的流程。RFC3376中第6節定義的路由側狀態遷移和第5節定義的用戶側組定時 器變化等情況引起組播成員信息表更新的事件,都需要同步靜態成員關系 表。在步驟二中,以太網交換機更新組播成員關系表后,為了控制交換機組 播流的方向,定期根據定時器消息事件(定期)檢測成員關系表,來及時、 批量的操作芯片組播表。系統定期檢測成員關系表各個條目,如果關系條目有效且寫芯片標志有 效,則更新芯片;如果關系條目無效,則按上面操作清除芯片對應組播組信 息,從而避免多個用戶請求同一組播地址時重復寫芯片的操作,保證芯片與 成員關系表的同步,從而并保證了組播流按用戶請求及時轉發。包括以下步 驟步驟701,檢測組播成員關系表中條目是否有效,如果是,繼續執行, 否則,分別清除組播成員關系表中的表項以及芯片中對應的組播成員關系表 中的表項;
步驟702,檢測組播成員關系表中寫芯片標志是否有效,如果是,則將 此包含VLAN、組播地址、源地址和端口成員列表的信息條目直接寫入芯片, 覆蓋芯片原有對應組播組的成員信息。以太網交換機可以每10ms進行一次組播成員關系表的檢測,這個時間 是根據系統性能和諸如IPTV業務對接收時延等要求設定的,可以變化。定 期檢測能夠更快、更簡單的實現對用戶端口的組播流控制,保證在視頻會議 等特殊應用中,對于用戶請求的組播流響應延時小于20ms。具體實現時可采用如圖7所示的流程。以上操作方法按照RFC3376中規定的用戶操作方式更新組播成員信息 表記錄,并按照規則進行組播組模式轉換和組播查詢報文發送等操作。例 如,有關用戶報文的處理和響應、代理功能、定時器的管理等均按照RFC3376 中第4、5、6節的描述進行處理;對組播成員信息表記錄的更新按照RFC3376 中第5、 6節描述的定時器規則,并按照第二條中的操作方式同步組播成員 關系表相關信息。通過以上步驟的實施,實現了在以太網交換機上多端口 IGMPv3用戶信 息的管理,并按照端口加入的組播組信息進行組播流控制。 一方面,在原有 組播用戶信息表上添加VLAN和PORT信息,滿足了以太網交換機系統在 IGMPv3標準下按VLAN中端口進行組播信息管理需求;其次,添加靜態組 播成員關系表并實現和組播成員信息表的同步,保證系統通過此靜態組播成 員關系表簡單、高效的完成基于VLAN和端口的組播流控制;再次,系統 每10ms遍歷組播成員關系表標志,將待更新組播信息批量同步到硬件組播 地址表中,減少了系統頻繁操作硬件的問題,同時也滿足了系統響應用戶組 播流請求的速度,為上層基于以太網組播控制的業務提供了保障。
權利要求
1、一種基于網際分組管理協議第三版的以太網組播實現方法,包括以下步驟(a)以太網交換機收到組播成員報告后,更新組播成員信息表,所述組播成員信息表中記錄的信息包括組播地址、虛擬局域網號、端口號、源記錄,所述組播地址、虛擬局域網號、端口號唯一標識表中的一條記錄;(b)當以太網交換機收到組播流數據需要轉發給用戶時,根據組播流數據中攜帶的組播地址、虛擬局域網號、源記錄,查所述組播成員信息表,確定組播流數據的發送方向。
2、 如權利要求l所述的方法,其特征在于,所述步驟(a)進一步包括以太網交換機解析組播成員報告,根據報文中的索引信息判斷是否存在 具有所述索引信息的組播成員信息記錄,如果是,則更新該記錄,否則,創 建一條新記錄,記錄中包括組#"地址、虛擬局域網號、端口號、源記錄。
3、 如權利要求2所述的方法,其特征在于,所述組播成員報告報文中 的組播地址、虛擬局域網號和端口號為索引信息。
4、 如權利要求1所述的方法,其特征在于,所述源記錄包括源地址和 源地址定時器。
5、 如權利要求4所述的方法,其特征在于,在所述步驟(a)中,所述 以太網交換機根據所述組播成員信息表構建一組播成員關系表,所述組播成 員關系表中記錄的內容包括組播地址、虛擬局域網號、源地址和端口列表, 所述組播地址、虛擬局域網號、源地址用于標識表中的記錄;在所述步驟(b) 中,所述以太網交換機根據組播流數據中攜帶的組播地址、虛擬局域網號、 源地址查找所述組播成員關系表,確定組播流數據的發送端口 。
6、 如權利要求5所述的方法,其特征在于,在所述步驟(a)中,所述 組播成員信息表更新后觸發所述組播成員關系表的更新,所述組播成員關系 表的更新包括以組播地址、虛擬局域網端口號、各源地址分別查找所述組播成員關系 表,判斷是否存在具有上述信息的組播成員關系記錄,如果是,則更新該記 錄,否則,創建一條新記錄。
7、 如權利要求6所述的方法,其特征在于,當判斷所述組播成員關系 表中存在具有上述信息的組播成員關系記錄后,再判斷如果源地址定時器未 過期且源地址有效,則將端口信息添加到此記錄的端口成員列表中。
8、 如權利要求6所述的方法,其特征在于,所述創建一條新記錄是指 將源地址定時器未過期的端口添加到新創建的組播成員關系表對應的記錄中。
9、 如權利要求6所述的方法,其特征在于,所述組播成員關系表更新 后,同步更新交換機芯片中的組播地址、虛擬局域網號、端口列表、源地址。
全文摘要
本發明公開了一種基于網際分組管理協議v3版本的以太網組播實現方法,可以實現IGMPv3中的以太網組播。包括以下步驟(a)以太網交換機收到組播成員報告后,更新組播成員信息表,所述組播成員信息表中記錄的信息包括組播地址、虛擬局域網號、端口號、源記錄,所述組播地址、虛擬局域網號、端口號唯一標識表中的一條記錄;(b)當以太網交換機收到組播流數據需要轉發給用戶時,根據組播流數據中攜帶的組播地址、虛擬局域網號、源記錄,查所述組播成員信息表,確定組播流數據的發送方向。
文檔編號H04L12/18GK101110730SQ20071011148
公開日2008年1月23日 申請日期2007年6月25日 優先權日2007年6月25日
發明者鵬 姜 申請人:中興通訊股份有限公司