IP多播技术详解

article/2025/9/9 21:47:15

在这里插入图片描述

文章目录

  • 前言
  • IP多播技术的相关基本概念
    • IP多播地址和多播组
  • 在局域网上进行硬件多播
    • IP多播地址和多播MAC地址映射关系
  • 在因特网上进行IP多播
    • 网际组管理协议IGMP
    • 多播路由选择协议

前言

随着计算机网络的发展和个人计算机的普及,人们能够方便的在网络上畅游,进行网络通信或者获取自己所需的信息资源。此外,人们也越来越依赖于网络计算。大多数企业都建立了先进的网络,连接各个雇员和他们的计算机、工作站。有时,我们工作中的重要的信息只能通过网络得到,这些信息可能在企业的专用网络上,也可能在因特网上。

IP多播技术的相关基本概念

多播(Multicast,也称为组播)是一种实现一对多通信的技术,与传统单播一对一通信相比,多播可以极大地节省网络资源

在因特网上进行的多播,称为IP多播

多播的基础概念是。一个多播组(multicast group)就是一组希望接收特定数据流的接收者。这个组没有物理或者地理的边界:组内的主机可以位于互联网或者专用网络的任何地方。多播组中的每1个节点被称为多播组成员。

举例
在这里插入图片描述

  • 采用单播方式:共有60个主机要接收来自视频服务器的同一个视频节目,则视频服务器需要发送60个该视频节目,这些视频节目通过各路由器的转发,最终到达各主机。
  • 采用多播方式:可将这60个主机看做是同一个多播组的成员,视频服务器只要向该多播组发送1个视频节目即可;由于路由器R1支持IP多播,R1在转发视频节目时需要将该视频节目复制成两个副本,分别向路由器R2、R3转发一个副本,当该视频节目到达目的局域网时,由于局域网具有硬件多播功能,因此不需要复制,在局域网上的该多播组成员都能收到该视频。

当多播组的成员数量很大时,采用多播方式可以显著地减少网络中各种资源的消耗

IP多播地址和多播组

在IPV4中,D类地址被作为多播地址,多播地址只能用作目的地址,而不能用作源地址。

224.0.0.1 所有主机的地址
224.0.0.2 所有组播路由器的地址

在这里插入图片描述
用每一个D类地址来标识一个多播组,使用同一个IP多播地址接收IP多播数据报的所有主机就构成了一个多播组

  • 每个多播组的成员时可以随时变动的,一台主机可以随时加入或离开多播组
  • 多播组成员的数量和所在的地理位置也不受显示,一台主机可以属于几个多播组

非多播组成员也可以向多播组发送IP多播数据报

IPV4多播地址又可以分为:预留的多播地址(永久多播地址)、全球范围可用的多播地址以及本地管理的多播地址
在这里插入图片描述
IP多播可以分为两种:

  1. 只在本局域网上进行的硬件多播
  2. 在因特网上进行的多播

在局域网上进行硬件多播

由于MAC地址(也称硬件地址)有多播MAC地址这种类型,因此只要把IPV4多播地址映射成多播MAC地址,即可将IP多播数据报封装在局域网的MAC帧中,而MAC帧首部的目的MAC地址字段的值,就设置为由IPV4多播地址映射成的多播MAC地址。这样,可以很方便地利用硬件多播来实现局域网内的IP多播。
在这里插入图片描述
当给某个多播组的成员配置其所属组的IP多播地址时,系统就会根据映射规则从该IP多播地址生成相应的局域网多播MAC地址。

因特网号码指派管理局IANA,将自己从IEEE注册管理机构申请到的以太网MAC地址块中从01-00-5E-00-00-00到01-00-5E-7F-FF-FF的多播MAC地址,用于映射IPV4多播地址。

  • 这些多播MAC地址做起前25比特都是相同的,剩余23比特可以任意变化,因此共有2的23次方个(左边第1个字节的最低为比特取值为1,表示该MAC地址是多播MAC地址)
    在这里插入图片描述

IP多播地址和多播MAC地址映射关系

为了映射一个IP多播地址到MAC层的多播地址,IP多播地址的底23位可以直接映射为MAC层多播地址的底23位。因为IP多播地址的前4位是固定的,另外还有比邻的5位不需要映射到MAC层多播地址
在这里插入图片描述
举例
只需将多播MAC地址坐起前25比特固定不变,将IP多播地址的低23比特映射到或者说作为MAC多播地址的低23位,这样就可以得出IP多播地址相应的多播MAC地址
在这里插入图片描述

如果不同的IP多播地址之间的不同指出仅出现在不能映射的那5个比特,则这些IP多播地址会映射出同一个多播MAC地址,因此收到IP多播数据报的主机还要在网际层利用软件进行过滤,把不是主机要接收的IP多播数据报丢弃。

在这里插入图片描述


在因特网上进行IP多播

要在因特网上进行IP多播,就必须要考虑数据报经过多个多播路由器进行转发的问题

  • 多播路由器必须根据IP多播数据报首部中的IP多播地址,将其转发到该多播组成员的局域网

在这里插入图片描述
在因特网上进行IP多播需要两种协议

  • 网际组管理协议IGMP
  • 多播路由选择协议

路由器如何知道各接口所在的局域网是否有某个多播组的成员?
需要使用TCP/IP体系结构网际层中的网际组管理协议IGMP

网际组管理协议IGMP

网际组管理协议(IGMP)是TCP/IP体系结构网际层中的协议,其作用是让连接在本地局域网上的多播路由器知道本地局域网上是否有主机(实际上是主机中的某个进程)加入或退出了某个多播组

IGMP只在本网络有效,使用IGMP并不能知道多播组所包含的成员数量,也不能知道多播组的成员都分布在哪些网络中

仅使用IGMP并不能在因特网上进行IP多播。连接在局域网上的多播路由器还必须和因特网上的其它多播路由器协同工作,以便把IP多播数据报用最小的代价传送给所有的多播组成员,这就需要使用多播路由选择协议

IGMP有三种报文类型

  • 成员报告报文
  • 成员查询报文
  • 离开组报文

IGMP报文被封装在IP数据报中传送

在这里插入图片描述
网际组管理协议IGMP的基本工作原理

  • 加入多播组的情况
    在这里插入图片描述
  • 监视多播组成员变化的情况

    最后返回各个主机或路由器,进行解析
  • 退出多播组情况
    当主机要退出某个多播组时,可主动发送一个离开组报文而不必等待多播路由器的查询。这样可使多播路由器能够更快地发现某个组有成员离开
    在这里插入图片描述
    之后多播路由器发送IGMP成员查询报文

多播路由选择协议

多播路由选择协议的主要任务是:在多播路由器之间为每个多播组建立一个多播转发树

  • 多播转发树连接多播源和所有拥有该多播组成员的路由器
  • IP多播数据报只要沿着多播转发树进行洪泛,就能被传送所有拥有该多播组成员的多播路由器
  • 之后,在多播路由器所直连的局域网内,多播路由器通过硬件多播,将IP多播数据报发送给该多播组的所有成员

在这里插入图片描述

即使某个主机不是任何多播组的成员,它也可以向任何多播组发送多播数据报

目前有两种方式来构建多播转发树:

  1. 基于源树(Source-Bass Tree)多播路由选择
  2. 组共享树(Group-Shared Tree)多播路由选择

基于源树的多播路由选择选择最典型算法是反向路径多播(RPM)算法

RPM算法包含以下两个步骤

  1. 利用反向路径广播算法建立一个广播转发树
  2. 利用剪枝算法,剪除广播转发树中的下游非成员路由器,获得一个多播转发树

建立广播转发树,可以使用洪泛法

利用反向路径广播RPB算法生成的广播转发树,不会存在环路,因此可以避免广播分组在环路中兜圈
在这里插入图片描述


组共享树多播路由选择采用基于核心的分布式生成树算法来建立共享树
该方法在每个多播组中指定一个核心(core)路由器,以该路由器为根,建立一棵连接多播组的所有成员路由器的生成树,作为多播转发树
在这里插入图片描述



http://chatgpt.dhexx.cn/article/f7kkNhBX.shtml

相关文章

UDP多播

一、多播概念 1.1、多播 多播又称为:组播。 一个人发数据,只有加入到多播组的人接收数据 1.2、多播的特点 1、多播地址标示一组接口 2、多播可以用于广域网使用 3、在IPv4中,多播是可选的 1.3、多播地址 IPv4的D类地址是多播地址…

多播(组播)

什么是多播 单播用于两个主机之间的端对端通信,广播用于一个主机对整个局域网上所有主机上的数据通信。单播和广播是两个极端,要么对一个主机进行通信,要么对整个局域网上的主机进行通信。实际情况下,经常需要对一组特定的主机…

多播与广播

多播 多播(Multicast)方式的数据传输是基于UDP完成的。因此,与UDP服务器端/客户端的实现方式非常接近。区别在于,UDP数据传输以单一目标进行,而多播数据同时传递到加入(注册)特定组的大量主机。换言之,采用多播方式时&#xff0c…

多播(IP多播-网络层)与单播

多播(IP多播-网络层)与单播 多播(IP多播-网络层)简介多播组地址(IP地址中的D类地址)【多播组地址——D类地址】中一些不能随意使用的地址 IP多播的分类 在局域网上进行的硬件多播网际组管理协议IGMP和多播路…

多播的概念

一、多播概述 多播:数据的收发仅仅在同一组中进行 (相当于我往一个群里发,只有加入这个群的人才能收到) 多播的特点: ①多播地址标示一组接口。 ②多播可以用于广域网使用。 ③在IPv4,多播是可选的。 二…

win10——telnet 开启

1.win10默认没有开启 2.找到控制面板 3.找到Telnet客户端 4.测试 5.退出 ctrl ‘]’ 之后q

windows service2008 2R 开启telnet

1,什么是telnet 可以把telnet当作一种通信协议,对于入侵者而言telnet是一种远程登录的工具。 2,windows开启telnet(默认情况下windows系统的telnet功能是关闭的) 步骤: ①打开控制面板 输入winR 输入contro…

windows telnet开启

windows下telnet 服务开启 工作中经常要判断服务器某个端口是否连通,如需要看下测试服务器中tomcat的8080端口是否连通,需用到命令 : telnet 192.168.1.101 8080 ,如图: 解决方案 1、telnet在win7下默认是不开启的,所…

服务器系统开启telnet,Telnet怎么打开 Win7/Win8系统开启Telnet服务方法图解

Telnet是管理员常用的远程登录和管理工具,通过在本地电脑上运行Telnet客户端服务,就可以远程控制远端的Telnet服务器了。在Windows 2003/XP/Vista/Win7/Win8系统中都集成有Telnet服务。过默认情况下Telnet服务是被禁用的,需要使用的朋友&…

linux 打开telnet登录,linux开启telnet

Centos6启telnet 安装 [rootntp1 ~]# yum install telnet telnet-server xinetd 开启xinetd自启动和启动xinetd [rootntp1 ~]# chkconfig xinetd on [rootntp1 ~]# service xinetd restart 允许root用户登录 [rootntp1 ~]# vi /etc/pam.d/remote 修改/etc/pam.d/remote&#xf…

如何保存网页上的图片原图,大图

如何保存网页上的图片原图,大图 步骤1: 使用google浏览器,打开网页,按F12(或者打开 ‘开发者工具’),点击source,并选择img过滤。可以看到下面的图片链接,如图&#xf…

网页保存成图片

Chrome中网页保存成图片 1、F12 2、Ctrl Shift P 3、输入full firefox网页保存成图片 1、看下附加组件中是否有网页截图,如有,则直接使用即可,无,打开(或下载)就行 2、截图 (个人觉得firefox的截图比较灵活&#x…

图片的加载、显示和保存

目录 1.预备知识 2.代码实现 1.预备知识 imread() 加载图片imwrite() 保存图像 imread() 加载图片 有两个参数,第一个参数为字符串形式,也就是图片的路径 第二个参数是一个flag,指定了读取图像的方式, 默认的是加…

图片上传-->保存图片

显示图片的img标签 获取文件读取器 var imageReadernew FileReader(); 使用正则表达式给图片过滤 regexImageFilter /^(?:image/bmp|image/gif|image/jpg|image/jpeg|image/png)$/i; 文件读取器加载时间,在读取文件完成后触发 imageReader.οnlοadfunction(ev…

Python爬虫 自动爬取图片并保存

一、准备工作 用python来实现对图片网站的爬取并保存,以情绪图片为例,搜索可得到下图所示 f12打开源码 在此处可以看到这次我们要爬取的图片的基本信息是在img - scr中 二、代码实现 这次的爬取主要用了如下的第三方库 import re import time import …

保存网页图片的方法

最近ui妹子经常找我....... 当然不是的....只是想让我给他弄两张网页的图片....遂FE退化切图仔.... 话不多说,进入正文。有些朋友因为工作需要(比如某鹿某祖等图片好想保存下来天天舔屏,还得是高清的....)又不知道如何保存网页中…

图片管理之保存图片数据

保存图片数据 在保存数据之前我们需要先获取图片关联的sku的id 1、获取sku表id 接口分析 请求方式: GET /meiduo_admin/skus/simple/ # -------获取sku的id--------url(rskus/simple/$, images.ImageView.as_view({get: simple})), 请求参数: 通过请…

图片的上传与保存

先找到数据库的用户表点击设计添加 picture 字段与 nvarchar 数据类型 2.更新数据模型,先找到 S_User 表删除,然后再从数据库更新模型并保存 3.先在视图上写出图片上传与保存需要的页面 3.1 { title: ‘头像’, templet: customUserPicture },//头像…

yarn 下载安装

注意 尽量不要使用 npm 下载 yarn 因为可能下载的不是全局的,而且可能没有修改注册表 导致以后下载全局的东西的时候下载失败 如果已经安装了,且出现全局错误提示 可以直接使用 官网安装包 他会自动覆盖你之前的安装,并且擦写 注册表 下…

windows下安装yarn

目录 1.介绍 2.下载和安装 3.配置环境变量和镜像源 1.介绍 最近接触的公司前端项目用到了Yarn,先来了解一下Yarn,Yarn是Facebook最近发布的一款依赖包安装工具。Yarn是一个新的快速安全可信赖的可以替代NPM的依赖管理工具。 官网的说明是 Yarn is …