一種負(fù)載均衡的實現(xiàn)方法和設(shè)備的制作方法
【專利摘要】本發(fā)明公開了一種負(fù)載均衡的實現(xiàn)方法和設(shè)備,該方法包括:當(dāng)VLAN內(nèi)使能IGSP功能時,二層交換設(shè)備通過VLAN內(nèi)的路由設(shè)備端口發(fā)送使能通知消息,以使至少兩個三層組播路由設(shè)備均周期性發(fā)送IGMP普遍組查詢報文;二層交換設(shè)備將接收到的IGMP普遍組查詢報文轉(zhuǎn)發(fā)給主機,并接收主機返回的IGMPReport報文;二層交換設(shè)備根據(jù)IGMPReport報文中攜帶的組播組地址確定對應(yīng)的路由設(shè)備端口,并將IGMPReport報文發(fā)送給該路由設(shè)備端口對應(yīng)的三層組播路由設(shè)備,以使三層組播路由設(shè)備根據(jù)該IGMPReport報文發(fā)起相應(yīng)的組播組加入過程。在本發(fā)明中,實現(xiàn)了三層組播路由設(shè)備的負(fù)載均衡,提高了網(wǎng)絡(luò)資源利用率。
【專利說明】一種負(fù)載均衡的實現(xiàn)方法和設(shè)備
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信領(lǐng)域,尤其涉及一種負(fù)載均衡的實現(xiàn)方法和設(shè)備。
【背景技術(shù)】
[0002]IP (Internet Protocol,互聯(lián)網(wǎng)協(xié)議)組播(IP Multicast)是介于單播(Unicast)和廣播(Broadcast)之間的一種分組傳送形式,又稱為IP多播,是指IP數(shù)據(jù)由單一的發(fā)送者(組播源)產(chǎn)生,經(jīng)過網(wǎng)絡(luò)分發(fā)給一組接收者。通常,把工作在網(wǎng)絡(luò)層的IP組播稱為三層組播,相應(yīng)的組播協(xié)議稱為三層組播協(xié)議,包括IGMP (Internet Group ManagementProtocol,互聯(lián)網(wǎng)組管理協(xié)議)/MLD (Multicast Listener Discovery Protocol,組播偵聽者發(fā)現(xiàn)協(xié)議)、PIM (Protocol Independent Multicast,協(xié)議無關(guān)組播)/IPv6 (InternetProtocol Version 6,互聯(lián)網(wǎng)協(xié)議第6版)PM等;把工作在數(shù)據(jù)鏈路層的IP組播稱為二層組播,相應(yīng)的組播協(xié)議稱為二層組播協(xié)議,包括IGMP Snooping (窺探)/MLD Snooping等。
[0003]三層組播協(xié)議包括組播組管理協(xié)議和組播路由協(xié)議兩種類型,它們在網(wǎng)絡(luò)中的應(yīng)用位置如圖1所示,其中:
組播組管理協(xié)議
在主機和與其直接相連的三層組播設(shè)備之間通常采用組播組管理協(xié)議IGMP或MLD,協(xié)議規(guī)定了主機與三層組播設(shè)備之間建立和維護(hù)組播組成員關(guān)系的機制。
[0004]組播路由協(xié)議
組播路由協(xié)議運行在三層組播設(shè)備之間,用于建立和維護(hù)組播路由,并正確、高效地轉(zhuǎn)發(fā)組播數(shù)據(jù)包。組播路由建立了從一個數(shù)據(jù)源端到多個接收端的無環(huán)(loop-free)數(shù)據(jù)傳輸路徑,即組播分發(fā)樹。最常應(yīng)用的域內(nèi)組播路由協(xié)議是PIM。
[0005]二層組播協(xié)議包括 IGMP Snooping/MLD Snooping、PIM Snooping/IPv6 PIMSnooping、組播 VLAN (Virtual Local Area Network,虛擬局域網(wǎng))/IPv6 組播 VLAN 等,它們在網(wǎng)絡(luò)中的應(yīng)用位置如圖2所示。
[0006]IGMP 是 TCP (Transmission Control Protocol,傳輸控制協(xié)議)/IP 協(xié)議族中負(fù)責(zé)IP組播成員管理的協(xié)議,用來在IP主機和與其直接相鄰的組播路由設(shè)備之間建立、維護(hù)組播組成員關(guān)系。
[0007]當(dāng)共享網(wǎng)段上存在多個組播路由設(shè)備時,由組播路由協(xié)議(IGMPvl)或IGMP自身選舉機制(IGMPv2和IGMPv3)選舉出一個指定組播路由設(shè)備來充當(dāng)查詢器,負(fù)責(zé)周期性發(fā)送查詢報文,以及向IP主機轉(zhuǎn)發(fā)組播數(shù)據(jù)。其中,IGMP查詢響應(yīng)示意圖可以如圖3所示,查詢器向主機發(fā)送查詢報文,主機接收到查詢報文(Query )后,通過接收到查詢報文的端口響應(yīng)報告(Report)報文。
[0008]IGMPv2的查詢器選舉過程如下:
(1)所有IGMPv2路由設(shè)備在初始時都認(rèn)為自己是查詢器,并向本地網(wǎng)段內(nèi)的所有主機和路由設(shè)備發(fā)送IGMP普遍組查詢報文;
(2)本地網(wǎng)段中的其它IGMPv2路由設(shè)備在收到該報文后,將報文的源IP地址與自己的接口地址作比較。通過比較,IP地址最小的路由設(shè)備將成為查詢器,其它路由設(shè)備成為非查詢器
(3)所有非查詢器上都會啟動一個定時器。在該定時器超時前,如果收到了來自查詢器的IGMP查詢報文,則重置該定時器;否則,就認(rèn)為原查詢器失效,并發(fā)起新的查詢器選舉過程。
[0009]IGSP(IGMP Snooping,互聯(lián)網(wǎng)組管理協(xié)議窺探),是運行在二層設(shè)備上的組播約束機制,用于管理和控制組播組。
[0010]參見圖4,運行IGMP Snooping的二層設(shè)備通過對收到的IGMP報文進(jìn)行分析,為端口和MAC組播地址建立起映射關(guān)系,并根據(jù)所建立的映射關(guān)系轉(zhuǎn)發(fā)組播數(shù)據(jù):
(O收到查詢報文的端口,添加為路由設(shè)備端口,查詢報文向所有端口轉(zhuǎn)發(fā);
(2)收到IGMPReport報文,添加為對應(yīng)Group的成員端口,R印ort報文只向路由設(shè)備端口轉(zhuǎn)發(fā);
(3)收到組播數(shù)據(jù),向該組播MAC對應(yīng)的組成員端口轉(zhuǎn)發(fā)。
[0011]在實現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在以下問題:
現(xiàn)有技術(shù)中,共享網(wǎng)段存在多個組播路由設(shè)備時,根據(jù)選舉機制選出一個IGMP路由設(shè)備作為唯一的查詢器,負(fù)責(zé)發(fā)送查詢報文和轉(zhuǎn)發(fā)組播數(shù)據(jù)。其他作為非查詢器的IGMP路由設(shè)備,不會轉(zhuǎn)發(fā)組播報文。在組播組信息量較大,組播業(yè)務(wù)流量較多的情況下,IGMP查詢器負(fù)擔(dān)增大,容易引發(fā)故障,而其他作為非查詢器的IGMP路由設(shè)備不需要轉(zhuǎn)發(fā)組播數(shù)據(jù),處于空閑狀態(tài),造成資源浪費。
【發(fā)明內(nèi)容】
[0012]本發(fā)明的目的在于提供一種負(fù)載均衡的實現(xiàn)方法和設(shè)備,以實現(xiàn)三層組播路由設(shè)備的負(fù)載均衡,提高網(wǎng)絡(luò)資源利用率,為此,本發(fā)明采用如下技術(shù)方案:
一種負(fù)載均衡的實現(xiàn)方法,應(yīng)用于包括主機、二層交換設(shè)備以及至少兩個三層組播路由設(shè)備的系統(tǒng)中,所述主機、二層交換設(shè)備以及至少兩個三層組播路由設(shè)備屬于同一虛擬局域網(wǎng)VLAN,該方法包括:
當(dāng)所述VLAN內(nèi)使能互聯(lián)網(wǎng)組管理協(xié)議窺探IGSP功能時,所述二層交換設(shè)備通過所述VLAN內(nèi)的路由設(shè)備端口發(fā)送使能通知消息,以使所述至少兩個三層組播路由設(shè)備均周期性發(fā)送互聯(lián)網(wǎng)組管理協(xié)議IGMP普遍組查詢報文;
所述二層交換設(shè)備將接收到的IGMP普遍組查詢報文轉(zhuǎn)發(fā)給所述主機,并接收所述主機返回的IGMP報告R印ort報文;
所述二層交換設(shè)備根據(jù)所述IGMP R印ort報文中攜帶的組播組地址確定對應(yīng)的路由設(shè)備端口,并將所述IGMP R印ort報文發(fā)送給該路由設(shè)備端口對應(yīng)的三層組播路由設(shè)備,以使所述三層組播路由設(shè)備根據(jù)該IGMP R印ort報文發(fā)起相應(yīng)的組播組加入過程。
[0013]其中,所述二層交換設(shè)備根據(jù)所述IGMP Report報文中攜帶的組播組地址確定對應(yīng)的路由設(shè)備端口,具體為:
所述二層交換設(shè)備將所述IGMP Report報文中攜帶的組播組地址和所述VLAN內(nèi)的路由設(shè)備端口的索引值,作為參數(shù)進(jìn)行hash運算,根據(jù)hash運算結(jié)果確定組播組地址與路由設(shè)備端口的對應(yīng)關(guān)系,并根據(jù)所述組播組地址與路由設(shè)備端口的對應(yīng)關(guān)系,確定所述IGMPReport報文中攜帶的組播組地址對應(yīng)的路由設(shè)備端口。
[0014]其中,該方法還包括:
所述二層交換設(shè)備記錄所述組播組地址與路由設(shè)備端口的對應(yīng)關(guān)系;
當(dāng)所述二層交換設(shè)備接收到IGMP Report報文時,根據(jù)該IGMP Report報文中攜帶的組播組地址查詢自身記錄的組播組地址和路由設(shè)備端口的對應(yīng)關(guān)系,并當(dāng)所述二層交換設(shè)備查詢到所述IGMP Report報文中攜帶的組播組地址與路由設(shè)備端口的對應(yīng)關(guān)系時,所述二層交換設(shè)備根據(jù)該查詢到的對應(yīng)關(guān)系確定所述IGMP R印ort報文中攜帶的組播組地址對應(yīng)的路由設(shè)備端口。
[0015]其中,所述根據(jù)hash運算結(jié)果確定組播組地址與路由設(shè)備端口的對應(yīng)關(guān)系,具體為:
對于同一個組播組地址,比較不同路由設(shè)備端口對應(yīng)的hash值,選擇hash值最大或最小的路由設(shè)備端口作為該組播組地址對應(yīng)的路由設(shè)備端口;
當(dāng)不同路由設(shè)備端口對應(yīng)的hash值相同時,選擇路由設(shè)備端口的索引值最大或最小的路由設(shè)備端口作為該組播組地址對應(yīng)的路由設(shè)備端口。
[0016]其中,所述二層交換設(shè)備將接收到的IGMP普遍組查詢報文轉(zhuǎn)發(fā)給所述主機,具體為:
當(dāng)所述二層交換設(shè)備通過路由設(shè)備端口接收到IGMP普遍組查詢報文時,所述二層交換設(shè)備啟動對應(yīng)該路由設(shè)備端口的查詢報文接收定時器,并將所述IGMP普遍組查詢報文轉(zhuǎn)發(fā)給所述主機;
當(dāng)所述二層交換設(shè)備在所述查詢報文接收定時器超時前,再次從該路由設(shè)備端口接收到IGMP普遍組查詢報文時,所述二層交換設(shè)備不轉(zhuǎn)發(fā)該IGMP普遍組查詢報文。
[0017]其中,該方法還包括:
當(dāng)所述VLAN內(nèi)去使能IGSP功能時,所述二層交換設(shè)備通過所述VLAN內(nèi)的路由設(shè)備端口發(fā)送去使能通知消息,以使所述至少兩個三層組播路由設(shè)備進(jìn)行查詢器選舉,并由查詢器周期性發(fā)送IGMP普遍組查詢報文;
當(dāng)所述二層交換設(shè)備接收到主機發(fā)送的IGMP Report報文時,所述二層交換設(shè)備將所述IGMP Report報文發(fā)送給所述查詢器,由該查詢器根據(jù)該IGMP Report報文發(fā)起相應(yīng)的組播組加入過程。
[0018]一種網(wǎng)絡(luò)設(shè)備,作為二層交換設(shè)備應(yīng)用于包括主機以及至少兩個三層組播路由設(shè)備的系統(tǒng)中,所述主機、二層交換設(shè)備以及至少兩個三層組播路由設(shè)備屬于同一虛擬局域網(wǎng)VLAN,該網(wǎng)絡(luò)設(shè)備包括:
第一發(fā)送模塊,用于當(dāng)所述VLAN內(nèi)使能互聯(lián)網(wǎng)組管理協(xié)議窺探IGSP功能時,通過所述VLAN內(nèi)的路由設(shè)備端口發(fā)送使能通知消息,以使所述至少兩個三層組播路由設(shè)備均周期性發(fā)送互聯(lián)網(wǎng)組管理協(xié)議IGMP普遍組查詢報文;
第一接收模塊,用于接收三層組播路由設(shè)備發(fā)送的IGMP普遍組查詢報文;
第二發(fā)送模塊,用于將所述第一接收模塊接收到的IGMP普遍組查詢報文轉(zhuǎn)發(fā)給所述主機;
第二接收模塊,用于接收所述主機返回的IGMP報告Report報文;
確定模塊,用于根據(jù)所述第二接收模塊接收到的IGMP Report報文中攜帶的組播組地址確定對應(yīng)的路由設(shè)備端口;
第三發(fā)送模塊,用于將所述IGMP Report報文發(fā)送給所述確定模塊確定的路由設(shè)備端口對應(yīng)的三層組播路由設(shè)備,以使三層組播路由設(shè)備根據(jù)該IGMP Report報文發(fā)起相應(yīng)的組播組加入過程。
[0019]其中,所述網(wǎng)絡(luò)設(shè)備還包括:
所述確定模塊具體用于,將所述IGMP Report報文中攜帶的組播組地址和所述VLAN內(nèi)的路由設(shè)備端口的索引值,作為參數(shù)進(jìn)行hash運算,根據(jù)hash運算結(jié)果確定組播組地址與路由設(shè)備端口的對應(yīng)關(guān)系,并根據(jù)所述組播組地址與路由設(shè)備端口的對應(yīng)關(guān)系,確定所述IGMP Report報文中攜帶的組播組地址對應(yīng)的路由設(shè)備端口。
[0020]其中,所述網(wǎng)絡(luò)設(shè)備還包括:
記錄設(shè)備,用于記錄所述確定模塊確定的組播組地址與路由設(shè)備端口的對應(yīng)關(guān)系。
[0021]所述確定模塊還用于,當(dāng)所述第二接收模塊接收到IGMP Report報文時,根據(jù)該IGMP Report報文中攜帶的組播組地址查詢所述記錄模塊記錄的組播組地址和路由設(shè)備端口的對應(yīng)關(guān)系,并當(dāng)查詢到所述IGMP Report報文中攜帶的組播組地址與路由設(shè)備端口的對應(yīng)關(guān)系時,根據(jù)該查詢到的對應(yīng)關(guān)系確定所述IGMP Report報文中攜帶的組播組地址對應(yīng)的路由設(shè)備端口。
[0022]其中,所述確定模塊具體用于,對于同一個組播組地址,比較不同路由設(shè)備端口對應(yīng)的hash值,選擇hash值最大或最小的路由設(shè)備端口作為該組播組地址對應(yīng)的路由設(shè)備端口 ;當(dāng)不同路由設(shè)備端口對應(yīng)的hash值相同時,選擇路由設(shè)備端口的索引值最大或最小的路由設(shè)備端口作為該組播組地址對應(yīng)的路由設(shè)備端口。
[0023]其中,所述第二發(fā)送模塊具體用于,當(dāng)所述第一接收模塊通過路由設(shè)備端口接收到IGMP普遍組查詢報文時,啟動對應(yīng)該路由設(shè)備端口的查詢報文接收定時器,并將所述IGMP普遍組查詢報文轉(zhuǎn)發(fā)給所述主機;當(dāng)所述第一接收模塊在所述查詢報文接收定時器超時前,再次從該路由設(shè)備端口接收到IGMP普遍組查詢報文時,不轉(zhuǎn)發(fā)該IGMP普遍組查詢報文。
[0024]其中,所述第一發(fā)送模塊還用于,當(dāng)所述VLAN內(nèi)去使能IGSP功能時,通過所述VLAN內(nèi)的路由設(shè)備端口發(fā)送去使能通知消息,以使所述至少兩個三層組播路由設(shè)備進(jìn)行查詢器選舉,并由查詢器周期性發(fā)送IGMP普遍組查詢報文;
所述第三發(fā)送模塊還用于,當(dāng)所述第二接收模塊接收到主機發(fā)送的IGMP Report報文時,將所述IGMP Report報文發(fā)送給所述查詢器,由該查詢器根據(jù)該IGMP Report報文發(fā)起相應(yīng)的組播組加入過程。
[0025]本發(fā)明上述實施例中,當(dāng)VLAN內(nèi)使能IGSP功能時,二層交換設(shè)備通過VLAN內(nèi)的路由設(shè)備端口發(fā)送使能通知消息,以使三層組播路由設(shè)備取消查詢器選舉,各三層路由設(shè)備均周期性地發(fā)送IGMP普遍組查詢報文;當(dāng)二層交換設(shè)備接收到主機發(fā)送的IGMP Report報文時,二層交換設(shè)備根據(jù)該IGMP R印ort報文中攜帶的組播組地址確定對應(yīng)的路由設(shè)備端口,并將該IGMP Report報文發(fā)送到該路由設(shè)備端口對應(yīng)的三層組播路由設(shè)備,以使三層組播路由設(shè)備根據(jù)該IGMP R印ort報文發(fā)起相應(yīng)的組播組加入過程,實現(xiàn)了三層組播路由設(shè)備的負(fù)載均衡,提高了網(wǎng)絡(luò)資源利用率?!緦@綀D】
【附圖說明】
[0026]圖1為現(xiàn)有技術(shù)中三層組播協(xié)議的應(yīng)用位置示意圖;
圖2為現(xiàn)有技術(shù)中二層組播協(xié)議的應(yīng)用位置示意圖;
圖3為現(xiàn)有技術(shù)中IGMP查詢響應(yīng)示意圖;
圖4為現(xiàn)有技術(shù)中IGSP端口關(guān)系不意圖;
圖5為本發(fā)明實施例提供的一種負(fù)載均衡的實現(xiàn)方法的流程示意圖;
圖6為本發(fā)明實施例提供的一種負(fù)載均衡的實現(xiàn)方法的流程示意圖;
圖7為本發(fā)明實施例提供一種負(fù)載均衡的實現(xiàn)方法的具體應(yīng)用場景的架構(gòu)示意圖;
圖8為本發(fā)明實施例提供的一種具體應(yīng)用場景下的負(fù)載均衡的實現(xiàn)方法的流程示意
圖;
圖9為本發(fā)明實施例提供的一種網(wǎng)絡(luò)設(shè)備的結(jié)構(gòu)示意圖。
【具體實施方式】
[0027]針對現(xiàn)有技術(shù)存在的上述問題,本發(fā)明實施例提供了一種實現(xiàn)負(fù)載均衡的技術(shù)方案,可以應(yīng)用于包括主機、二層交換設(shè)備以及至少兩個三層組播路由設(shè)備的系統(tǒng)中,該主機、二層交換設(shè)備以及至少兩個三層組播路由設(shè)備屬于同一 VLAN。在該技術(shù)方案中,當(dāng)VLAN內(nèi)使能IGSP功能時,二層交換設(shè)備通過VLAN內(nèi)的路由設(shè)備端口發(fā)送使能通知消息,以使三層組播路由設(shè)備取消查詢器選舉,各三層路由設(shè)備均周期性地發(fā)送IGMP普遍組查詢報文;當(dāng)二層交換設(shè)備接收到主機發(fā)送的IGMP Report報文時,二層交換設(shè)備根據(jù)該IGMPReport報文中攜帶的組播組地址確定對應(yīng)的路由設(shè)備端口,并將該IGMP Report報文發(fā)送到該路由設(shè)備端口對應(yīng)的三層組播路由設(shè)備,由該三層組播路由設(shè)備根據(jù)該IGMP Report報文發(fā)起相應(yīng)的組播組加入過程,實現(xiàn)了三層組播路由設(shè)備的負(fù)載均衡,提高了網(wǎng)絡(luò)資源利用率。
[0028]在本發(fā)明實施例中,由于三層組播路由設(shè)備不再選舉查詢器,各三層組播路由設(shè)備均周期性發(fā)送IGMP普遍組查詢報文,且二層交換設(shè)備接收到IGMP Report報文后,根據(jù)IGMP Report報文中攜帶的組播組地址確定對應(yīng)的路由設(shè)備端口,均衡的向三層組播路由設(shè)備轉(zhuǎn)發(fā)IGMP Report報文,由各三層組播路由設(shè)備分別根據(jù)接收到的IGMP Report報文發(fā)起相應(yīng)的組播組加入過程,并在后續(xù)流程中對接收到的相應(yīng)組播組的組播數(shù)據(jù)進(jìn)行轉(zhuǎn)發(fā),與現(xiàn)有技術(shù)中組播組加入以及組播數(shù)據(jù)轉(zhuǎn)發(fā)均由單一的三層組播路由設(shè)備(查詢器)完成相比,實現(xiàn)了三層組播路由設(shè)備的負(fù)載均衡,提高了網(wǎng)絡(luò)資源利用率。
[0029]其中,IGMP普遍組查詢報文是三層組播路由設(shè)備向組播組成員發(fā)送的報文,用于查詢哪些組播組存在成員;IGMP R印ort報文是主機向三層組播路由器發(fā)送的報告報文,用于申請加入某個組播組或者應(yīng)答IGMP查詢報文。
[0030]下面將結(jié)合本發(fā)明的實施例中的附圖,對本發(fā)明的實施例中的技術(shù)方案進(jìn)行清楚、完整的描述,顯然,下面所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有付出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明的實施例保護(hù)的范圍。其中,為了便于描述,在本發(fā)明實施例中,若未特殊說明,查詢報文即為IGMP普遍組查詢報文。
[0031]如圖5所示,為本發(fā)明實施例提供的一種負(fù)載均衡的實現(xiàn)方法的流程示意圖,可以包括以下步驟:
步驟501、當(dāng)VLAN內(nèi)使能IGSP功能時,二層交換設(shè)備通過VLAN內(nèi)的路由設(shè)備端口發(fā)送使能通知消息,以使各三層組播路由設(shè)備均周期性發(fā)送IGMP普遍組查詢報文。
[0032]具體的,在本發(fā)明實施例中,定義一種新的IGMP消息類型,當(dāng)VLAN內(nèi)使能IGSP功能時,二層交換設(shè)備通過VLAN內(nèi)的路由設(shè)備端口發(fā)送使能通知消息。
[0033]當(dāng)前網(wǎng)絡(luò)中的三層組播路由設(shè)備接收到二層交換設(shè)備發(fā)送的使能通知消息后,取消查詢器選舉:三層組播路由設(shè)備中的非查詢器刪除當(dāng)前查詢器信息,恢復(fù)周期性發(fā)送查詢報文;三層組播路由設(shè)備中的查詢器保持周期性發(fā)送查詢報文。
[0034]其中,在當(dāng)系統(tǒng)中有新的三層組播路由設(shè)備加入時,該三層組播路由設(shè)備會發(fā)送查詢報文,二層交換設(shè)備接收到該查詢報文后,將接收到該查詢報文的端口添加為新的路由設(shè)備端口,并向該路由設(shè)備端口發(fā)送使能通知消息。新加入的三層組播路由設(shè)備接收到使能通知消息后,不會啟用查詢器選舉機制,而是周期性發(fā)送查詢報文。
[0035]步驟502、二層交換設(shè)備將接收到的查詢報文轉(zhuǎn)發(fā)給VLAN內(nèi)的主機,并接收主機返回的IGMP Report報文。
[0036]具體的,二層交換設(shè)備接收到三層組播路由設(shè)備發(fā)送的查詢報文后,通過VLAN內(nèi)的主機端口(成員端口)發(fā)送給VLAN內(nèi)的主機。主機接收到查詢報文后,向二層交換設(shè)備返回 IGMP Report 報文。
[0037]在本發(fā)明實施例中,二層交換設(shè)備接收到查詢報文后,若接收到該查詢報文的端口為已知的路由設(shè)備端口,則二層交換設(shè)備更新該路由設(shè)備端口對應(yīng)的老化定時器;若接收到該查詢報文的端口為非已知的路由設(shè)備端口,則二層交換設(shè)備將該端口添加為新的路由設(shè)備端口,并啟動對應(yīng)該路由設(shè)備端口的老化定時器。
[0038]其中,二層交換設(shè)備在一個查詢周期內(nèi)接收到的第一份查詢報文,向VLAN內(nèi)的各主機端口轉(zhuǎn)發(fā),一個查詢周期內(nèi)接收到的非第一份查詢報文,則僅更新對應(yīng)路由設(shè)備端口對應(yīng)的老化定時器,而不對該查詢報文進(jìn)行轉(zhuǎn)發(fā)。具體的,二層交換設(shè)備接收到查詢報文后,可以啟動對應(yīng)接收到該查詢報文的路由設(shè)備端口的查詢報文接收定時器,并當(dāng)二層交換設(shè)備在查詢報文接收定時器超時前,再次從該路由設(shè)備端口接收到查詢報文時,二層交換設(shè)備確定其為一個查詢周期內(nèi)通過該路由設(shè)備端口接收到的非第一份查詢報文,不做轉(zhuǎn)發(fā)處理,以保證主機在每個查詢周期內(nèi)僅接收到一份查詢報文,從而僅需要對一次查詢報文進(jìn)行響應(yīng),減少系統(tǒng)資源消耗。
[0039]步驟503、二層交換設(shè)備根據(jù)接收到的IGMP Report報文中攜帶的組播組地址確定對應(yīng)的路由設(shè)備端口,并將該IGMP Report報文發(fā)送給該路由設(shè)備端口對應(yīng)的三層組播路由設(shè)備,以使該三層組播路由設(shè)備根據(jù)該IGMP R印ort報文發(fā)起相應(yīng)的組播組加入過程。
[0040]具體的,在本發(fā)明實施例中,當(dāng)二層交換設(shè)備接收到IGMP R印ort報文時,二層交換設(shè)備可以根據(jù)該IGMP Report報文中攜帶的組播組地址確定對應(yīng)的路由設(shè)備端口,并將該IGMP R印ort報文發(fā)送給該路由設(shè)備端口對應(yīng)的三層組播路由設(shè)備。
[0041 ] 其中,在本發(fā)明實施例中,二層交換設(shè)備根據(jù)IGMP Report報文中攜帶的組播組地址確定對應(yīng)的路由設(shè)備端口可以具體通過以下方式實現(xiàn):
二層交換設(shè)備以IGMP R印ort報文中攜帶的組播組地址以及各路由設(shè)備端口的索引值作為參數(shù)進(jìn)行hash運算,分別計算各路由設(shè)備端口對應(yīng)的hash值。對于同一組播組地址,可以選擇hash值最大(或最小)的路由設(shè)備端口為該組播組地址對應(yīng)的路由設(shè)備端口 ;當(dāng)各路由設(shè)備端口對應(yīng)的hash值相同時,可以選擇路由設(shè)備端口的索引值最大(或最小)的路由設(shè)備端口作為該組播組地址對應(yīng)的路由設(shè)備端口。其中,IGMP R印ort報文中主要包含源MAC地址、目的MAC地址、源IP地址、目的IP地址、報文類型、組播組地址等字段;源MAC地址為發(fā)送IGMP Report報文的主機的MAC地址,目的MAC地址為該主機請求加入的組播組的組播組地址對應(yīng)的MAC地址,源IP地址為該主機的IP地址,目的IP地址為該主機請求加入的組播組地址,報文類型用于標(biāo)識該報文為R印ort報文,組播組地址為該主機請求加入的組播組地址。
[0042]二層交換設(shè)備確定了 IGMP Report報文中攜帶的組播組地址對應(yīng)的路由設(shè)備端口后,可以記錄組播組地址與路由設(shè)備端口的對應(yīng)關(guān)系,并當(dāng)后續(xù)流程中,再次接收到IGMPReport報文后,可以根據(jù)IGMP Report報文中攜帶的組播組地址查詢自身記錄的組播組地址與路由設(shè)備端口的對應(yīng)關(guān)系,若查詢到對應(yīng)的路由設(shè)備端口,則從查詢到的路由設(shè)備端口轉(zhuǎn)發(fā)IGMP Report報文;若未查詢到對應(yīng)的路由設(shè)備端口,則可以通過上述方式確定對應(yīng)的路由設(shè)備端口,并記錄該組播組地址與路由設(shè)備端口的對應(yīng)關(guān)系。
[0043]其中,二層交換設(shè)備接收到IGMP R印ort報文后,若接收到該IGMP R印ort報文的端口為已知的主機端口,則二層交換設(shè)備更新該主機端口對應(yīng)的老化定時器;若接收到該IGMP Report報文的端口為非已知的主機端口,則二層交換設(shè)備將該端口添加為新的主機端口,并啟動對應(yīng)該路由設(shè)備端口的老化定時器。
[0044]其中,二層交換設(shè)備在一個查詢周期內(nèi)收到的第一份該組播組的IGMP R印ort報文,向?qū)?yīng)的特定的路由設(shè)備端口轉(zhuǎn)發(fā)。
[0045]進(jìn)一步地,在本發(fā)明實施例中,二層交換設(shè)備接收到主機發(fā)送的IGMP Report報文后,還可以根據(jù)該IGMP Report報文中攜帶的組播組地址,以及接收到該IGMP Report報文的主機端口,記錄主機端口與組播組地址的對應(yīng)關(guān)系。
[0046]當(dāng)二層交換設(shè)備接收到組播數(shù)據(jù)時,二層交換設(shè)備可以根據(jù)該組播數(shù)據(jù)中攜帶的組播組地址,以及自身記錄的主機端口與組播組地址的對應(yīng)關(guān)系,將組播數(shù)據(jù)通過對應(yīng)的主機端口轉(zhuǎn)發(fā)給相應(yīng)的主機。
[0047]需要注意的是,在本發(fā)明實施例提供的技術(shù)方案中,二層交換設(shè)備也可以不記錄組播組地址與路由設(shè)備端口的對應(yīng)關(guān)系,而是在每次接收到主機發(fā)送的IGMP Report報文時,根據(jù)IGMP R印ort報文中攜帶的組播組地址確定對應(yīng)的路由設(shè)備端口(如通過上述實施例中hash運算方法),并由該路由設(shè)備端口向?qū)?yīng)的三層組播路由設(shè)備轉(zhuǎn)發(fā)IGMP Report報文。此外,在本發(fā)明實施例提供的技術(shù)方案中,確定組播組地址與路由設(shè)備端口的對應(yīng)關(guān)系也并不限于通過上述實施例提供的hash運算方法,也可以通過其他方法(如順序選擇,隨機選擇等)實現(xiàn),其具體實現(xiàn)方式在此不再贅述。
[0048]如圖6所示,本發(fā)明實施例提供的負(fù)載均衡的實現(xiàn)方法還可以包括以下步驟: 步驟504、當(dāng)VLAN內(nèi)去使能IGSP功能時,二層交換設(shè)備通過VLAN內(nèi)的路由設(shè)備端口發(fā)
送去使能消息,以使三層組播路由設(shè)備進(jìn)行查詢器選舉,并由查詢器周期性發(fā)送查詢報文。
[0049]具體的,在本發(fā)明實施例中,還可以定義另一種新的IGMP消息類型,當(dāng)VLAN內(nèi)去使能IGSP功能時,二層交換設(shè)備通過VLAN內(nèi)的路由設(shè)備端口發(fā)送去使能通知消息。
[0050]當(dāng)前網(wǎng)絡(luò)中的三層組播路由設(shè)備接收到二層交換設(shè)備發(fā)送的去使能通知消息后,啟動查詢器選舉機制,重新選舉查詢器。
[0051]步驟505、當(dāng)二層交換設(shè)備接收到主機發(fā)送的IGMP Report報文時,二層交換設(shè)備將該IGMP R印ort報文發(fā)送給查詢器,由查詢器根據(jù)該IGMP R印ort報文發(fā)起相應(yīng)的組播加入過程。
[0052]具體的,當(dāng)VLAN內(nèi)去使能IGSP后,二層交換設(shè)備對IGMP R印ort報文的轉(zhuǎn)發(fā)流程,以及后續(xù)流程中查詢器向上游發(fā)起加入過程和向下游轉(zhuǎn)發(fā)組播數(shù)據(jù)的流程可以與現(xiàn)有技術(shù)中的相應(yīng)處理流程相同,在此不再贅述。
[0053]為了更好地理解本發(fā)明實施例提供的技術(shù)方案,以下結(jié)合具體的應(yīng)用場景對本發(fā)明實施例提供的技術(shù)方案進(jìn)行更加詳細(xì)地描述。
[0054]如圖7所示,為本發(fā)明實施例提供一種負(fù)載均衡的實現(xiàn)方法的具體應(yīng)用場景的架構(gòu)不意圖,其中:
二層交換設(shè)備Switch A分別通過路由設(shè)備端口 Port l、Port 2以及Port 3與三層組播路由設(shè)備Router A、Router B以及Router C連接,且Router C為查詢器;Switch A、Router A、Router B、Router C、Host (主機)A、Host B、Host C 以及 Host D 屬于同一 VLAN。
[0055]基于圖7所示的應(yīng)用場景,本發(fā)明實施例提供的負(fù)載均衡的實現(xiàn)方法的流程示意圖可以如圖8所示,可以包括以下步驟:
步驟801、當(dāng)VLAN內(nèi)使能IGSP功能時,Switch A分別通過Port 1、Port 2以及Port3向Router A、Router B以及Router C發(fā)送使能通知消息。
[0056]步驟802、Router A和Router B接收到使能通知消息后,刪除當(dāng)前查詢器信息,并周期性發(fā)送查詢報文;Router C接收到使能通知消息后,仍保持周期性發(fā)送查詢報文。
[0057]步驟803、Switch A接收到查詢報文后,將查詢報文分別轉(zhuǎn)發(fā)給Host A、Host B、Host C 以及 Host D,并接收 Host A、Host B、Host C 以及 Host D 返回的 IGMP Report 報文。
[0058]步驟804、Switch A根據(jù)接收到的IGMP Report報文中攜帶的組播組地址確定對應(yīng)的路由設(shè)備端口,并將IGMP Report報文通過對應(yīng)的路由設(shè)備端口發(fā)送給相應(yīng)的三層組播路由設(shè)備。
[0059]具體的,在該實施例中,二層交換設(shè)備將組播組地址以及路由設(shè)備端口的索引值作為參數(shù)進(jìn)行hash運算,對于同一個組播組地址,比較不同路由設(shè)備端口計算出來的hash值,選擇hash值最大的路由設(shè)備端口作為該組播組地址對應(yīng)的路由設(shè)備端口 ;若各路由設(shè)備端口的hash值相同,則選擇路由設(shè)備端口的索引值最大的路由設(shè)備端口作為該組播組地址對應(yīng)的路由設(shè)備端口。
[0060]例如,在本發(fā)明實施例中,假設(shè)經(jīng)過hash計算后,組播組地址與端口的對應(yīng)關(guān)系如下:
Group address Router Port 225.0.0.0Port I
225.0.0.1Port 2
225.0.0.2Port I
225.0.0.3Port 3
225.0.0.4Port 2225.0.0.5Port 2
225.0.0.6Port 3
225.0.0.7Port I
則當(dāng) Switch A 收到組播組地址為 225.0.0.0,225.0.0.2,225.0.0.7 的 IGMP Report報文時,就會只向Router A轉(zhuǎn)發(fā),Router A負(fù)責(zé)向這些組播組發(fā)起加入,并向下游轉(zhuǎn)發(fā)這些組播組的組播流量。當(dāng)Switch A收到組播組地址為225.0.0.1,225.0.0.4,255.0.0.5的IGMP Report報文時,只向Router B轉(zhuǎn)發(fā),Router B負(fù)責(zé)向這些組播組發(fā)起加入過程,并向下游轉(zhuǎn)發(fā)這些組播組的組播流量。當(dāng)Switch A收到組225.0.0.3,225.0.0.6的IGMPReport報文時,只向Router C轉(zhuǎn)發(fā),Router C負(fù)責(zé)向這些組播組發(fā)起加入過程,并向下游轉(zhuǎn)發(fā)這些組播組的組播流量。
[0061]步驟805、三層組播路由設(shè)備接收到IGMP R印ort報文后,根據(jù)其中攜帶的組播組地址向?qū)?yīng)的組播組發(fā)起加入過程,并向下游轉(zhuǎn)發(fā)對應(yīng)組播組的組播流量。
[0062]具體的,三層組播組路由設(shè)備向下游轉(zhuǎn)發(fā)組播流量的處理方法可以與現(xiàn)有技術(shù)中查詢器向下游轉(zhuǎn)發(fā)組播流量的處理方法相類似,在此不再贅述。
[0063]步驟806、當(dāng)VLAN內(nèi)去使能IGSP功能時,Switch A向分別通過Port UPort 2以及Port 3向Router A、Router B以及Router C發(fā)送去使能通知消息。
[0064]步驟807、Router A 、Router B以及Router C接收到去使能通知消息后,啟用查詢器選舉機制,重新選舉查詢器。
[0065]具體的,Router A、Router B以及Router C進(jìn)行查詢器選舉,以及選擇出查詢器后的報文和數(shù)據(jù)轉(zhuǎn)發(fā)與現(xiàn)有技術(shù)中的相應(yīng)處理流程相類似,在此不再贅述。
[0066]通過以上描述可知,在本發(fā)明實施例提供的方案中,當(dāng)VLAN內(nèi)使能IGSP功能時,通過二層交換設(shè)備向三層組播路由設(shè)備發(fā)送使能通知消息,使三層組播路由設(shè)備取消查詢器選舉;當(dāng)二層交換設(shè)備接收到主機發(fā)送的IGMP R印ort報文后,根據(jù)其中攜帶的組播組地址確定對應(yīng)的路由設(shè)備端口,并將IGMP Report通過該路由設(shè)備端口發(fā)送給對應(yīng)的三層組播路由設(shè)備,由該三層組播路由設(shè)備向相應(yīng)的組播組發(fā)起加入過程。通過使用本發(fā)明,一個組播組地址唯一對應(yīng)一個路由設(shè)備端口,不同組播組地址均衡地對應(yīng)不同的路由設(shè)備端口。二層交換設(shè)備將從主機接收到的不同組播組的IGMP R印ort報文,均衡的向上游的三層組播路由設(shè)備轉(zhuǎn)發(fā),從而實現(xiàn)了三層組播路由設(shè)備的負(fù)載均衡,提高了網(wǎng)絡(luò)資源利用率。
[0067]基于上述方法實施例系統(tǒng)的發(fā)明構(gòu)思,本發(fā)明實施例還提供了一種網(wǎng)絡(luò)設(shè)備,可以作為二層交換設(shè)備應(yīng)用于上述方法實施例。
[0068]如圖9所示,為本發(fā)明實施例提供的一種網(wǎng)絡(luò)設(shè)備的結(jié)構(gòu)示意圖,該網(wǎng)絡(luò)設(shè)備可以作為二層交換設(shè)備應(yīng)用于包括主機以及至少兩個三層組播路由設(shè)備的系統(tǒng)中,所述主機、二層交換設(shè)備以及至少兩個三層組播路由設(shè)備屬于同一虛擬局域網(wǎng)VLAN,該網(wǎng)絡(luò)設(shè)備包括:
第一發(fā)送模塊91,用于當(dāng)所述VLAN內(nèi)使能互聯(lián)網(wǎng)組管理協(xié)議窺探IGSP功能時,通過所述VLAN內(nèi)的路由設(shè)備端口發(fā)送使能通知消息,以使所述至少兩個三層組播路由設(shè)備均周期性發(fā)送互聯(lián)網(wǎng)組管理協(xié)議IGMP普遍組查詢報文;
第一接收模塊92,用于接收三層組播路由設(shè)備發(fā)送的IGMP普遍組查詢報文;
第二發(fā)送模塊93,用于將所述第一接收模塊92接收到的IGMP普遍組查詢報文轉(zhuǎn)發(fā)給所述主機;
第二接收模塊94,用于接收所述主機返回的IGMP報告R印ort報文;
確定模塊95,用于根據(jù)所述第二接收模塊94接收到的IGMP R印ort報文中攜帶的組播組地址確定對應(yīng)的路由設(shè)備端口 ;
第三發(fā)送模塊96,用于將所述IGMP R印ort報文發(fā)送給所述確定模塊確定的路由設(shè)備端口對應(yīng)的三層組播路由設(shè)備,以使所述三層組播路由設(shè)備根據(jù)該IGMP Report報文發(fā)起相應(yīng)的組播組加入過程。
[0069]其中,所述確定模塊95具體用于,將所述IGMP Report報文中攜帶的組播組地址和所述VLAN內(nèi)的路由設(shè)備端口的索引值,作為參數(shù)進(jìn)行hash運算,根據(jù)hash運算結(jié)果確定組播組地址與路由設(shè)備端口的對應(yīng)關(guān)系,并根據(jù)所述組播組地址與路由設(shè)備端口的對應(yīng)關(guān)系,確定所述IGMP Report報文中攜帶的組播組地址對應(yīng)的路由設(shè)備端口。
[0070]其中,所述網(wǎng)絡(luò)設(shè)備還包括:
記錄設(shè)備97,用于記錄所述確定模塊95確定的組播組地址與路由設(shè)備端口的對應(yīng)關(guān)
系O
[0071]所述確定模塊95還用于,當(dāng)所述第二接收模塊94接收到IGMP Report報文時,根據(jù)該IGMP Report報文中攜帶的組播組地址查詢所述記錄模塊97記錄的組播組地址和路由設(shè)備端口的對應(yīng)關(guān)系,并當(dāng)查詢到所述IGMP Report報文中攜帶的組播組地址與路由設(shè)備端口的對應(yīng)關(guān)系時,根據(jù)該查詢到的對應(yīng)關(guān)系確定所述IGMP Report報文中攜帶的組播組地址對應(yīng)的路由設(shè)備端口。
[0072]其中,所述確定模塊95具體用于,對于同一個組播組地址,比較不同路由設(shè)備端口對應(yīng)的hash值,選擇hash值最大或最小的路由設(shè)備端口作為該組播組地址對應(yīng)的路由設(shè)備端口 ;當(dāng)不同路由設(shè)備端口對應(yīng)的hash值相同時,選擇路由設(shè)備端口的索引值最大或最小的路由設(shè)備端口作為該組播組地址對應(yīng)的路由設(shè)備端口。
[0073]其中,所述第二發(fā)送模塊93具體用于,當(dāng)所述第一接收模塊92通過路由設(shè)備端口接收到IGMP普遍組查詢報文時,啟動對應(yīng)該路由設(shè)備端口的查詢報文接收定時器,并將所述IGMP普遍組查詢報文轉(zhuǎn)發(fā)給所述主機;當(dāng)所述第一接收模塊在所述查詢報文接收定時器超時前,再次從該路由設(shè)備端口接收到IGMP普遍組查詢報文時,不轉(zhuǎn)發(fā)該IGMP普遍組查詢報文。
[0074]其中,所述第一發(fā)送模塊91還用于,當(dāng)所述VLAN內(nèi)去使能IGSP功能時,通過所述VLAN內(nèi)的路由設(shè)備端口發(fā)送去使能通知消息,以使所述至少兩個三層組播路由設(shè)備進(jìn)行查詢器選舉,并由查詢器周期性發(fā)送IGMP普遍組查詢報文;
所述第三發(fā)送模塊96還用于,當(dāng)所述第二接收模塊94接收到主機發(fā)送的IGMP Report報文時,將所述IGMP Report報文發(fā)送給所述查詢器,由該查詢器根據(jù)該IGMP Report報文發(fā)起相應(yīng)的組播組加入過程。
[0075]本領(lǐng)域技術(shù)人員可以理解實施例中的裝置中的模塊可以按照實施例描述進(jìn)行分布于實施例的裝置中,也可以進(jìn)行相應(yīng)變化位于不同于本實施例的一個或多個裝置中。上述實施例的模塊可以合并為一個模塊,也可以進(jìn)一步拆分成多個子模塊。
[0076]通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當(dāng)然也可以通過硬件,但很多情況下前者是更佳的實施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺終端設(shè)備(可以是手機,個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述的方法。
[0077]以上所述僅是本發(fā)明的優(yōu)選實施方式,應(yīng)當(dāng)指出,對于本【技術(shù)領(lǐng)域】的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)視本發(fā)明的保護(hù)范圍。
【權(quán)利要求】
1.一種負(fù)載均衡的實現(xiàn)方法,其特征在于,應(yīng)用于包括主機、二層交換設(shè)備以及至少兩個三層組播路由設(shè)備的系統(tǒng)中,所述主機、二層交換設(shè)備以及至少兩個三層組播路由設(shè)備屬于同一虛擬局域網(wǎng)VLAN,該方法包括: 當(dāng)所述VLAN內(nèi)使能互聯(lián)網(wǎng)組管理協(xié)議窺探IGSP功能時,所述二層交換設(shè)備通過所述VLAN內(nèi)的路由設(shè)備端口發(fā)送使能通知消息,以使所述至少兩個三層組播路由設(shè)備均周期性發(fā)送互聯(lián)網(wǎng)組管理協(xié)議IGMP普遍組查詢報文; 所述二層交換設(shè)備將接收到的IGMP普遍組查詢報文轉(zhuǎn)發(fā)給所述主機,并接收所述主機返回的IGMP報告Iteport報文; 所述二層交換設(shè)備根據(jù)所述IGMP R印ort報文中攜帶的組播組地址確定對應(yīng)的路由設(shè)備端口,并將所述IGMP Report報文發(fā)送給該路由設(shè)備端口對應(yīng)的三層組播路由設(shè)備,以使所述三層組播路由設(shè)備根據(jù)該IGMP R印ort報文發(fā)起相應(yīng)的組播組加入過程。
2.如權(quán)利要求1所述的方法,其特征在于,所述二層交換設(shè)備根據(jù)所述IGMPReport報文中攜帶的組播組地址確定對應(yīng)的路由設(shè)備端口,具體為: 所述二層交換設(shè)備將所述IGMP Report報文中攜帶的組播組地址和所述VLAN內(nèi)的路由設(shè)備端口的索引值,作為參數(shù)進(jìn)行hash運算,根據(jù)hash運算結(jié)果確定組播組地址與路由設(shè)備端口的對應(yīng)關(guān)系,并根據(jù)所述組播組地址與路由設(shè)備端口的對應(yīng)關(guān)系,確定所述IGMPReport報文中攜帶的組播組地址對應(yīng)的路由設(shè)備端口。
3.如權(quán)利要求2所述的方法,其特征在于,該方法還包括: 所述二層交換設(shè)備記錄所述組播組地址與路由設(shè)備端口的對應(yīng)關(guān)系; 當(dāng)所述二層交換設(shè)備接收到IGMP Report報文時,根據(jù)該IGMP Report報文中攜帶的組播組地址查詢自身記錄的組播組地址和`路由設(shè)備端口的對應(yīng)關(guān)系,并當(dāng)查詢到該IGMPReport報文中攜帶的組播組地址與路由設(shè)備端口的對應(yīng)關(guān)系時,根據(jù)查詢到的對應(yīng)關(guān)系確定所述IGMP Report報文中攜帶的組播組地址對應(yīng)的路由設(shè)備端口。
4.如權(quán)利要求2所述的方法,其特征在于,所述根據(jù)hash運算結(jié)果確定組播組地址與路由設(shè)備端口的對應(yīng)關(guān)系,具體為: 對于同一個組播組地址,比較不同路由設(shè)備端口對應(yīng)的hash值,選擇hash值最大或最小的路由設(shè)備端口作為該組播組地址對應(yīng)的路由設(shè)備端口; 當(dāng)不同路由設(shè)備端口對應(yīng)的hash值相同時,選擇路由設(shè)備端口的索引值最大或最小的路由設(shè)備端口作為該組播組地址對應(yīng)的路由設(shè)備端口。
5.如權(quán)利要求1所述的方法,其特征在于,所述二層交換設(shè)備將接收到的IGMP普遍組查詢報文轉(zhuǎn)發(fā)給所述主機,具體為: 當(dāng)所述二層交換設(shè)備通過路由設(shè)備端口接收到IGMP普遍組查詢報文時,所述二層交換設(shè)備啟動對應(yīng)該路由設(shè)備端口的查詢報文接收定時器,并將所述IGMP普遍組查詢報文轉(zhuǎn)發(fā)給所述主機; 當(dāng)所述二層交換設(shè)備在所述查詢報文接收定時器超時前,再次從該路由設(shè)備端口接收到IGMP普遍組查詢報文時,所述二層交換設(shè)備不轉(zhuǎn)發(fā)該IGMP普遍組查詢報文。
6.如權(quán)利要求1所述的方法,其特征在于,該方法還包括: 當(dāng)所述VLAN內(nèi)去使能IGSP功能時,所述二層交換設(shè)備通過所述VLAN內(nèi)的路由設(shè)備端口發(fā)送去使能通知消息,以使所述至少兩個三層組播路由設(shè)備進(jìn)行查詢器選舉,并由查詢器周期性發(fā)送IGMP普遍組查詢報文; 當(dāng)所述二層交換設(shè)備接收到主機發(fā)送的IGMP Report報文時,所述二層交換設(shè)備將所述IGMP R印ort報文發(fā)送給所述查詢器,由該查詢器根據(jù)該IGMP R印ort報文發(fā)起相應(yīng)的組播組加入過程。
7.—種網(wǎng)絡(luò)設(shè)備,其特征在于,作為二層交換設(shè)備應(yīng)用于包括主機以及至少兩個三層組播路由設(shè)備的系統(tǒng)中,所述主機、二層交換設(shè)備以及至少兩個三層組播路由設(shè)備屬于同一虛擬局域網(wǎng)VLAN,該網(wǎng)絡(luò)設(shè)備包括: 第一發(fā)送模塊,用于當(dāng)所述VLAN內(nèi)使能互聯(lián)網(wǎng)組管理協(xié)議窺探IGSP功能時,通過所述VLAN內(nèi)的路由設(shè)備端口發(fā)送使能通知消息,以使所述至少兩個三層組播路由設(shè)備均周期性發(fā)送互聯(lián)網(wǎng)組管理協(xié)議IGMP普遍組查詢報文; 第一接收模塊,用于接收三層組播路由設(shè)備發(fā)送的IGMP普遍組查詢報文; 第二發(fā)送模塊,用于將所述第一接收模塊接收到的IGMP普遍組查詢報文轉(zhuǎn)發(fā)給所述主機; 第二接收模塊,用于接收所述主機返回的IGMP報告Report報文; 確定模塊,用于根據(jù)所述第二接收模塊接收到的IGMP R印ort報文中攜帶的組播組地址確定對應(yīng)的路由設(shè)備端口; 第三發(fā)送模塊,用于將所述IGMP Report報文發(fā)送給所述確定模塊確定的路由設(shè)備端口對應(yīng)的三層組播路由設(shè)備,以使所述三層組播路由設(shè)備根據(jù)該IGMP Report報文發(fā)起相應(yīng)的組播組加入過程。`
8.如權(quán)利要求7所述的網(wǎng)絡(luò)設(shè)備,其特征在于, 所述確定模塊具體用于,將所述IGMP Report報文中攜帶的組播組地址和所述VLAN內(nèi)的路由設(shè)備端口的索引值,作為參數(shù)進(jìn)行hash運算,根據(jù)hash運算結(jié)果確定組播組地址與路由設(shè)備端口的對應(yīng)關(guān)系,并根據(jù)所述組播組地址與路由設(shè)備端口的對應(yīng)關(guān)系,確定所述IGMP Report報文中攜帶的組播組地址對應(yīng)的路由設(shè)備端口。
9.如權(quán)利要求8所述的網(wǎng)絡(luò)設(shè)備,其特征在于,所述網(wǎng)絡(luò)設(shè)備還包括: 記錄模塊,用于記錄所述確定模塊確定的組播組地址與路由設(shè)備端口的對應(yīng)關(guān)系; 所述確定模塊還用于,當(dāng)所述第二接收模塊接收到IGMP Report報文時,根據(jù)該IGMPReport報文中攜帶的組播組地址查詢所述記錄模塊記錄的組播組地址和路由設(shè)備端口的對應(yīng)關(guān)系,并當(dāng)查詢到所述IGMP Report報文中攜帶的組播組地址與路由設(shè)備端口的對應(yīng)關(guān)系時,根據(jù)該查詢到的對應(yīng)關(guān)系確定所述IGMP Report報文中攜帶的組播組地址對應(yīng)的路由設(shè)備端口。
10.如權(quán)利要求8所述的網(wǎng)絡(luò)設(shè)備,其特征在于, 所述確定模塊具體用于,對于同一個組播組地址,比較不同路由設(shè)備端口對應(yīng)的hash值,選擇hash值最大或最小的路由設(shè)備端口作為該組播組地址對應(yīng)的路由設(shè)備端口 ;當(dāng)不同路由設(shè)備端口對應(yīng)的hash值相同時,選擇路由設(shè)備端口的索引值最大或最小的路由設(shè)備端口作為該組播組地址對應(yīng)的路由設(shè)備端口。
11.如權(quán)利要求7所述的網(wǎng)絡(luò)設(shè)備,其特征在于, 所述第二發(fā)送模塊具體用于,當(dāng)所述第一接收模塊通過路由設(shè)備端口接收到IGMP普遍組查詢報文時,啟動對應(yīng)該路由設(shè)備端口的查詢報文接收定時器,并將所述IGMP普遍組查詢報文轉(zhuǎn)發(fā)給所述主機;當(dāng)所述第一接收模塊在所述查詢報文接收定時器超時前,再次從該路由設(shè)備端口接收到IGMP普遍組查詢報文時,不轉(zhuǎn)發(fā)該IGMP普遍組查詢報文。
12.如權(quán)利要求7所述的網(wǎng)絡(luò)設(shè)備,其特征在于, 所述第一發(fā)送模塊還用于,當(dāng)所述VLAN內(nèi)去使能IGSP功能時,通過所述VLAN內(nèi)的路由設(shè)備端口發(fā)送去使能通知消息,以使所述至少兩個三層組播路由設(shè)備進(jìn)行查詢器選舉,并由查詢器周期性發(fā)送IGMP普遍組查詢報文; 所述第三發(fā)送模塊還用于,當(dāng)所述第二接收模塊接收到主機發(fā)送的IGMP Report報文時,將所述IGMP Report報文發(fā)送給所述查詢器,由該查詢器根據(jù)該IGMP Report報文發(fā)起相應(yīng)的組播組加入過 程。
【文檔編號】H04L12/803GK103780503SQ201210397147
【公開日】2014年5月7日 申請日期:2012年10月18日 優(yōu)先權(quán)日:2012年10月18日
【發(fā)明者】梁玉潔, 王偉 申請人:杭州華三通信技術(shù)有限公司