IP组播技术介绍
组播分发树有两种形式: 有源树和共享树
二、组播的实现技术——树的概念
有源树: 有源树的树根是组播信息流的来源,有源树的分支 形成了通过网络到达接收站点的分布树。有源树以 最短的路径贯穿网络,所以也称最短路径树SPT (Shortest Path Tree)。
来源1
来源2
A
B
D
F
符号表示:(S,G)
S0/0
S1/0 S1/0
网段
192.18.0.0/16 168.0.22.0/24 15.15.0.0/16
接口
S0/0 S0/1 S1/0
二、组播的实现技术——逆向路径检查
进一步观察:RPF检查成功
来自192.18.0.32的组播数据
数据从S0/0到达,RPF检查成功,路由器转发数据包
S0/1 S0/0 S1/0
网段
接口
S1/0
192.18.0.0/16
S0/0
168.0.22.0/24
S0/1
15.15.0.0/16
S1/0
二、组播的实现技术——二层组播技术——snooping
在二层(Layer2)设备下,组播帧是作为广播转发的,这样容易造成组 播流风暴,浪费网络带宽,这明显是与组播的思想相驳的。 Snooping的作用便是解决这个问题的,它的工作过程如下: 1. 交换机―窥探‖用户主机与路由器之间的交互报文,跟踪组信息及申 请的端口。当交换机―窥探‖到主机朝路由器发出的IGMP report(请 求)报文,交换机便把该端口加入组播转发表中; 2. 当交换机―窥探‖到IGMP Leave(离开)报文时,交换机便把该端口从 表中删除; 3. 路由器会定时发IGMP Query报文,在收到IGMP Query报文后,如 果在一定的时间段内没有收到主机的IGMP Report报文,便把该端口 从表中删除。
一、组播技术概述
视频服务器
组播 Multicast
视频服务器
单播 Unicast
×10
×10 ×10
×10
×10 ×10
一、组播技术概述
单播(unicast):“一对一”通信,源主机为每一个接 收者都发一份拷贝。 广播(broadcast):“一对多”通信,广播包被发往 网络上的所有主机。这样会产生大量的数据报拷贝。 组播(multicast):“一对多”通信,介于广播单播之 间,源主机将同样的数据报发给多个接受者,但又 不是网络中全部的主机。
C E
S = 来源
G = 组
接收者1
接收者2
二、组播的实现技术——树的概念
共享树: 来自不同源地址,但目的地址相同的组播报文,在 网络中使用同一个分发树转发。这样一个共享树的 树根被称为汇聚点RP (Rendezvous Point)或者核心 (Core),相应的树称为RPT或CBT。
(RP) PIM汇合点 共享树
一、组播技术概述
IP组播是介于单播和广播之间的一种分组传送形式,它既 不指定明确的接收者,也不是将数据分发给网络上的所 有主机。 发送者不关心接收者所处的位置,只要将数据发送到约 定的目的地址,剩下的工作就交给网络去完成。这样做 的好处在于,发送者只产生一份数据,而不用为每个接 收者分别复制一份,而且发送者不必维护接收者的信息。
网络中的路由器设备必须收集接收者的信息,并按照正 确的路径实现组播报文的转发和复制。
一、组播技术概述——组播的应用
• 视频、音频会议 –传统的单播视频、音频会议系统…
• 网络电视 – 将电视节目或其他媒体节目转换为流媒体,在宽带 网络上进行播放 • 金融信息(股票行情)发布 – 在全国性的网络上提供各种信息发布服务,由用户 选择接收
Ver Type Unused Group Address Checksum
Ver:版本。表明IGMP版本,在IGMP v1中为1。 Type:类型。IGMP类型为1说明是组播路由器发送的组成员查询消息; 类型为2说明是主机发送的组成员报告消息。 Unused:未使用。发送时被置为0,接收时忽略此字段。 Group Address:组播组地址。组地址为D类IP地址。在查询消息中组 地址设置为0,在报告消息中组地址为要参加的组地址。
RFC1112规定了IGMP V1(定义了基本的组成员查询和报
告过程)
RFC2236规定了IGMP V2(增加了组成员快速离开的机制) RFC3376规定了最新的IGMP V3(增加了成员可以指定接
收或指定不接收某些组播源的报文等功能)
三、IGMP协议——IGMP v1报文格式
0 1 2 3 01234567890123456789012345678901
二、组播的实现技术——逆向路径检查
192.18.0.32
RPF检查失败,数据包 从错误接口到达
S0/0 S0/1
接收者
S1/0
接收者
组播数据包
错误接口到达的组播数据包
二、组播的实现技术
进一步观察:RPF检查失败
来自192.18.0.32的组播数据
数据从S0/1到达,RPF检查失败,路由器丢弃包 S0/1
◦ 组播四要素:
源发现
接收者发现 拓扑发现(组播路由器之间的拓扑、网络单播路由 信息) 分发树生成
一、组播技术概述 二、组播的实现技术 三、IGMP协议 四、组播路由协议 五、应用实例
二、组播的实现技术——组播体系结构
应用程序/组播地址
hosts
主机-路由器协议 (IGMP)
routers
域内组播协议(PIM; DVMRP)
域间组播协议(MSDP;MBGP)
二、组播的实现技术——组播MAC地址
IANA将MAC地址范围01:00:5E:00:00:00~01:00:5E:7F:FF:FF分配给组播 使用; 这就要求将28位的IP组播地址空间映射到23位的组播MAC地址空间中, 具体的映射方法是将组播地址中的低23位放入MAC地址的低23位。
二、组播的实现技术——常用的组播保留地址
D类地址范围 含义
D类地址范围 224.0.0.10
含义 IGRP路由器
224.0.0.0
224.0.0.1 224.0.0.2 224.0.0.3 224.0.0.4
基准地址(保留)
所有主机的地址 所有组播路由器的地址 不分配 DVMRP路由器
224.0.0.11
• 宽带网络交互式游戏 • ...
互联网
一、组播技术概述——组播的特点
优点
◦增强效率,控制网络流量,减少服务器和CPU负载 ◦优化性能,消除流量冗余 ◦分布式应用,使多点传输成为可能 缺点 ◦组播应用基于UDP ◦尽最大努力交付 ◦无拥塞控制 ◦数据包重复 ◦数据包的无序交付
一、组播技术概述——组播的通信模型
二、组播的实现技术——snooping
5
组播?没问题,我已经探取了转发表: MAC转发表 MAC地址
0100-5e0a0a0a
1 3 2
4
端口
1,2,5
二、组播的实现技术——组播转发表
组播转发表:
与单播路由表类似由很多条目(Item)构成,用于记录组播分发树在每个 路由器上的状态,指导组播数据的转发。与单播不同的是,因为转发决 策复杂,组播转发表项包括比单播更多的信息,比如:入口,出接口表, 状态,定时器,上游地址等。RPT和SPT会产生不同的转发表项,不同 的源也会产生不同的SPT表项。 • 组播转发表一般是一个四元组: {S,G,IIF,OIFs} S: 源IP地址 G: 组IP地址 IIF: 入接口 OIFs: 出接口列表 • 组播路由一般有三种格式: (*, *, RP) 只匹配RP (*, G) 匹配Group IP (S, G) 同时匹配Source IP和Group IP
A B D (RP) F
符号表示:(*,G)
C E
* = 所有来源 G = 组
接收者1
接收者2
二、组播的实现技术——逆向路径检查
逆向路径检查(Reversed Path Fordwarding Check): 组播转发采用一种特殊机制:组播包的转发不是基于IP包 的目的地址的,而是用RPF检查决定是否转发和丢弃输入 信息包。(对于SPT转发是按照源地址查找;对于RPT转 发,使用汇聚点(RP)地址进行查找。 ) ◦ RPF检查的过程如下: 路由器检查到达组播包的源地址,如果信息包是在可 返回源站点的接口上到达,则RPF检查成功,信息包 被转发 如果RPF检查失败,丢弃信息包 对组播包源地址的检查是通过查询单播路由表来实现的
二、组播的实现技术——组播转发表
来自192.18.0.32的组播数据
S0/1 S0/0 S1/0
1、RPF检查、转发
S1/0
组播??
一、组播技术概述 二、组播的实现技术 三、IGMP协议 四、组播路由协议 五、应用实例
三、IGMP协议
IGMP(Internet
Group Management Protocol)因特网组管 理协议是主 v2报文格式
0 1 2 3 01234567890123456789012345678901
Type Max Resp Time Group Address Checksum
Type:报文类型。包括成员查询;版本1成员报告;版本2成员报告; 离开消息。 Max Resp Time:最大响应时间。实际中响应时间是配置值范围(1~ 25秒)内的一个随机值。缺省为10秒。 Group Address:组播组地址:在普遍查询中为0.0.0.0;特定组查询 和报告消息中为相应的组播地址。
224.0.0.22
VRRP
所有IGMP路由器
224.0.0.251
……
所有组播DNS服务器