组播侦听发现(MLDv1)协议详解RFC2710

更新时间:2023-09-13 21:38:01 阅读量: 教学研究 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

中国地质大学江城学院

组播侦听发现(MLDv1) 协议详解_RFC2710

学 部 机械与电子信息学部 班 级 11计网本1 学 号 2320110102 姓 名 王青 指导教师 辛 玲

2013年11月16 日

1

目 录Table of Contents

1 MLDv1简介......................................................................................................... ..........3 2 消息格式.......................................................................................................................4 2.1 代码(Code)........................................................................................................4 2.2 校验和(Checksum)............................................................................... ............4 2.3 最大响应延迟(Maximum Response Delay)......................................... .............5 2.4 保留(Reserved).................................................................................................5 2.5 组播地址(Multicast Address).................................................................... ........5 2.6 其他区域(Other fields).............................................................................. .......5 3 协议描述.......................................................................................................................5 4 节点状态转换图.................................................................... .......................................7 5 路由器状态转换图............................................................. ................................ ..........9 6 定时器及其缺省值列表.......................................................................................... .....13 6.1 健壮性变量(Robustness Variable)............................................................. .....13 6.2 查询间隔(Query Interval).......................................... ......................................13 6.3 查询响应间隔(Query Response Interval).................. .............................. .......13 6.4 组播侦听者间隔(Multicast Listener Interval).............................. .............. ......14 6.5 其他查询器存在间隔(Other Querier Present Interval)................................ ....14 6.6 启动查询间隔(Startup Query Interval)........................................................ ....14 6.7 启动查询次数(Startup Query Count) .............................................................14 6.8 最后侦听者查询间隔(Last Listener Query Interval)............................ ........ ...14 6.9 最后侦听者查询次数(Last Listener Query Count)......................... ...............14 6.10 主动报告间隔(Unsolicited Report Interval)....................................................14 7 消息目的地址..............................................................................................................14

2

文档标题

关键词Key words:IPv6、MLD、IGMPv2

本文档介绍了IPv6路由器所使用的一种协议,用以发现在其直连网络上的组播侦听者(即希望接收组播数据的节点)的存在,并且能明确发现这些邻居节点所感兴趣的组播地址。这个协议就是组播侦听发现(MLD ), MLD v1源于IPv4的IGMPv2。二者之间一个比较重要的区别是:MLD使用ICMPv6(IP协议号58)消息类型,不同于IGMP(IP协议号2)消息类型。

缩略语清单List of abbreviations: Abbreviations缩略 语 IPv6 MLDv1 Full spelling 英文全名 Chinese explanation 中文解释 协议第6版 Internet Protocol version 6 IP Multicast Listener Discovery 组播侦听发现版本1 version 1 Internet Group Management Protocol, Version 2 互联网组管理协议版本2 IGMPv2

? 1 MLDv1 简介

MLD的目的是使能每个IPv6路由器发现在其直连网络上的组播侦听者(即希望接收组播数据的节点)的存在,并且能明确发现这些邻居节点所感兴趣的组播地址。然后提供这些消息给路由器所使用的组播路由协议,以确保组播数据转发至存在接收者的所有链接。

MLD是非对称协议,明确了组播侦听者与路由器的不同行为。对路由器本身正在侦听的组播地址来说,路由器扮演协议的两种角色,包括对自己的消息作出回应。

如果路由器有不止一个接口在同一网络上,它只需要在其中一个接口上运行此协议。另一方面,对侦听者来说,则必须在所有接口运行此协议以便应用中或上层协议从接口接收所需要的组播数据。

3

? 2 消息格式

MLD是ICMPv6的一个子协议,也就是说,MLD消息类型是一系列ICMPv6消息的子系列,在IPv6报文中MLD消息以置下一报头值58作识别。本文档描述的所有MLD消息发送时使用IPv6本地链路源地址,跳数限制值为1,并且在逐跳选项头中存在IPv6路由器告警选项(RTR-ALERT)(路由器要鉴别其本身不感兴趣的组播地址的MLD消息,必须使用路由器告警选项)。

MLD消息的格式如图1下:

图 1

类型(Type)

MLD消息共有三种:

组播侦听查询(类型值=130) 可分为两种子类型:

普遍查询:用于获得在所连网络上具有侦听者的组播地址。

特定组播地址查询:用于获得在所连网络上对一特定组播地址是否存在侦听者。

组播侦听报告(类型值=131)

组播侦听离开( Multicast Listener Done)(类型值=132)

在本文档的剩余部分中,以上消息类型分别简称为“查询(Query)”、“报告(Report)”、 “离开(Done)”。

2.1 代码(Code)

发送时设置为1;接收时忽略。

2.2 校验和(Checksum)

标准的ICMPv6校验和,覆盖所有MLD消息以及IPv6首部区域中的伪首部。

4

2.3 最大响应延迟(Maximum Response Delay)

最大响应延迟值只在查询报文消息中有意义,它指定了发送响应报文的最大允许时间延迟,单位为毫秒。在其他报文消息中,发送时设置为零,接收时忽略。

改变其值大小可以调整离开潜伏期(leave latency)(即从链路上最后一个节点停止侦听某一特定组播地址开始,到路由协议发现不存在该地址的侦听者为止的时间)。它也可以用来调整一个链路上MLD协议报文流量的大量发送。

2.4 保留(Reserved)

发送者设为零;接收者忽略。

2.5 组播地址(Multicast Address)

在查询报文中,当发送普遍查询时,组播地址值设为零;当发送特定组查询时,设为特定的IPv6组播地址。在报告或离开报文中,组播地址值分别设为报文发送者要侦听或者停止侦听的特定IPv6组播地址。

2.6 其他区域(Other fields)

接收到的MLD报文长度是这样计算的:用IPv6负载长度值减去位于IPv6首部与MLD报文之间的任何存在的IPv6扩展头的长度值。如果此长度值大于24字节,表明还有超出上面所描述的区域存在,可能属于将来用来向后兼容的MLD版本。在本文档所描述MLD版本的实现不允许发送长度超过24字节的MLD报文,在接收MLD报文时,必须忽略任何超过前24字节的报文部分。在所有情况中,MLD校验和的计算必须包含所有的MLD消息,而不仅仅是前24字节。

? 3 协议描述

本文档中,定时器的缺省值将在后面描述,定时器与计数器的名字出现在方括号中。 路由器使用MLD学习在其每个相连链路上有侦听者的组播地址。每个路由器保存着一系列在每个相连链路上的具有侦听者的组播地址以及与组播地址相联系的定时器。注意:路由器需要知道的仅仅是在某一相连链路上某个组播地址存在侦听者;它不需要了解侦听者的标识(如单播地址)或者存在多少侦听者。

对每一个相连链路,路由器选择这个链接上的一个本地链路单播地址,用作在这个链路上发送的MLD报文的IPv6源地址。

对路由器上每一个运行MLD协议的接口,路由器必须配置此接口侦听所有IPv6组播产生的链路层组播地址。例如:一个以太网连接的路由器必须设置它的以太网地址过滤接收所有以3333[IPv6-ETHER]开始的以太网组播地址;如果以太网接口不支持组播范围地址的过滤,那么它必须配置接收所有以太网组播地址,以满足MLD的需要。

对于每一个相连的链路,路由器可以充当两种角色的一个:查询器或非查询器。每一个链路上通常只有一个查询器。在每一个相连链路上,路由器都以查询器的角色开始。如果一个路由器在某个链路上收到查询消息,并且查询消息的IPv6源地址小于此链路上选择的地址,那么在这个链路上,路由器就成为非查询器。如果在【其他查询器存在间隔(Other QuerierPresent Interval】的时间期间,非查询器在这个链路上没有收到更小地址的路由器查询,那么在这个链路上路由器又恢复为查询器角色。

5

本文来源:https://www.bwwdw.com/article/isdh.html

Top