MDL 組播監(jiān)聽者發(fā)現

2020-06-12 11:49 更新

一、簡介

1.作用

IPv6的組管理協議被稱為MLD(組播監(jiān)聽者發(fā)現)。1999年,MLD版本l(RFC2710)被IETF發(fā)布。2004年,MLD版本2(RFC3810)標準出臺,后一個版本可以向前一個兼容。MLD協議是專門針對基于IPv6的組播組管理協議。因為MLD使用全新的ICMPv6的報文格式,所以MLD協議就是ICMPv6協議的一個子集。MLD消息使用鏈路本地IPv6源地址發(fā)送,其跳數被限制為1。MLD消息的封裝格式

二、報文

1.通用報文

MLD消息是ICMPv6消息的一個子集,封裝在IPv6報文中。

IPv6報文頭的源地址字段為MLD消息發(fā)送者的IPv6本地鏈路地址。 IPv6報文頭的目的地址字段用來標識MLD消息所屬的組播組。 IPv6報文頭的Hop Limit字段值為1,表示MLD消息只在本地網段傳播。 逐跳選項頭(Hop-by-Hop Option Header)。其中下一報頭(Next Header)字段值為58,表示該報文是ICMPv6消息;路由器告警選項(RTR-ALERT)的值是0x05020000,表明該報文是MLD消息。 不同版本的MLD協議,使用不同的消息格式,支持不同的消息類型。

2.MLDv1

MLDv1的工作原理MLDvl協議是從IGMPv2協議中派生出來的,其運行機制和IGMPv2協議相同,專門用于IPv6組播群組的管理,其主要是應用于ASM模式組播路由協議的組管理工作。對于運行MLD協議的路由器,其接口要監(jiān)聽由IPv6組播地址產生的所有鏈路組播地址。路由器為它所在的每一條鏈路維護一個列表。表項有此鏈路中存在的組成員的組播地址,以及該地址相應的定時器。 路由器周期性地發(fā)送通用請求(general query),以查詢該鏈路上是否存在某組播地址的組成員。節(jié)點收到路由器發(fā)送的常規(guī)請求后,經過隨機時延后發(fā)出組播監(jiān)聽報告。這樣是為了防止所有的節(jié)點都在同一時間發(fā)出報告分組,從而造成網絡的突發(fā)性阻塞。當路由器收到鏈路上的報告分組時,如果報告地址不在路由器的列表上,則加入該項,否則計時器重新置位。如果某個地址的計時器過期,則從列表中刪除。 當節(jié)點要加入一個組播組時,主動發(fā)送組播監(jiān)聽報告,向路由器報告組成員的存在。節(jié)點退出組播組時,發(fā)送完成分組,刪除有關路徑。當請求狀態(tài)的路由器從鏈路上接收到一個完成消息,如果消息中的組播地址在路由器的列表上,路由器發(fā)送一個特定組播地址查詢。 如果一段時延后沒有報告分組,則認為該組播地址在此鏈路上沒有組成員了。

3.MLDv2

除了兼容支持MLDvl所有的三種報文:組播偵聽查詢(MLD消息類型值為130),包括一般查詢和特定組播地址查詢:組播偵聽報告(MLD消息類型值為131);組播偵聽完成(MLD消息類型值為 132)外,還增加了MLDv2查詢消息(一般的查詢、特定組播地址查詢,特定組播地址和源查詢)和“偵聽者報告”報文?!皞陕犝邎蟾妗眻笪氖窍蜞従勇酚善鲌蟾娈斍暗慕M播偵聽狀態(tài),或者聲明偵聽狀態(tài)變化情況。

以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號