在看這篇文章會建議先看一下Multicast
Multicast VLAN 或 Multicast VLAN Registration
是為了MOD(Media-on-Demand)所設計出來的
一個Multicast VLAN可以將multicast traffic透通到其他的VLAN
如下圖
在switch上面設定multicast vlan 99
則multicast server S的multicast traffic就會送給VLAN 100, 200, 300
這樣可以簡化頻寬的使用與降低multicast group的管理難度
MVR主要會針對IGMP join與leave封包進行處理
至於IGMP report的封包則是交給IGMP snooping
MVR port分為兩種
一種為source port: 可以收送multicast traffic (此port都是接到multicast sever或是multicast router)
一種為receive port: 只能收multicast traffic (此port都是接到用戶端)
MVR分為兩種模式
dynamic(自動):會將IGMP report的封包送到所有的source port,並且自動更新multicast forwarding table
compatible(手動):不會轉送任何的封包,必須手動設定
由下圖來做各設定與流程的範例
MVLAN要設為99並且要設定802.1p的priority (0~7)
在設定的部份port 1 & 2要設為recive port
port 9要設定為source port
最後在multicast group的部份加入
Movie :224.1.3.10 ~ 224.1.3.20
News : 230.3.2.100 ~ 230.3.2.110
以上便大功告成了
如果A user想要看某個電影頻道(224.1.3.15)
A會送IGMP report給switch去join 224.1.3.15的multicast group
IGMP report送到switch之後
switch會去比對MVR的table看是否有match到multicast group
並存到multicast forwarding table
最後透過A user所屬的vlan 100來傳送multicast traffic
如果A user想要換頻道或關機不看了
他會送一個leave的message給switch告知說要離開此頻道
switch會送query的message給port 1
如果還有其他的人在此port要收看的則會繼續送multicast封包
如果沒有別人在此port要收看了switch會將此port給移除
PS:一個port能屬於多個mulitcast VLAN但是multicast group不能有overlap