单播 广播 组播_【技术解析】关于组播概念那些你需要知道的~
點擊藍字關注我
今天,小盟帶大家繼續學習一下組播知識~
一、IGMP Message
1.組成員一旦開啟IGMP,會自動發送Membership Report消息到葉路由器
2.IGMPv2版本,組成員退出組會發送leave消息,IGMPv1不會
3.也就是說,IGMPv1版本只有Membership Report Message,沒有Leave Message
4.對于葉路由器,如果運行IGMPv1版本,那么它是沒有Specific消息的(特定組查詢消息)
只有60s/次的周期性查詢消息(即general Message-通用性查詢消息)
5.葉路由器會周期性的每60s向組成員發送周期性查詢消息,組成員收到以后,必須回應membership
Report消息
6.特定組查詢消息只在V2版本中才會產生
7.當某一組成員向葉路由器發送了leave message以后,葉路由器會馬上向下發送一個spcific message
查詢這個組中是否還有組成員(整個廣播域內發送),如果還有該組中還有組成員存在,那么其他組成員
將以membership report消息回復葉路由器;如果該組中不再存在任何組成員,那么葉路由器收到來自
組播的數據將不再往下推送
Host Report Message
1.該消息用于組成員向葉路由器報告自身需要加入的組地址
2.報頭中的目的ip地址為自身想要加入的組地址,這樣做是為了完成再本組內Report Message的Suppress(抑制)
因為路由器不關心這個組內有多少組成員,只關心有或者是沒有,因此所有組成員只要有一個發起就好
3.那么其他組成員如何知道不需要發送Report Message呢,因為每一個組成員發送消息的目的ip為組播地址
4.Report Message產生的原因有兩個:再組成員第一次加入該組時,或是在收到路由器發出的Query Message以后
需要產生響應
5.針對第一種可能,RFC2236建議在第一次加入該組時,每一個組成員都以10s為間隔發送1-2次membership Report
message,為了保證葉路由器可以收到該消息,這個時候就不考慮Suppress的問題
6.針對第二種情況,Report會周期性的回復,回復頻率取決于路由器Query Message的查詢頻率
7.一旦有某一個組成員發送了Membership Report消息以后,其他組成員將不再發送
8.IGMPv2的Leave Message,當組成員離開時用于通告也路由器,發送該消息的目標ip地址位224.0.0.2
也就是發送到組內的所有路由器
二、組成員的Leave Message消息
為什么要發送到224.0.0.2?
1.因為某一單一組成員的離開不需要告訴組內的其他組成員,這樣只有葉路由器可以收到
2..其次,會出現雙網關(多葉路由器)的情況,那么為了能夠將消息發送到所有的葉路由器的同時也要保證組內其它
組成員不收到該消息,所以將此消息發送到目標地址224.0.0.2
三、葉路由器的通用組查詢消息,
General Query Message
為什么發送到224.0.0.1?
1.當存在多臺葉路由器的時候,葉路由器發送通用組查詢消息是發送到所有的設備,那么在這過程中
所有的組成員能收到,所有的葉路由器也能收到
2.當存在多個葉路由器的時候,會在多個葉路由器中選舉出一個葉路由器發送特定組查詢消息
該消息用于葉路由器查詢該接口下的所有組成員的信息,無論組成員需要加入哪一個組(可能存在
多個不同的組)都需要做出響應,葉路由器每60s向下發送一次查詢,可以通過命令ip igmp query-interval
【seconds】進行修改(接口下)
3.IP包頭內目的地址設置位224.0.0.1,對應本廣播域內的所有設備,包括葉路由器,這樣做是為了在同一子網
有多臺路由器時,選擇查詢者,而非查詢者將停止發送所有查詢消息
4.查詢者的選擇比較接口的ip地址,地址越小的成為查詢者,如果120s(可以通過ip igmp querier-timeout【second】
修改)內非查詢者都沒有收到查詢者的Query消息,那么宣告當前查詢者失效,由非查詢者接替原查詢者的工作
周期性的向組成員發送通用查詢組消息
5.消息中設置了組成員的最大響應時間為10s,要求組成員在收到該消息后,必須10s內響應,組成員 同時啟用1-10s隨機計時器,來完成響應
(第一次General Query消息中設置的最大響應時間是正常值得1/4)可以使用命令ip igmp query-max-response-time【seconds】來修改該參數
6.消息中把查詢得組地址設置為0.0.0.0,用于對應所有組地址
四、Router Specific Query
1.該消息是針對組成員得Leave Message而產生的特定組查詢消息
2.ip包頭內目的地址為要查詢的組地址,表示該消息只需要指定的組的組成員響應
3.要求組成員響應的最大等待時間為1s,但是為了防止組成員來不及響應,cisco路由器上會以1s為間隔,連續發送2次該查詢消息
4.可以通過命令:
ip igmp last-member-quary-interval[m seconds]和ip igmp lasst-member-query-count【num】來修改
五、IGMPv1和IGMPv2的區別
1.IGMPv1沒有定義Leave Message,因此最末跳路由器不會產生specific Query Message,并且在判斷是否還有組成員時必須
要通過連續3次(180s)General Query得不到響應以后才能判定,所以IGMPv1中從最后一個組成員離開,到路由器停止轉發數據的
延時比IGMPv2要更長。
2.IGMPv1的查詢消息中沒有設定最大響應時間,而是靠組成員自己來定義
3.IGMPv1不具備查詢者選擇功能,只能依靠組播路由協議選擇的指定路由器(DR)來作為查詢者
4.當同一子網內既存在IGMPv1,也存在IGMPv2時,按照向后兼容的原則工作
六、L2 Muiticast Frame Switching
組播數據轉發對一臺交換機的影響
1.以太交換機在L2轉發數據時,依賴于本地的CAM表,也就是MAC地址表
2.交換機通過對收到的數據幀的源mac地址與接收端口相綁定的方式來完成自動學習,從而形成mac地址表
3.組播的組地址永遠都是存在于目的地址字段,因此交換機是永遠無法自動學習到組播的mac地址的
4.因此,當一個組播的數據經過交換機時,交換機會把這個數據當作未知單播數據幀再本廣播域內Flooding
七、CGMP協議(Cisco Group Management Protocol)--cisco私有
1.運行在Router和Switch之間的一種協議
2.CGMP Message是由Router向Switch發起
3.組成員通過IGMP向路由器報告自身需要到達組地址224.X.X.X
4.IGMP在穿越交換機時,交換機無法識別(因為該消息在IP包頭內)
5.但是交換機會將該主機的單播mac地址和自身接收到該數據的接口相綁定
6.路由器收到報告后,會通過CGMP向交換機 發起join消息,告訴交換機有一個單播MAC(組成員的mac)和組地址(組播地址的mac)要求加入
7.交換機收到該消息后,首先查詢單播的mac地址表,確認該組成員單播mac地址是在該接口上,然后建立組播mac地址表,將組播mac地址和組成員連接
交換機的接口綁定,完成對組播mac地址的學習
八、IGMP Snooping
1.單獨運行在Switch
2.要求該Switch必須是多層交換機
3.運行IGMP Snooping后,交換機會監聽經過自己的所有IGMP的消息,并且自動判斷哪些單播mac地址需要接收哪些組播Mac地址的流量
4.對應單播的mac地址表完成組播MAC地址表的建立
九、RGMP,和CGMP工作原理類似,
公有協議
十、GMRP【GARP(Genneral Attribute Registration Protocol Multicast)
Resgistration Protocol
1.運行在組成員(主機)和交換機之間的協議,要求組成員(主機)安裝相對應的協議
十一、單播路由與組播路由的主要區別
1.單播路由關心數據包要去哪里(Destination)
2.組播路由關心數據包從哪里來(Source)
3.單播路由依靠路由協議對目的地址的檢測來防止環路
4.組播路由無法對目的地址檢測,因為組成員可能在任何一個節點
因此組播路由需要依靠對源地址的檢測來防止環路的發生
1.對源地址的檢測方法稱之為RPF(Reverse Path Forwarding)
2.RPF針對的是所有組播路由協議,所以RPF是組播數據轉發的依賴
show ip rpf 100.1.1.0--
查看rpf的源是怎么過來的?
配置-dense mode-推送模式
ip multicast-routing--開啟組播路由功能
ip pim dense-mode-開啟pim推送模式
ip igmp join-group +組播地址--PC加入某一個組
show ip igmp interface F0/0--查看接口IGMP協議運行狀態
show ip mroute--查看組播路由表
Show ip pim neighbor-查看pim鄰居
網絡拓撲:
1.如圖規劃ip地址,SER設備網關地址為100.1.1.1,PC1設置GW網關地址為150.1.1.1
2.GW1和GW2上打開組播路由功能
3.進入接口下,啟用pim協議,這里設置pim模式為推送模式(dense-mode)
4.GW1,GW2上運行底層協議,以獲得單播路由(組播是基于單播的)
5.PC1進入接口,將接口加入到組播組224.1.2.3(組播地址自定義)中
6.測試實際效果
第一步:規劃ip地址(步驟省略)
第二步:
第三步:
第四步:
第五步:
第六步:
1.PC1上開啟debug,檢測ping包
2.SER上測試:
3.PC1上查看debug情況:
掃碼加入課堂
每晚七點半
騰訊課堂? 精彩開啟
為方便來自五湖四海的網絡愛好者
共同討(吹)論(牛)交(逗)流(趣)
熱烈歡迎大家加入專屬QQ群:
加入即可領取:
1、實用模擬器安裝包
2、內部精選電子書籍
3、精品實用工程案例
群內資料定期上傳更有講師全天技術答疑?
總結
以上是生活随笔為你收集整理的单播 广播 组播_【技术解析】关于组播概念那些你需要知道的~的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: solidworks的小金球插件_SOL
- 下一篇: 苹果xmax尺寸
