MLD是Multicast Listener Discovery Protocol(组播侦听者发现左券)的简称偷拍自拍 亚洲色图 厕底偷拍,它用于IPv6路由器在其直连网段上发现组播侦听者。组播侦听者(Multicast Listener)是那些但愿摄取组播数据的主机节点。
路由器通过MLD左券,不错了解我方的直连网段上是否有IPv6组播组的侦听者,并在数据库里作念相应纪录。同期,路由器还爱戴与这些IPv6组播地址关联的定时器信息。
MLD路由器使用IPv6单播链路土产货地址算作源地址发送MLD报文。MLD使用ICMPv6(Internet Control Message Protocol for IPv6,针对IPv6的互联网贬抑报文左券)报文类型。通盘的MLD报文被王法在土产货链路上,跳数为1。
MLD的版块到当今为止,MLD有两个版块:
l MLDv1(由RFC 2710界说),源自IGMPv2
l MLDv2(由RFC 3810界说),源自IGMPv3
通盘版块的MLD左券皆相沿ASM(Any-Source Multicast,恣意信源组播)模子;MLDv2不错凯旋期骗于SSM(Source-Specific Multicast,指定信源组播)模子,而MLDv1则需要在MLD SSM Mapping技巧的相沿下才气期骗于SSM模子。
MLDv1旨趣简介MLDv1主要基于查询和反映机制完成对IPv6组播构成员的措置。
1. 查询器选举机制当一个网段内有多台IPv6组播路由器时,由于它们皆能从主机那儿收到MLD成员关联讲述报文(Multicast Listener Report Message),因此只需要其中一台路由器发送MLD查询报文(Query Message)就鼓胀了。这就需要有一个查询器(Querier)的选举机制来笃定由哪台路由器算作MLD查询器,其选举经由如下:
(1) 通盘MLD路由器在开动时皆合计我方是查询器,并向土产货网段内的通盘主机和路由器发送MLD大皆组查询(General Query)报文(方针地址为FF02::1);
(2) 土产货网段中的其它MLD路由器在收到该报文后,将报文的源IPv6地址与我方的接口地址作相比。通过相比,IPv6地址最小的路由器将成为查询器,其它路由器成为非查询器(Non-Querier);
(3) 通盘非查询器上皆会启动一个定时器(即其它查询器存在时刻定时器Other Querier Present Timer)。在定时器超时前,若是收到了来自查询器的MLD查询报文,则重置该定时器;不然,就合计原查询器失效,并发起新的查询器选举经由。
2. 加入IPv6组播组机制图1 MLD查询反映暗示图
如图1所示,假定Host B与Host C念念要收到发往IPv6组播组G1的IPv6组播数据,而Host A念念要收到发往IPv6组播组G2的IPv6组播数据,那么主机加入IPv6组播组以及MLD查询器(Router B)爱戴IPv6组播构成员关联的基本经由如下:
(1) 主契机主动向其要加入的IPv6组播组发送MLD成员关联讲述报文以声明加入,而无须恭候MLD查询器发来的MLD查询报文;
(2) MLD查询器(Router B)周期性地以组播时势向土产货网段内的通盘主机和路由器发送大皆组查询报文(方针地址为FF02::1);
(3) 在收到该查询报文后,关心G1的Host B与Host C其中之一(这取决于谁的蔓延定时器先超时)——比喻Host B会率先以组播时势向G1发送MLD成员关联讲述报文,以宣告其属于G1。由于土产货网段中的通盘主机皆能收到Host B发往G1的讲述报文,因此当Host C收到该讲述报文后,将不再发送雷同针对G1的讲述报文,因为MLD路由器(Router A和Router B)已知谈土产货网段中有对G1感好奇神往的主机了。这个机制称为主机上的MLD成员关联讲述扼制机制,该机制有助于减少土产货网段的信息流量;
(4) 与此同期,由于Host A关心的是G2,是以它仍将以组播时势向G2发送讲述报文,以宣告其属于G2;
(5) 经过以上的查询和反映经由,MLD路由器了解到土产货网段中有G1和G2的成员,于是由IPv6组播路由左券(如IPv6 PIM)生成(*,G1)和(*,G2)组播转发项算作IPv6组播数据的转发依据,其中的“*”代表恣意IPv6组播源;
(6) 当由IPv6组播源发往G1或G2的IPv6组播数据经过组播路由到达MLD路由器时,由于MLD路由器上存在(*,G1)和(*,G2)组播转发项,于是将该IPv6组播数据转发到土产货网段,摄取者主机便能收到该IPv6组播数据了。
3. 离开IPv6组播组机制当一个主机离开某IPv6组播组时:
(1) 该主机向土产货网段内的通盘IPv6组播路由器(方针地址为FF02::2)发送离开组(Done)报文;
(2) 当查询器收到该报文后,向该主机所声明要离开的阿谁IPv6组播组发送特定组查询(Multicast-Address-Specific Query)报文(方针地址字段和组地址字段均填充为所要查询的IPv6组播组地址);
(3) 若是该网段内还有该IPv6组播组的其它成员,则这些成员在收到特定组查询报文后,会在该报文中所设定的最大反映时刻(Maximum Response Delay)内发送成员关联讲述报文;
(4) 若是在最大反映时刻内收到了该IPv6组播组其它成员发送的成员关联讲述报文,查询器就会不绝爱戴该IPv6组播组的成员关联;不然,查询器将合计该网段内已无该IPv6组播组的成员,于是不再爱戴这个IPv6组播组的成员关联。
MLDv2旨趣简介MLDv2的旨趣与MLDv1基本疏通,并新增了以下特点:
1. 对IPv6组播源的过滤MLDv2加多了针对IPv6组播源的过滤模式(INCLUDE/EXCLUDE),使主机在加入某IPv6组播组G的同期,梗概明确条件摄取或拒却来自某特定IPv6组播源S的IPv6组播信息。当主机加入IPv6组播组时:
l 若条件只摄取来自指定IPv6组播源如S1、S2、……发来的IPv6组播信息,则其讲述报文中不错标记为INCLUDE Sources(S1,S2,……);
l 若拒却摄取来自指定IPv6组播源如S1、S2、……发来的IPv6组播信息,则其讲述报文中不错标记为EXCLUDE Sources(S1,S2,……)。
如图2所示,网罗中存在Source 1(S1)和Source 2(S2)两个IPv6组播源,均向IPv6组播组G发送IPv6组播报文。Host B仅对从Source 1发往G的信息感好奇神往,而对来自Source 2的信息莫得好奇神往。
图2 指定源组的IPv6组播流路经
若是主机与路由器之间运行的是MLDv1,Host B加入IPv6组播组G时无法对IPv6组播源进行聘请,因此岂论Host B是否需要,来自Source 1和Source 2的IPv6组播信息皆将传递给Host B。
当主机与路由器之间运行了MLDv2之后,Host B就不错条件只摄取来自Source 1、发往G的IPv6组播信息(S1,G),或条件拒却来自Source 2、发往G的IPv6组播信息(S2,G),这么就惟有来自Source 1的IPv6组播信息才气传递给Host B了。
2. MLD景况运行MLDv2的组播路由器按每条直连链路上的组播地址(per multicast address per attached link)来保抓IPv6组播组的景况。IPv6组播组的景况包括:
l 过滤模式:保抓对INCLUDE或EXCLUDE的景况追踪。
l 源列表:保抓对新增或删除IPv6组播源的追踪。
l 定时器:清晰IPv6组播地址超时后切换到INCLUDE模式的过滤定时器、对于源纪录的源定时器等。
3. 摄取者主机的景况侦听运行MLDv2的组播路由器通过侦听摄取者主机的景况,纪录和爱戴网段上加入到源组的主机的信息。
MLD报文类型底下以MLDv2为例对MLD的报文类型进行先容:
1. MLD查询报文MLD查询器通过发送MLD查询报文来了解相相接口的组播侦听景况。MLD查询报文的法度如图3所示,图中深蓝色部分为MLDv1的报文法度,各字段的含义如表1所示。
图3 MLDv2查询报文法度
表1 MLDv2查询报文各字段含义
字段
形色
Type = 130
报文类型,130代表查询报文
Code
开动化为0
Checksum
范例的IPv6校验和
Maximum Response Delay
主机发送讲述报文前允许的最大反映时刻
Reserved
保留字段,开动化为0
Multicast Address
l 大皆组查询中,此字段竖立为0
l 特定组或特定源组查询中,此字段竖立为待查询的IPv6组播组地址
S
标记位,清晰路由器摄取到查询报文后是否对定时器更新进行扼制
QRV
查询器的健壮性变量(Querier’s Robustness Variable)
QQIC
查询器发送大皆组查询报文的查询拆开(Querier’s Query Interval Code)
Number of Sources
l 大皆组查询或特定组查询中,此字段竖立为0
l 特定源组查询中,此字段清晰查询报文中包含的源地址个数
Source Address( i )
特定源组查询中的IPv6组播源地址(i=1, 2, …, n,其中n清晰源地址的个数)
2. MLD讲述报文
主机通过发送MLD讲述报文来申报面前的组播侦听景况。MLD讲述报文的法度如图4所示,各字段的含义如表2所示。
图4 MLDv2讲述报文法度
表2 MLDv2讲述报文各字段含义
字段
形色
Type = 143
报文类型,143代表讲述报文
Reserved
保留字段,发送时竖立为0,摄取时忽略此值
Checksum
范例的IPv6校验和
Number of Multicast Address Records
IPv6组播地址纪录的个数
Multicast Address Record( i )
组播地址纪录,清晰主机在接口上侦听到的每个IPv6组播地址信息,包括纪录类型、IPv6组播地址、IPv6源地址等(i=1, 2, …, m,其中m清晰IPv6组播地址纪录的个数)
MLD SSM Mapping
MLD SSM Mapping通过在路由器上配置SSM静态映射端正,从而为运行MLDv1的摄取者主机提供对SSM模子的相沿。
SSM模子条件在摄取者主机场所的网段,路由器梗概了解主机加入IPv6组播组时所指定的IPv6组播源。若是摄取者主机上运行的是MLDv2,则不错在MLDv2的讲述报文中凯旋指定IPv6组播源的地址;若是某些摄取者主机只可运行MLDv1,则在MLDv1的讲述报文中无法指定IPv6组播源的地址。这种情况下需要通过在路由器上配置MLD SSM Mapping功能,将MLDv1讲述报文中所包含的(*,G)信息映射为(G,INCLUDE,(S1,S2...))信息。
图5 MLD SSM Mapping组网图
在如图5所示的IPv6 SSM网罗中,Host A、Host B和Host C上辞别运行MLDv1和MLDv2。在不允许将Host A和Host B升级为MLDv2的情况下,若要为Host A和Host B也提供SSM组播工作,则需在Router A上配置MLD SSM Mapping功能。
配置完成后,当Router A收到来自主机的MLDv1讲述报文时,率先查验该报文中所佩戴的IPv6组播组地址G,然后把柄查验效果的不同辞别进行处理:
(1) 若是G不在IPv6 SSM组地址范围内,则提供ASM组播工作。
(2) 若是G在IPv6 SSM组地址范围内:
l 若Router A上莫得G对应的MLD SSM Mapping端正,则无法提供SSM组播工作,丢弃该报文;
厕所 偷拍l 若Router A上有G对应的MLD SSM Mapping端正,则依据端正将讲述报文中所包含的(*,G)信息映射为(G,INCLUDE,(S1,S2...))信息,不错提供SSM组播工作。
MLD Proxying
在一些毛糙的树型网罗拓扑中,角落培植上并不需要运行复杂的IPv6组播路由左券(如IPv6 PIM),不错通过在这些培植上配置MLD Proxying(MLD代理)功能,使其代理下贱主机来发送MLD报文及爱戴构成员关联,并基于该关联进行IPv6组播转发。在上游培植看来,配置了MLD Proxying功能的培植(称为MLD代理培植)不再是一个IPv6 PIM邻居,而仅仅一台主机。
图6 MLD Proxying组网图
如图6所示,MLD Proxying模子中界说了以下两种接口类型:
l 上行接口:又称代理接口,指MLD代理培植上运行MLD Proxying功能的接口,即朝向组播分发树树根认识的接口。由于该接口本质MLD左券的主机行为,因此也称为主机接口(Host Interface)。
l 下行接口:指MLD代理培植上除上行接口外其它运行MLD左券的接口,即背向组播分发树树根认识的接口。由于该接口本质MLD左券的路由器行为,因此也称为路由器接口(Router Interface)。
MLD代理培植上爱戴着一个构成员关联数据库(Membership Database),将通盘下行接口爱戴的构成员关联纪录皆存到这个数据库中。构成员关联纪录的结构如下:(Multicast-address,Filter-mode,Source-list),每笔纪录皆是各下行接口上具有疏通组地址的成员关联纪录的书册。
上行接口恰是依据这个数据库来本质主机行为——当收到查询报文时把柄面前数据库景况反映讲述报文偷拍自拍 亚洲色图 厕底偷拍,或者当数据库变化时主动发送讲述或离开报文;而下行接口则本质路由器行为——参与查询器的选举、发送查询报文并把柄讲述报文爱戴构成员关联等。