一、簡介
1.MLD簡介
MLD
· Multicast Listener Discovery Protocol
· 組播偵聽者發現協議
功能
· 在終端主機和與其直接相鄰的組播路由器之間建立/維護組播組成員關系
標準
· RFC2710: MLD, 1999.10
· RFC3810: MLDv2, 2004.06
其定義是:組播偵聽者發現協議MLD(Multicast Listener Discovery)是負責IPv6組播成員管理的協議,用來在IPv6成員主機和與其直接相鄰的組播路由器之間建立和維護組播組成員關系。MLD通過在成員主機和組播路由器之間交互MLD報文實現組成員管理功能,MLD報文封裝在IPv6報文中。
在功能上:出現于IPv4時代的組播技術,有效解決了單點發送、多點接收的問題,實現了網絡中點到多點的高效數據傳送,能夠大量節約網絡帶寬、降低網絡負載。在IPv6網絡中,組播技術的應用得到了進一步的豐富和加強。MLD可以理解為IGMP的IPv6版本,兩者的協議行為完全相同,區別僅僅在于報文格式。
因此,MLD定義了一個IPv6網段內組播路由器與成員主機之間如何建立和維護組成員關系
2.IGMP與MLD
MLDv1的工作機制與IGMPv2相同,基于查詢和響應機制完成對IPv6組播組成員的管理。MLDv2在MLDv1的基礎上,增加的主要功能是成員主機可以指定接收或不接收某些組播源的報文。MLD兩個版本在演進過程中對協議報文的處理是向前兼容的,即運行MLDv2的組播路由器可以識別MLDv1的協議報文。
這里,我們以MLDv1進行舉例:
3.MLDv1工作原理
MLDv1主要基于查詢和響應機制完成對IPv6組播組成員的管理
· 查詢器選舉機制
· 加入IPv6組播組機制
· 離開IPv6組播組機制
MLDv1包含四種報文
· 普遍組查詢報文(General Query):查詢器向共享網絡上所有主機和路由器發送的查詢報文,用于了解哪些組播組存在成員;
· 特定組查詢報文(Multicast Address Specific Query):查詢器向共享網段內指定組播組發送的查詢報文,用于查詢該組播組是否存在成員;
· 成員報告報文(Multicast Listener Report):主機向查詢器發送的報告報文,用于申請加入某個組播組或者應答查詢報文;
· 成員離開報文(Multicast Listener Done):主機離開組播組時主動向查詢器發送的報文,用于宣告自己離開了某個組播組。
4.MLDv1:查詢器選舉機制
網段內有多個IPv6組播組路由器時,需要確定一臺路由器作為查詢器發送查詢報文
· 所有Router都網絡中發送MLD普遍查詢報文;
· 收到其他router的普遍查詢報文后,自行與自己的IPv6地址比較,地址最小的成為查詢器;
· 所有非查詢器上會啟動一個定時器(Other Querier Present Timer)。在定時器超時前收到來自查詢器的MLD查詢報文,則重置該定時器;否則,認為查詢器失效,并發起新的查詢器選舉。
5.MLDv1:普遍組查詢和響應機制
通過普遍組查詢和響應,MLD查詢器可以了解到該網段內那些組播組存在成員
· MLD查詢器發送目的地址為FF02::1的普遍查詢報文,收到該查詢報文的組成員啟動定時器;
· 第一個定時器查實的組成員發送針對該組的報告報文;
· 其余組成員收到此報告報文后,停止定時器,不再發送針對該組的報告報文,此功能被抑制;
· MLD查詢器收到組成員報告報文后,知道本網段內存在組播組G1的成員,并由IPv6組播路由協議生成(*,G1)組播轉發表項,一旦有組播組G1的數據到達路由器,就向該網段轉發。
6.MLDv1:加入IPv6組播組機制
網段內有新成員需要加入組播組時,會主動向MLD查詢器發送報告報文,不必等待普遍查詢報文的到來
· 右圖三個主機分別向G1、G2發送報告報文,MLD查詢器接收到成員報告報文后,了解到網段中有G1 和G2的成員,IPv6路由組播協議生成(*,G1)和(*,G2)組播轉發表項
· MLD查詢器周期性地以組播方式向本網段的所有主機和路由器發送普遍查詢報文,主機分別響應G1和G2的查詢,HostC被HostB的組成員關系報告報文抑制,不發送成員關系報告報文
審核編輯 黃昊宇
-
MLD
+關注
關注
0文章
4瀏覽量
7578
發布評論請先 登錄
相關推薦
評論