MLD(组播侦听发现协议)

这篇具有很好参考价值的文章主要介绍了MLD(组播侦听发现协议)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.协议的概述

MLD(组播侦听发现协议)

  • 组播侦听发现协议MLD用于IPv6组播中的组成员管理,其基本原理和功能与IGMP相似。MLD的目的是使能每个IPv6路由器发现在其直连网络上的组播侦听者(即希望接收组播数据的节点)的存在,并且能明确发现这些邻居节点所感兴趣的组播地址。然后提供这些消息给路由器所使用的组播路由协议,以确保组播数据转发至存在接收者的所有链接,IGMP是专门服务区IPV4的,并不支持拓展,所以开发出来了一个新的组播协议MLD专门服务于IPV6
  • 组播协议是运行于组播模型中最后一跳路由器和接收者之间的,用于建立和维护组播组成员之间的关系
  • 如果路由器有不止一个接口在同一网络上,它只需要在其中一个接口上运行此协议。另一方面,对侦听者来说,则必须在所有接口运行此协议以便上层协议从接口接收所需要的组播数据
  • MLD有两个版本,分别是V1和V2版本,并且所有的版本都适用于ASM模型,V2版本可以直接应用于SSM模型,但是V1版本的话则需要SSM-Mapping

2.MLD的用途

  • 组播侦听发现协议MLD用于IPv6路由器在其直连网段上发现组播侦听者
  • 路由器通过MLD协议,可以了解到在自己的直连网段上是否有组播组的侦听者,并在数据库里做相应记录。同时,路由器还维护与这些组播地址相联系的定时器信息
  • 配置MLD的路由器使用IPv6单播链路本地地址作为源地址发送MLD报文
  • MLD使用ICMP来携带消息所有的MLD报文被限制在本地链路上,跳数为1

3.MLDv1

MLD(组播侦听发现协议)

1.类型(type):MLD消息共有三种

  • 组播侦听查询(类型值=130),可分为两种子类型
  • 普遍查询:用于获得在所连网络上具有侦听者的组播地址
  • 特定组播地址查询:用于获得在所连网络上对一特定组播地址是否存在侦听者

2.代码(Code):

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

3.校验和(Checksum):

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

4.最大响应延迟(Maximum Response Delay):

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

5.保留(Reserved):

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

6.组播地址(Multicast Address):

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

3.1查询器选举机制

MLD(组播侦听发现协议)

  1. 所有MLD路由器在初始时都认为自己是查询器,并向本地网段内的所有主机和路由器发送MLD普遍组查询报文(目的地址为 FF02::1
  2. 本地网段中的其它MLD路由器在收到该报文后,将报文的源IPv6地址与自己的接口地址作比较。通过比较,IPv6地址最小的路由器将成为查询器,其它路由器成为非查询器
  3. 所有非查询器上都会启动一个定时器,在定 时器超时前,如果收到了来自查询器的 MLD 查询报文,则重置该定时器;否则,就认为原查询器失效, 并发起新的查询器选举过程

为什么需要选举查询器呢?

因为如果当组播网络中有多台组播路由器的时候,那么这时候这些路由器都会发送组播报文,所以PC就会收到多个重复的组播报文,因此需要从多台路由器中选举出一台路由器当查询器,组播报文将由他来发送

3.2 组成员加组过程

MLD(组播侦听发现协议)

  1. MLD查询器周期性地向共享网段上的所有本地链路主机以组播方式(目的地址为FF02::1)发送普遍查询消息
  2. 网段上的所有主机都接收到该普遍查询消息。如果主机Host BHost C希望加入某组播组G1,则设置定时器延时来响应
  3. 希望加入的主机在定时器超时后以组播方式向网段上的所有主机和路由器发送报告消息来响应查询,此消息包含组播组G1的地址信息
  4. 网段上的所有主机和路由器接收到此报告消息后,也就获得了关于G1的组播信息。此时网段中其他也希望加入组播组G1的主机将不再发送相同的报告消息,这个就是成员关系抑制机制,因为交换机本身具有的泛洪的工作机制,即当其他主机想要加入这个组的时候,自己也能收到其他主机想要加入这个组的消息,如果两者想要加入同一个组的话则就产生了抑制报文,另外的组就不需要在发送想要加入这个组的报文了,其中一台主机发送即可,从而减少了组播报文的数量减少带宽以及设备性能的损耗,就类似于两个人在同一个饭桌上吃饭,对方点过的菜你就不需要重复点了,你一样可以吃到,就是这个道理,如果主机Host A希望加入另一个组播组G2,就会发送包含组播组G2地址的报告消息以响应普遍查询消息来加入G2
  5. 在查询/报告过程后,MLD查询器可以了解到在自己的直连网段上是否有组播组G1的接收者,生成形式为(*, G1)组播路由项,*表示任意的组播源
  6. 通过组播路由机制,MLD查询器接收到组播源发来的组播信息。如果直连网段上有接收者,就在网段上转发此数据,加入组播组的主机接收该数据

3.3 组成员离开租的过程

MLD(组播侦听发现协议)

  1. 当主机想离开组播组,就以组播地址(目的地址是FF02::2)向链路上发送一个离开消息(Done Message),并且在其组播地址域携带要停止侦听的地址
  2.  当查询器收到该报文后,向该主机所声明要离开的那个IPv6组播组发送特定组查询报文
  3. 如果该网段内还有该IPv6组播组的其它成员,则这些成员在收到特定组查询报文后,会在该报文中所设定的最大响应时间内发送成员关系报告报文
  4. 如果在最大响应时间内收到了该IPv6组播组其它成员发送的成员关系报告报文,查询器就会继续维护该IPv6组播组的成员关系;否则,查询器将认为该网段内已无该IPv6组播组的成员,于是不再维护这个IPv6组播组的成员关系

4. MLDv2

4.1 查询消息报文格式

MLD(组播侦听发现协议)

大致上和v1版本一致,差别就是增加了Number of Sources和Source Address

  • Number of Sources:源数目,普遍查询或指定组播组查询中,此字段设置为0,指定组播源-组查询中,此字段表示查询消息中包含的源地址个数
  • Source Address:指定查询的组播源地址

4.2 报告消息报文格式

MLD(组播侦听发现协议)

  • Number of Multicast Address Records:组播地址记录的个数
  • Multicast Address Records:表示主机在接口上侦听到的每个组播地址信息,包括记录类型、组播地址、源地址等

4.3 指定组播源-组查询

MLD(组播侦听发现协议)

G: FF0E:1::1表示加入FF0E:1::1这个组

IN:2001:1::1:表示指定接收2001:1::1这个组播源发送过来的组播数据

2001:2::1:表示指定接收2001:2::1这个组播源发送过来的组播数据

G:FF0E:1::1表示加入FF0E:1::1这个组

EX: null表示接收任意组播源发送过来的组播数据,不拒绝任何指定源发送过来的数据

G:FF0E:1::1表示加入FF0E:1::1这个组

EX:2001:1::1表示除了不接受2001:1::1这个组播源发送过来的数据,其他的都接收

G:FF0E:2::2:表示加入FF0E:2::2这个组

IN:2001:2::1表示指定接收2001:2::1这个组播源发送过来的组播数据

5. MLD SSM Mapping

MLD(组播侦听发现协议)

SSM称为指定源组播,要求路由器能了解成员主机加入组播组时所指定的组播源。 如果成员主机上运行MLDv2,可以在MLDv2 报告报文中直接指定组播源地址。但是某些情况下,用户主机只能 运行MLDv1,为了使其也能够使用 SSM 服务,路由器上需要提供MLD SSM Mapping 功能

5.1 MLD SSM Mapping的配置

MLD(组播侦听发现协议)

 文章来源地址https://www.toymoban.com/news/detail-478866.html

到了这里,关于MLD(组播侦听发现协议)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 组播路由协议——PIM SM工作机制

    目录 PIM SM基本概念 PIM工作步骤 DR竞选 RP基本概念(Bootstrap自举报文) RP的作用 RP的两种类型 RP的缺点 PIM SM建树过程 成员接收者到RP建树过程(Join加入报文) 组播源到RP建树过程(Register注册报文、Join加入报文) SPT切换 SSM模型 PIM SM采用“拉”(Pull)的方式来转发组播报文

    2024年02月07日
    浏览(37)
  • IP组播协议基础4(IGMPv2)

    IGMPv2是为了改进IGMPv1两方面不足而产生的改进版,一是IGMPv2增加了独立的查询机制(IGMPv1中的查询器是由PIM协议选举指定路由器(DR)担当查询器的)二是增加了离开组机制,包含了离开信息,允许迅速向组播路由协议(PIM)报告组成员终止情况(IGMPv1中没有离开机制),这

    2024年02月09日
    浏览(34)
  • k8s服务发现之第一弹Service概述

    Kubernetes 中 Pod 是随时可以消亡的(节点故障、容器内应用程序错误等原因)。如果使用 Deployment 运行您的应用程序,Deployment 将会在 Pod 消亡后再创建一个新的 Pod 以维持所需要的副本数。每一个 Pod 有自己的 IP 地址,然而,对于 Deployment 而言,对应 Pod 集合是动态变化的。

    2024年02月12日
    浏览(50)
  • Prometheus服务器、Prometheus被监控端、Grafana、监控MySQL数据库、自动发现概述、配置自动发现、Alertmanager

    目录 Prometheus概述 部署Prometheus服务器 环境说明: 配置时间 安装Prometheus服务器 添加被监控端 部署通用的监控exporter Grafana 概述 部署Grafana 展示node1的监控信息 监控MySQL数据库 配置MySQL 配置mysql exporter 配置mysql exporter 配置prometheus监控mysql 自动发现机制 概述 基于文件自动发现

    2024年02月21日
    浏览(58)
  • 网络协议 — LLDP 数据链路发现协议

    LLDP(Link Layer Discovery Protocol,链路层发现协议)是定义在 802.1ab 中的一个

    2024年02月10日
    浏览(38)
  • IPv6邻居发现协议--NDP详解

    ICMPv6是IPV6的基础协议之一,用于向源节点传递报文转发的信息或错误 协议类型号(即:IPv6Next Header)为58 icmpv6可以提供icmpv4的的对应功能之外,还有其他一些功能的基础如邻居发现、无状态地址配置、重复地址检测、PMTU发现等。 消息类型: IPv6和IPv4相比有哪些优势? v4是用

    2023年04月09日
    浏览(65)
  • 设备分散怎么办? 可以通过链路层发现协议

    大型网络中,连接清晰是很重要滴。网络越大,逻辑上和物理上都越难理清。再加上还有冗余链路和链路聚合,会大大增加理清网络中设备互连情况的难度。而且,问题还不止于此。混合使用来自不同供应商的网络产品,会让设备发现协议无所适从。 首先,我要讲一个背景故

    2024年02月07日
    浏览(48)
  • 【一】通信协议概述

            很早之前就思考了要写一下电力系统常用的几种通信协议,一直拖着也没有行动,这次终于下定决心来出一个《通信协议》这样的专栏。电力行业数字化方面资料较少,我理解主要一方面是数字化程度还不高,一方面是电力行业技术保密要求高,所有很难找到行业的

    2024年01月17日
    浏览(41)
  • 5.1 运输层协议概述

      第5章 运输层笔记 1. 概览 主要内容 :介绍运输层协议的特点、进程间通信、端口、UDP和TCP协议、可靠传输、TCP报文段的首部格式、TCP的关键概念(如滑动窗口、流量控制、拥塞控制和连接管理)。 重要性 :运输层是网络体系结构中的核心层次。 2. 运输层的基础概念 逻辑

    2024年02月06日
    浏览(15)
  • HTTP协议概述

    HTTP协议,直译为超文本传输协议,是一种用于分布式、协作、超媒体的信息系统的应用协议。HTTP协议是万维网数据通信的基础。HTTP协议在客户端-服务器计算模型中充当请求-响应协议。客户端向服务器提交HTTP请求消息。服务器提供HTML文件和其他内容等资源,或代表客户端执

    2024年02月10日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包