時(shí)間:2007-08-06 15:05:00來源:shixiang
圖1 不同VLAN 的工作站通過路由器轉(zhuǎn)發(fā)數(shù)據(jù)[/align]
3. IGMP 竊聽(IGMP Snooping)
互聯(lián)網(wǎng)組管理協(xié)議IGMP(Internet Group Management Protocol)定義了工作站如何向路由器注冊以便能接收到特定的IP 多播數(shù)據(jù)。當(dāng)以太網(wǎng)交換機(jī)收到工作站和路由器之間傳遞的IGMP 報(bào)文時(shí),通過截取并分析IGMP 報(bào)文所帶的信息,在鏈路建立和維護(hù)MAC 多播地址轉(zhuǎn)發(fā)表,以后從路由器下發(fā)的多播報(bào)文就根據(jù)該表中的“多播組-端口”對應(yīng)關(guān)系進(jìn)行轉(zhuǎn)發(fā)[2][3]。
3.1 通過IGMP 竊聽加入某一多播組
[align=center]
圖2 通過IGMP 竊聽加入一個(gè)多播組[/align]
當(dāng)工作站是某交換組中第一個(gè)希望加入某一多播組的工作站時(shí),如圖2 中的工作站A,加入過程如下:工作站A 先主動(dòng)向路由器發(fā)送一條IGMP 成員報(bào)告,交換機(jī)通過截取分析該成員報(bào)告得知工作站希望加入的多播組,然后為其創(chuàng)建一個(gè)多播項(xiàng)目組,并把它鏈接到工作站A 所在的端口和所有的路由器端口。最后交換機(jī)把該IGMP 成員報(bào)告轉(zhuǎn)發(fā)給路由器端口,以便路由器能夠接收到該IGMP 報(bào)告,并相應(yīng)地更新它的多播路由表。
當(dāng)工作站希望加入一個(gè)已存在的多播組時(shí),如圖2 中工作站B 希望加入工作站A 已經(jīng)加入的多播組中。交換機(jī)只是簡單的將該工作站所在端口鏈接到已存在的多播組上,不再向路由器轉(zhuǎn)發(fā)IGMP 報(bào)告,而是使用代理報(bào)告(Proxy Reporting)機(jī)制每隔10s 向路由器為每個(gè)多播組轉(zhuǎn)發(fā)一次IGMP 報(bào)告。這種代理報(bào)告機(jī)制可以減少IGMP 竊聽多播機(jī)制消耗的帶寬[3]。
3.2 使用IGMP 竊聽離開一個(gè)多播組
當(dāng)工作站想離開一個(gè)多播組時(shí),它可以簡單的忽略周期的IGMP 詢問報(bào)文,或者發(fā)送一條IGMP Leave 報(bào)文。當(dāng)交換機(jī)收到對某多播組的IGMP Leave 報(bào)文時(shí),則會(huì)向接收該報(bào)文的端口發(fā)送所離開組的特定組查詢報(bào)文,以確認(rèn)此端口相連的工作站中還有沒有該多播組的其他成員,同時(shí)啟動(dòng)一個(gè)查詢響應(yīng)定時(shí)器。如果在該定時(shí)器超時(shí)還沒有收到該多播組的報(bào)告報(bào)文,則將該端口從相應(yīng)的MAC 多播組中移除。如果MAC 多播組在交換機(jī)的各個(gè)端口都沒有組成員時(shí),交換機(jī)將通知多播路由器將該分支從多播樹中刪除[2]。
4. Cisco 組管理協(xié)議(Cisco Group Management Protocol)
CGMP 是Cisco 公司專有的組管理協(xié)議,它是在多播路由器和交換機(jī)之間使用的一種通信協(xié)議,主要工作方式是多播路由器通過CGMP 報(bào)文通知交換機(jī)它所得到的IGMP 信息,交換機(jī)上的CGMP 模塊會(huì)把接收到CGMP 幀中的“多播組-工作站”對應(yīng)關(guān)系轉(zhuǎn)換為“多播組-端口”對,并基于此建立本地的多播地址轉(zhuǎn)發(fā)表,然后依照這個(gè)關(guān)系轉(zhuǎn)發(fā)多播數(shù)據(jù)[3][4]。
4.1 CGMP 的數(shù)據(jù)幀格式
CGMP 是目的地址為0x01-00-0C-DD-DD-DD 以太網(wǎng)數(shù)據(jù)幀, 它主要包含以下字段[4]:
(1) 版本號(hào),1 或2。
(2) 報(bào)文類型,加入(Join)或離開(Leave)。
(3) 計(jì)數(shù)值,報(bào)文幀中包含的多播/單播地址對。
(4) GDA(Group Destination Address),48 位的多播MAC 地址。
(5) USA(Unicast Source Address),欲加入某一多播組的48 位的單播MAC 地址。
4.2 使用CGMP 加入一個(gè)多播組
當(dāng)工作站希望加入某一多播組時(shí),它發(fā)送一條IGMP 成員報(bào)告。路由器收到該IGMP報(bào)告后,把IGMP 幀中所聲明的多播MAC 地址拷貝到CGMP Join 數(shù)據(jù)幀的GDA 字段中,把發(fā)送站的源MAC 地址拷貝到CGMP Join 數(shù)據(jù)幀的USA 字段中,然后把構(gòu)建好CGMP 數(shù)據(jù)幀發(fā)送給交換機(jī)。具有CGMP 多播功能的交換機(jī)監(jiān)聽到目的地址為0x01-00-0C-DD-DD-DD 的數(shù)據(jù)幀后,它的處理器到自己的“地址-端口”表中去查找對應(yīng)的USA。一旦USA 在表中被找到,交換機(jī)知道了該USA 位于哪個(gè)端口,然后它進(jìn)行下列其中一項(xiàng)操作:
(1) 為GDA 創(chuàng)建一個(gè)新的多播項(xiàng)目組,并把USA 對應(yīng)的端口和所有的路由器端口鏈接到該GDA。
(2) 如果屬于該GDA 的多播項(xiàng)目組已經(jīng)存在,交換機(jī)只是把該USA 對應(yīng)的端口加入到已有GDA 的端口列表中。
4.3 使用CGMP 離開一個(gè)多播組
當(dāng)使用IGMPv1,工作站希望離開一個(gè)多播組時(shí),不發(fā)送IGMP leave 報(bào)文, 路由器在兩次連續(xù)的IGMP 詢問沒有收到回應(yīng)后,發(fā)送IGMP Leave 報(bào)文。如果仍舊有用戶對某多播組感興趣,屬于該多播組的端口就不會(huì)從多播樹上被刪除掉。當(dāng)使用IGMPv2 時(shí),工作站希望離開某一多播組時(shí),可以發(fā)送IGMP Leave 報(bào)文。CGMPv2 借助該機(jī)制可以使工作站快速離開一個(gè)組(CGMP Fast-Leave)。
CGMP Fast-Leave 處理方式允許交換機(jī)在端口監(jiān)視引擎模塊(具有IGMP 解析功能的硬件模塊)中監(jiān)聽工作站發(fā)往所有路由器多播地址(224.0.0.2)的IGMPv2 Leave 報(bào)文。當(dāng)它發(fā)現(xiàn)有Leave 報(bào)文時(shí),就啟動(dòng)一個(gè)查詢響應(yīng)計(jì)時(shí)器,并發(fā)送一條查詢報(bào)文到接收到該Leave 報(bào)文的端口,以確認(rèn)該端口是否還有工作站希望接收到此多播組數(shù)據(jù)。如果在定時(shí)器超時(shí)時(shí)還沒有收到CGMP Join 報(bào)文,則該端口從IGMP Leave 報(bào)文所標(biāo)明的多播組的多播樹中被移除。如果它是該多播組的最后一個(gè)端口,交換機(jī)就把IGMP Leave 報(bào)文轉(zhuǎn)發(fā)到路由器端口。然后路由器通過發(fā)送一個(gè)特定組的查詢報(bào)文啟動(dòng)正常的刪除過程,因?yàn)椴粫?huì)收到響應(yīng)報(bào)文,路由器就在多播路由表中把相應(yīng)的端口刪除掉。同時(shí)路由器也發(fā)送一條CGMP Leave 報(bào)文給交換機(jī)把該多播組從轉(zhuǎn)發(fā)表中刪除掉 [3]。
5. GARP 多播注冊協(xié)議(GARP Multicast Registration Protocol)
在IEEE 802.1D 標(biāo)準(zhǔn)中定義了GMRP,它使用GARP(generic attribute registration protocol)協(xié)議機(jī)制聲明和注冊工作站和交換機(jī)監(jiān)聽接收多播數(shù)據(jù)的需要。
5.1 GMRP 的幀格式
GMRP 的數(shù)據(jù)幀格式如圖3 所示,其各個(gè)字段的意義如下:
(1) GMRP 應(yīng)用地址,為多播地址0x01-80-C2-00-00-20。
(2) 源地址,取產(chǎn)生該GMRP 數(shù)據(jù)幀的設(shè)備的單播地址。
(3) 長度,標(biāo)明整個(gè)GMRP 數(shù)據(jù)幀的長度。
(4) LLC 頭,所有GARP 應(yīng)用都使用源地址和目的地址為0x42 的LLC 服務(wù)接入點(diǎn),控制字段取值為0x03 標(biāo)明為無連接服務(wù)。
(5) 協(xié)議ID,所有GARP 應(yīng)用都使用值為0x0001 的協(xié)議ID,以便和其他LLC 服務(wù)(如生成樹協(xié)議)相區(qū)別。
[align=center]
圖3 GMRP 幀協(xié)議格式[/align]
(6) GMRP 屬性類別, GMRP 數(shù)據(jù)幀可以包含多個(gè)GMRP 信息字段,用值0x00 標(biāo)明GMRP信息的結(jié)束。GMRP 信息具有兩種屬性類別:當(dāng)屬性類型為0x01 時(shí)表明后面是組成員屬性列表,用來聲明接收特定多播數(shù)據(jù)的需要;當(dāng)屬性類型為0x02 時(shí)是為了保證兼容不支持GARP 的設(shè)備。
(7) GMRP 屬性列表,屬性列表可以包含多個(gè)屬性值,每個(gè)屬性值包含三個(gè)元素:屬性長度;屬性事件,標(biāo)明對屬性值要采取的行為,加入或離開一個(gè)多播組;屬性值,當(dāng)屬性類別取組成員屬性時(shí)為48 位的MAC 多播地址[5][6]。
5.2 GMRP 的多播原則
GMRP 的實(shí)現(xiàn)基于GARP 工作機(jī)制,用于維護(hù)交換機(jī)中的動(dòng)態(tài)多播注冊信息。所有支持GMRP 特性的交換機(jī)都能夠接收來自其他交換機(jī)的多播注冊信息,并動(dòng)態(tài)更新本地的多播注冊信息,同時(shí)也能將本地的多播注冊信息向其他交換機(jī)傳播,以便使同一交換網(wǎng)內(nèi)所有支持GMRP 特性的設(shè)備的多播信息達(dá)成一致。GMRP 依據(jù)下面的原則進(jìn)行操作[5]:
(1) 設(shè)備通過Join 命令聲明它們加入某多播組的愿望,該聲明可以通過Leave 命令撤銷。
(2) 當(dāng)同一網(wǎng)段的已有設(shè)備聲明對某一多播組感興趣時(shí),如果另外一個(gè)對該多播組感興趣的設(shè)備監(jiān)聽到了該聲明,它無需再明確提出聲明。
(3) 交換機(jī)在某一端口監(jiān)聽到對某一多播組的聲明時(shí),它在該端口為該多播組添加一個(gè)注冊信息。當(dāng)聲明某一多播組服務(wù)的所有設(shè)備都離開后,交換機(jī)將向其他交換機(jī)注銷掉對該多播組的聲明。
(4) 交換機(jī)會(huì)把一個(gè)端口的注冊信息向其他端口廣播,同時(shí)多播注冊信息將沿生成樹進(jìn)行廣播。
6. 四種多播方式的對比分析
在表1 中對上述四種多播通信方式進(jìn)行了對比。除VLAN 外,其他幾種多播方式都是針對多播通信特點(diǎn)設(shè)計(jì)的多播解決方案,它們本質(zhì)上都是通過某種方法來構(gòu)建二層的多播樹,并減少網(wǎng)絡(luò)上不必要的數(shù)據(jù)傳輸。雖然在控制領(lǐng)域有不少學(xué)者提出用VLAN 來解決交換式工業(yè)以太網(wǎng)中的多播問題,但通過第2 小節(jié)的分析可知,VLAN 并不是多播通信的理想解決辦法。它只適合具有較少“生產(chǎn)者-消費(fèi)者”數(shù)據(jù)組成員個(gè)數(shù)的控制網(wǎng)絡(luò),而且不同VLAN 之間的通信應(yīng)限制在一定流量內(nèi),因?yàn)樗鼈儽仨毻ㄟ^路由器轉(zhuǎn)發(fā),當(dāng)不同VLAN 之間的通信流量較大時(shí),路由器就會(huì)成為控制網(wǎng)絡(luò)中的通信瓶頸。因此用VLAN 來實(shí)現(xiàn)多播的應(yīng)限制在小型的控制網(wǎng)絡(luò)中。
[align=center]
表1 四種多播方式的對比[/align]
使用CGMP 協(xié)議時(shí),由路由器根據(jù)接收到的IGMP 報(bào)文構(gòu)建CGMP 報(bào)文然后再發(fā)送給交換機(jī)進(jìn)行二層多播配置,因此在使用CGMP 協(xié)議時(shí),多播路由器是必須的設(shè)備。當(dāng)使用IP 竊聽時(shí),由于交換機(jī)可以代替多播路由器來解析IGMP 信息,通過適當(dāng)?shù)呐渲,進(jìn)行多播配置時(shí)可以不需要路由器的介入,而由交換機(jī)代理路由器的相關(guān)功能。IGMP 竊聽方法和CGMP 協(xié)議的提出都是源于互聯(lián)網(wǎng)上多媒體通信快速增長的需要,它們在構(gòu)建二層的多播樹時(shí)都利用了三層網(wǎng)絡(luò)上的IGMP 報(bào)文信息,二層的多播地址是由三層的IP 多播地址轉(zhuǎn)換得到的,因此參加二層多播的工作站也必須配置三層的IP 多播地址。另一方面,CGMP 和IP 竊聽都是專有的多播解決方案,其中CGMP 只被Cisco 的交換機(jī)和路由器支持,相比之下,IP 竊聽方法有多個(gè)交換機(jī)廠商支持,但其實(shí)現(xiàn)方法并沒有一個(gè)統(tǒng)一的標(biāo)準(zhǔn)。
GMRP 的提出一方面是源于互聯(lián)網(wǎng)上多媒體多播通信快速增長的需要,另一方面也是交換式以太網(wǎng)普遍采用提出的要求(在共享式以太網(wǎng)中不存在多播通信消耗大量帶寬的情況)。CMRP 是純二層的協(xié)議,它所使用的GARP 注冊協(xié)議也同時(shí)被VLAN 采用來注冊各個(gè)工作站的VLAN 屬性(GVRP,GARP VLAN Registration Protocol),因此在以太網(wǎng)交換機(jī)中,CMRP 會(huì)獲得越來越廣泛的支持。在使用GMRP 時(shí),工作站的網(wǎng)絡(luò)接口卡和協(xié)議棧也必須提供對GMRP 的支持,但現(xiàn)有設(shè)備和系統(tǒng)的協(xié)議棧對GMRP 的支持并不充分。
因此在工業(yè)交換式以太網(wǎng)中,目前可考慮采用CGMP 或IP 竊聽來解決實(shí)時(shí)數(shù)據(jù)的多播問題,待工作站的接口卡和系統(tǒng)的協(xié)議棧對GMRP 做出相應(yīng)改進(jìn)后,逐漸過渡到使用GMRP來解決二層控制網(wǎng)絡(luò)中的多播問題。
7. 總結(jié)
本文分析了工業(yè)控制網(wǎng)絡(luò)中的數(shù)據(jù)通信特點(diǎn):即存在大量多播數(shù)據(jù),并介紹了目前交換式以太網(wǎng)中比較常用的四種多播方法:VLAN,IGMP 竊聽,CGMP,GMRP,對它們的特點(diǎn)進(jìn)行了對比分析,指出了各自的使用范圍。另一方面,由于交換機(jī)的學(xué)習(xí)注冊過程需要一定時(shí)間,如果在這段時(shí)間內(nèi)傳送數(shù)據(jù),對于未知的多播地址,交換機(jī)仍然以廣播的方式發(fā)送數(shù)據(jù),依然會(huì)導(dǎo)致廣播風(fēng)暴,引起控制網(wǎng)絡(luò)的不穩(wěn)定性。因此在各工作站正式通信前,有必要引入一個(gè)學(xué)習(xí)期,使各個(gè)站點(diǎn)有足夠的時(shí)間進(jìn)行多播地址的注冊,在這段時(shí)間內(nèi),交換機(jī)也可以學(xué)習(xí)各個(gè)工作站的單播地址,從而在正式傳送控制數(shù)據(jù)時(shí)盡可能地減少網(wǎng)絡(luò)上的廣播數(shù)據(jù)。
參考文獻(xiàn)
[1] IEEE Std 802.1Q. IEEE Standards for Local and Metropolitan Area Networks: Virtual Bridged Local Area Network[S]. 1999
[2] 王軍,吳志美. 交換式以太網(wǎng)上的多播協(xié)議[J]. 軟件學(xué)報(bào),2003,14(3): 496-502
[3] Cisco Systems Inc. Multicast in a Campus Network: CGMP and IGMP Snooping [J/OL]. URL:http://www.cisco.com/. 2003
[4] Kennedy C. and Kevin H. Cisco LAN Switching [M]. Cisco Press, 1999, 773-598
[5] IEEE Std 802.1D, 1998 Edition. Media Access Control (MAC) Bridges [S]
[6] Rich Seifert. The Switch Book [M]. Wiley Computer Publishing, 2000, 422-429標(biāo)簽:
傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為傳動(dòng)網(wǎng)(connectcrack.com)獨(dú)家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來源“傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。
相關(guān)資訊
產(chǎn)品新聞
更多>2025-09-23
影視舞臺(tái)燈光低煙無鹵扁平電纜13*4+2*(2...
2025-09-23
「頻」實(shí)力,新上市——富士電機(jī) FRENIC...
2025-09-08
華為昇騰Atlas800iA2 910B服務(wù)器Deepsee...
2025-09-04
TaiShan(泰山)200 2280系列服務(wù)器 鯤...
2025-09-03
2025-08-06