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