亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種處理igmp報文的方法和裝置的制作方法

文檔序號:7929137閱讀:211來源:國知局
專利名稱:一種處理igmp報文的方法和裝置的制作方法
技術(shù)領域
本發(fā)明涉及網(wǎng)絡通信技術(shù),特別涉及 一 種處理因特網(wǎng)群組管理協(xié)議 (IGMP, Internet Group Management Protocol)才艮文的方法禾口裝置。
背景技術(shù)
在現(xiàn)有的二層組播環(huán)境下,通常會采用環(huán)網(wǎng)方式來提供冗余鏈路,并且 采用生成樹協(xié)議(STP, Spanning Tree Protocol)來阻塞某條鏈路上的端口 , 使組播流能夠根據(jù)實際需要的端口來進行轉(zhuǎn)發(fā),從而避免環(huán)路。另外,會采 用IGMP技術(shù)來管理組播成員,實現(xiàn)對組播成員加入組播組或離開組播組的控制。
圖l為一種二層組播環(huán)境下的組網(wǎng)結(jié)構(gòu),如圖1所示,該二層組播環(huán)境 為三層交換才幾l、三層交換才幾2和二層交換才幾組成的環(huán)網(wǎng),在該環(huán)網(wǎng)中運行 STP和IGMP偵聽(snooping)技術(shù)。其中,設置三層交換機1為根橋,負 責從三層組播環(huán)境中接收組播流,并轉(zhuǎn)發(fā)至二層組播環(huán)境中的設備;三層交 換2為IGMP查詢器,負責在該二層組播環(huán)境中的各虛擬局域網(wǎng)(VLAN) 中發(fā)送IGMP查詢(query)報文來獲取組播成員的狀態(tài);二層交換機連接 用戶端。各交換機接收到IGMP query報文后,通過處于轉(zhuǎn)發(fā)(forwarding ) 狀態(tài)的端口進行轉(zhuǎn)發(fā),通過處于forwarding狀態(tài)的端口接收IGMP report報 文,并生成轉(zhuǎn)發(fā)表項;交換機中處于阻塞(discarding)狀態(tài)的端口僅處理 STP協(xié)議報文和點對點協(xié)議報文,而不接收和處理IGMP報文。圖1中作為 根橋的三層交換機1的所有端口均為forwarding狀態(tài),為了避免環(huán)路運行 STP后,假設二層交換機的端口 P2被處于discarding狀態(tài),則鏈路3不轉(zhuǎn) 發(fā)流量。作為IGMP查詢器的三層交換機2周期性發(fā)送的IGMP query報文通過鏈路2和鏈路1轉(zhuǎn)發(fā)至二層交換機,再由二層交換機發(fā)送至用戶端,接 收到用戶端返回的IGMP加入(report)才艮文后,各交換才幾利用IGMP report 報文建立轉(zhuǎn)發(fā)表項,使得組播流通過鏈路1進行轉(zhuǎn)發(fā)。
然而,如果鏈路1發(fā)生故障,運行的STP會迅速啟用鏈路3,將端口 P2轉(zhuǎn)換為forwarding狀態(tài),但是,由于二層交換機需要等待IGMP查詢器 發(fā)送IGMP query報文后通過端口 P2接收并轉(zhuǎn)發(fā)給用戶端,并利用用戶端返 回的IGMP report報文來建立基于端口 P2的轉(zhuǎn)發(fā)表項,三層交換機2和三 層交換機1也需要利用而二層交換機通過端口 P2轉(zhuǎn)發(fā)來的report報文來分 別建立以P6和P4為出接口的轉(zhuǎn)發(fā)表項之后,才能夠進行組播流的轉(zhuǎn)發(fā)。由 于IGMP查詢器發(fā)送IGMP query報文的時間間隔較長,因此,從鏈路1發(fā) 生故障到通過鏈路2和鏈路3進行組播流的恢復可能需要等待近1分鐘的時 間,這顯然給組播業(yè)務造成較長的中斷時間。

發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供了一種處理IGMP報文的方法和裝置,以便于縮 短鏈路切換后組播流的恢復時間。
一種處理IGMP報文的方法,預先使能處于阻塞狀態(tài)的端口處理IGMP 才艮文,該方法包4舌
交換機通過處于阻塞狀態(tài)的端口接收到或者要發(fā)送IGMP報文時,判斷
項,如果否,則在針對該端口設置的IGMP報文表中創(chuàng)建包含該IGMP報文 信息的表項,轉(zhuǎn)發(fā)該IGMP報文,并在該IGMP報文為IGMP加入報文時, 利用該IGMP報文創(chuàng)建轉(zhuǎn)發(fā)表項;如果是,則丟棄該IGMP報文。
一種處理IGMP報文的裝置,該裝置預先使能處于阻塞狀態(tài)的端口處理 IGMP報文,該裝置包括判斷單元、報文表存儲單元、報文處理單元和報文 丟棄單元;
所述判斷單元,用于在處于阻塞狀態(tài)的端口接收到或者要發(fā)送IGMP報文時,判斷針對該端口設置的IGMP報文表中是否已經(jīng)存在包含該IGMP報文信 息的表項;
所述報文表存儲單元,用于存儲針對所述處于阻塞狀態(tài)的端口設置的IGMP 報文表;
所述報文處理單元,用于在所述判斷單元的判斷結(jié)果為否時,在針對所述 端口設置的IGMP報文表中創(chuàng)建包含該IGMP報文信息的表項,轉(zhuǎn)發(fā)該IGMP 報文,并在該IGMP報文為IGMP加入報文時,利用該IGMP沖艮文創(chuàng)建轉(zhuǎn)發(fā)表
項;
所述報文丟棄單元,用于在所述判斷單元的判斷結(jié)果為是時,丟棄該IGMP報文。
由以上技術(shù)方案可以看出,在本發(fā)明提供的方法和裝置中,預先使能處于 阻塞狀態(tài)的端口處理IGMP報文,交換機通過處于阻塞狀態(tài)的端口接收到或者 要發(fā)送IGMP報文時,判斷針對該端口設置的IGMP報文表中是否已經(jīng)存在包 含該IGMP報文信息的表項,如果否,則在針對該端口設置的IGMP報文表中 創(chuàng)建包含該IGMP報 文信息的表項,轉(zhuǎn)發(fā)該IGMP報文,并在該IGMP報文為 IGMP加入報文時,利用該IGMP報文創(chuàng)建轉(zhuǎn)發(fā)表項;如果是,則丟棄該IGMP 報文。也就是說,預先在端口處于阻塞狀態(tài)時創(chuàng)建轉(zhuǎn)發(fā)表項,由于該端口處于 阻塞狀態(tài)不會轉(zhuǎn)發(fā)組播流,用戶端不會收到2份組播流, 一旦環(huán)網(wǎng)中正在使用 的鏈路發(fā)生故障,運行的STP迅速將處于阻塞狀態(tài)的端口切換為轉(zhuǎn)發(fā)狀態(tài),則 該端口可以利用已經(jīng)創(chuàng)建的轉(zhuǎn)發(fā)表項立即轉(zhuǎn)發(fā)組播流,從而縮短鏈路切換后組 播流中斷的時間。并且,通過針對該處于阻塞狀態(tài)的端口設置IGMP報文表存 儲IGMP報文信息來避免IGMP報文環(huán)路引起的廣播。



圖1為一種二層組播環(huán)境下的組網(wǎng)結(jié)構(gòu);
圖2為本發(fā)明實施例提供的具體方法流程圖3為本發(fā)明實施例提供的裝置結(jié)構(gòu)圖。
具體實施例方式
為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面結(jié)合附圖和具體 實施例對本發(fā)明進行詳細描述。
本發(fā)明提供的方法主要包括預先使能處于discarding狀態(tài)的端口處理 IGMP報文;交換機通過處于discarding狀態(tài)的端口接收到或者要發(fā)送IGMP 報文時,判斷針對該端口設置的IGMP報文表中是否已經(jīng)存在包含該IGMP 報文信息的表項,如果否,則在針對該端口設置的IGMP報文表中創(chuàng)建包含 該IGMP報文信息的表項,轉(zhuǎn)發(fā)該IGMP報文,并在該IGMP報文為IGMP report報文時,利用該IGMP report報文創(chuàng)建轉(zhuǎn)發(fā)表項;如果是,則丟棄該 IGMP l艮文。
現(xiàn)有技術(shù)中,處于discarding狀態(tài)的端口只能處理STP協(xié)議報文和二層 的點對點協(xié)議報文,在本發(fā)明中預先對處于discarding狀態(tài)的端口進行配置, 例如,為交才吳才幾中的STP才莫塊增力口命令stp igmp ignore, 1吏3尋處于discarding 狀態(tài)的端口也能處理IGMP報文,其中,IGMP報文包括IGMP query報文、 IGMP report報文或IGMP離開(leave)報文。但是,處于discarding狀態(tài) 的端口仍不能轉(zhuǎn)發(fā)組播流。
由于STP為了避免二層環(huán)路,會在二層環(huán)路中計算出一個處于 discarding狀態(tài)的端口 ,該處于discarding狀態(tài)的端口可能在二層交換沖兒上, 也可能在三層交換機上,由具體的STP計算策略來決定,因此,本發(fā)明提 供方法中的交換機可以是二層交換機,也可以是三層交換機。
下面結(jié)合具體實施例對上述方法進行詳細描述。圖2為本發(fā)明實施例提 供的具體方法流程圖,如圖2所示,在交換機上配置使能處于discarding狀 態(tài)的端口處理IGMP報文后,該交換機對IGMP報文的處理過程可以包括以 下步驟
步驟201:交換機通過處于discarding狀態(tài)的端口接收到或要發(fā)送IGMP 報文時,如果該IGMP報文為IGMP query報文,則執(zhí)行步驟202;如果該IGMP報文為IGMP report報文,則執(zhí)行步驟205;如果該IGMP報文為IGMP leave報丈,則執(zhí)行步驟210。
步驟202:判斷針對該處于discarding狀態(tài)的端口設置的IGMP報文表 中是否已經(jīng)存在包含該IGMP query報文信息的表項,如果否,執(zhí)行步驟203, 如果是,則執(zhí)行步驟204。
由于本發(fā)明中配置處于discarding狀態(tài)的端口能夠處理IGMP報文,為 了避免由于處于discarding狀態(tài)的端口能夠接收和發(fā)送IGMP報文而引起 IGMP報文的環(huán)路,因此,可以針對該處于discarding狀態(tài)的端口設置IGMP 報文表,對該端口的IGMP報文進行監(jiān)視,接收到或要發(fā)送IGMP報文時, 將該IGMP報文信息存儲在該IGMP報文表的表項中,如果再次接收到或要 發(fā)送該IGMP報文,則IGMP報文表中已經(jīng)存在包含該IGMP報文信息的表 項,則不再轉(zhuǎn)發(fā)該IGMP報文,以避免環(huán)路。
步驟203:則在針對該處于discarding狀態(tài)的端口設置的IGMP報文表 中創(chuàng)建包含該IGMP query報文信息的表項,轉(zhuǎn)發(fā)該IGMP query才艮文,結(jié)束 流程
針對該處于discarding狀態(tài)的端口設置的IGMP報文表中尚未存在包含 該IGMP query報文信息的表項,則說明不會引起IGMP query報文環(huán)路,則 創(chuàng)建包含該IGMP query報文信息的表項。該表項中可以包含IGMP query報 文中攜帶的VLAN標識、目的IP地址信息和有效時間信息,還可以包含查 詢組信息,例如是特定組查詢報文還是通用組查詢報文。其中,有效時間信 息是表明該IGMP query報文的有效時間,以其作為該表項的老化時間,該 表項中的有效時間隨著時間推移遞減。需要說明的是,對于MSTP, 一個端 口對于不同的實例可能具有不同的狀態(tài),即對應不同的VLAN可能處于不 同的狀態(tài),因此,在確定是否為相同的IGMP報文時,需要區(qū)分具體的VLAN, 需要在表項中對VLAN標識進行記錄。
另外,交換機在創(chuàng)建了包含該IGMP query報文信息的表項后,如果該 表項達到了記錄的IGMP query才艮文的有效日寸間,即該有,文日寸間遞減為0 ,或者,該端口從discarding轉(zhuǎn)變?yōu)閒orwarding,則將該表項刪除。 步驟204:丟棄該IGMP query報文,結(jié)束流程。
步驟205:判斷針對該處于discarding狀態(tài)的端口設置的IGMP報文表 項中是否存在包含該IGMP report報文信息的表項,如果是,執(zhí)行步驟206, 否則才丸行步驟207。
步驟206:丟棄該IGMP report報文,結(jié)束流程。
步驟207:判斷針對該處于discarding狀態(tài)的端口設置的IGMP報文表 項中是否存在該IGMP report報文所對應的IGMP query報文信息,如果是, 執(zhí)行步驟208,否則,執(zhí)行步驟209。
步驟208:在IGMP報文表中創(chuàng)建包含該IGMP report報文信息的表項, 將包含對應的IGMP query報文信息的表項中的有效時間,作為包含該IGMP i-eport報文信息的表項的有效時間,轉(zhuǎn)發(fā)該IGMP r印ort報文,并利用該IGMP report報文創(chuàng)建轉(zhuǎn)發(fā)表項,結(jié)束流程。
其中,表項中記錄的IGMP report 4艮文信息可以包含IGMP report報文 中攜帶的VLAN標識、加入的組地址信息,如果是IGMP版本3 ( IGMPv3 ) 情況下,由于各IGMP report報文存在加入模式的區(qū)別,因此表項中記錄的 IGMP report ^艮文信息還可以包含加入模式信息。
包含該IGMP report報文信息的表項的有效時間也會隨著時間的推移遞 減,當該表項達到有效時間時,即遞減為0時,該表項被刪除。
步驟209:在IGMP報文表中創(chuàng)建包含該IGMP report報文信息的表項, 該表項中的有效時間采用默認的有效時間,轉(zhuǎn)發(fā)該IGMP report報文,并利 用該IGMP report 4艮文創(chuàng)建轉(zhuǎn)發(fā)表項,結(jié)束流程。
本步驟中,當先接收到IGMP report報文時,可以使該表項中的有效時 間采用默認的有效時間,可以在下次接收到IGMP report對應的IGMP query 報文時,利用IGMP query報文中包含的有效時間進行修改。
步驟210:判斷針對該處于discarding狀態(tài)的端口設置的IGMP報文表 項中是否存在包含該IGMP leave報文信息的表項,如果是,則執(zhí)行步驟211,否則執(zhí)行步驟212。
步驟211:丟棄該IGMP leave報文,結(jié)束流程。
步驟212:判斷針對該處于discarding狀態(tài)的端口設置的IGMP報文表 項中是否存在該IGMP leave報文所對應的IGMP query報文信息,如果是, 執(zhí)行步驟213,否則執(zhí)行步驟214。
步驟213:在IGMP報文表中創(chuàng)建包含該IGMP leave報文信息的表項, 將包含對應的IGMP query報文信息的表項中的有效時間作為包含該IGMP leave報文信息的表項的有效時間,轉(zhuǎn)發(fā)該IGMP leave報文,并利用該IGMP leave報文刪除相應的表項,結(jié)束流程。
本步驟中創(chuàng)建的表項中包含的IGMP leave報文信息可以包括VLAN 標識和離開組地址信息,另外,該表項的有效時間也會隨著時間的推移遞減, 當該表項達到有效時間時,即遞減為0時,該表項被刪除。
步驟214:在IGMP報文表中創(chuàng)建包含該IGMP leave報文信息的表項, 該表項中的有效時間采用默認的有效時間,轉(zhuǎn)發(fā)該IGMP leave報文,并利 用該IGMP leave報文刪除相應的轉(zhuǎn)發(fā)表項,結(jié)束流程。
另外,由于交換機可能自身具有IGMP報文的MAC地址學習功能,為 了防止處于discarding狀態(tài)的端口轉(zhuǎn)發(fā)IGMP報文后,對端的交換機學習到 MAC地址而導致轉(zhuǎn)發(fā)錯誤,可以進一步取消交換機具有的IGMP報文的 MAC地址學習功能。
下面仍以圖1所示組網(wǎng)為例,假設三層交換機2的MAC地址小于二層 交換機,各鏈路正常的情況下,通過運行STP計算出二層交換機的端口 P2 處于discarding狀態(tài),由于預先使能了處于discarding狀態(tài)的端口處理IGMP 報文,因此,端口 P2能夠?qū)ψ鳛镮GMP查詢器的三層交換機發(fā)送來的IGMP query報文進行處理,但不轉(zhuǎn)發(fā)組播流。
當三層交換機2發(fā)送IGMP query報文到端口 P2后,二層交換機確定針 對P2設置的IGMP報文表中尚不存在包含該IGMP query報文信息的表項, 則在IGMP報文表中創(chuàng)建包含該IGMP query報文信息的表項,例如,將該IGMP報文中攜帶的VLAN標識、目的IP地址信息和有效時間存儲在表項 中,其中,有效時間會隨著時間遞減,當有效時間遞減為0時刪除該表項, 然后轉(zhuǎn)發(fā)該IGMP query報文。由于該IGMP query報文除了轉(zhuǎn)發(fā)給用戶端之 外,還會通過端口 PI轉(zhuǎn)發(fā)給三層交換機1,經(jīng)由三層交換機2再回到二層 交換才幾的端口P2。當端口 P2再次4婁收到該IGMP query凈艮文后,由于針對 端口 P2設置的IGMP報文表中已經(jīng)存在包含該IGMP query報文信息的表 項,因此會丟棄該IGMP query報文,從而避免IGMP query報文環(huán)路造成廣 播。
如果有用戶端在接收到IGMP query凈艮文后要加入組播組,則會回復 IGMP report報文。二層交換機通過端口 P2要發(fā)送該IGMP report寺艮文曰寸, 確定針對端口 P2設置的IGMP報文表中不存在包含該IGMP report報文信息 的表項,進 一 步確定該IGMP報文表中是否存在該IGMP report報文所對應 的IGMP query報文信息。由于已經(jīng)存在該IGMP report報文所對應的IGMP query報文信息,則二層交換沖幾在IGMP報文表中創(chuàng)建包含該IGMP report 報文信息的表項,將包含IGMP query報文的表項中剩余的有效時間作為創(chuàng) 建的包含IGMP report凈艮文訐l息的表項的有-欠時間,it匕日于創(chuàng)建的該表項可以 包含VLAN標識、加入的組地址信息和有效時間;如果是IGMPv3,還可 以進一步包含加入才莫式信息。然后,二層交換才幾利用該IGMP report凈艮文創(chuàng) 建轉(zhuǎn)發(fā)表項并轉(zhuǎn)發(fā)該IGMP report報文。
IGMP report報文通過端口 P2轉(zhuǎn)發(fā)給三層路由設備2和三層路由設備1 時,三層路由設備2和三層路由設備1也會利用IGMP report報文創(chuàng)建轉(zhuǎn)發(fā) 表項,利用創(chuàng)建的轉(zhuǎn)發(fā)表項組播流能夠被轉(zhuǎn)發(fā)到二層交換機的端口 P2,但 由于端口 P2仍處于discarding狀態(tài),因此并不會轉(zhuǎn)發(fā)組播流,用戶端不會 收到2份流量。
另外,IGMP report報文經(jīng)由三層路由設備2和三層路由設備1會重新 發(fā)送至二層交換機,二層交換機的端口 P2在確定IGMP報文表中已經(jīng)存在 包含該IGMP report報文信息的表項,因此會丟棄該IGMP report報文,從而避免IGMP query報文環(huán)路造成廣播。
在執(zhí)行上述過程之后,如果鏈路1發(fā)生故障,運行的STP會通過計算 迅速將端口 P2轉(zhuǎn)換為forwarding狀態(tài),由于此時在二層交換機、三層交換 機2和三層交換機1中已經(jīng)在端口 P2處于discarding狀態(tài)時預先創(chuàng)建了相 應的轉(zhuǎn)發(fā)表項,因此,可以立即轉(zhuǎn)發(fā)組播流量而不會造成長時間的中斷。
當用戶端要離開組播組時會發(fā)送IGMP leave報文,其處理過程與IGMP report報文的處理過程基本相同只是,在IGMP報文表中創(chuàng)建相應表項后, 不是創(chuàng)建轉(zhuǎn)發(fā)表項,而是刪除對應的轉(zhuǎn)發(fā)表項。具體過程不再贅述。
還有其他情況,例如,在運行不同的STP時,可能將二層交換機的端 口 P5設置為discarding,由于二層交換機為IGMP查詢器,因此,預先使能 處于discarding狀態(tài)的端口處理IGMP報文后,其通過端口 P5要發(fā)送IGMP query報文時,也會在針對P5設置的IGMP報文表中創(chuàng)建包含IGMP query 報文信息的表項,并轉(zhuǎn)發(fā)該IGMP query報文給二層交換機,并通過本發(fā)明 的方法在接收到返回的IGMP report報文后,創(chuàng)建轉(zhuǎn)發(fā)表項,但由于端口 P5 處于discarding狀態(tài),因此,不會轉(zhuǎn)發(fā)組播流。 一旦鏈^各1發(fā)生故障,運行 的STP迅速將端口 P5切換為forwarding狀態(tài)時,能夠立即轉(zhuǎn)發(fā)組播流,從 而避免流量中斷。
以上是對本發(fā)明所提供的方法進行的描述,下面對本發(fā)明所提供的裝置進 行詳細描述。圖3為本發(fā)明實施例提供的裝置結(jié)構(gòu)圖,該裝置預先使能處于阻 塞狀態(tài)的端口處理IGMP報文,如圖3所示,該裝置可以包括判斷單元301、 報文表存儲單元302、報文處理單元303和報文丟棄單元304。
判斷單元301,用于在處于阻塞狀態(tài)的端口接收到或者要發(fā)送IGMP報文 時,判斷針對該端口設置的IGMP報文表中是否已經(jīng)存在包含該IGMP報文信 息的表項。
報文表存儲單元302,用于存儲針對處于阻塞狀態(tài)的端口設置的IGMP報文表。
報文處理單元303,用于在判斷單元301的判斷結(jié)果為否時,在針對端口設置的IGMP報文表中創(chuàng)建包含該IGMP報文信息的表項,轉(zhuǎn)發(fā)該IGMP報文, 并在該IGMP報文為IGMP REPORT報文時,利用該IGMP報文創(chuàng)建轉(zhuǎn)發(fā)表項。 報文丟棄單元304,用于在判斷單元301的判斷結(jié)果為是時,丟棄該IGMP報文。
其中,上述IGMP報文可以為IGMP query報文、IGMP report報文或IGMP leave報文。當IGMP報文為IGMP query報文時,報文處理單元303創(chuàng)建的包 含IGMP報文信息的表項中包括該IGMP query報文中攜帶的有效時間。
報丈表存儲單元302存儲的各表項中的有效時間隨著時間遞減,遞減為0
時刪除該表項。
當IGMP報文為IGMP report報文時,報文處理單元303在判斷單元301 的判斷單元301為否時,還用于判斷針對端口設置的IGMP報文表中是否存在 包含與該IGMP report推—文對應的IGMP query推-文j言息的.表項,如果.是,則扭, 行創(chuàng)建包含該IGMP報文信息的表項操作,并將包含與該IGMP report報文對 應的IGMP query報文信息的表項中的有效時間作為創(chuàng)建的包含該IGMP repoit 報文信息的表項的有效時間;如果否,則執(zhí)行創(chuàng)建包含該IGMP報文信息的表 項操作,并將預設的默認有效時間作為該表項的有效時間。
當IGMP報文為IGMP leave報文時,報文處理單元303在判斷單元301 的判斷單元301為否時,還用于判斷針對端口設置的IGMP報文表中是否存 在包含與該IGMP leave報文對應的IGMP query報文信息的表項,如果是, 則執(zhí)行創(chuàng)建包含該IGMP報文信息的表項纟喿作,并將包含與該IGMP leave 報文對應的IGMP query報文信息的表項中的有效時間作為創(chuàng)建的包含該 IGMP leave報文信息的表項的有效時間,利用該IGMP leave報文刪除對應 的轉(zhuǎn)發(fā)表項;如果否,則執(zhí)行創(chuàng)建包含該IGMP報文信息的表項操作,并將 預設的默認有效時間作為該表項的有效時間,利用該IGMP leave報文刪除 對應的轉(zhuǎn)發(fā)表項。
上述裝置可以設置在二層交換機中,也可以設置在三層交換機中。
由以上描述可以看出,在本發(fā)明提供的方法和裝置中,預先使能處于阻塞狀態(tài)的端口處理IGMP報文,交換機通過處于阻塞狀態(tài)的端口接收到或者要發(fā)
送IGMP報文時,判斷針對該端口設置的IGMP報文表中是否已經(jīng)存在包含該 IGMP報文信息的表項,如果否,則在針對該端口設置的IGMP報文表中創(chuàng)建 包含該IGMP報文信息的表項,轉(zhuǎn)發(fā)該IGMP才艮文,并在該IGMP報文為IGMP 加入報文時,利用該IGMP報文創(chuàng)建轉(zhuǎn)發(fā)表項;如果是,則丟棄該IGMP報文。 也就是說,預先在端口處于阻塞狀態(tài)時創(chuàng)建轉(zhuǎn)發(fā)表項,由于該端口處于阻塞狀 態(tài)不會轉(zhuǎn)發(fā)組播流,用戶端不會收到2份組播流, 一旦環(huán)網(wǎng)中正在使用的鏈路 發(fā)生故障,運行的STP迅速將處于阻塞狀態(tài)的端口切換為轉(zhuǎn)發(fā)狀態(tài),則該端口 可以利用已經(jīng)創(chuàng)建的轉(zhuǎn)發(fā)表項立即轉(zhuǎn)發(fā)組播流,從而縮短組播流中斷的時間。 并且,通過針對該處于阻塞狀態(tài)的端口設置IGMP報文表存儲IGMP報文信息 來避免IGMP報文環(huán)路引起的廣播。
以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本 發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應包含在 本發(fā)明保護的范圍之內(nèi)。
權(quán)利要求
1、一種處理因特網(wǎng)群組管理協(xié)議IGMP報文的方法,其特征在于,預先使能處于阻塞狀態(tài)的端口處理IGMP報文,該方法包括交換機通過處于阻塞狀態(tài)的端口接收到或者要發(fā)送IGMP報文時,判斷針對該端口設置的IGMP報文表中是否已經(jīng)存在包含該IGMP報文信息的表項,如果否,則在針對該端口設置的IGMP報文表中創(chuàng)建包含該IGMP報文信息的表項,轉(zhuǎn)發(fā)該IGMP報文,并在該IGMP報文為IGMP加入報文時,利用該IGMP報文創(chuàng)建轉(zhuǎn)發(fā)表項;如果是,則丟棄該IGMP報文。
2、 根據(jù)權(quán)利要求1所述的方法,其特征在于,當所述IGMP報文為IGMP 查詢報文時,所述IGMP報文信息包括VLAN標識、目的IP地址信息和有效 時間;當所述IGMP報文為IGMP加入報文時,所述IGMP報文信息包括VLAN 標識和加入的組地址信息,或者,VLAN標識、加入的組地址信息和加入模式 信息;當所述IGMP報文IGMP離開報文時,所述IGMP報文信息包括VLAN 標識和離開的組地址信息。
3、 根據(jù)權(quán)利要求1或2所述的方法,其特征在于,當所述IGMP報文為IGMP 查詢報文時,所述包含該IGMP報文信息的表項中包括所述IGMP查詢寺艮文中 攜帶的有效時間;IGMP報文表的各表項中的有效時間隨著時間遞減,遞減為0 時刪除該表項,或者所述端口從阻塞狀態(tài)切換為轉(zhuǎn)發(fā)狀態(tài)時刪除該表項。
4、 根據(jù)權(quán)利要求3所述的方法,其特征在于,當所述IGMP報文為IGMP 加入報文時,在針對該端口設置的IGMP報文表中創(chuàng)建包含該IGMP報文信息 的表項之前還包括判斷針對該端口設置的IGMP報文表中是否存在包含與該 IGMP加入報文對應的IGMP查詢報文信息的表項,如果是,繼續(xù)執(zhí)行在針對 該端口設置的IGMP報文表中創(chuàng)建包含該IGMP加入報文信息的表項,并將包 含與該IGMP加入報文對應的IGMP查詢報文信息的表項中的有效時間作為創(chuàng)建的包含該IGMP加入報文信息的表項的有效時間;如果否,繼續(xù)執(zhí)行在針對該端口設置的IGMP報文表中創(chuàng)建包含該IGMP加入報文信息的表項,并將預 設的默認有效時間作為該表項的有效時間。
5、 根據(jù)權(quán)利要求3所述的方法,其特征在于,當所述IGMP報文為IGMP 離開報文時,在針對該端口設置的IGMP報文表中創(chuàng)建包含該IGMP報文信息 的表項之前還包括判斷針對該端口設置的IGMP報文表中是否存在包含與該 IGMP離開報文對應的IGMP查詢報文信息的表項,如果是,繼續(xù)執(zhí)行在針對 該端口設置的IGMP報文表中創(chuàng)建包含該IGMP離開報文信息的表項,并將包 含與該IGMP離開報文對應的IGMP查詢報文信息的表項中的有效時間作為創(chuàng) 建的包含該IGMP離開報文信息的表項的有效時間,利用該IGMP離開報文刪 除對應的轉(zhuǎn)發(fā)表項;如果否,繼續(xù)執(zhí)行在針對該端口設置的IGMP報文表中創(chuàng) 建包含該IGMP離開報文信息的表項,.并將預設的默認有效時間作為該表項的 有效時間,利用該IGMP離開報文刪除對應的轉(zhuǎn)發(fā)表項。
6、 根據(jù)權(quán)利要求1或2所述的方法,其特征在于,該方法還包括取消交 換機利用IGMP報文學習MAC地址的功能。
7、 一種處理IGMP報文的裝置,其特征在于,該裝置預先使能處于阻塞狀 態(tài)的端口處理IGMP報文,該裝置包括判斷單元、報文表存儲單元、報文處 理單元和報文丟棄單元;所述判斷單元,用于在處于阻塞狀態(tài)的端口接收到或者要發(fā)送IGMP報文 時,判斷針對該端口設置的IGMP報文表中是否已經(jīng)存在包含該IGMP報文信 息的表項;所述報文表存儲單元,用于存儲針對所述處于阻塞狀態(tài)的端口設置的IGMP 報文表;所述報文處理單元,用于在所述判斷單元的判斷結(jié)果為否時,在針對所述 端口設置的IGMP報文表中創(chuàng)建包含該IGMP報文信息的表項,轉(zhuǎn)發(fā)該IGMP 報文,并在該IGMP報文為IGMP加入纟艮文時,利用該IGMP報文創(chuàng)建轉(zhuǎn)發(fā)表 項;所述報文丟棄單元,用于在所述判斷單元的判斷結(jié)果為是時,丟棄該IGMP 報文。
8、 根據(jù)權(quán)利要求7所述的裝置,其特征在于,當所述IGMP報文為IGMP 查詢報文時,所述報文處理單元創(chuàng)建的包含IGMP報文信息的表項中包括該 IGMP查詢才艮文中攜帶的有效時間;所述報文表存儲單元存儲的各表項中的有效時間隨著時間遞減,遞減為0 時刪除該表項。
9、 根據(jù)權(quán)利要求8所述的裝置,其特征在于,當所述IGMP報文為IGMP 加入報文時,所述報文處理單元在所述判斷單元的判斷單元為否時,還用于判 斷針對所述端口設置的IGMP報文表中是否存在包含與該IGMP加入報文對應 的IGMP查詢報文信息的表項,如果是,則執(zhí)行所述創(chuàng)建包含該IGMP報文信 息的表項操作,并將包含與該IGMP加入報文對應的1GMP查詢報文信息的表 項中的有效時間作為創(chuàng)建的包含該IGMP加入報文信息的表項的有效時間;如 果否,則執(zhí)行所述創(chuàng)建包含該IGMP報文信息的表項操作,并將預設的默認有 效時間作為該表項的有效時間。
10、 根據(jù)權(quán)利要求8所述的裝置,其特征在于,當所述IGMP報文為IGMP 離開報文時,所述報文處理單元在所述判斷單元的判斷單元為否時,還用于判 斷針對所述端口設置的IGMP報文表中是否存在包含與該IGMP離開報文對應 的IGMP查詢報文信息的表項,如果是,則執(zhí)行所述創(chuàng)建包含該IGMP報文信 息的表項操作,并將包含與該IGMP離開報文對應的IGMP查詢報文信息的表 項中的有效時間作為創(chuàng)建的包含該IGMP離開報文信息的表項的有效時間,利 用該IGMP離開報文刪除對應的轉(zhuǎn)發(fā)表項;如果否,則執(zhí)行所述創(chuàng)建包含該 IGMP報文信息的表項操作,并將預設的默認有效時間作為該表項的有效時間, 利用該IGMP離開報文刪除對應的轉(zhuǎn)發(fā)表項。
全文摘要
本發(fā)明提供了一種處理因特網(wǎng)組管理協(xié)議(IGMP)報文的方法和裝置,預先使能處于阻塞狀態(tài)的端口處理IGMP報文,其中,方法包括交換機通過處于阻塞狀態(tài)的端口接收到或者要發(fā)送IGMP報文時,判斷針對該端口設置的IGMP報文表中是否已經(jīng)存在包含該IGMP報文信息的表項,如果否,則在針對該端口設置的IGMP報文表中創(chuàng)建包含該IGMP報文信息的表項,轉(zhuǎn)發(fā)該IGMP報文,并在該IGMP報文為IGMP加入報文時,利用該IGMP報文創(chuàng)建轉(zhuǎn)發(fā)表項;如果是,則丟棄該IGMP報文。本發(fā)明能夠縮短鏈路切換后組播流中斷的時間,并避免IGMP報文環(huán)路引起的廣播。
文檔編號H04L29/06GK101448003SQ20081024072
公開日2009年6月3日 申請日期2008年12月23日 優(yōu)先權(quán)日2008年12月23日
發(fā)明者嶺 沈 申請人:杭州華三通信技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1