Multicast用途: 當網路上的資料要傳輸給部份設備時,若用multicast送資料,交換器僅會將資料傳輸給部份設備,因此頻寬不會被浪費,因此multicast對多媒體傳輸時的網路效能很重要 ps 當網路上的資料要傳輸給部份設備時,若用broadcast送資料,交換機會將這些資料不經過濾地發給所有設備,因此很浪費頻寬, Multicast挑戰 如何識別multicast的接收者 如何定址multicast的接收者 Multicast運作原理 單一識別碼會用來代表一群接收者, 定址到使用該群組識別碼的封包, 可送資料到該群組的接收者 ex: 假設有一群節點,但有部份節點擁有群播位置,則擁有此位置的節點會接收到該群播的資訊 Multicast運作元件 IGMP: 運作在主機與相連route間 讓主機能通知相連router,主機上的應用程式想加入特定的群播群組 Multicast routing protocol: 運作在router之間 將群播資料傳到目地 ........................................................................ Multicast routing protocol 兩種multicast routing protocol做法: group-shared: 一個群播群組共用一個以tree為基礎的傳播路徑 實做技術常見的有minimal spanning (Steiner),center-based trees,...etc source-specific: 不同的傳送端有專屬的tree為基礎的傳播路徑 實做技術常見的有shortest path trees,reverse path forwarding,...etc 常見multicast routing protocol DVMRP(distance vector multicast routing protocol,距離向量群播繞送協定) PIM(protocol independent multicast routing protocol,協定獨立群播繞送協定) ........................................................................ IGMP Internet(Internet Group Management Protocol,群組管理協定) 用於multicast的協定 用來決定那些主機要加入multicast group,以及和mutlicast group內主機通訊 IGMP版本 IGMP V1(RFC1112定義) IGMP V2(RFC2236定義) IGMP V3(RFC 3376定義) ... IGMP組成元件 IGMP查詢路由器:用來發送Membership Query到224.0.0.1的角色,每60秒送一次 IGMP成員/receiver:加入群組的電腦,只有這些電腦會收到特定的資料 成員加入multicast組方式 方法1 從其中一台支援IGMP的網路設備中找一台做IGMP查詢路由器 IGMP查詢路由器每隔60秒週期性地發送Membership Query給224.0.0.1 啟用群播的所有成員(主機)監聽該位址並接收,然後以Membership Report回覆 IGMP查詢路由器就會知道該群播群組有那些成員 方法2 成員可主動送Membership Report表明要加入那個multicast群組 成員離開multicast組方式 成員可透過不回應membership query而離開multicast群組 ... IGMP Version 1 封包 Membership Query:用於查詢有那些成員(0x11) Membership Report:成員用來回應membership query(0x12) IGMP Version 2 封包 Membership Query:用於查詢有那些成員(0x11) Membership Report:成員用來回應membership query:分為v1(0x12)和v2(0x16) Leave Group:成員用來宣告離開群組(0x17) ps: v2主要增加以下功能: 支援離開機制 支援特定群組查詢功能 最大回應時間欄位,v1預設10秒 IGMP version 3 v3主要增加以下功能 IGMP封包新增 Membership Report v3 增加過濾來源的機制,允許系統選擇想要接收的特定群播源或者排除不想接收的特定群播源 refer http://ithelp.ithome.com.tw/question/10067356 .............................................................................................. 其他補充 群播位置 Reserved link local(保留鏈結區域): 範圍:224.0.0.0-224.0.0.255 功能:網路協定常用 ex: 224.0.0.1負責處理所有的IP群播主機 224.0.0.2處理所有群播的角色 224.0.0.5和224.0.0.6被OSPF使用, 224.0.0.10被EIGRP使用 globally scoped(全域範圍): 範圍:224.0.1.0-238.255.255.255 功能:群播應用程式常用 SSM(source-specific multicast,特定來源群播位置): 範圍:232.0.0.0-232.255.255.255 功能:用於IGMPv3 GLOP: 範圍:233.0.0.0-233.255.255.255 功能:常用於AS limited scope(限制範圍): 範圍:239.0.0.0-239.255.255.255 功能:類似privite IP ps: 群播ip轉換群播mac [01-00-5e-0] + [IP的後23bit] ex: 以224.1.10.10為例 224.1.10.10=11100000.00000001.00001010.00001010 224.1.10.10的後23bit=0000001.00001010.00001010=1-0a-0a [01-00-5e-0] + [1-0a-0a]=01-00-5e-01-0a-0a 所以224.1.10.10的群播mac=01-00-5e-01-0a-0a |