飛崧淺析工業(yè)以太網(wǎng)組播技術(shù)簡介
發(fā)布時(shí)間:2018.03.07 新聞來源: 瀏覽次數(shù):
組播, 英文原文為Multicast, 也有人把它譯為多播, 是IP網(wǎng)絡(luò)中三種通訊方式之一(其它兩種為廣播-Broadcast, 點(diǎn)到點(diǎn)通訊也叫單播-Unicast)。 在工業(yè)現(xiàn)場總線工業(yè)以太網(wǎng)化的應(yīng)用環(huán)境下, 組播技術(shù)是目前最為常用的一種保證同屬于一個(gè)通訊主站下的多個(gè)通訊從站之間能較為實(shí)時(shí)的收到來自該主站的同一信息, 即每個(gè)從站收到該信息的時(shí)刻比較一致。
組播技術(shù)主要是依靠將某一組播地址(包含了多個(gè)目的地址)作為信息的目的地址, 并使用最高效的傳輸策略: 信息在每條網(wǎng)絡(luò)鏈路上只需傳遞一次,只有在鏈路分叉的時(shí),該信息才會(huì)被復(fù)制。那么組播技術(shù)是如何管理由多個(gè)目的地址組成的組播組的呢? 以下這些常見的組播技術(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)。 首先介紹IGMP - Internet Group Management Protocol即因特網(wǎng)組管理協(xié)議, 因?yàn)檫@是目前幾乎所有的工業(yè)以太網(wǎng)交換產(chǎn)品均支持的組播技術(shù), 也是最為常用的組播技術(shù)。
因特網(wǎng)組管理協(xié)議被用在IP主機(jī)和它們即時(shí)相鄰組播代理之間,用以支持臨時(shí)組播組地址的分配和組播組成員的添加刪除。IP組播定義為一個(gè)去往"(目的)主機(jī)群"的IP數(shù)據(jù)報(bào)(packet)的傳輸,有零個(gè)或多個(gè)主機(jī)組成的"主機(jī)群"通過單個(gè)IP目的地址標(biāo)識(shí)。一個(gè)組播數(shù)據(jù)報(bào)被投遞給它的目的主機(jī)群的所有成員,具有和常規(guī)單路傳送IP數(shù)據(jù)報(bào)同樣的"盡力地(best effort-UDP)"安全性,那就是說該數(shù)據(jù)報(bào)不保證達(dá)到目的地組的所有成員,或者不和其他數(shù)據(jù)報(bào)具有相同的順序。主機(jī)組的成員數(shù)是動(dòng)態(tài)的;也就是說,主機(jī)隨時(shí)可以參加和離開組。 沒有對(duì)主機(jī)組中的成員的數(shù)目或地點(diǎn)加以限制,但是成員僅限于那些擁有專用的存取鍵的主機(jī)。一個(gè)主機(jī)可能同時(shí)是多個(gè)組的成員。一個(gè)主機(jī)即時(shí)不是一個(gè)組的成員也可以給它發(fā)送數(shù)據(jù)報(bào)。主機(jī)組可能永久性或暫時(shí)性的。永久性組具有一個(gè)眾所周知的,官方分配的IP地址。它是地址,非該組的成員,也就是說永久性;任何時(shí)間,一個(gè)永久性組也許有許多成員,甚至可能有零個(gè)成員。 另一方面,臨時(shí)性的組,當(dāng)應(yīng)一個(gè)主機(jī)的請(qǐng)求創(chuàng)建時(shí)被動(dòng)態(tài)地指派一個(gè)地址。當(dāng)它的成員跌至零,臨時(shí)性的組要解散時(shí),它的地址可以重新分配。臨時(shí)組的創(chuàng)建和組員身份信息的維護(hù)是“組播代理”(存在于因特網(wǎng)網(wǎng)關(guān)或其他專用的主機(jī)內(nèi)的實(shí)體)的職責(zé)。至少有一個(gè)組播代理直接與每個(gè)支持IP多點(diǎn)廣播的IP網(wǎng)絡(luò)或子網(wǎng)相連。主機(jī)通過用鄰機(jī)代理交換報(bào)文來請(qǐng)求新建一個(gè)組、加入或離開現(xiàn)有組。組播代理還擔(dān)負(fù)多點(diǎn)播送IP數(shù)據(jù)報(bào)的互連網(wǎng)絡(luò)運(yùn)送工作。發(fā)送一個(gè)多點(diǎn)播送IP數(shù)據(jù)報(bào)時(shí),主機(jī)將它傳送到一個(gè)局域網(wǎng)組播地址那里,哪些地址標(biāo)識(shí)目的地主機(jī)組的所有鄰機(jī)成員。如果該組具有在其他網(wǎng)絡(luò)的成員,組播代理成為本地組播的輔助接收器并且通過因特網(wǎng)網(wǎng)關(guān)系統(tǒng)中繼該數(shù)據(jù)報(bào)給其他網(wǎng)絡(luò)上的代理。最后,另一個(gè)網(wǎng)絡(luò)上的代理將數(shù)據(jù)報(bào)作為一個(gè)本地的組播傳送給他們自己目的組的鄰機(jī)成員。
目前市面上的絕大多數(shù)用于現(xiàn)場的工業(yè)以太網(wǎng)交換設(shè)備為二層交換設(shè)備,即不支持三層技術(shù)如剛才提到的組播技術(shù)。所有這些工業(yè)以太網(wǎng)交換機(jī)采用IGMP snooping的技術(shù)-通過動(dòng)態(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報(bào)告欲加入某一特定的組播組的報(bào)告時(shí),該交換機(jī)會(huì)在其轉(zhuǎn)發(fā)表項(xiàng)中加入該主機(jī)所連接的端口號(hào);當(dāng)工業(yè)以太網(wǎng)交換機(jī)收到來自某一主機(jī)的欲離開某一特定組播組的報(bào)告時(shí),它將其連接的交換機(jī)端口號(hào)從這一表項(xiàng)中刪除。交換機(jī)也會(huì)定時(shí)地刪除它的組播組成員表項(xiàng),如果它沒有從組播客戶端收到IGMP組播成員報(bào)告。網(wǎng)絡(luò)中的三層交換設(shè)備如三層交換機(jī)或路由器等會(huì)定期地送出IGMP通用問詢給所有的VLAN(虛擬局域網(wǎng))。一旦工業(yè)以太網(wǎng)交換機(jī)上的IGMP snooping功能被打開,該交換機(jī)將基于MAC組播組為所連接設(shè)備的加入請(qǐng)求來響應(yīng)三層交換設(shè)備的詢問,并為每個(gè)VLAN、每個(gè)MAC組播組在其轉(zhuǎn)發(fā)表項(xiàng)中創(chuàng)建相應(yīng)的表項(xiàng)。