組播技術(shù)主要是依靠將某一組播地址(包含了多個目的地址)作為信息的目的地址, 并使用最高效的傳輸策略: 信息在每條網(wǎng)絡(luò)鏈路上只需傳遞一次,只有在鏈路分叉的時,該信息才會被復(fù)制。那么組播技術(shù)是如何管理由多個目的地址組成的組播組的呢? 以下這些常見的組播技術(shù)協(xié)議都有相關(guān)的規(guī)定: 互聯(lián)網(wǎng)組管理協(xié)議(IGMP), 協(xié)議無關(guān)組播(PIM), 距離矢量組播路由協(xié)議(DVMRP), 組播OSPF(MOSPF), 組播BGP(MBGP), 組播源發(fā)現(xiàn)協(xié)議(MSDP)和組播監(jiān)聽器發(fā)現(xiàn)(MLD)。 由于篇幅的關(guān)系, 本人首先介紹IGMP - Internet Group Management Protocol即因特網(wǎng)組管理協(xié)議, 因為這是目前幾乎所有的工業(yè)以太網(wǎng)交換產(chǎn)品均支持的組播技術(shù), 也是最為常用的組播技術(shù)。
因特網(wǎng)組管理協(xié)議被用在IP主機(jī)和它們即時相鄰組播代理之間,用以支持臨時組播組地址的分配和組播組成員的添加刪除。IP組播定義為一個去往"(目的)主機(jī)群"的IP數(shù)據(jù)報(packet)的傳輸,有零個或多個主機(jī)組成的"主機(jī)群"通過單個IP目的地址標(biāo)識。一個組播數(shù)據(jù)報被投遞給它的目的主機(jī)群的所有成員,具有和常規(guī)單路傳送IP數(shù)據(jù)報同樣的"盡力地(best effort-UDP)"安全性,那就是說該數(shù)據(jù)報不保證達(dá)到目的地組的所有成員,或者不和其他數(shù)據(jù)報具有相同的順序。主機(jī)組的成員數(shù)是動態(tài)的;也就是說,主機(jī)隨時可以參加和離開組。 沒有對主機(jī)組中的成員的數(shù)目或地點加以限制,但是成員僅限于那些擁有專用的存取鍵的主機(jī)。一個主機(jī)可能同時是多個組的成員。一個主機(jī)即時不是一個組的成員也可以給它發(fā)送數(shù)據(jù)報。主機(jī)組可能永久性或暫時性的。永久性組具有一個眾所周知的,官方分配的IP地址。它是地址,非該組的成員,也就是說永久性;任何時間,一個永久性組也許有許多成員,甚至可能有零個成員。 另一方面,臨時性的組,當(dāng)應(yīng)一個主機(jī)的請求創(chuàng)建時被動態(tài)地指派一個地址。當(dāng)它的成員跌至零,臨時性的組要解散時,它的地址可以重新分配。臨時組的創(chuàng)建和組員身份信息的維護(hù)是“組播代理”(存在于因特網(wǎng)網(wǎng)關(guān)或其他專用的主機(jī)內(nèi)的實體)的職責(zé)。至少有一個組播代理直接與每個支持IP多點廣播的IP網(wǎng)絡(luò)或子網(wǎng)相連。主機(jī)通過用鄰機(jī)代理交換報文來請求新建一個組、加入或離開現(xiàn)有組。組播代理還擔(dān)負(fù)多點播送IP數(shù)據(jù)報的互連網(wǎng)絡(luò)運送工作。發(fā)送一個多點播送IP數(shù)據(jù)報時,主機(jī)將它傳送到一個局域網(wǎng)組播地址那里,哪些地址標(biāo)識目的地主機(jī)組的所有鄰機(jī)成員。如果該組具有在其他網(wǎng)絡(luò)的成員,組播代理成為本地組播的輔助接收器并且通過因特網(wǎng)網(wǎng)關(guān)系統(tǒng)中繼該數(shù)據(jù)報給其他網(wǎng)絡(luò)上的代理。最后,另一個網(wǎng)絡(luò)上的代理將數(shù)據(jù)報作為一個本地的組播傳送給他們自己目的組的鄰機(jī)成員。
目前市面上的絕大多數(shù)用于現(xiàn)場的工業(yè)以太網(wǎng)交換設(shè)備為二層交換設(shè)備,即不支持三層技術(shù)如剛才提到的組播技術(shù)。所有這些工業(yè)以太網(wǎng)交換機(jī)采用IGMP snooping的技術(shù)-通過動態(tài)地配置二層端口的方法來抑制組播流量的泛濫,這樣才能保證組播流量僅被轉(zhuǎn)發(fā)給那些與IP組播設(shè)備相關(guān)聯(lián)的端口。正如其名稱的含義,IGMP snooping需要工業(yè)以太網(wǎng)交換機(jī)去打探在主機(jī)和三層設(shè)備之間的IGMP傳輸意圖并記錄組播組及其成員的端口。當(dāng)工業(yè)以太網(wǎng)交換機(jī)收到來自某一主機(jī)的IGMP報告欲加入某一特定的組播組的報告時,該交換機(jī)會在其轉(zhuǎn)發(fā)表項中加入該主機(jī)所連接的端口號;當(dāng)工業(yè)以太網(wǎng)交換機(jī)收到來自某一主機(jī)的欲離開某一特定組播組的報告時,它將其連接的交換機(jī)端口號從這一表項中刪除。交換機(jī)也會定時地刪除它的組播組成員表項,如果它沒有從組播客戶端收到IGMP組播成員報告。網(wǎng)絡(luò)中的三層交換設(shè)備如三層交換機(jī)或路由器等會定期地送出IGMP通用問詢給所有的VLAN(虛擬局域網(wǎng))。一旦工業(yè)以太網(wǎng)交換機(jī)上的IGMP snooping功能被打開,該交換機(jī)將基于MAC組播組為所連接設(shè)備的加入請求來響應(yīng)三層交換設(shè)備的詢問,并為每個VLAN、每個MAC組播組在其轉(zhuǎn)發(fā)表項中創(chuàng)建相應(yīng)的表項。
(轉(zhuǎn)載)