專利名稱:二層環(huán)網代理方法和設備的制作方法
技術領域:
本發(fā)明涉及互聯網領域,具體涉及到一種二層環(huán)網代理方法和設備。
背景技術:
互聯網組管理協(xié)議(InternetGroup Management Protocol, IGMP)是互聯網協(xié)議(Internet Protocol, IP)組播在用戶網段使用的主機對路由器的信令機制,通過在主機側和路由器側交互IGMP消息實現組成員管理功能。用戶主機通過發(fā)送互聯網組管理協(xié)議報告IGMP Report報文點播某個頻道,通過發(fā)送離開(Leave)報文離開該頻道;路由器定時向主機發(fā)送互聯網組管理協(xié)議查詢IGMP Query報文,用戶主機以IGMP R印ort報文響應,維護用戶的存活狀態(tài)。 在實際使用中,通常在主機和路由器之間設置一個二層交換網絡,用于用戶主機的接入和匯聚。為了避免組播數據報文在二層網絡中泛洪,通常在二層交換機設備上部署互聯網組管理協(xié)議代理IGMP Proxy. IGMPPiOxy通過在二層網絡設備上偵聽用戶和路由器之間交互的IGMP報文,獲知哪些端口下連接了組成員主機,建立轉發(fā)表項,然后只將對應組的組播數據轉發(fā)向這些端口,從而避免了組數據報文在二層網絡中的廣播?,F有技術IGMP Proxy只能適用于樹形網絡,因為IGMP Proxy要求網絡要能夠嚴格地區(qū)分出網絡側端口和用戶側端口,否則IGMP Proxy的代理行為可能導致IGMP Proxy發(fā)送的IGMP Query報文從網絡側端口發(fā)送出去并被上游路由器接收處理,可能干擾網絡中IGMP查詢器的選舉,觸發(fā)網絡故障。
發(fā)明內容
本發(fā)明提供一種二層環(huán)網代理方法,以實現在非樹形結構的二層環(huán)網中實現IGMPProxy功能。本發(fā)明第一方面提供了一種二層環(huán)網代理方法,應用于二層環(huán)網中,所述方法包括所述環(huán)網中的二層網絡設備在運行狀態(tài)感知到二層環(huán)網或三層網絡的拓撲結構發(fā)生變化時,從運行狀態(tài)切換到學習狀態(tài);所述二層網絡設備在所述學習狀態(tài)下,確定所述二層網絡設備的網絡側端口 ;在確定所述二層網絡設備的網絡側端口之后,所述二層網絡設備從學習狀態(tài)切換到運行狀態(tài),執(zhí)行代理功能??蛇x地,在所述學習狀態(tài)下,確定所述二層網絡設備的網絡側端口包括所述二層網絡設備將從三層網絡中的第一路由器接收到互聯網組管理協(xié)議查詢報文IGMP Query的端口學習為第一網絡側端口 ;所述二層網絡設備將所述IGMP Query從所述第一網絡側端口外的其他非阻塞端口轉發(fā)給環(huán)網中的第二二層網絡設備和用戶主機,以便于所述第二二層網絡設備將接收到所述二層網絡設備轉發(fā)的所述IGMP Query的端口學習為所述第二層網絡設備的網絡側端□??蛇x地,所述二層網絡設備在運行狀態(tài)感知到三層網絡的拓撲結構發(fā)生變化時,所述在所述學習狀態(tài)下,確定所述二層環(huán)網中二層網絡設備的網絡側端口,進一步包括所述二層網絡設備將從三層網絡中的第二路由器接收到互聯網組管理協(xié)議查詢報文IGMP Query的端口學習為第二網絡側端口 ;所述二層網絡設備將所述IGMP Query從所述第二網絡側端口外的其他非阻塞端口轉發(fā)給環(huán)網中的第二二層網絡設備和用戶主機,以便于所述第二二層網絡設備將接收到所述二層網絡設備轉發(fā)的所述IGMP Query報文的端口學習為所述第二層網絡設備的網絡側端口??蛇x地,所述二層網絡設備在運行狀態(tài)感知到二層環(huán)網的拓撲結構發(fā)生變化時,從運行狀態(tài)切換到學習狀態(tài)之后,確定所述二層網絡設備的網絡側端口之前,還包括清除 所述二層網絡設備中的原網絡側端口可選地,所述第一方面的方法還包括在所述運行狀態(tài)下,所述二層網絡設備將從第一網絡側端口接收到的查詢報文向其他網絡側端口轉發(fā),所述第一網絡側端口接收所述三層網絡中被選舉為查詢器的路由器發(fā)送的查詢報文??蛇x地,所述二層網絡設備在運行狀態(tài)下學習到新的網絡側端口時,判定所述三層網絡的拓撲結構發(fā)生變化。可選地,所述二層網絡設備通過環(huán)網協(xié)議檢測所述二層環(huán)網的拓撲結構是否發(fā)生變化??蛇x地,在所述學習狀態(tài)下,如果所述二層網絡設備接收到用戶主機發(fā)送的互聯網組管理協(xié)議報告報文IGMP R印ort后,將所述IGMP Report向所述網絡側端口轉發(fā)。可選地,所述在所述學習狀態(tài)下,確定所述二層網絡設備的網絡側端口之后,所述方法還包括判斷所述三層網絡中是否完成查詢器選舉,在所述三層網絡中查詢器選舉完成后,從學習狀態(tài)切換到運行狀態(tài),執(zhí)行代理功能??蛇x地,在所述學習狀態(tài)中,如果所述二層網絡設備感知到所述二層網絡拓撲結構發(fā)生變化,則清除所述二層網絡設備學習到的原網絡側端口??蛇x地,在所述學習狀態(tài)中,如果所述二層網絡設備感知到所述三層網絡拓撲結構發(fā)生變化,則維持學習狀態(tài)。本發(fā)明第二方面提供了一種二層網絡設備,所述二層網絡設備包括第一狀態(tài)切換單元,用于在運行狀態(tài)感知到二層環(huán)網或三層網絡的拓撲結構發(fā)生變化時,從運行狀態(tài)切換到學習狀態(tài);端口確定單元,在所述學習狀態(tài)下,確定所述二層網絡設備的網絡側端口 ;第二狀態(tài)切換單元,用于在確定所述二層網絡設備的網絡側端口之后,從學習狀態(tài)切換到運行狀態(tài),執(zhí)行代理功能??蛇x地,所述端口確定單元具體用于將從三層網絡中的第一路由器接收到互聯網組管理協(xié)議查詢報文IGMP Query的端口學習為第一網絡側端口 ;將所述IGMP Query從所述第一網絡側端口外的其他非阻塞端口轉發(fā)給環(huán)網中的第二二層網絡設備和用戶主機,以便于所述第二二層網絡設備將接收到所述二層網絡設備轉發(fā)的所述IGMP Query的端口學習為所述第二層網絡設備的網絡側端口。
可選地,所述端口確定單元具體用于將從三層網絡中的第二路由器接收到互聯網組管理協(xié)議查詢報文IGMP Query的端口學習為第二網絡側端口 ;將所述IGMP Query從所述第二網絡側端口外的其他非阻塞端口轉發(fā)給環(huán)網中的第二二層網絡設備和用戶主機,以便于所述第二二層網絡設備將接收到所述二層網絡設備轉發(fā)的所述IGMP Query報文的端口學習為所述第二層網絡設備的網絡側端口??蛇x地,所述二層網絡設備在運行狀態(tài)感知到二層環(huán)網的拓撲結構發(fā)生變化時,通過所述第一狀態(tài)切換單元從運行狀態(tài)切換到學習狀態(tài)之后,確定所述二層網絡設備的網絡側端口之前,所述端口確定單元還用于清除所述二層網絡設備中的原網絡側端口??蛇x地,所述二層網絡設備還包括還包括報文轉發(fā)單元,用于在所述運行狀態(tài)下,將從第一網絡側端口接收到的查詢報文向其他網絡側端口轉 發(fā),所述第一網絡側端口接收所述三層網絡中被選舉為查詢器的路由器發(fā)送的查詢報文??蛇x地,所述第二狀態(tài)切換單元還用于判斷所述三層網絡中是否完成查詢器選舉,在所述三層網絡中查詢器選舉完成后,從學習狀態(tài)切換到運行狀態(tài),執(zhí)行代理功能。本發(fā)明實施例提供的二層環(huán)網代理方法,將二層網絡設備的狀態(tài)劃分為學習狀態(tài)和運行狀態(tài),在運行狀態(tài),如果二層網絡設備感知到二層環(huán)網或三層網絡的拓撲結構發(fā)生變化時,從運行狀態(tài)切換到學習狀態(tài),之后在所述學習狀態(tài)下,確定所述二層環(huán)網中二層網絡設備的網絡側端口 ;在確定所述二層環(huán)網中二層網絡設備的網絡側端口之后,從學習狀態(tài)切換到運行狀態(tài),執(zhí)行代理功能,從而準確確定執(zhí)行IGMP Proxy功能的二層網絡設備準確確定網絡側端口和用戶機側端口,避免在環(huán)形網絡中IGMP Proxy發(fā)送的IGMP Query報文從網絡側端口發(fā)送出去并被上游路由器接收處理,因此干擾網絡中IGMP查詢器的選舉,觸發(fā)網絡故障的問題。
圖I為二層網絡設備網絡中組播轉發(fā)示意圖;圖2為二層網絡設備網絡中組播代理示意圖;圖3為本發(fā)明實施例提供的二層環(huán)網代理方法一種實施例的流程圖;圖3A為本發(fā)明實施例提供的二層環(huán)網代理方法中步驟302的一種實施例的流程圖;圖3B為本發(fā)明實施例提供的二層環(huán)網代理方法中步驟302的另一種實施例的流程圖;圖4為本發(fā)明實施例的一種實施狀態(tài)的示意圖;圖5為本發(fā)明實施例的另一種實施狀態(tài)的示意圖;圖6為本發(fā)明實施例的另一種實施狀態(tài)的示意圖;圖7為本發(fā)明實施例提供的二層網絡設備的結構示意圖;圖8為本發(fā)明另一實施例提供的二層網絡設備的結構示意圖。
具體實施例方式下面通過附圖和實施例,對本發(fā)明的技術方案做進一步的詳細描述。
圖I是二層網絡設備網絡中組播轉發(fā)示意圖,由圖I可以看出,當網絡中只有主機Hostl點播某個組播頻道時,二層網絡設備在部署IGMP Proxy和不部署IGMP Proxy時,組播數據報文的轉發(fā)流向。由圖I可見,二層網絡設備中沒有部署IGMP Proxy時,由于組播數據報文在二層網絡設備上廣播,所以盡管主機Host2沒有點播,但也可以收到組播數據報文,但在二層環(huán)網設中部署了 IGMP proxy后,只有點播的主機才可以收到組播數據報文。如圖2所示,對用戶主機而言,部署了 IGMP Proxy的二層網絡設備扮演路由器角色,負責向下游的用戶主機發(fā)送IGMP Query,并處理從用戶主機收到的IGMP Report/Leave,維護組播轉發(fā)表項以指導報文轉發(fā)。對路由器而言,二層網絡設備終結從路由器收到的IGMP Query,根據自己保存的組播轉發(fā)表項,代理下游的用戶主機向所述路由器回應IGMP R印ort,當下游所有用戶主機都離開后,向上游服務器發(fā)送IGMP Leave0在本發(fā)明的實施例中,二層網絡設備可以是交換機或者其他能夠部署IGMP Proxy 的網絡設備。圖2所示的架構是應用在樹形網絡中的二層網絡的工作架構,而對于環(huán)形網絡,比較難于區(qū)分網絡側端口和用戶側端口。其中網絡側端口是二層網絡設備上面向路由器側的端口,用戶側端口是二層網絡設備上面向用戶主機的端口。如圖3所示,本發(fā)明實施例提供一種二層環(huán)網代理方法,應用于環(huán)形網絡中,所述方法包括步驟301,二層網絡設備在運行狀態(tài)感知到二層環(huán)網或三層網絡的拓撲結構發(fā)生變化時,從運行狀態(tài)切換到學習狀態(tài);具體的說,所述的二層環(huán)網拓撲結構發(fā)生變化,包括但不限定于二層環(huán)網中增加了新的二層網絡設備或二層網絡設備中的某個端口發(fā)生故障阻塞等問題,影響運行狀態(tài)下的面向路由器側的網絡側端口配置和面向用戶側的用戶側端口配置。原因在于,二層網絡設備包含多個端口,在正常使用時這些端口應該分別被配置為網絡側端口和用戶側端口,但是當二層環(huán)網拓撲發(fā)生變化時,二層網絡設備中的某個端口不能確定應該作為網絡側端口還是用戶側端口。二層網絡設備可以通過環(huán)網檢測協(xié)議,例如快速環(huán)網保護協(xié)議(Rapidring protection protocol, RRPP)來檢測二層環(huán)網的拓撲結構是否發(fā)生變化。所述三層網絡拓撲結構發(fā)生變化,例如三層網絡中增加或減少了路由器,導致三層網絡中的查詢器選舉狀態(tài)出現變化,三層網絡中被選舉為查詢器的一個路由器負責向二層環(huán)網中的二層網絡設備發(fā)送IGMP Query,當三層網絡中增加或者減少了路由器之后,就需要重新選擇一個路由器作為發(fā)送IGMPQuery的查詢器。查詢器選舉是指三層網絡中,為了避免不同的路由器反復發(fā)送重復的查詢報文,經過三層網絡內部的查詢器選舉機制,選定只由多個路由器中的一個路由器作為查詢器發(fā)送查詢報文,剩余的路由器只通過接收二層網絡設備轉發(fā)的所述查詢報文以維持選舉出的查詢器的狀態(tài)。通常,在查詢器選舉機制中,查詢器是根據IP地址大小確定的,以三層網絡中IP地址最大或者最小的一個路由器作為三層網絡中的查詢器。當三層網絡中的路由器數目出現增減時,就要重新進行查詢器選舉。正常情況下,二層環(huán)網中的二層網絡設備上只有一個端口能夠接收到IGMP Query,當有兩個或兩個以上端口接收到IGMP Query時,說明三層網絡中查詢器選舉出現了問題,三層網絡中增加或減少了路由器數目。因此,二層網絡設備可以通過二層網絡設備中是否有新的端口接收到查詢報文,來判斷三層網絡中的拓撲結構是否發(fā)生了變化。
因此,為了避免用戶側端口和網絡側端口混亂,處于運行狀態(tài)下的二層網絡設備,例如交換機在感知到上述情況時,從運行running狀態(tài)切換到學習learning狀態(tài),重新學習網絡側端口。步驟302,在所述學習狀態(tài)下,確定所述二層環(huán)網中二層網絡設備的網絡側端口 ;具體而言,二層網絡設備在learning狀態(tài),重新學習二層網絡設備中的網絡側端口,也就是與三層網絡中的路由器進行交互的端口。步驟303,在確定所述二層環(huán)網中二層網絡設備的網絡側端口之后,從學習狀態(tài)切換到運行狀態(tài),執(zhí)行代理功能。具體而言,在二層環(huán)網中的全部網絡設備的網絡側端口都確定之后,特別是三層網絡中的查詢器選舉完成之后,二層網絡設備從learning狀態(tài)切換到running狀態(tài),執(zhí)行 代理功能,所述的代理功能和圖2所示的代理功能相同,不多贅述。通過上述實施例,環(huán)形網絡中的二層網絡設備,在運行狀態(tài)感知到二層環(huán)網或三層網絡的拓撲結構發(fā)生變化時,從運行狀態(tài)切換到學習狀態(tài),之后在所述學習狀態(tài)下,確定所述二層環(huán)網中二層網絡設備的網絡側端口 ;在確定所述二層環(huán)網中二層網絡設備的網絡側端口之后,從學習狀態(tài)切換到運行狀態(tài),執(zhí)行代理功能。.從而準確地確定執(zhí)行IGMPProxy代理功能的二層網絡設備上的網絡側端口和用戶側端口,避免在環(huán)形網絡中執(zhí)行IGMP Proxy代理功能的二層網絡設備發(fā)送的IGMP Query報文從網絡側端口發(fā)送出去并被上游的路由器接收處理,而干擾網絡中IGMP查詢器的選舉,觸發(fā)網絡故障的問題。如圖3A所示,在本發(fā)明實施例的優(yōu)選實施方式中,所述步驟302進一步包括3021,所述二層網絡設備將從三層網絡中的第一路由器接收到互聯網組管理協(xié)議查詢報文IGMP Query的端口學習為第一網絡側端口 ;3022,所述二層網絡設備將所述IGMP Query從所述第一網絡側端口外的其他非阻塞端口轉發(fā)給環(huán)網中的第二二層網絡設備和用戶主機,以便于所述第二二層網絡設備將接收到所述二層網絡設備轉發(fā)的所述IGMP Query的端口學習為所述第二層網絡設備的網絡側端口,之后將所述IGMP Query向第三二層網絡設備和/或用戶主機轉發(fā)。以圖4為例,圖4是本發(fā)明實施例的一種實施狀態(tài)的示意圖,環(huán)形網絡中可能包含兩個或兩個以上的二層網絡設備,例如圖4所示的實施例中,二層環(huán)網中包含兩個二層網絡設備SI和S2。在三層網絡中只包含一個路由器R1。其中SI和S2各自包含多個端口,部分端口用于和用戶主機交互、部分端口用于和環(huán)網中的其他二層網絡設備進行交互、部分端口用于和三層網絡中的路由器進行交互。通過環(huán)網協(xié)議將S2的Port2端口阻塞,阻塞后的S2的Port2成為環(huán)網的破環(huán)點。SI和S2上使能IGMP Proxy。在SI、S2 上使能 IGMP Proxy 后,IGMP Proxy 首先進入 learning狀態(tài),該狀態(tài) IGMPProxy不執(zhí)行代理功能,只執(zhí)行監(jiān)聽功能,也就是如果有用戶主機發(fā)起點播,SI和S2只進行偵聽,將用戶主機發(fā)送的IGMP R印ort報文向網絡側端口轉發(fā),不執(zhí)行“代理”功能。Rl發(fā)出的IGMP Query報文到達SI后,SI將報文的入端口,即SI的Portl學習成為網絡側端口。通常二層網絡設備根據網絡側端口確定后的一段設定時間判斷三層網絡中的查詢器選舉是否完成,因此SI在將其Portl學習為網絡側端口的同時,記錄該端口收到IGMP Query報文的時間,將此端口收到IGMP Query報文的時間作為為判定查詢器選舉是否完成的起始依據。
SI將SI的Port I學習為網絡側端口后,將收到的IGMP Query從SI上除IGMPQuery進入SI的入端口外的其他非阻塞端口轉發(fā)出去。IGMP Query將沿SI到S2間的鏈路到達S2。按照同樣的方式,S2將S2的Portl學習成為S2的網絡側端口,同時記錄該端口收到IGMP Query的時間。之后,S2將IGMP Query從除IGMP Query進入S2的入端口外的非阻塞端口轉發(fā)出去。由于S2的Port2端口作為破環(huán)點,已經阻塞,因此IGMP Query并不會在環(huán)網中無限循環(huán),而是向用戶主機端口發(fā)送。需要指出的是,SI、S2在learning狀態(tài)下如果有用戶主機通過用戶主機發(fā)起點播,SI和S2只進行偵聽,將用戶主機發(fā)送的IGMP Report向網絡側端口轉發(fā),不執(zhí)行“代理”功能。當網絡中查詢器選舉完成后,IGMP Proxy即可切換到running狀態(tài),因為只要IGMP Proxy不向被選舉為查詢器的路由器發(fā)送IGMP Query,就不會干擾網絡的查詢器選 舉。在本發(fā)明實施例中,當二層網絡設備上的某端口在一個設定時間內收到的IGMP Query數量等于IGMP健壯系數,并且在這段時間內所述二層網絡設備上的其他端口沒有收到GMPQuery,就可以判定三層網絡中的查詢器選舉完成。在running狀態(tài),二層網絡設備執(zhí)行代理功能,所述的代理功能和圖2所示的代理功能相同,不多贅述。如果在running狀態(tài)下,二層網絡設備檢測到二層環(huán)網拓撲變化,例如圖5所示的狀態(tài)中,S2的Portl端口發(fā)生故障,此時。SI和S2通過環(huán)網協(xié)議重新協(xié)商確定新的破環(huán)點,協(xié)商之后放開阻塞端口 S2的Port2后,S1、S2清除學習記錄,包括學習到的原網絡側端口和原網絡側端口收到IGMP Query的記錄,切換到learning狀態(tài),然后維持learning狀態(tài),重新學習,SI將SI的Port3學習為網絡側端口,S2將S2的Port2學習為S2的網絡側端口。如圖3B所示,在本發(fā)明實施例的另一種優(yōu)選的實施方式中,所述二層網絡設備在運行狀態(tài)感知到三層網絡的拓撲結構發(fā)生變化時,所述步驟302,進一步包括3023,所述二層網絡設備將從三層網絡中的第二路由器接收到互聯網組管理協(xié)議查詢報文IGMP Query的端口學習為第二網絡側端口 ;3024,所述二層網絡設備將所述IGMP Query報文從所述第二網絡側端口外的其他非阻塞端口轉發(fā)給環(huán)網中的第二二層網絡設備和用戶主機,以便于所述第二二層網絡設備將接收到所述二層網絡設備轉發(fā)的所述IGMP Query的端口學習為所述第二層網絡設備的網絡側端口,之后將所述IGMP Query向第三二層網絡設備和/或用戶主機轉發(fā)。如圖6所示,其為本發(fā)明實施例的另一種實施狀態(tài)的示意圖,為了便于區(qū)分,將S2作為第二二層網絡設備。如果在running狀態(tài)下,二層網絡設備檢測到三層網絡拓撲變化,例如圖6所示的實施例中,三層網絡中除了路由器Rl外,增加了作為備份或作為補充設備的路由器R2。例如SI除了 SI的Port3端口外,SI的Port4也收到了 IGMP Query,則證明三層網絡拓撲結構發(fā)生變化。二層網絡設備S1、S2切換到learning狀態(tài),然后維持learning狀態(tài),重新學習網絡側端口,但并不需要清除已經學習到的原網絡側端口。對于SI,除了 SI的Port3之外,又學習到新的網絡側端口 SI的Port4,對于S2,保持S2的Portl為網絡側端口。之后,等待查詢器選舉完成,之后切換回running狀態(tài),執(zhí)彳了代理功能。特別需要指出的是,如果在學習狀態(tài)下,二層網絡設備檢測到二層環(huán)網拓撲結構發(fā)生變化,則維持學習狀態(tài),清除已經學習到的原網絡側端口,和圖5所示的實施例相同,因此不多贅述。如果在學習狀態(tài)下,二層網絡設備檢測到三層網絡拓撲結構發(fā)生變化,則維持學習狀態(tài),不需要清除已經學習到的原網絡側端口,和圖6所示的實施例相同,因此不多贅述。如圖7所示,本發(fā)明實施例還提供了一種二層網絡設備,所述二層網絡設備700可以是交換機,所述二層網絡設備700包括第一狀態(tài)切換單元701,用于在運行狀態(tài)感知到二層環(huán)網或三層網絡的拓撲結構 發(fā)生變化時,從運行狀態(tài)切換到學習狀態(tài);端口確定單元702,在所述學習狀態(tài)下,確定所述二層網絡設備的網絡側端口 ;第二狀態(tài)切換單元703,用于在確定所述二層網絡設備的網絡側端口之后,從學習狀態(tài)切換到運行狀態(tài),執(zhí)行代理功能。所述端口確定單元702將從三層網絡中的第一路由器接收到互聯網組管理協(xié)議查詢報文IGMP Query的端口學習為第一網絡側端口 ;將所述IGMPQuery從所述第一網絡側端口外的其他非阻塞端口轉發(fā)給環(huán)網中的第二二層網絡設備和用戶主機,以便于所述第二二層網絡設備將接收到所述二層網絡設備轉發(fā)的所述IGMP Query的端口學習為所述第二層網絡設備的網絡側端口。所述端口確定單元702還將從三層網絡中的第二路由器接收到互聯網組管理協(xié)議查詢報文IGMP Query的端口學習為第二網絡側端口 ;將所述IGMPQuery從所述第二網絡側端口外的其他非阻塞端口轉發(fā)給環(huán)網中的第二二層網絡設備和用戶主機,以便于所述第二二層網絡設備將接收到所述二層網絡設備轉發(fā)的所述IGMP Query報文的端口學習為所述第二層網絡設備的網絡側端口。所述二層網絡設備在運行狀態(tài)感知到二層環(huán)網的拓撲結構發(fā)生變化時,通過第一狀態(tài)切換單元701從運行狀態(tài)切換到學習狀態(tài)之后,確定所述二層網絡設備的網絡側端口之前,所述端口確定單元702清除所述二層網絡設備中的原網絡側端口。所述第二狀態(tài)切換單元703還判斷所述三層網絡中是否完成查詢器選舉,在所述三層網絡中查詢器選舉完成后,從學習狀態(tài)切換到運行狀態(tài),執(zhí)行代理功能。本發(fā)明實施例提供的二層網絡設備還可以包括還包括報文轉發(fā)單元,該報文轉發(fā)單元在所述運行狀態(tài)下,將從第一網絡側端口接收到的查詢報文向其他網絡側端口轉發(fā),以維持所述三層網絡中選舉出的查詢器狀態(tài),所述第一網絡側端口接收所述三層網絡中被選舉為查詢器的路由器發(fā)送的查詢報文。圖8為本發(fā)明實施例管理控制系統(tǒng)的示意圖,如圖所示,本實施例包括網絡接口81、處理器82和存儲器83。系統(tǒng)總線84用于連接網絡接口 81、處理器82和存儲器83。存儲器83可以是永久存儲器,例如硬盤驅動器和閃存,存儲器83中具有軟件模塊和設備驅動程序。軟件模塊能夠執(zhí)行本發(fā)明上述方法的各種功能模塊;設備驅動程序可以是網絡和接口驅動程序。在啟動時,這些軟件組件被加載到存儲器83中,然后被處理器82訪問并執(zhí)行圖3所示的方法在運行狀態(tài)感知到二層環(huán)網或三層網絡的拓撲結構發(fā)生變化時,從運行狀態(tài)切換到學習狀態(tài);在所述學習狀態(tài)下,確定所述二層環(huán)網中二層網絡設備的網絡側端口 ;在確定所述二層環(huán)網中二層網絡設備的網絡側端口之后,從學習狀態(tài)切換到運行狀態(tài),執(zhí)行代理功能。專業(yè)人員應該還可以進一步意識到,結合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、計算機軟件或者二者的結合來實現,為了清楚地說明硬件和軟件的可互換性,在上述說明中已經按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術方案的特定應用和設計約束條件。專業(yè)技術人員可以對每個特定的應用來使用不同方法來實現所描述的功能,但是這種實現不應認為超出本發(fā)明的范圍。
結合本文中所公開的實施例描述的方法或算法的步驟可以用硬件、處理器執(zhí)行的軟件模塊,或者二者的結合來實施。軟件模塊可以置于隨機存儲器(RAM)、內存、只讀存儲器(ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬盤、可移動磁盤、CD-ROM、或技術領域內所公知的任意其它形式的存儲介質中。以上所述的具體實施方式
,對本發(fā)明的目的、技術方案和有益效果進行了進一步詳細說明,所應理解的是,以上所述僅為本發(fā)明的具體實施方式
而已,并不用于限定本發(fā)明的保護范圍,凡在本發(fā)明的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內。
權利要求
1.一種二層環(huán)網代理方法,其特征在于,應用于二層環(huán)網中,所述方法包括 所述環(huán)網中的二層網絡設備在運行狀態(tài)感知到二層環(huán)網或三層網絡的拓撲結構發(fā)生變化時,從運行狀態(tài)切換到學習狀態(tài); 所述二層網絡設備在所述學習狀態(tài)下,確定所述二層網絡設備的網絡側端口 ; 在確定所述二層網絡設備的網絡側端口之后,所述二層網絡設備從學習狀態(tài)切換到運行狀態(tài),執(zhí)行代理功能。
2.如權利要求I所述的方法,其特征在于,所述在所述學習狀態(tài)下,確定所述二層網絡設備的網絡側端口包括 所述二層網絡設備將從三層網絡中的第一路由器接收到互聯網組管理協(xié)議查詢報文IGMP Query的端口學習為第一網絡側端口 ; 所述二層網絡設備將所述IGMP Query從所述第一網絡側端口外的其他非阻塞端口轉發(fā)給環(huán)網中的第二二層網絡設備和用戶主機,以便于所述第二二層網絡設備將接收到所述二層網絡設備轉發(fā)的所述IGMP Query的端口學習為所述第二層網絡設備的網絡側端口。
3.如權利要求2所述的方法,其特征在于,所述二層網絡設備在運行狀態(tài)感知到三層網絡的拓撲結構發(fā)生變化時,所述在所述學習狀態(tài)下,確定所述二層環(huán)網中二層網絡設備的網絡側端口,進一步包括 所述二層網絡設備將從三層網絡中的第二路由器接收到互聯網組管理協(xié)議查詢報文IGMP Query的端口學習為第二網絡側端口 ; 所述二層網絡設備將所述IGMP Query從所述第二網絡側端口外的其他非阻塞端口轉發(fā)給環(huán)網中的第二二層網絡設備和用戶主機,以便于所述第二二層網絡設備將接收到所述二層網絡設備轉發(fā)的所述IGMP Query報文的端口學習為所述第二層網絡設備的網絡側端□。
4.如權利要求2所述的方法,其特征在于,所述二層網絡設備在運行狀態(tài)感知到二層環(huán)網的拓撲結構發(fā)生變化時,從運行狀態(tài)切換到學習狀態(tài)之后,確定所述二層網絡設備的網絡側端口之前,還包括 清除所述二層網絡設備中的原網絡側端口。
5.如權利要求2-4任一項所述的方法,其特征在于,還包括 在所述運行狀態(tài)下,所述二層網絡設備將從第一網絡側端口接收到的查詢報文向其他網絡側端口轉發(fā),所述第一網絡側端口接收所述三層網絡中被選舉為查詢器的路由器發(fā)送的查詢報文。
6.如權利要求1-5任一項所述的方法,其特征在于,所述二層網絡設備在運行狀態(tài)下學習到新的網絡側端口時,判定所述三層網絡的拓撲結構發(fā)生變化。
7.如權利要求1-5任一項所述的方法,其特征在于,所述二層網絡設備通過環(huán)網協(xié)議檢測所述二層環(huán)網的拓撲結構是否發(fā)生變化。
8.如權利要求1-4任一項所述的方法,其特征在于,在所述學習狀態(tài)下,如果所述二層網絡設備接收到用戶主機發(fā)送的互聯網組管理協(xié)議報告報文IGMP Report后,將所述IGMPReport向所述網絡側端口轉發(fā)。
9.如權利要求1-8中任意一項所述的方法,其特征在于,所述在所述學習狀態(tài)下,確定所述二層網絡設備的網絡側端口之后,還包括判斷所述三層網絡中是否完成查詢器選舉,在所述三層網絡中查詢器選舉完成后,從學習狀態(tài)切換到運行狀態(tài),執(zhí)行代理功能。
10.如權利要求1-8中任意一項所述的方法,其特征在于,在所述學習狀態(tài)中,如果所述二層網絡設備感知到所述二層網絡拓撲結構發(fā)生變化,則清除所述二層網絡設備學習到的原網絡側端口。
11.如權利要求1-8中任意一項所述的方法,其特征在于,在所述學習狀態(tài)中,如果所述二層網絡設備感知到所述三層網絡拓撲結構發(fā)生變化,則維持學習狀態(tài)。
12.—種二層網絡設備,其特征在于,包括 第一狀態(tài)切換單元,用于在運行狀態(tài)感知到二層環(huán)網或三層網絡的拓撲結構發(fā)生變化時,從運行狀態(tài)切換到學習狀態(tài); 端口確定單元,在所述學習狀態(tài)下,確定所述二層網絡設備的網絡側端口 ; 第二狀態(tài)切換單元,用于在確定所述二層網絡設備的網絡側端口之后,從學習狀態(tài)切換到運行狀態(tài),執(zhí)行代理功能。
13.如權利要求12所述的二層網絡設備,其特征在于,所述端口確定單元具體用于 將從三層網絡中的第一路由器接收到互聯網組管理協(xié)議查詢報文IGMP Query的端口學習為第一網絡側端口; 將所述IGMP Query從所述第一網絡側端口外的其他非阻塞端口轉發(fā)給環(huán)網中的第二二層網絡設備和用戶主機,以便于所述第二二層網絡設備將接收到所述二層網絡設備轉發(fā)的所述IGMP Query的端口學習為所述第二層網絡設備的網絡側端口。
14.如權利要求12所述的二層網絡設備,其特征在于,所述端口確定單元具體用于 將從三層網絡中的第二路由器接收到互聯網組管理協(xié)議查詢報文IGMP Query的端口學習為第二網絡側端口; 將所述IGMP Query從所述第二網絡側端口外的其他非阻塞端口轉發(fā)給環(huán)網中的第二二層網絡設備和用戶主機,以便于所述第二二層網絡設備將接收到所述二層網絡設備轉發(fā)的所述IGMP Query報文的端口學習為所述第二層網絡設備的網絡側端口。
15.如權利要求12所述的二層網絡設備,其特征在于,所述二層網絡設備在運行狀態(tài)感知到二層環(huán)網的拓撲結構發(fā)生變化時,通過所述第一狀態(tài)切換單元從運行狀態(tài)切換到學習狀態(tài)之后,確定所述二層網絡設備的網絡側端口之前,所述端口確定單元還用于 清除所述二層網絡設備中的原網絡側端口。
16.如權利要求12-15任一項所述的二層網絡設備,其特征在于,還包括報文轉發(fā)單元,用于 在所述運行狀態(tài)下,將從第一網絡側端口接收到的查詢報文向其他網絡側端口轉發(fā),所述第一網絡側端口接收所述三層網絡中被選舉為查詢器的路由器發(fā)送的查詢報文。
17.如權利要求12-15中任意一項所述的二層網絡設備,其特征在于,所述第二狀態(tài)切換單元還用于 判斷所述三層網絡中是否完成查詢器選舉,在所述三層網絡中查詢器選舉完成后,從學習狀態(tài)切換到運行狀態(tài),執(zhí)行代理功能。
全文摘要
本發(fā)明涉及一種二層環(huán)網代理方法,應用于二層網絡設備,當二層網絡設備在運行狀態(tài)感知到二層環(huán)網或三層網絡的拓撲結構發(fā)生變化時,從運行狀態(tài)切換到學習狀態(tài);在所述學習狀態(tài)下,確定所述二層環(huán)網中二層網絡設備的網絡側端口;在確定所述二層環(huán)網中二層網絡設備的網絡側端口之后,從學習狀態(tài)切換到運行狀態(tài),執(zhí)行代理功能。通過本發(fā)明實施例提供的方法,可以實現在非樹形結構的二層環(huán)網中實現IGMP proxy代理功能。
文檔編號H04L12/42GK102938737SQ201210478769
公開日2013年2月20日 申請日期2012年11月22日 優(yōu)先權日2012年11月22日
發(fā)明者丁漢城, 宋俊駿, 涂聰, 李剛強 申請人:華為技術有限公司