IGMP版本
IGMPv1中定義了基本的組成員查詢和報告過程,IGMPv2在此基礎(chǔ)上添加了查詢器選舉和組成員離開的機制嘴秸,IGMPv3中增加的主要功能是成員可以指定接收或指定不接收某些組播源的報文凭疮。三個版本在演進過程中對協(xié)議報文的處理是向前兼容的,因此盡管各個版本的協(xié)議報文格式不同衰腌,但是運行IGMP高版本的路由器可以識別低版本的IGMP報文。
所有IGMP版本都支持ASM(Any-Source Multicast)模型饶囚。IGMPv3可以直接應(yīng)用于SSM(Source-Specific Multicast)模型,而IGMPv1和IGMPv2則需要IGMP SSM Mapping技術(shù)的支持才可以應(yīng)用于SSM模型。
IGMPv3詳解
與IGMPv2相比,IGMPv3報文的變化如下:
IGMPv3報文包含兩大類:查詢報文和成員報告報文梨与。IGMPv3沒有定義專門的成員離開報文,成員離開通過特定類型的報告報文來傳達呻粹。
??查詢報文中不僅包含普遍組查詢報文和特定組查詢報文,還新增了特定源組查詢報文(Group-and-Source-Specific Query)。該報文由查詢器向共享網(wǎng)段內(nèi)特定組播組成員發(fā)送撒踪,用于查詢該組成員是否愿意接收特定源發(fā)送的數(shù)據(jù)掸绞。特定源組查詢通過在報文中攜帶一個或多個組播源地址來達到這一目的。
??成員報告報文不僅包含主機想要加入的組播組,而且包含主機想要接收來自哪些組播源的數(shù)據(jù)驱显。IGMPv3增加了針對組播源的過濾模式(INCLUDE/EXCLUDE),將組播組與源列表之間的對應(yīng)關(guān)系簡單的表示為(G,INCLUDE胳蛮,(S1、S2...))丛晌,表示只接收來自指定組播源S1澎蛛、S2……發(fā)往組G的數(shù)據(jù)呆馁;或(G毁兆,EXCLUDE,(S1瓷叫、S2...))屯吊,表示接收除了組播源S1、S2……之外的組播源發(fā)給組G的數(shù)據(jù)。當組播組與組播源列表的對應(yīng)關(guān)系發(fā)生了變化煮寡,IGMPv3報告報文會將該關(guān)系變化存放于組記錄(Group Record)字段,發(fā)送給IGMP查詢器律胀。
??在IGMPv3中一個成員報告報文可以攜帶多個組播組信息炭菌,而之前的版本一個成員報告只能攜帶一個組播組。這樣在IGMPv3中報文數(shù)量大大減少阔馋。
?
IGMP各版本間的差異