IP组播基础

发布于:2023-01-20 ⋅ 阅读:(412) ⋅ 点赞:(0)

目录

前言

一、传统方式

单播

广播

组播

组播的特点

组播技术概述

二、IP地址

组播IP地址

组播MAC地址

 三、组播基本原理

组播分发树

源路径树

共享树

 不同分发树的比较

组播数据转发

什么是RPF?



前言

今天介绍一下IP组播的基本原理


一、传统方式

组播技术是IP网络数据传输三种方式之一,在介绍IP组播技术之前,先对IP网络数据传输的单播、组播和广播方式做一个简单的介绍。

单播

        在发送者和每一接收者之间实现点对点网络连接。如果一台发送者同时给多个的接收者传输相同的数据,也必须相应的复制多份的相同数据包。如果有大量主机希望获得数据包的同一份拷贝时,将导致发送者负担沉重、延迟长、网络拥塞;为保证一定的服务质量需增加硬件和带宽。

广播

        广播指在IP子网内广播数据包,所有在子网内部的主机都将收到这些数据包。广播意味着网络向子网每一个主机都投递一份数据包,不论这些主机是否乐于接收该数据包。所以在广播方式下,信息会发送到不需要该信息的主机从而浪费带宽资源,甚至引起广播风暴。而且广播的使用范围非常小,只在本地子网内有效,通过路由器和网络设备控制广播传输。

组播

        IP组播技术实现了IP网络中点到多点的高效数据传送,能够有效的节约网络带宽、降低网络负载,在实时数据传送、多媒体会议、数据拷贝、游戏和仿真等诸多方面都有广泛的应用。

  1. 解决了网络中用户数量不确定的问题;
  2. 一份信息,多个接收者;
  3. 相同的组播数据流在每一条链路上最多仅有一份。

组播的特点

优点:

  1. 增强效率,控制网络流量,减少服务器和CPU负载
  2. 优化性能,消除流量冗余
  3. 分布式应用,使多点传输成为可能

缺点:

  1. 组播应用基于UDP
  2. 尽最大努力交付
  3. 无拥塞控制
  4. 数据包重复
  5. 数据包的无序交付

组播技术概述

信息的发送者称为“组播源”,信息接收者称为该信息的“组播组”,支持组播信息传输的所有路由器称为“组播路由器”。一个组播组就是一个IP地址,不表示具体的主机,而是表示一系列系统的集合,主机加入某个组播组即声明自己接收目的为某个IP地址的报文。

 发送者不关心接收者所处的位置,只需要将数据发送到约定的目的地址,剩下的工作就交给网络去完成。网络中的路由器设备必须收集接收者的信息,并按照正确的路径实现组播报文的转发复制。这样做的好处是发送者只产生一份数据,而不用为每个接收者分别复制一份,且发送者不必维护接收者的信息。

二、IP地址

组播IP地址

组播IP地址用于标识一个IP组播组。组播报文的目的地址使用D类IP地址,D类地址不能出现在IP报文的源IP地址字段里。其范围是从224.0.0.0到239.255.255.255。如二进制表示,IP组播地址前四位均为1110。

组播组可以是永久的也可以是临时的。组播组地址中,有一部分由官方分配的,称为永久组播组。永久组播组保持不变的是它的IP地址,组中的成员构成可以发生变化。永久组播组中成员的数量都可以是任意的,甚至可以为零。那些没有保留下来供永久组播组使用的ip组播地址,可以被临时组播组利用。

组播MAC地址

IANA将MAC地址范围01:00:5E:00:00:00~01:00:5E:7F:FF:FF分配给组播使用;

组播MAC地址的高24bit为0x01005e,第25bit为0,即高25bit为固定值。MAC地址的低23bit为组播IP地址的低23bit。由于 IP组播地址的前4bit 是1110,代表组播标识,而后28bit 中只有23bit 被映射到MAC 地址,这样IP 地址中就有5bit 信息丢失,导致的结果是出现了32 个IP 组播地址映射到同一MAC 地址上。

 三、组播基本原理

组播分发树

什么是组播分发树?

        用来描述IP组播报文在网络中经过的路径。

组播分发树的两个基本类型:

  1. 源路径树
  2. 共享树

源路径树

以组播源作为树根,将组播源到每一个接收者的最短路径结合起来构成的转发树。每一个组播源与接收者之间建立一棵独立的SPT(shortest path tree)。

共享树

共享树(RPT)以网络上某特定节点为公用根。根据组播路由协议,这个根常被称为汇合点(RP)或核心,因此,共享树也可以称为RTP。对应某个组,网络中只有一棵树。

 不同分发树的比较

源路径树(SPT)

        路径最优,延时最小,占用内存较多O(S x G).

共享树(RPT)

        路径不是最优的,引入额外的延迟,占用内存较少O(G).

组播数据转发

组播路由和单播路由是相反的:

        单播路由关心数据报文要到哪里去

        组播路由关心数据报文从哪里来

组播路由使用“反向路径转发”机制(RPF,Reverse Path Forwarding)

什么是RPF?

        路由器收到组播数据报文后,只有确认这个数据报文是从自身连接到组播源的接口上收到的,才能进行转发,否则丢弃。

        组播报文的转发不是基于IP报文的目的地址的,而是用RPF检查决定是否转发和丢弃转入的报文

RPF检查的过程如下:

在单播路由表中查找组播报文源地址的路由:

        如果该路由的出接口就是组播报文的入接口,RPF检查成功,该接口被称为RPF接口

        否则RPF检查失败,报文丢弃

        注意:当数据包来的时候才发生RPF检查,在做RPF检查之前要找到RPF邻居。

对组播包源地址的检查是通过查询单播路由表来实现的。

以上就是今天要讲的内容,本文仅仅简单介绍了IP组播的原理,下一篇将介绍IP组播协议IGMP协议——> IP组播协议——IGMP协议之IGMPv1_小码农a的博客-CSDN博客

       


网站公告

今日签到

点亮在社区的每一天
去签到