我的编程空间,编程开发者的网络收藏夹
学习永远不晚

IP多播技术详解

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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多播需要两种协议

  • 网际组管理协议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)路由器,以该路由器为根,建立一棵连接多播组的所有成员路由器的生成树,作为多播转发树
在这里插入图片描述


来源地址:https://blog.csdn.net/qq_72935001/article/details/128864417

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

IP多播技术详解

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

IP多播技术详解

文章目录 前言IP多播技术的相关基本概念IP多播地址和多播组 在局域网上进行硬件多播IP多播地址和多播MAC地址映射关系 在因特网上进行IP多播网际组管理协议IGMP多播路由选择协议 前言 随着计算机网络的发展和个
2023-08-19

Winform 多线程更新 UI 技术详解

多线程更新UI是Winform应用程序中提高性能和响应性的关键技术之一。通过合理地使用多线程和异步编程技术,我们可以创建出更加流畅、响应迅速的用户界面,从而提升用户体验和满意度

多路复用技术的详细讲解

     “复用”是一种将若干个彼此独立的信号,合并为一个可在同一信道上同时传输的复合信号的方法。比如,传输的语音信号的频谱一般在300~3400Hz内,为了使若干个这种信号能在同一信道上传输,可以把它们的频谱调制到不同的频段,合并在一起而不致相互影响,并能在接收端
多路复用技术的详细讲解
2024-04-17

NAT技术详解

  NAT(NetworkAddressTranslation,网络地址转换)是1994年提出的。当在专用网内部的一些主机本来已经分配到了本地IP地址(即仅在本专用网内使用的专用地址),但现在又想和因特网上的主机通信(并不需要加密)时,可使用NAT方法。这种方法需要在专用网连接到因特网的路由器上安装NAT软件。装有NA
NAT技术详解
2024-04-18

×××技术详解(3)

九、数据传输阶段  一旦完成上述4阶段的协商,PPP就开始在连接对等双方之间转发数据。每个被传送的数据报都被封装在PPP包头内,该包头将会在到达接收方之后被去除。如果在阶段1选择使用数据压缩并且在阶段4完成了协商,数据将会在被传送之间进行压
2023-01-31

Python并发编程:多线程技术详解

在这个教程中,我们将带你了解Python多线程!作为一名Python开发者,你可能一直在想如何提高程序性能,让任务同时高效地执行。别担心,本教程将深入浅出地介绍多线程的艺术和威力。一起开始这个令人兴奋的学习之旅吧!
Python多线程2024-11-30

Java WebService技术详解

Java WebService技术是一种用于构建分布式应用程序的技术,它允许不同的应用程序通过网络进行通信和交互。Java WebService技术基于一组标准化的协议和规范,包括SOAP(Simple Object Access Prot
2023-08-11

云技术最全详解

混合云能够充分利用公有云和私有云的优势,避免了公有云和私有云各自部署时的一些缺点,如私有云的高成本和公有云的安全性问题,从而实现更好的成本效益。

java多线程编程技术详解和实例代码

java多线程编程技术详解和实例代码1. Java和他的API都可以使用并发。可以指定程序包含不同的执行线程,每个线程都具有自己的方法调用堆栈和程序计数器,使得线程在与其他线程并发地执行能够共享程序范围内的资源,比如共享内存,这种能力
2023-05-31

解析多路复用技术

  所谓多路复用是指在同一个信道上同时传输多路信号互不干扰的技术。为了在接收端能够将不同路的信号区分开来,必须使不同的信号具有不同的特征。由于信号直接来自话路,区分信号和区分话路是一致的。最常用的多路复用方式是频分复用(FDM)、时分复用(TDM)和码分复用(CDM)。按频段区分信号的方法叫频分复用;按时隙区分信号的方
解析多路复用技术
2024-04-18

Android网络技术HttpURLConnection详解

介绍早些时候,Android 上发送 HTTP 请求一般有 2 种方式:HttpURLConnection 和 HttpClient。不过由于 HttpClient 存在 API 数量过多、扩展困难等缺点,Android 团队越来越不建议我
2023-05-30

C# 序列化技术详解

在C#中,序列化和反序列化是处理对象状态的重要技术。它们允许我们在不同的系统或服务之间共享数据,将数据保存到持久化存储中,或通过网络发送数据。

编程热搜

目录