CCIE-IGMPV2和IGMP SNOOPING
2021.11.16 ??? 我可以接受自己的平凡,卻不能接受自己渾渾噩噩的過完這一生
2.3 IGMP Message IGMP Message分為兩大類: ?Host: Membership Report and Leave Message ?Router: Query Message (General & Specific) Host Report Message ?該消息用于組成員向最末跳路由器報告自身需要加入的組地址 ?包頭中目的IP地址同樣為自身想要加入的組地址, 這樣做是為了完成在本組內(nèi)Report Message 的Suppress. 因為路由器不關(guān)心這個組內(nèi)有多少組成員, 它只關(guān)心有或沒有, 因此所有組成員只要有一個發(fā)起報告就好. ?Report Message 產(chǎn)生的原因有兩個: 在組成員第一次加入該組時, 或是在收到路由器發(fā)出的Query Message 以后需要產(chǎn)生響應(yīng). ?針對第一種可能, RFC2236建議在第一次加入該組時, 以10秒為間隔發(fā)送1-2次Report, 目的是為了保證組播路由器可以收到該消息. 此時不考慮Suppress 的問題. ?針對第二種情況, Report 會周期性的發(fā)送, 發(fā)送頻率取決于路由器Query Message的查詢頻率. 此時會考慮Suppress的問題. Host Leave Message ?該消息用于組成員向最末跳路由器報告將要離開的組地址. ?IP 包頭中目的地址設(shè)置為224.0.0.2, 是為了讓本廣播域內(nèi)所有路由器都可以收到,而本組內(nèi)其它組成員則不需要接收該消息. ?該消息是針對路由器的Specific Query Message 的一個觸發(fā)消息, 因為路由器不知道該組內(nèi)一共有多少個組成員, 所以每一個組成員的離開, 它都可能是最后一個組成員, 所以路由器在收到Leave Message 以后需要立刻單獨查詢該組中是否還有組成員. Router General Query ?該消息用于最末跳路由器查詢該接口下所有組成員的信息, 無論屬于組成員加入到了哪個組, 都需要做出響應(yīng). 每60秒做一次查詢. 可以通過命令ip igmp query-interval [seconds] 進(jìn)行修改. ?IP 包頭內(nèi)目的地址設(shè)置為224.0.0.1, 對應(yīng)本廣播域內(nèi)所有設(shè)備, 包括路由器, 這樣做是為了在同一子網(wǎng)有多臺葉路由器時, 選擇查詢者, 而非查詢者將停止發(fā)送所有查詢消息. ?查詢者的選擇直接比較接口IP地址, 地址較小的成為查詢者.如果120秒(可以通過命令ip igmp querier-timeout [seconds] 修改) 內(nèi)非查詢者都沒有收到查詢者的Query消息, 那么宣告當(dāng)前查詢者失效, 由非查詢者接替工作. ?消息中設(shè)置了組成員的最大響應(yīng)時間為10秒, 要求組成員在收到該消息后, 必須在10秒內(nèi)響應(yīng), 組成員同時啟用1-10秒隨機(jī)計時器, 來完成響應(yīng). (第一次General Query 消息中設(shè)置的最大響應(yīng)時間是正常值的1/4) 可以通過命令ip igmp query-max response-time [seconds] 來修改該參數(shù). ?消息中把查詢的組地址設(shè)置為0.0.0.0, 用于對應(yīng)所有組地址. Router Specific Query ?該消息是針對組成員的Leave Message 而產(chǎn)生的特定查詢消息. ?IP 包頭內(nèi)目的地址為要查詢的組地址, 表示該消息只需要指定組的組成員響應(yīng). ?要求組成員響應(yīng)的最大等待時間為1秒, 但是為了防止組成員來不及響應(yīng), Cisco路由器上會以1秒為間隔, 連續(xù)發(fā)送2次該查詢消息. 可以通過命令ip igmp last-member-query-interval [m seconds] 和ip igmp last-member-query-count [num] 來修改對應(yīng)的兩個參數(shù). IGMPv1和IGMPv2的區(qū)別 ?IGMPv1沒有定義Leave Message, 因此最末跳路由器不會產(chǎn)生Specific QueryMessage, 并且在判斷是否還有組成員時必須要通過連續(xù)的三次(180s) GeneralQuery得不到響應(yīng)以后才能判定. 所 以IGMPv1中從最后一個組成員離開, 到路由器停止轉(zhuǎn)發(fā)數(shù)據(jù)的延時比IGMPv2要更長. ?IGMPv1的查詢消息中沒有設(shè)定最大響應(yīng)時間, 而是靠組成員自己來定義. ?IGMPv1不具備查詢者選擇功能, 只能依靠組播路由協(xié)議選擇的指定路由器(DR)來作為查詢者. ?當(dāng)同一子網(wǎng)內(nèi)既存在IGMPv1, 也存在IGMPv2時, 按照向后兼容的原則工作.
IGMPv3 Message ?IGMPv3用于服務(wù)組播轉(zhuǎn)發(fā)的特殊模型SSM (Specific Source Multicast) ?允許組成員只接收指定的組播源到組的流量 ?對于Host 和Router 的消息格式做了修改, 添加了組播源地址字段 ?組成員可在單個消息中添加多個組的Report ?取消了Report Suppress, 每個組成員獨立報告 ?IGMPv3模擬組成員的命令ip igmp join-group [G Add] source [S Add] Host Report Message ?IP包頭內(nèi)目的地址為IGMPv3專用保留地址. 只被IGMPv3路由器接收 ?添加了源地址, 表示需要接收的是來自特定源地址到特定組地址的數(shù)據(jù) ?同一報告可以攜帶多個不同源到不同組的信息. Host Block Old Source Message ?消息類型不發(fā)生改變, 仍然是Report Message, 但是模式變?yōu)锽lock ?消息完成的作用相當(dāng)于IGMPv2中的Leave Message Router General Query ?該消息與IGMPv2類似, 發(fā)送頻率為60秒, 查詢所有組成員的特定需求. Router Specific Query ?該消息與IGMPv2類似, 在收到Block Old Source Message 以后, 會連續(xù)發(fā)兩次查詢, 間隔1秒, 作為最后一個組成員的最大響應(yīng)時間. 2.4 L2 Multicast Frame Switching 組播數(shù)據(jù)轉(zhuǎn)發(fā)對以太交換機(jī)的影響 ?以太交換機(jī)在L2轉(zhuǎn)發(fā)數(shù)據(jù)時, 依賴于本地的CAM表, 也就MAC地址表. ?MAC 地址表通過對收到的數(shù)據(jù)幀的源MAC地址與接收端口綁定的方式來完成自動學(xué)習(xí)過程. ?組播的組地址永遠(yuǎn)都存在于目的地址字段, 因此交換機(jī)的CAM表是無法自動學(xué)習(xí)到組播MAC地址的. ?此時當(dāng)一個組播數(shù)據(jù)經(jīng)過交換機(jī)時, 交換機(jī)會當(dāng)做是未知的數(shù)據(jù)幀在本廣播域內(nèi)Flooding. 如上圖所示: ?組成員通過IGMP 向路由器報告自身需要到達(dá)組地址224.1.2.3的流量. ?IGMP在穿越交換機(jī)時, 交換機(jī)無法識別. (因為該消息在IP 包頭內(nèi)) ?但是交換機(jī)會將該主機(jī)的單播MAC 地址與接收端口5/1綁定進(jìn)入CAM 表. ?路由器收到報告后, 會通過CGMP 向交換機(jī)發(fā)起Join 消息, 告訴交換機(jī)有一個單播MAC: 0080.C7A2.1093對組地址MAC: 0100.5E01.0203要求加入. ?交換機(jī)收到該消息后, 首先查詢單播的MAC 地址表, 確認(rèn)該單播MAC 地址綁定在5/1上, 然后建立組播的MAC 地址表, 將0100.5E01.0203綁定在5/1, 從而完成對組播MAC 地址的學(xué)習(xí). R1(config-if)#ip cgmp SW(config)#cgmp IGMP Snooping ?單獨運行在Switch—默認(rèn)開啟 ?要求該Switch 必須是多層交換機(jī). ?運行IGMP Snooping 后, 交換機(jī)會監(jiān)聽經(jīng)過自己的所有IGMP 消息, 并且自動判斷哪些單播MAC 地址需要接收哪些組播MAC 地址的流量 ?對應(yīng)單播的MAC 地址表完成組播MAC 地址表的建立. SW#show ip igmp snooping group //查看端口和組地址映射 SW(config)#no ip igmp snooping //關(guān)閉igmp snooping
總結(jié)
IGMP Report消息的抑制:
IGMP Version 1:
相比于Version 2,V1里面沒有離組消息,如果下游某個接收者不再需要組播流量了,離開了某個組,最后一跳路由器需要等Expires時間超時,才會刪除IGMP Group的表項。180s
V1 沒有指定組查詢
V1 沒有查詢者概念,但是依然會選舉出一個發(fā)送查詢消息的路由器。誰負(fù)責(zé)發(fā)查詢消息?????誰是DR誰負(fù)責(zé)發(fā)查詢消息
IGMPV1使用DR來充當(dāng)查詢者,DR發(fā)送查詢消息
IGMPv1里面主機(jī)只發(fā)IGMPv1的Report消息,最后一跳路由器發(fā)IGMPV1的查詢消息
查詢者選舉:IP地址越小越優(yōu)
DR的選舉:IP地址越大越優(yōu)
===========================================================================================================================
關(guān)于IGMP內(nèi)容,重點:
1、路由器模擬PC加組的命令
PC1(config)#int e0/0
PC1(config-if)#ip igmp join-group 224.1.1.1?? //思科路由器模擬PC加組
2、IGMPV2 里面的消息
?? --- 主機(jī)的Report和Leave消息
?? --- 路由器的通用查詢和指定組查詢
IGMPV3:
專門給SSM來用的
SSM:指定源組播,接收者指定要接收某個服務(wù)器發(fā)來的組播流量。
IGMPv3的Report消息里面除了包含組地址,還包含想要接收組播流量組播服務(wù)器的地址。
IGMPv2:假設(shè)想接收224.1.1.1組播組的流量
Report消息--IP包頭里面目的IP:224.1.1.1----讓本子網(wǎng)內(nèi)其他想接收224.1.1.1組播組的接收者可以看到,同時讓最后一跳路由器也可以看到。
??????????????????????????????????????????????? Report消息的抑制,盡量的減少Report消息在本子網(wǎng)的發(fā)送
Leave消息--IP包頭里面目的IP:224.0.0.2? ---讓最后一跳路由器以及備用的最后一跳路由器都可以接收
通用查詢消息---IP包頭里面目的IP:224.0.0.1----讓本子網(wǎng)內(nèi)所有的組播接收者【PC】以及備用的最后一跳路由器都可以接收
指定組查詢消息---IP包頭里面目的IP:224.1.1.1-----讓本子網(wǎng)內(nèi)其他想接收224.1.1.1組播組的接收者可以看到,同時讓最后一跳路由器也可以看到。
??????????????????????????????????????????????? Report消息的抑制,盡量的減少Report消息在本子網(wǎng)的發(fā)送
IGMPv3:IGMPv3的路由器監(jiān)聽的就是224.0.0.22
Report消息:224.0.0.22--保留的組播地址--TTL=1
通用查詢消息---IP包頭里面目的IP:224.0.0.1
離組消息--224.0.0.22
指定組查詢----224.1.1.1
================================================================================================================================
DHCP:基于UDP的,服務(wù)器監(jiān)聽UDP67,客戶端監(jiān)聽UDP68
接入交換機(jī)能識別DHCP報文嗎?不能
開啟DHCP Snooping【嗅探】功能,讓接入交換機(jī)可以識別DHCP的報文,并且針對DHCP報文做過濾。
================================================================================================================================
CGMP:思科私有的
作用:為了讓交換機(jī)收到組播流量的時候,由于單播的mac地址表沒有對應(yīng)的組播條目去轉(zhuǎn)發(fā)這個組播流,而導(dǎo)致的泛洪。
所以,需要讓交換機(jī)產(chǎn)生針對組播mac的表項。通過指定端口轉(zhuǎn)發(fā)組播流量,不要泛洪、不要泛洪、不要泛洪。
IGMP SNOOPING:公有的
作用:為了讓交換機(jī)收到組播流量的時候,由于單播的mac地址表沒有對應(yīng)的組播條目去轉(zhuǎn)發(fā)這個組播流,而導(dǎo)致的泛洪。
所以,需要讓交換機(jī)產(chǎn)生針對組播mac的表項。通過指定端口轉(zhuǎn)發(fā)組播流量,不要泛洪、不要泛洪、不要泛洪。
讓交換機(jī)可以直接拆開IGMP Report消息,讓交換機(jī)可以看到IGMP消息里面的內(nèi)容。
你這個交換機(jī)需要支持三層功能
?
總結(jié)
以上是生活随笔為你收集整理的CCIE-IGMPV2和IGMP SNOOPING的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java eventusermodel_
- 下一篇: 递归神经网络结构形式,RNN神经网络基本