什么是组播
组播地址结构
组播分发树
组播数据转发
组播基础
单播特点:网络中传输的信息量和需求该信息的用户量成正比
广播特点:
1.系统把信息传送给网络中的所有用户,不管是否需求,任何用户都会接收到广播信息,信息安全和有偿服务得不到保证
2.当同一网络中需求该信息的用户量很小的时候,网络资源利用率会很低,带宽浪费严重
组播:
1.解决网络中用户数量不确定的问题,一份信息,多个接收者
2.相同的组播数据流在每一条链路上最多仅有一份
组播的优势:
减轻服务器和CPU负载
减少了链路带宽资源的占用
减轻了网络设备的负载
组播的劣势:组播是基于UDP的
尽力投递:报文丢失是不可避免的,因此组播应用程序不能依赖组播网络进行可靠性保证,必须针对组播网络的这个特点进行设计,可靠组播目前处于研究阶段。
没有拥塞避免机制:缺少TCP窗口机制和慢启动机制,组播可能会出现拥塞,如果可能的话,组播应用程序应该尝试检测并避免拥塞。
报文重复:某些组播协议的特殊机制可能会造成偶尔的数据包的重复,组播应用程序应该容忍这种现象
报文失序:有时候因为带宽原因会造成报文到达的次序错乱,组播应用程序必须自己采用某种手段进行纠正,比如缓冲池机制等
组播的应用:多媒体会议,游戏和仿真,数字电视,远程教学等
实施组播的三个基本条件:
1.组播服务器
2.支持组播分发的网络
3.能够接收组播流的客户端
软件技术:
1.必须存在组播地址
2.必须有多播路由协议的支持
3.客户端必须能够自由加入或离开多播组
组播地址结构
一个组播组就是一个IP地址,不表示具体的主机,而是表示一系列系统的集合,主机加入某个组播组 即声明自己接收某个IP地址的报文。组播IP地址不会在网络上实际存在
组播源IP地址:A、B、C类地址
组播目标IP地址:D类地址 224.0.0.0 --239.255.255.255
为网络协议预留的地址段有:224.0.0.0-224.0.0.255
全局范围地址:224.0.1.0-238.255.255.255
指定信源组播地址:232.0.0.0~ 232.255.255.255
GLOP地址:233.0.0.0~233.255.255.255,主要是运营商使用,购买AS号会赠送,比如AS100 233.0.100.X
有限(私有)范围地址:239.0.0.0-239.255.255.255
常见的组播地址:
224.0.0.1 所有支持组播的设备
224.0.0.2 所有支持组播的路由器
224.0.0.4 DVMRP
224.0.0.13PIM
224.0.0.5 224.0.0.6 224.0.0.9 224.0.0.10
224.0.0.18 VRRP,虚拟网关冗余技术
三层组播地址到二层地址的映射
IP组播MAC地址映射(以太网)
比如:
1110 XXXX.X 000 0000.0000 0000.0000 0001
0000 0001.0000 0000.0101 1110. 0 000 0000.0000 0000.0000 0001
48位,前24位01005E,第二十五为0,后23位是IP地址后23位
这样就会造成一个问题:32个组播地址使用一个组播MAC地址
组播地址开头都是1110 XXXX.X,2^5=32
所以避免在同一个LAN下采用重叠的地址
组播分发树
详细说明可以查看CCNP专栏的组播笔记
组播分发树:用来描述IP组播报文在网络中经过的路径。
有源树(最短路径树SPT:Source or Shortest Path Tree)
由组播源到用户间的最短路径构成。路由器必须为每个组播源保存路由信息,占用内存较多 (S,G),但路径最优,接收者到多播源是最佳路径,延迟最小。
优点:保证组播源到接收者路径是最优的
缺点:组播路由器保存每个组播源的表项,组播源越多,表项就越多,对设备资源占用也就越多,影响转发效率
共享树(Shared Tree)
以网络上某特定节点为公用根。占用内存较少 (*,G),路径不一定是最优的,多播流转发必须先经过RP,引入额外的延迟。对 RP 的可靠性和处理能力要求很高
如果有100个组播源,只有一个组播表项( *,G)
(1)最短路径树
有源树的根是组播数据的来源,有源树的分支形成了通过网络到达接收站点的分发树
(2)共享树
共享树的根不再组播数据流的源头,而位于网络中管理员指定的汇聚点RP
组播数据转发
组播路由转发和单播路由转发是相反的
a、单播路由转发关心数据报文要到哪里去。
b、组播路由转发关心数据报文从哪里来。
组播路由转发使用 “反向路径转发”机制避免环路
多播数据流从多播路由器入口路由到出口转发出去
a、入口:由RPF决定
b、出口:由IGMP和多播路由协议决定的
反向路径转发:RPF
何谓RPF?
路由器收到组播数据报文后,只有确认这个数据报文是从自己到源的出接口上到来的,才进行转发,否则丢弃报文。
RPF检查
在单播路由表中查找到组播报文源地址的路由,如果该路由的
出接口就是报文的入接口,RPF成功,否则RPF失败
入接口:是组播路由协议决定的,组播路由协议决定组播路由表
RPF检测的时候,路由器到达组播源的出接口是由IPV4单播路由表来决定的。
组播路由协议——组播路由表——组播流量发送的接口
动态路由协议——单播路由表——到达组播源的接口