26-組播協議操作
本章節下載 (739.87 KB)
隨著Internet的不斷發展,數據、語音和視頻信息等多種交互業務與日俱增,另外新興的電子商務、網上會議、網上拍賣、視頻點播、遠程教學等對帶寬和實時數據交互要求較高的服務逐漸興起,這些服務對信息安全性、可計費性、網絡帶寬提出了更高的要求。
在網絡中,存在著三種發送報文的方式:單播、廣播、組播。下麵我們對這三種傳輸方式的數據交互過程分別進行介紹和對比。
采用單播(Unicast)方式時,係統為每個需求該信息的用戶單獨建立一條數據傳送通路,並為該用戶發送一份獨立的拷貝信息,如圖1-1:
假設用戶B、D和E需要該信息,則信息源Server必須分別和用戶B、D、E的設備建立傳輸通道。由於網絡中傳輸的信息量和要求接收該信息的用戶量成正比,因此當用戶數量很龐大時,服務器就必須要將多份內容相同的信息發送給用戶。因此,帶寬將成為信息傳輸中的瓶頸。
從單播信息的傳播過程可以看出,單播的信息傳輸方式不利於信息規模化發送。
如果采用廣播(Broadcast)方式,係統把信息傳送給網絡中的所有用戶,不管他們是否需要,任何用戶都會接收到廣播來的信息,如圖1-2:
假設用戶B、D和E需求該信息,則信息源Server通過路由器廣播該信息,網絡其他用戶A和C也同樣接收到該信息,信息安全性和有償服務得不到保障。
從廣播信息的傳播過程可以看出,廣播的保密性和有償性比較差。並且當同一網絡中需求該信息的用戶量很小時,網絡資源利用率將非常低,帶寬浪費嚴重。
因此,廣播不利於對特定用戶進行數據交互,並且還嚴重的占用帶寬。
綜上所述,單播方式適合用戶較少的網絡,而廣播方式適合用戶稠密的網絡,當網絡中需求某信息的用戶量不確定時,單播和廣播方式效率很低。
IP組播技術的出現及時解決了這個問題。當網絡中的某些用戶需要特定信息時,組播信息發送者(即組播源)僅發送一次信息,借助組播路由協議為組播數據包建立組播分發樹,被傳遞的信息在距離用戶端盡可能近的節點才開始複製和分發,如圖1-3。
假設用戶B、D和E需求該信息,為了將信息順利地傳輸給真正需要該信息的用戶,需要將用戶B、D、E組成一個接收者集合,由網絡中各路由器根據該集合中各接收者的分布情況進行信息轉發和複製,最後準確地傳輸給實際需要的接收者B、D和E。
相比單播來說,組播的優點在於:
l
不論接收者有多少,相同的組播數據流在每一條鏈路上最多僅有一份。
l
使用組播方式傳遞信息,用戶數量的增加不會顯著增加網絡的負載。
相比廣播來說,組播的優點在於:
l
組播數據流僅會發送到要求數據的接收者。
l
不會造成網絡資源的浪費,合理的利用帶寬。
在組播方式的信息傳輸過程中,網絡中各部分的角色如下:
l
信息的發送者稱為“組播源”,如圖1-3中的Source;
l
所有的接收者都是“組播組成員”,如圖1-3中的Receiver;
l
由所有接收者構成一個“組播組”,組播組不受地域的限製;
l
支持三層組播功能的路由器稱為“組播路由器”或“三層組播設備”,組播路由器不僅能夠提供組播路由功能,也能夠提供組播組成員的管理功能。
為了更好地理解,可以將組播方式的信息傳輸過程類比於電視節目的傳送過程,如表1-1所示。
步驟 |
電視節目的傳送過程 |
組播方式的信息傳輸過程 |
1 |
電視台S通過頻道G傳送電視節目 |
組播源S向組播組G發送組播數據 |
2 |
用戶U將電視機的頻道調至頻道G |
接收者U加入組播組G |
3 |
用戶U能夠收看到由電視台S通過頻道G傳送的電視節目了 |
接收者U能夠收到由組播源S發往組播組G的組播數據了 |
4 |
用戶U關閉電視機 |
接收者U離開組播組G |
注意:
l
組播源不一定屬於組播組,也就是說其本身不一定是組播數據的接收者;
l
一個組播源可以同時向多個組播組發送數據,而多個組播源也可以同時向一個組播組發送數據。
組播的優勢在於:
l
提高效率:降低網絡流量,減輕服務器和CPU負荷。
l
優化性能:減少冗餘流量。
l
分布式應用:使多點應用成為可能。
組播技術有效地解決了單點發送多點接收的問題,實現了IP網絡中點到多點的高效數據傳送,能夠節約大量網絡帶寬、降低網絡負載。
組播功能主要有以下的應用:
l
多媒體、流媒體的應用,如:網絡電視、網絡電台、實時視/音頻會議。
l
培訓、聯合作業場合的通信,如:遠程教育。
l
數據倉庫、金融應用(股票)等。
l
任何“點到多點”的數據發布應用。
根據對組播源處理方式的不同,組播模型有下列三種:
l
ASM(Any-Source Multicast,任意信源組播)
l
SFM(Source-Filtered Multicast,信源過濾組播)
l
SSM(Source-Specific Multicast,指定信源組播)
簡單地說,ASM模型就是任意源組播模型。
在ASM模型中,任意一個發送者都可以成為組播源,向某組播組地址發送信息。眾多接收者通過加入由該組播組地址標識的組播組以獲得發往該組播組的組播信息。
在ASM模型中,接收者無法預先知道組播源的位置,但可以在任意時間加入或離開該組播組。
SFM模型繼承了ASM模型,從發送者角度來看,兩者的組播組成員關係完全相同。
同時,SFM模型在功能上對ASM模型進行了擴展。在SFM模型中,上層軟件對收到的組播報文的源地址進行檢查,允許或禁止來自某些組播源的報文通過。因此,接收者隻能收到來自部分組播源的組播數據。從接收者的角度來看,隻有部分組播源是有效的,組播源被經過了篩選。
在現實生活中,用戶可能隻對某些組播源發送的組播信息感興趣,而不願接收其它源發送的信息。SSM模型為用戶提供了一種能夠在客戶端指定組播源的傳輸服務。
SSM模型與ASM模型的根本區別在於:SSM模型中的接收者已經通過其他手段預先知道了組播源的具體位置。SSM模型使用與ASM/SFM模型不同的組播地址範圍,直接在接收者和其指定的組播源之間建立專用的組播轉發路徑。
IP組播技術比較複雜,其根本用途是以組播方式將信息從組播源傳輸到接收者手中,同時滿足接收者對信息的各種需求。對於IP組播,需要關注的是:
l
網絡中有哪些接收者?即主機注冊。
l
這些接收者需要從哪個組播源接收信息?即組播源發現技術。
l
組播源將組播信息傳輸到哪裏?即組播尋址機製。
l
組播信息如何傳輸?即組播路由。
IP組播屬於一種端到端服務,按照協議層從下往上劃分,組播機製包括以下四個部分:
l
尋址機製:借助組播地址,實現信息從組播源發送到一組接收者。
l
主機注冊:使用組播成員注冊機製實現接收主機動態加入和離開組播組。
l
組播路由:使用組播路由構建報文分發樹,從組播源傳輸報文到接收者。
l
組播應用:組播源必須支持視頻會議等組播應用軟件,TCP/IP協議棧必須支持組播信息的發送和接收。
由於信息的接收者是一個組播組內的多個主機,因此需要麵對信息源該將信息發往何處、目的地址如何選取的問題。
這些問題簡而言之就是組播尋址。為了讓信息源和組播組成員進行通訊,需要提供網絡層組播地址,即IP組播地址。同時必須存在一種技術將IP組播地址映射為鏈路層MAC組播地址。下麵分別介紹這兩種組播地址。
根據IANA(Internet Assigned Numbers Authority,因特網編號授權委員會)規定,IP地址分為五類,即A類、B類、C類、D類和E類。
l
單播報文按照網絡規模大小分別使用A、B、C三類IP地址。
l
組播報文的目的地址使用D類IP地址,D類地址不能出現在IP報文的源IP地址字段。
l
E類地址保留在今後使用。
在單播數據傳輸過程中,一個數據包傳輸的路徑是從源地址路由到目的地址,利用“逐跳”(hop-by-hop)的原理在IP網絡中傳輸。然而在IP組播環境中,數據包的目的地不是一個,而是一組,形成組地址。所有的信息接收者都加入到一個組內,並且一旦加入之後,流向該組地址的數據立即開始向接收者傳輸,組中的所有成員都能接收到數據包,這個組就是“組播組”。
組播組具有以下的幾個特點:
l
組播組中的成員是動態的,主機可以在任何時刻加入和離開組播組。
l
組播組可以是永久的也可以是臨時的。
l
由IANA分配組播地址的組播組稱為永久組播組(又稱之保留組播組)。
對於永久組播組,要注意的是:
l
永久組播組的IP地址保持不變,但組中的成員構成可以發生變化。
l
永久組播組中成員的數量可以是任意的,甚至可以為零。
l
那些沒有保留下來供永久組播組使用的IP組播地址,可以被臨時組播組使用。
D類組播地址範圍是224.0.0.0~239.255.255.255,範圍及含義見表1-2。
表1-2 D類地址的範圍及含義
D類地址範圍 |
含義 |
224.0.0.0~224.0.0.255 |
預留的組播地址(永久組地址),地址224.0.0.0保留不做分配,其它地址供路由協議使用 |
224.0.1.0~231.255.255.255 233.0.0.0~238.255.255.255 |
用戶可用的ASM(Any-Source Multicast,任意源組播模型)組播地址(臨時組地址),全網範圍內有效 |
232.0.0.0~232.255.255.255 |
用戶可用的SSM(Source-Specific Multicast,指定源組播模型)組播組地址 |
239.0.0.0~239.255.255.255 |
本地管理組播地址,僅在特定的本地範圍內有效 |
根據IANA的約定,224.0.0.0~224.0.0.255網段地址被預留給本地網絡中的路由協議使用,常用的預留IP組播地址列表如下:
表1-3 預留的IP組播地址列表
D類地址範圍 |
含義 |
224.0.0.1 |
所有主機的地址 |
224.0.0.2 |
所有組播路由器的地址 |
224.0.0.3 |
不分配 |
224.0.0.4 |
DVMRP(Distance Vector Multicast Routing,距離矢量組播路由協議)路由器 |
224.0.0.5 |
OSPF(Open Shortest Path First,最短路徑優先)路由器 |
224.0.0.6 |
OSPF DR(Open Shortest Path First Ddesignated Router,最短路徑優先指定路由器) |
224.0.0.7 |
ST(Shared Tree,共享樹)路由器 |
224.0.0.8 |
ST(Shared Tree,共享樹)主機 |
224.0.0.9 |
RIP-2路由器 |
224.0.0.11 |
活動代理 |
224.0.0.12 |
DHCP服務器/中繼代理 |
224.0.0.13 |
所有PIM(Protocol Independent Multicast,協議無關組播)路由器 |
224.0.0.14 |
RSVP(Resource Reservation Protocol,資源預留協議)封裝 |
224.0.0.15 |
所有CBT(Core-Based Tree,有核樹)路由器 |
224.0.0.16 |
指定SBM(Subnetwork Bandwidth Management,子網帶寬管理) |
224.0.0.17 |
所有SBMS |
224.0.0.18 |
VRRP(Virtual Router Redundancy Protocol,虛擬路由冗餘協議) |
224.0.0.19– 224.0.0.255 |
未指定 |
& 說明:
和IANA為IP單播預留私有地址網段10.0.0.0/8等類似,IANA也為IP組播預留了私有地址網段239.0.0.0/8,這些地址屬於管理範圍地址。通過對管理範圍地址的管理,可以靈活地定義組播域範圍,實現不同組播域之間的地址隔離,有助於相同組播地址在不同組播域內的重複使用而不會衝突。
以太網傳輸單播IP報文的時候,目的MAC地址使用的是接收者的MAC地址。但是在傳輸組播報文時,傳輸目標不再是一個具體的接收者,而是一個成員不確定的組,所以需要使用組播MAC地址作為目的地址。
IANA規定,組播MAC地址的高24bit為0x01005e,MAC地址的低23bit為組播IP地址的低23bit,映射關係如圖1-4所示:
圖1-4
組播IP地址與組播MAC地址的映射關係
由於IP組播地址的高4bit是1110,代表組播標識,而低28bit中隻有23bit被映射到MAC地址,這樣IP地址中就會有5bit信息丟失,直接的結果是出現了32個IP組播地址映射到同一MAC地址上。
& 說明:
通常,我們把工作在網絡層的IP組播稱為“三層組播”,相應的組播協議稱為“三層組播協議”,包括IGMP、PIM、MSDP等;把工作在數據鏈路層的IP組播稱為“二層組播”,相應的組播協議稱為“二層組播協議”,包括IGMP Snooping。
本節主要針對二、三層組播協議在網絡中的應用位置和功能進行總體介紹,有關各協議的詳細介紹請分別參見本手冊其他各章節的介紹。
三層組播協議包括組播組管理協議和組播路由協議兩種類型,它們在網絡中的應用位置如圖1-5所示。
(1)
組播組管理協議
在主機和與其直接相連的三層組播設備之間通常采用組播組的管理協議IGMP(Internet Group Management Protocol,互聯網組管理協議),該協議規定了主機與三層組播設備之間建立和維護組播組成員關係的機製。
(2)
組播路由協議
組播路由協議運行在三層組播設備之間,用於建立和維護組播路由,並正確、高效地轉發組播數據包。組播路由建立了從一個數據源端到多個接收端的無環(loop-free)數據傳輸路徑,即組播分發樹。
對於ASM模型,可以將組播路由分為域內和域間兩大類:
l
域內組播路由用來在AS(Autonomous System,自治係統)內部發現組播源並構建組播分發樹,從而將組播信息傳遞到接收者。在眾多域內組播路由協議中,PIM(Protocol Independent Multicast,協議無關組播)是目前較為典型的一個。按照轉發機製的不同,PIM可以分為DM(Dense Mode,密集模式)和SM(Sparse Mode,稀疏模式)兩種模式。
l
域間組播路由用來實現組播信息在AS之間的傳遞,目前比較成型的解決方案有MSDP(Multicast Source Discovery Protocol,組播源發現協議)等。
對於SSM模型,沒有域內和域間的劃分。由於接收者預先知道組播源的具體位置,因此隻需要借助PIM-SM構建的通道即可實現組播信息的傳輸。
二層組播協議包括IGMP Snooping組播VLAN等,它們在網絡中的應用位置如圖1-6所示。
IGMP Snooping(Internet Group Management Protocol Snooping,IGMP偵聽)是運行在二層設備上的組播約束機製,通過偵聽和分析主機與三層組播設備之間交互的IGMP來管理和控製組播組,從而可以有效抑製組播數據在二層網絡中的擴散。
在組播模型中,IP報文的目的地址字段為組播組地址,組播源向以此目的地址所標識的主機群組傳送信息。因此,轉發路徑上的組播路由器為了將組播報文傳送到各個方位的接收站點,往往需要將從一個入接口收到的組播報文轉發到多個出接口。與單播模型相比,組播模型的複雜性就在於此:
l
為了保證組播報文在網絡中的傳輸,必須依靠單播路由表或者單獨提供給組播使用的組播路由表來指導轉發;
l
為了處理同一設備在不同接口上收到來自不同對端的相同組播信息,需要對組播報文的入接口進行RPF(Reverse Path Forwarding,逆向路徑轉發)檢查,以決定轉發還是丟棄該報文。RPF檢查機製是大部分組播路由協議進行組播轉發的基礎。
RPF機製除了可以保證正確地按照組播路由的配置轉發組播報文外,還能避免由於各種原因而造成的環路。
路由器在收到由組播源S向組播組G發送的組播報文後,首先查找組播轉發表:
(1)
如果存在對應的(S,G)表項,且該報文實際到達的接口與組播轉發表中的入接口一致,則向所有的出接口執行轉發。
(2)
如果存在對應的(S,G)表項,但是該報文實際到達的接口與組播轉發表中的入接口不一致,則對此報文執行RPF檢查:
l
若檢查結果表明RPF接口與現存(S,G)表項的入接口相同,則說明(S,G)表項正確,丟棄這個來自錯誤路徑的報文;
l
若檢查結果表明RPF接口與現存(S,G)表項的入接口不符,則說明(S,G)表項已過時,將入接口修改為該報文實際到達的接口,然後向所有的出接口執行轉發。
(3)
如果不存在對應的(S,G)表項,則也對該報文執行RPF檢查。將RPF接口作為入接口,結合相關路由信息創建相應的表項,並下發到組播轉發表中:
l
如果該報文實際到達的接口正是RPF接口,則RPF檢查通過,向所有的出接口執行轉發;
l
如果該報文實際到達的接口不是RPF接口,則RPF檢查失敗,丟棄該報文。
執行RPF檢查的依據是單播路由。單播路由表中彙集了到達各個目的網段的最短路徑。組播路由協議並不獨立維護某種單播路由,而是依賴於網絡中現有的單播路由信息創建組播路由表項。
在執行RPF檢查時,路由器查找單播路由表的具體過程:以“報文源”的IP地址為目的地址查找單播路由表,自動選取一條最優單播路由。對應表項中的出接口為RPF接口,下一跳為RPF鄰居。路由器認為來自RPF鄰居且由該RPF接口收到的組播報文所經曆的路徑是從源S到本地的最短路徑。
如圖1-7所示,假設網絡中單播路由暢通。組播報文沿從組播源(Source)到接收者(Receiver)的SPT進行傳輸。
圖1-7 RPF檢查過程
l
SwitchC從接口Vlan-int 1收到來自Source的組播報文,組播轉發表中沒有相應的轉發表項。執行RPF檢查,發現單播路由表中到達網段192.168.0.0/24的出接口是Vlan-int 2 ,於是判斷該報文實際到達的接口不是RPF接口。RPF檢查失敗,該組播報文被丟棄。
l
Switch C從接口Vlan-int 2收到來自Source的組播報文,組播轉發表中沒有相應的轉發表項。執行RPF檢查,發現單播路由表中到達網段192.168.0.0/24的出接口正是該報文實際到達的接口。RPF檢查通過,向所有的出接口轉發該報文。
IGMP Snooping(Internet Group Management Protocol Snooping,IGMP偵聽)是運行在二層以太網交換機上的組播約束機製,用於管理和控製組播組。
運行IGMP Snooping的二層設備通過對收到的IGMP報文進行分析,為端口和MAC組播地址建立起映射關係,並根據這樣的映射關係轉發組播數據。
如圖2-1所示,當二層設備沒有運行IGMP Snooping時,組播數據在二層被廣播;當二層設備運行了IGMP Snooping後,已知組播組的組播數據不會在二層被廣播,而在二層被組播給指定的接收者。
如圖2-2所示,Router A連接組播源,在Switch A和Switch B上分別運行IGMP Snooping,Host A和Host C為接收者主機(即組播組成員)。
結合圖2-2,介紹一下IGMP Snooping相關的端口概念:
l
路由器端口(Router Port):交換機上靠近三層組播設備(即DR或IGMP查詢器)一側的端口,如Switch A和Switch B各自的Ethernet1/0/1端口。交換機將本設備上的所有路由器端口都記錄在路由器端口列表中。
l
成員端口(Member Port):又稱組播組成員端口,表示交換機上靠近組播組成員一側的端口,如Switch A的Ethernet1/0/2和Ethernet1/0/3端口,以及Switch B的Ethernet1/0/2端口。交換機將本設備上的所有成員端口都記錄在IGMP Snooping轉發表中。
表2-1 IGMP Snooping端口老化定時器
定時器 |
說明 |
超時前應收到的報文 |
超時後交換機的動作 |
路由器端口老化定時器 |
交換機為其上的每個路由器端口都啟動一個定時器,其超時時間為路由器端口老化時間 |
IGMP通用查詢報文或PIM Hello報文 |
將該端口從路由器端口列表中刪除 |
成員端口老化定時器 |
當一個端口加入某組播組時,交換機為該端口啟動一個定時器,其超時時間為成員端口老化時間 |
IGMP成員關係報告報文 |
將該端口從組播組的轉發表中刪除 |
運行了IGMP Snooping的交換機對不同IGMP動作的具體處理方式如下:
IGMP查詢器定期向本地網段內的所有主機與路由器發送IGMP通用查詢報文,以查詢該網段有哪些組播組的成員。
在收到IGMP通用查詢報文時,交換機將其通過VLAN內除接收端口以外的其它所有端口轉發出去,並對該報文的接收端口做如下處理:
l
如果該端口是路由器端口列表中已有的路由器端口,則重置該路由器端口的老化定時器。
l
如果該端口不是路由器端口列表中已有的路由器端口,則將其加入路由器端口列表,並啟動該路由器端口的老化定時器。
以下情況,主機會向組播路由器發送IGMP成員關係報告報文:
l
當組播組的成員主機收到IGMP查詢報文後,會回複IGMP成員關係報告報文。
l
如果主機要加入某個組播組,它會主動向組播路由器發送IGMP成員關係報告報文以聲明加入該組播組。
在收到IGMP成員關係報告報文時,交換機將其通過VLAN內的所有路由器端口轉發出去,從該報文中解析出主機要加入的組播組地址,並對該報文的接收端口做如下處理:
l
如果該端口已存在於組播組轉發表中,則重置該端口的成員端口老化定時器;
l
如果該端口不在組播組轉發表中,則在組播組轉發表中為該端口增加轉發表項,並啟動該端口的成員端口老化定時器。
& 說明:
交換機不會將IGMP成員關係報告報文通過非路由器端口轉發出去,原因如下:根據IGMP成員關係報告抑製機製,如果非路由器端口下還有該組播組的成員主機,則這些主機在收到該報告報文後便抑製了自身的報告,從而使交換機無法獲知這些端口下還有該組播組的成員主機。
運行IGMPv1的主機離開組播組時不會發送IGMP離開組報文,因此交換機無法立即獲知主機離開的信息。但是,由於主機離開組播組後不會再發送IGMP成員關係報告報文,因此當其對應的成員端口的老化定時器超時後,交換機就會將該端口對應的轉發表項從轉發表中刪除。
運行IGMPv2或IGMPv3的主機離開組播組時,會通過發送IGMP離開組報文,以通知組播路由器自己離開了某個組播組。
當從最後一個成員端口上收到IGMP離開組報文時,交換機會將該報文通過VLAN內的所有路由器端口轉發出去,同時由於並不知道該報文的接收端口下是否還有該組播組的其它成員,所以交換機不會立刻把該端口對應的轉發表項從轉發表中刪除,而是重置該成員端口的老化定時器。
當IGMP查詢器收到IGMP離開組報文後,從中解析出主機要離開的組播組的地址,並通過接收端口向該組播組發送IGMP特定組查詢報文。交換機在收到IGMP特定組查詢報文後,將其通過VLAN內的所有路由器端口和該組播組的所有成員端口轉發出去。
對於IGMP離開組報文的接收端口,交換機在該成員端口的老化時間內:
l
如果從該端口收到了主機發送的響應該組播組的IGMP成員關係報告報文,則表示該端口下還有該組播組的成員,於是重置該成員端口的老化定時器;
l
如果沒有從該端口收到主機發送的響應該組播組的IGMP成員關係報告報文,則表示該端口下已沒有該組播組的成員,則在該成員端口老化時間超時後,將轉發表中該端口對應該組播組的轉發表項刪除。
注意:
交換機在啟動了IGMP Snooping功能後,當收到某個組播組內的主機發出的IGMP離開報文時,會自動判斷該組播組是否存在。如果該組播組不存在,則丟棄這個IGMP離開報文,不再轉發。
配置任務 |
說明 |
詳細配置 |
啟動IGMP Snooping |
必選 |
|
配置IGMP-Snooping版本 |
可選 |
|
配置IGMP Snooping相關定時器 |
可選 |
|
配置端口從組播組中快速刪除功能 |
可選 |
|
配置組播組過濾功能 |
可選 |
|
配置端口可以通過的組播組最大數量 |
可選 |
|
配置IGMP Snooping查詢器 |
可選 |
|
配置IGMP Snooping禁止廣播 |
可選 |
|
配置靜態成員端口 |
可選 |
|
配置靜態路由器端口 |
可選 |
|
配置IGMP Snooping模擬主機加入功能 |
可選 |
|
配置查詢報文的VLAN Tag |
可選 |
|
配置組播VLAN |
可選 |
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
全局啟動的IGMP Snooping功能 |
igmp-snooping enable |
必選 缺省情況下,全局IGMP Snooping功能處於關閉狀態 |
進入VLAN視圖 |
vlan vlan-id |
- |
啟動VLAN視圖下的IGMP Snooping功能 |
igmp-snooping enable |
必選 缺省情況下,所有VLAN的IGMP Snooping功能都處於關閉狀態 |
注意:
l 在啟動指定VLAN的IGMP Snooping前,應首先在係統視圖下啟動全局IGMP Snooping功能,否則將無法配置成功。
l 如果在某VLAN內同時啟動了IGMP Snooping和VLAN VPN,有可能會造成IGMP查詢報文不能夠通過VLAN,可以通過配置查詢報文的VLAN Tag解決,詳細情況請參見“2.2.13 配置查詢報文的VLAN Tag”。
隨著組播應用的不斷深入,IGMPv3協議應用的越來越多,它增加組播源過濾功能,使接收者不僅可以指定要加入的組播組,還能明確要求接收從某特定組播源發出的組播信息,路由器上的IGMPv3協議和PIM-SSM協議結合,可以使接受者直接加入到指定的組播源組,從而大大簡化了組播路由協議,優化了組播數據流在網絡中的拓撲。
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入VLAN視圖 |
vlan vlan-id |
- |
配置VLAN的 IGMP-Snooping版本 |
igmp-snooping version version-number |
可選 缺省情況下,IGMP-Snooping版本為2 |
注意:
l
配置IGMP Snooping版本前,首先要在指定VLAN內啟動IGMP Snooping。
l
IGMPv3 Snooping的功能不能區分組播組相同而組播源不同的組播數據,隻能點播組播組不同和組播源也不同的組播數據,所以規劃網絡時每個組播源的組播組地址不能相同。
本配置任務用來手工設置路由器端口老化定時器、組播組成員端口老化定時器、響應查詢定時器。
表2-5 配置IGMP Snooping相關定時器
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
配置路由器端口老化定時器 |
igmp-snooping router-aging-time seconds |
可選 缺省情況下,路由器端口老化時間為105秒 |
配置響應查詢定時器 |
igmp-snooping max-response-time seconds |
可選 缺省情況下,最大響應查詢時間為10秒 |
配置組播組成員端口老化定時器 |
igmp-snooping host-aging-time seconds |
可選 缺省情況下,組播組成員端口老化時間為260秒 |
當啟動快速刪除功能後,交換機從某端口收到離開某組播組的IGMP離開報文時,直接將端口從組播組中刪除。當端口下隻有一個用戶時,快速刪除可以節省帶寬。
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
配置端口從組播組中快速刪除功能 |
igmp-snooping fast-leave [ vlan vlan-list ] |
必選 缺省情況下,端口從組播組中快速刪除功能關閉 |
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入以太網端口 |
interface interface-type interface-number |
- |
配置端口從指定VLAN的組播組中快速刪除功能 |
igmp-snooping fast-leave [ vlan vlan-list ] |
必選 缺省情況下,端口從組播組中快速刪除功能關閉 |
& 說明:
l 端口從組播組中快速刪除功能隻能在客戶端支持IGMP V2或V3時生效。
l 當在係統視圖下的配置時,如果沒有指定VLAN,則交換機的所有端口都啟動快速刪除功能;如果指定了VLAN,則該VLAN內的所有端口都啟動快速刪除功能。
l 當在以太網端口視圖下時,如果沒有指定VLAN,則無論該端口屬於哪個VLAN,該端口都啟動快速刪除功能;如果指定了VLAN,配置隻對指定VLAN內的該端口有效。
l 當快速離開與未知組播報文丟棄或禁止廣播功能同時開啟的情況下,如果某個端口下有多個用戶,一個用戶的快速離開,可能會造成同一組播組中其它用戶的組播業務中斷。
在啟動了IGMP Snooping的交換機上,通過配置組播組過濾器,可以限製用戶對組播節目的點播。
在實際應用中,當用戶點播某個組播節目時,會發起一個IGMP報告報文,該報文到達交換機後,交換機檢查接收端口上配置的組播過濾ACL,如果此端口可以加入這個組播組,則將這個端口加入到該組播組的轉發端口列表中;否則交換機就丟棄該IGMP報告報文,這樣數據流就不會送到該端口,從而控製用戶點播組播。
配置此功能前,請確定ACL規則已經配置完畢。
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
配置組播過濾功能 |
igmp-snooping group-policy acl-number [
vlan vlan-list ] |
必選 缺省情況下,組播過濾功能關閉 |
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入以太網端口視圖 |
interface interface-type interface-number |
- |
配置組播過濾功能 |
igmp-snooping group-policy acl-number [
vlan vlan-list ] |
必選 缺省情況下,組播過濾功能關閉 |
& 說明:
l
一個端口可屬於多個VLAN,端口所屬每個VLAN隻能配置一個ACL規則。
l
在配置此命令時,如果用戶沒有配置ACL規則,則會過濾掉所有組播組。
l
由於絕大多數的設備采用廣播方式處理未知組播報文,因此,為了確保組播數據流不會被當成未知組播送到被過濾的端口,該功能一般都和未知組播丟棄功能組合使用。
l
當在係統視圖下的配置時,如果沒有指定VLAN,則交換機的所有端口都啟動組播過濾功能;如果指定了VLAN,則該VLAN內的所有端口都啟動組播過濾功能。
l
當在以太網端口視圖下配置時,如果沒有指定VLAN,則在所有VLAN內都啟動了組播過濾功能,且隻對啟動IGMP Snooping的VLAN生效;如果指定了VLAN,配置隻對指定VLAN內的該端口有效。
在配置端口可以加入的組播組最大數量後,用戶在點播組播組節目時,由於端口通過的組播組的數量受到限製,因此用戶不能無限製的點播組播組。這樣一來,端口帶寬就得到了控製。
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入以太網端口視圖 |
interface interface-type interface-number |
- |
配置端口可以通過的組播組最大數量 |
igmp-snooping group-limit limit [ vlan vlan-list [ overflow-replace ] ] |
必選 缺省情況下,S5100-SI係列交換機端口可以加入的組播組最大數量為128;S5100-EI係列交換機端口可以加入的組播組最大數量數為256 |
& 說明:
l 為了避免因組播組數量過多引起網絡流量過大或導致設備的處理能力下降,可以限定交換機支持的最大組播組數量。
l 當組播組數量超過限定值時,交換機會根據組播組建立的先後順序刪除最先的建立的多餘組播組,此時被刪除的組播組內一些正被轉發的組播流會被當成未知組播報文在本VLAN內廣播,導致一段時間內非成員端口也會收到組播流。
為了避免上述情況的發生,請打開未知組播報文丟棄功能或IGMP Snooping禁止廣播功能。
在運行了IGMP協議的組播網絡中,會有一個專職查詢的組播路由器或三層組播交換機,負責發送IGMP查詢報文。
但是,由於二層組播交換機上不支持IGMP功能,因此沒有辦法實現查詢器的功能,無法發送通用組查詢報文。用戶可以通過配置IGMP Snooping查詢器,使二層交換機在數據鏈路層主動發送通用組查詢報文,從而建立並維護組播轉發表項。
用戶還可以配置IGMP Snooping查詢器發送通用組查詢報文的源地址、通用組查詢報文的最大響應時間以及查詢周期。
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
啟動IGMP Snooping |
igmp-snooping enable |
必選 缺省情況下,IGMP Snooping功能處於關閉狀態 |
進入VLAN視圖 |
vlan vlan-id |
- |
啟動IGMP Snooping |
igmp-snooping enable |
必選 缺省情況下,IGMP Snooping功能處於關閉狀態 |
啟動IGMP Snooping查詢器 |
igmp-snooping querier |
必選 缺省情況下,IGMP Snooping查詢器功能處於關閉狀態 |
配置發送通用查詢報文的時間間隔 |
igmp-snooping query-interval
seconds |
可選 缺省情況下,發送通用查詢報文的時間間隔為60秒 |
配置發送通用查詢報文的源IP地址 |
igmp-snooping general-query source-ip { current-interface | ip-address } |
可選 缺省情況下,發送通用查詢報文的源IP地址為0.0.0.0 |
用戶在VLAN內配置了IGMP Snooping功能後,當交換機收到發往未知組播組的報文時,數據報文會在VLAN內廣播,這樣會占用大量的網絡帶寬,影響轉發效率。
此時用戶可以在交換機上啟動IGMP Snooping禁止廣播功能,當交換機收到發往未知組播組的報文時,交換機將建立nonflooding表項,使數據報文隻向交換機的路由器端口轉發,不在VLAN內廣播。如果交換機沒有路由器端口,數據報文會被丟棄,不再轉發。
配置步驟 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
開啟IGMP Snooping禁止廣播功能 |
igmp-snooping nonflooding-enable |
必選 缺省情況下,沒有啟動IGMP Snooping禁止廣播功能 |
& 說明:
如果已經配置了未知組播報文丟棄功能的情況下,IGMP Snooping禁止廣播功能不能配置。
如果某端口所連接的主機需要固定接收某個組播組的組播數據,可以配置該端口靜態加入該組播組,成為靜態成員端口。
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入以太網端口視圖 |
interface interface-type interface-number |
- |
配置當前端口作為靜態成員端口 |
multicast static-group group-address vlan vlan-id |
必選 缺省情況下,沒有配置靜態成員端口 |
表2-14 在VLAN接口視圖下配置靜態成員端口
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入VLAN接口視圖 |
interface Vlan-interface interface-number |
- |
配置指定端口作為靜態成員端口 |
multicast static-group group-address interface interface-list |
必選 缺省情況下,沒有配置靜態成員端口 |
在拓撲穩定的網絡中,可以將交換機上的路由器端口配置為靜態路由器端口,交換機可以通過該端口接收路由器發來的IGMP報文。
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入以太網端口視圖 |
interface interface-type interface-number |
- |
配置當前端口作為靜態路由器端口 |
multicast static-router-port vlan vlan-id |
必選 缺省情況下,沒有配置靜態路由器端口 |
表2-16 在VLAN視圖下配置靜態路由器端口
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入VLAN視圖 |
vlan vlan-id |
- |
配置指定端口作為靜態路由器端口 |
multicast static-router-port
interface-type interface-number |
必選 缺省情況下沒有配置靜態路由器端口 |
通常情況下,運行IGMP的主機會對組播路由器的IGMP查詢報文進行響應,如果由於某種原因無法響應,就可能導致組播路由器認為該網段沒有該組播組的成員,從而取消相應的路徑。
為避免這種情況的發生,配置交換機VLAN下的某個端口為組播組成員,當該端口收到IGMP查詢報文時,由組播交換機進行響應,從而保證VLAN下的該端口能夠繼續收到組播報文。
IGMP Snooping模擬主機加入功能實現原理如下:
l
在以太網端口上啟動模擬主機加入功能時,交換機會主動從該端口發送一個IGMP成員關係報告報文,同時回環給自身一個相同的IGMP成員關係報告報文,通過這個回環報文建立相應的IGMP表項;
l
當啟動了模擬主機加入功能後,如果再收到IGMP通用查詢報文後,交換機同樣會響應一個IGMP成員關係報告報文,同時回環給自身一個相同的IGMP成員關係報告報文,通過這個回環報文來保證IGMP表項不被老化掉;
l
在以太網端口上關閉模擬主機加入功能後,交換機也會發送一個IGMP離開組報文。
因此,為了使IGMP表項不被老化掉,必須保證端口能夠周期性的收到IGMP通用查詢報文。
表2-17 配置IGMP Snooping模擬主機加入功能
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入以太網端口視圖 |
interface interface-type interface-number |
- |
配置IGMP Snooping模擬主機加入功能 |
igmp host-join group-address [ source-ip
source-address ] vlan vlan-id |
可選 缺省情況下,模擬主機加入功能處於關閉狀態 |
注意:
l
配置IGMP Snooping模擬主機加入功能前,應該先在VLAN視圖下啟動IGMP Snooping功能;
l
當前端口必須屬於指定VLAN,否則配置不會生效;
l
用戶可以配置source-ip source-address來指定模擬主機要加入的組播源地址,隻有VLAN內啟動了IGMPv3 Snooping 時,該參數才有效。
可以通過配置IGMP Snooping轉發/發送的通用查詢報文和特定組查詢報文所帶的VLAN Tag,再配合vlan-mapping功能,實現在上行VLAN與下行VLAN不同的二層組播網絡環境中的組播報文的跨VLAN轉發。
有關vlan-mapping的相關內容請參考“QoS&QoS Profile”部分。
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
配置查詢報文的VLAN Tag |
igmp-snooping vlan-mapping vlan vlan-id |
必選 缺省情況下,不對IGMP Snooping轉發/發送的通用查詢報文和特定組查詢報文所帶的VLAN Tag進行設置 |
基於以往的組播點播方式,當處於不同VLAN的用戶點播同一個組播組時,數據在組播路由器上會為每個包含接收者的VLAN進行複製和轉發。這樣的組播點播方式,浪費了大量的帶寬。
在啟動了IGMP Snooping功能後,通過配置組播VLAN的方式,將交換機的端口加入到組播VLAN,使不同VLAN內的用戶共用一個組播VLAN接收組播數據,組播流隻在一個組播VLAN內進行傳輸,從而節省了帶寬。而且由於組播VLAN與用戶VLAN完全隔離,安全和帶寬都得以保證。
組播VLAN主要應用於二層交換,但在三層交換機上也必須進行相應的配置。
組播VLAN配置過程如下:
表2-19 配置組播VLAN(三層交換機)
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
創建組播VLAN,並進入VLAN視圖 |
vlan vlan-id |
- |
退出至係統視圖 |
quit |
- |
進入VLAN接口視圖 |
interface Vlan-interface vlan-id |
- |
啟動IGMP |
igmp enable |
必選 缺省情況下,IGMP 功能關閉 |
退出至係統視圖 |
quit |
- |
進入與二層交換機相連的以太網端口視圖 |
interface interface-type interface-number |
- |
將端口定義為Trunk端口或者Hybrid端口 |
port link-type { trunk | hybrid } |
必選 |
設置以太網允許通過的VLAN ID |
port hybrid vlan vlan-id-list { tagged | untagged } |
必選 VLAN中必須包括二層交換機上定義的組播VLAN的ID,並且如果端口類型為Hybrid,則必須設置該端口在轉發組播VLAN內的報文時保留VLAN Tag |
port trunk
permit vlan vlan-list |
表2-20 組播VLAN配置過程(二層交換機)
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
啟動IGMP Snooping |
igmp-snooping enable |
- |
進入VLAN視圖 |
vlan vlan-id |
- |
啟動IGMP Snooping |
igmp-snooping enable |
必選 |
啟動組播VLAN功能 |
service-type multicast |
必選 |
退出至係統視圖 |
quit |
- |
進入與三層交換機相連的以太網端口視圖 |
interface interface-type interface-number |
- |
將端口定義為trunk端口或者Hybrid端口 |
port link-type { trunk | hybrid } |
必選 |
設置以太網允許通過的VLAN ID |
port hybrid vlan vlan-list { tagged | untagged } |
必選 VLAN中必須包括組播VLAN的ID,並且如果端口類型為Hybrid,則必須設置該端口在轉發組播VLAN內的報文時保留VLAN Tag |
port trunk
permit vlan vlan-list |
||
進入與用戶相連的以太網端口視圖 |
interface interface-type interface-number |
- |
定義端口的類型為Hybrid |
port link-type hybrid |
必選 |
設置以太網端口上允許通過的VLAN ID |
port hybrid vlan vlan-id-list { tagged
| untagged } |
必選 VLAN中必須包括組播VLAN的ID,並且必須將組播VLAN設置為untagged |
& 說明:
l 一個端口隻可以屬於一個組播VLAN。
l 與用戶終端相連的端口類型隻能夠為Hybrid。
l 組播成員端口必須與路由器端口屬於同一個組播VLAN,否則無法接收到組播數據報文。
l 當路由器端口加入某個組播VLAN,該路由器端口必須配置成Trunk端口或者是允許組播VLAN報文帶Tag發送的Hybrid端口,否則在此組播VLAN內的所有的組播成員端口都無法接收到組播數據報文。
l 用戶建立了組播VLAN後,所有的IGMP主機報告報文隻在組播VLAN內處理。
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後IGMP Snooping的運行情況,通過查看顯示信息驗證配置的效果。
在用戶視圖下執行reset命令可以清除IGMP Snooping統計信息。
表2-21 IGMP Snooping的顯示和維護
命令 |
說明 |
|
顯示當前IGMP Snooping的配置信息 |
display igmp-snooping configuration |
display命令可以在任意視圖下執行 |
顯示IGMP Snooping對收發包的統計信息 |
display igmp-snooping statistics |
|
顯示VLAN下的IP組播組和MAC組播組信息 |
display igmp-snooping group [ vlan vlan-id ] |
|
清除IGMP Snooping統計信息 |
reset igmp-snooping statistics |
reset命令可以在用戶視圖下執行 |
為了使組播數據不在二層被廣播,需要在交換機上啟動IGMP Snooping。
l
如圖2-3所示,Router A通過GigabitEthernet1/0/2接口連接組播源(Source),通過GigabitEthernet1/0/1接口連接Switch A。
l
在Router A上運行PIM DM和IGMP,在Switch A上運行IGMP Snooping,並由Router A充當IGMP查詢器。
l
組播源(Source)發送組播數據的地址為224.1.1.1;接收者Host A和Host B加入到組播組224.1.1.1。
(1)
配置各設備接口的IP地址
請按照圖2-3配置各接口的IP地址和子網掩碼,具體配置過程略。
(2)
配置Router A
# 啟動組播路由,在各接口上啟動PIM-DM,並在接口GigabitEthernet1/0/1上啟動IGMP。
<RouterA> system-view
[RouterA] multicast routing-enable
[RouterA] interface GigabitEthernet1/0/1
[RouterA-GigabitEthernet1/0/1] igmp enable
[RouterA-GigabitEthernet1/0/1] quit
[RouterA] interface GigabitEthernet1/0/2
[RouterA-GigabitEthernet1/0/2] pim dm
[RouterA-GigabitEthernet1/0/2] quit
(3)
配置Switch A
# 全局啟動IGMP Snooping。
<SwitchA> system-view
[SwitchA] igmp-snooping enable
Enable IGMP-Snooping ok.
# 創建VLAN 100,把端口GigabitEthernet1/0/1到GigabitEthernet1/0/4添加到該VLAN中,並在該VLAN內啟動IGMP Snooping。
[SwitchA] vlan 100
[SwitchA-vlan100] port GigabitEthernet1/0/1 to GigabitEthernet1/0/4
[SwitchA-vlan100] igmp-snooping enable
[SwitchA-vlan100] quit
(4)
檢驗配置效果
# 查看Switch A上VLAN 100內的組播組詳細信息。
<SwitchA> display igmp-snooping group vlan 100
Total 1 IP Group(s).
Total 1 MAC Group(s).
Vlan(id):100.
Total 1 IP Group(s).
Total 1 MAC Group(s).
Static Router port(s):
Dynamic Router port(s):
GigabitEthernet1/0/1
IP group(s):the following ip group(s) match to one mac group.
IP group address: 224.1.1.1
Static host port(s):
Dynamic host port(s):
GigabitEthernet1/0/3
GigabitEthernet1/0/4
MAC group(s):
MAC group address: 0100-5e01-0101
Host port(s): GigabitEthernet1/0/3
GigabitEthernet1/0/4
以上顯示信息表明,SwitchA上已經建立起以動態路由器端口為GigabitEthernet1/0/1和動態主機成員端口為GigabitEthernet1/0/3和GigabitEthernet1/0/4的組播組224.1.1.1,說明HostA和HostB已經成功加入到組播組224.1.1.1。
組播源為Workstation,Switch A轉發組播源發出的組播數據流。組播數據流通過二層交換機Switch B被轉發到最終用戶HostA、HostB。
具體的設備編號如下:
設備 |
描述 |
說明 |
Switch A |
三層交換機 |
VLAN 20接口的IP地址為168.10.1.1,GigabitEthernet1/0/1屬於VLAN 20,GigabitEthernet1/0/1和Work Station相連 VLAN 10接口的IP地址為168.10.2.1,GigabitEthernet1/0/10屬於VLAN 10,GigabitEthernet1/0/10和Switch B相連 |
Switch B |
二層交換機 |
VLAN 2包含端口GigabitEthernet1/0/1,VLAN 3包括端口GigabitEthernet1/0/2,兩個端口分別與HostA、HostB相連 VLAN 10包含端口GigabitEthernet1/0/10 、GigabitEthernet1/0/1和GigabitEthernet1/0/2,並且端口GigabitEthernet1/0/10與SwitchA相連 VLAN 10為組播VLAN |
HostA |
用戶1 |
與Switch B的GigabitEthernet1/0/1端口相連 |
HostB |
用戶2 |
與Switch B的GigabitEthernet1/0/2端口相連 |
配置組播VLAN,使VLAN 2和VLAN 3內的用戶通過組播VLAN接收組播流。
圖2-4 組播VLAN組網示意圖
以下配置基於IP地址已配置,並正確連接設備的前提下進行配置操作。
(1)
Switch A上的配置
# 配置VLAN 20接口的IP地址為168.10.1.1,並啟動PIM DM協議。
<SwitchA> system-view
[SwitchA] multicast routing-enable
[SwitchA] vlan 20
[SwitchA–vlan20]port GigabitEthernet1/0/1
[SwitchA-vlan20] quit
[SwitchA] interface Vlan-interface 20
[SwitchA-Vlan-interface20] ip address 168.10.1.1 255.255.255.0
[SwitchA-Vlan-interface20] pim dm
[SwitchA-Vlan-interface20] quit
#創建VLAN 10。
[SwitchA] vlan 10
[SwitchA-vlan10] quit
# 將GigabitEthernet1/0/10定義為Hybrid端口,並將該端口加入到VLAN10中,端口發送VLAN 10的報文時帶VLAN標簽。
[SwitchA] interface GigabitEthernet1/0/10
[SwitchA-GigabitEthernet1/0/10] port link-type hybrid
[SwitchA-GigabitEthernet1/0/10] port hybrid vlan 10 tagged
[SwitchA-GigabitEthernet1/0/10] quit
# 配置VLAN 10接口的IP地址為168.10.2.1,並啟動PIM DM和IGMP。
[SwitchA] interface Vlan-interface 10
[SwitchA-Vlan-interface10] ip address 168.10.2.1 255.255.255.0
[SwitchA-Vlan-interface10] igmp enable
(2)
Switch B上的配置
# 啟動設備IGMP Snooping。
<SwitchB> system-view
[SwitchB] igmp-snooping enable
# 創建VLAN2,3,10,並將VLAN 10配置為組播VLAN,啟動IGMP Snooping。
[SwitchB] vlan 2 to 3
Please wait.... Done.
[SwitchB] vlan 10
[SwitchB-vlan10] service-type multicast
[SwitchB-vlan10] igmp-snooping enable
[SwitchB-vlan10] quit
# 將GigabitEthernet1/0/10定義為Hybrid端口,並將該端口加入到VLAN 2、3、10中,端口發送VLAN 2、VLAN 3和VLAN 10的報文時帶VLAN標簽。
[SwitchB] interface GigabitEthernet1/0/10
[SwitchB-GigabitEthernet1/0/10] port link-type hybrid
[SwitchB-GigabitEthernet1/0/10] port hybrid vlan 2 3 10 tagged
[SwitchB-GigabitEthernet1/0/10] quit
# 將GigabitGigabitEthernet1/0/1定義為Hybrid端口,並將該端口加入到VLAN 2、VLAN 10中,端口發送VLAN 2和VLAN 10的報文時不帶VLAN標簽,端口的缺省VLAN為VLAN 2。
[SwitchB] interface GigabitEthernet1/0/1
[SwitchB-GigabitEthernet1/0/1] port link-type hybrid
[SwitchB-GigabitEthernet1/0/1] port hybrid vlan 2 10 untagged
[SwitchB-GigabitEthernet1/0/1] port hybrid pvid vlan 2
[SwitchB-GigabitEthernet1/0/1] quit
# GigabitEthernet1/0/2定義為Hybrid端口,並將該端口加入到VLAN 3、VLAN 10中,端口發送VLAN 3和VLAN 10的報文時不帶VLAN標簽,端口的缺省VLAN為VLAN 3。
[SwitchB] interface GigabitEthernet1/0/2
[SwitchB-GigabitEthernet1/0/2] port link-type hybrid
[SwitchB-GigabitEthernet1/0/2] port hybrid vlan 3 10 untagged
[SwitchB-GigabitEthernet1/0/2] port hybrid pvid vlan 3
[SwitchB-GigabitEthernet1/0/2] quit
故障現象:交換機不能實現組播功能。
故障排除:
(1)
IGMP Snooping沒有啟動。
l
輸入命令display current-configuration查看IGMP Snooping的狀態。
l
如果IGMP Snooping沒有啟動,則需查看是全局下是否沒有啟動IGMP Snooping,還是在對應的VLAN下沒有啟動IGMP Snooping。如果是前者則需在係統視圖下輸入命令igmp-snooping enable全局啟動IGMP Snooping。同時在VLAN視圖下輸入命令igmp-snooping enable以啟動對應的VLAN下IGMP Snooping。如果是後者,則隻需在VLAN視圖下輸入命令igmp-snooping enable以啟動對應的VLAN下IGMP Snooping。
(2)
IGMP Snooping建立的組播轉發表不正確。
l
輸入命令display igmp-snooping group查看組播組是否是所預期的。
l
如果IGMP Snooping建立的組播組不正確,請向專業維護人員求助。
在二層的組播過程中,除了通過二層組播協議動態建立MAC組播組轉發表項外,還可以通過手工配置組播MAC地址表項,將端口與組播地址表項進行靜態綁定。
通常情況下,如果交換機收到的組播數據報文中的組播地址沒有在本機注冊,該報文會在該端口所在的VLAN內廣播,通過配置組播靜態MAC地址表項可以避免這種情況。
表3-1 添加組播MAC地址表項
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
添加組播MAC地址表項 |
mac-address multicast mac-address interface interface-list vlan vlan-id |
必選 mac-address必須為組播MAC地址 |
表3-2 添加組播MAC地址表項
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入以太網端口視圖 |
interface interface-type interface-number |
- |
添加組播MAC地址表項 |
mac-address multicast mac-address vlan vlan-id |
必選 mac-address必須為組播MAC地址 |
注意:
l 如果要添加的組播MAC地址表項已經存在,則係統會給出提示。
l 如果要向通過命令添加的組播MAC地址表項中加入端口,需要先將該表項刪除,然後重新添加該表項,將指定端口加入到表項的轉發端口中。
l 如在端口添加了組播MAC地址,則無法在此端口啟動端口彙聚。如端口已經是彙聚端口,則不可以添加組播MAC地址。
l 如果用戶需要在啟動了IGMP-Snooping的VLAN內添加組播MAC地址,將不能配置以01005e開頭的組播MAC地址;如果VLAN內沒有啟動IGMP Snooping,可以配置包括以01005e開頭的組播MAC地址。
通常情況下,如果交換機收到的組播數據報文的組播地址沒有在本機注冊,該報文會在VLAN內廣播。當啟動未知組播丟棄功能後,交換機收到未注冊組播地址的組播數據報文,將丟棄該報文,從而節省帶寬,並提高係統的處理效率。
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
配置未知組播報文丟棄功能 |
unknown-multicast drop enable |
必選 缺省情況下,未知組播報文丟棄功能處於關閉狀態 |
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後組播公共配置的運行情況,通過查看顯示信息驗證配置的效果。
操作 |
命令 |
說明 |
顯示已經添加組播MAC地址表項 |
display mac-address multicast [ static { { { mac-address vlan vlan-id | vlan vlan-id } [ count ] } | count } ] |
display命令可以在任意視圖下執行 |
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!