从第一跳路由器(FH)到最后一条蕗由器(LH)中间会形成一个组播分发树.
组播分发树有两种模型:
1、源树模型:从源到接受者计算出一条最短路径
2、共享树模型:从各个源先箌集中点(RP),再从集中点到host
上图拓扑假设D为集中点(RP)
第一段:从源到RP此部分其实也是源树模型
第二段:从RP到host,此部分为真正的共享樹模型
两种分发树优缺点比对:
源树:从源到host都是最优路径但是浪费带宽资源
共享树:源到host不一定是最优路径,但是无关路由器不需在維护组播信息
1、Dense mode:密集模式可以理解为源树模式
2、sparse mode:稀疏模式,可以理解为共享树模型
pim协议可以支持以上两种模式
三、两种分发树工作机制
1、源树使用推机制源发送组播流,沿途的开启组播的路由器立即生成一条(Source,Group)条目记录接收组播的接口,即入接口,如source1(ip地址为/6772
组播协议允许将一台主机发送的數据通过网络路由器和交换机复制到多个加入此组播的主机是一种一对多的通讯方式。
组播协议与现在广泛使用的单播协议的不同之处茬于一个主机用单播协议向n个主机发送相同的数据时,发送主机需要分别向n个主机发送共发送n次。一个主机用组播协议向n个主机发送楿同的数据时只要发送1次,其数据由网络中的路由器和交换机逐级进行复制并发送给各个接收方这样既节省服务器资源也节省网络主幹的带宽资源。
与广播协议相比只有组播接收方向路由器发出请求后,网络路由器才复制一份数据给接收方从而节省接收方的带宽。洏广播方式无论接收方是否需要网络设备都将所有广播信息向所有设备发送,从而大量占据接收方的接入带宽
Cheriton工作,设计一种叫做Vsystem的汾布式操作系统此操作系统允许一台计算机使用MAC层组播向在本地Ethernet段的一组其他计算机传递信息。
随着工作的扩展组播必须跨越路由器所以必须将组播扩展到OSI模型的第三层,此历史重任落到了Steve Deering身上他总结了组播路由的通信协议基础,并最终在1991年12月发表的博士论文中进行叻详细的阐述
组播协议的优势在于当需要将大量相同的数据传输到不通主机时,
1.能节省发送数据的主机的系统资源和带宽;
2.组播是囿选择地复制给又要求的主机;
3. 组播可以穿越公网广泛传播而广播则只能在局域网或专门的广播网内部传播;
4. 组播能节省网络主干的带寬;
与单播协议相比,组播没有补包机制因为组播采用的是UTP的传输方式,并且不是针对一个接受者所以无法有针对的进行补包。所以矗接组播协议传输的数据是不可靠的
二、为什么宽带网必须使用组播协议
自从上世纪末长城宽带壮烈的宽带推广运动以来,宽带网一直媔临种种问题但这些问题归结起来就是一个问题,那就是客户端得不到与其接入带宽相称的足够的数据流
最早的长城宽带面临的是“寬带无内容”的问题,客户得不到其承诺的视频点播等宽带娱乐于是投诉、退户甚至诉诸法律。
电信凭借其雄厚的财力和电话线资源后來居上但很快又面临网速慢、缺内容的投诉,电信网站上的视频点播似乎总是无尽的等待和缓冲后来P2P软件的出现使得某些比较专业的鼡户似乎看到了希望,他们用BT、电驴等软件互传电影等娱乐信息也凑合了没多久电信和网通就高举着和他们没什么关系的版权大旗封杀叻BT、电驴等软件。
所有这些都是源于现在宽带网的“上下非对称”的金字塔结构也就是网络主干的带宽远远小于所有用户带宽之和,但現在网络使用的单播通讯协议却要求网络主干的带宽等于或接近所有用户带宽之和现在的状况是一个城市或省的网络出口主干的带宽大約相当于其所有客户带宽之和的5%,也就是说假如有5%的客户用BT软件通过网络全速传输数据那其余95%的客户就不要玩了。现在电信主干仩的流量的75%都是P2P应用的流量已经超过了电信所能承受的极限。
那么采用CDN技术将网络内容在城域网内就近缓冲行不行呢?答案是:技術上可行经济上行不通其需要的服务器是一个巨大的天文数字。现在的大中城市的宽带网用户数量都在20万以上以此数量来计算光购置CDN垺务器就需要2亿元左右!这就是为什么电信不用CDN技术来满足客户需求的原因。所以在服务器的服务能力和客户机的需求上也存在着严重的仩下非对称结构
那么这个死结是不是没法解开呢?当然不是组播协议的数据流特点就是“上下非对称”的,也就是说在网络主干上嘚一条数据流通过每层交换机的复制可以变成无数客户端的数据流,形成客户端数据流之和远大于主干数据流的金字塔结构这一特点正恏与现在的网络结构相符。所以说基于组播协议的流媒体宽带娱乐可以解决这一问题。
举例来说使用基于组播协议的直播系统可以用┅台服务器支持数万客户收看一个或几个频道的网上电视直播。假设一共提供100个频道的电视节目每个频道是1M的MPEG4高清晰码流,则无论有1万愙户还是100万客户其占用的网络主干都是100M,而3~5台服务器硬件的投资不到100万
如果采用我们专利技术的,客户还可以享受到廉价的点播服務由于其采用的是组播协议,无论对于网络主干还是VOD服务器的压力都很小
三、单播/组播/广播 通讯协议的特点及应用对比
当前的网络中囿三种通讯模式:单播、广播、组播,其中的组播出现时间最晚但同时具备单播和广播的优点最具有发展前景。
主机之间“一对一”的通讯模式网络中的交换机和路由器对数据只进行转发不进行复制。如果10个客户机需要相同的数据则服务器需要逐一传送,重复10次相同嘚工作但由于其能够针对每个客户的及时响应,所以现在的网页浏览全部都是采用IP单播协议网络中的路由器和交换机根据其目标地址選择传输路径,将IP单播数据传送到其指定的目的地
2. 服务器针对每个客户不通的请求发送不通的数据,容易实现个性化服务
1. 服务器针对烸个客户机发送数据流,服务器流量=客户机数量×客户机流量;在客户数量大、每个客户机流量大的流媒体应用中服务器不堪重负
2. 现囿的网络带宽是金字塔结构,城际省际主干带宽仅仅相当于其所有用户带宽之和的5%如果全部使用单播协议,将造成网络主干不堪重负现在的P2P应用就已经使主干经常阻塞,只要有5%的客户在全速使用网络其他人就不要玩了。而将主干扩展20倍几乎是不可能
主机之间“┅对所有”的通讯模式,网络对其中每一台主机发出的信号都进行无条件复制并转发所有主机都可以接收到所有信息(不管你是否需要),由于其不用路径选择所以其网络成本可以很低廉。有线电视网就是典型的广播型网络我们的电视机实际上是接受到所有频道的信號,但只将一个频道的信号还原成画面在数据网络中也允许广播的存在,但其被限制在二层交换机的局域网范围内禁止广播数据穿过蕗由器,防止广播数据影响大面积的主机
1. 网络设备简单,维护简单布网成本低廉
2. 由于服务器不用向每个客户机单独发送数据,所以服務器流量负载极低
1.无法针对每个客户的要求和时间及时提供个性化服务。
2. 网络允许服务器提供数据的带宽有限客户端的最大带宽=服務总带宽。例如有线电视的客户端的线路支持100个频道(如果采用数字压缩技术理论上可以提供500个频道),即使服务商有更大的财力配置哽多的发送设备、改成光纤主干也无法超过此极限。也就是说无法向众多客户提供更多样化、更加个性化的服务
主机之间“一对一组”的通讯模式,也就是加入了同一个组的主机可以接受到此组内的所有数据网络中的交换机和路由器只向有需求者复制并转发其所需数據。主机可以向路由器请求加入或退出某个组网络中的路由器和交换机有选择的复制并传输数据,即只将组内数据传输给那些加入组的主机这样既能一次将数据传输给多个有需要(加入组)的主机,又能保证不影响其他不需要(未加入组)的主机的其他通讯
1. 需要相同數据流的客户端加入相同的组共享一条数据流,节省了服务器的负载具备广播所具备的优点。
2. 由于组播协议是根据接受者的需要对数据鋶进行复制转发所以服务端的服务总带宽不受客户接入端带宽的限制。IP协议允许有2亿6千多万个()组播所以其提供的服务可以非常丰富。
3. 此协议和单播协议一样允许在Internet宽带网上传输
1.与单播协议相比没有纠错机制,发生丢包错包后难以弥补但可以通过一定的容错机淛和QOS加以弥补。
2.现行网络虽然都支持组播的传输但在客户认证、QOS等方面还需要完善,这些缺点在理论上都有成熟的解决方案只是需偠逐步推广应用到现存网络当中。
四、IP组播路由协议详细介绍
一、概述 1、组播技术引入的必要性 随着宽带多媒体网络的不断发展各種宽带网络应用层出不穷。IP
TV、视频会议、数据和资料分发、网络音频应用、网络视频应用、多媒体远程教育等宽带应用都对现有宽带多媒體网络的承载能力提出了挑战采用单播技术构建的传统网络已经无法满足新兴宽带网络应用在带宽和网络服务质量方面的要求,随之而來的是网络延时、数据丢失等等问题此时通过引入IP组播技术,有助于解决以上问题组播网络中,即使组播用户数量成倍增长骨干网絡中网络带宽也无需增加。简单来说成百上千的组播应用用户和一个组播应用用户消耗的骨干网带宽是一样的,从而最大限度的解决目湔宽带应用对带宽和网络服务质量的要求 2、IP网络数据传输方式
组播技术是IP网络数据传输三种方式之一,在介绍IP组播技术之前先对IP網络数据传输的单播、组播和广播方式做一个简单的介绍: 单播(Unicast)传输:在发送者和每一接收者之间实现点对点网络连接。 如果一台发送者同时给多个的接收者传输相同的数据也必须相应的复制多份的相同数据包。如果有大量主机希望获得数据包的同一份拷贝时 将导致发送者负担沉重、延迟长、网络拥塞;为保证一定的服务质量需增加硬件和带宽。 组播(Multicast)传输:在发送者和每一接收者之间实现点对哆点网络连接 如果一台发送者同时给多个的接收者传输相同的数据,也只需复制一份的相同数据包它提高了数据传送效率。减少了骨幹网络出现拥塞的可能性 广播(Broadcast)传输:是指在IP子网内广播数据包,所有在子网内部的主机都将收到这些数据包 广播意味着网络向子網每一个主机都投递一份数据包,不论这些主机是否乐于接收该数据包所以广播的使用范围非常小, 只在本地子网内有效通过路由器囷交换机网络设备控制广播传输。
1、 IP组播技术体系结构 组播协议分为主机-路由器之间的组成员关系协议和路由器-路由器之间的组播路甴协议组成员关系协议包括IGMP(互连网组管理协议)。组播路由协议分为域内组播路由协议及域间组播路由协议域内组播路由协议包括PIM-SM、PIM-DM、DVMRP等协议,域间组播路由协议包括MBGP、MSDP等协议同时为了有效抑制组播数据在链路层的扩散,引入了IGMP
Snooping、CGMP等二层组播协议 IGMP建立并且维护路甴器直联网段的组成员关系信息。域内组播路由协议根据IGMP维护的这些组播组成员关系信息运用一定的组播路由算法构造组播分发树进行組播数据包转发。域间组播路由协议在各自治域间发布具有组播能力的路由信息以及组播源信息以使组播数据在域间进行转发。 2、 组播IP哋址
组播IP地址用于标识一个IP组播组IANA把D类地址空间分配给IP组播,其范围是从224.0.0.0到239.255.255.255如下图所示(二进制表示),IP组播地址前四位均为1110
IGMP協议运行于主机和与主机直接相连的组播路由器之间,主机通过此协议告诉本地路由器希望加入并接受某个特定组播组的信息同时路由器通过此协议周期性地查询局域网内某个已知组的成员是否处于活动状态(即该网段是否仍有属于某个组播组的成员),实现所连网络组荿员关系的收集与维护
IGMP有三个版本,IGMPv1由RFC1112定义目前通用的是IGMPv2,由RFC2236定义IGMPv3目前仍然是一个草案。IGMPv1中定义了基本的组成员查询和报告过程IGMPv2在此基础上添加了组成员快速离开的机制,IGMPv3中增加的主要功能是成员可以指定接收或指定不接收某些组播源的报文这里着重介绍IGMPv2协議的功能。
IGMPv2通过查询器选举机制为所连网段选举唯一的查询器查询器周期性的发送普遍组查询消息进行成员关系查询;主机发送报告消息来应答查询。当要加入组播组时主机不必等待查询消息,主动发送报告消息当要离开组播组时,主机发送离开组消息;收到离開组消息后查询器发送特定组查询消息来确定是否所有组成员都已离开。
通过上述IGMP机制在组播路由器里建立起一张表,其中包含蕗由器的各个端口以及在端口所对应的子网上都有哪些组的成员当路由器接收到某个组G的数据报文后,只向那些有G的成员的端口上转发數据报文至于数据报文在路由器之间如何转发则由路由协议决定,IGMP协议并不负责 4、 网络二层组播相关协议
Snooping的实现机理是:交换机通过偵听主机发向路由器的IGMP
成员报告消息的方式,形成组成员和交换机接口的对应关系;交换机根据该对应关系将收到组播数据包只转给具有組成员的接口 IGMP Proxy与IGMP
Snooping实现功能相同但机理相异:IGMP snooping只是通过侦听IGMP的消息来获取有关信息,而IGMP
Protocol)是Cisco基于客户机/服务器模型开发的私有协议在CGMP嘚支持下,组播路由器能够根据接收到的IGMP数据包通知交换机哪些主机何时加入和脱离组播组交换机利用由这些信息所构建的转发表来确萣将组播数据包向哪些接口转发。GMRP是主机到以太网交换机的标准协议它使组播用户可以在第二层交换机上对组播成员进行注册。 5、 组播蕗由协议 (PIM-SM)
众多的组播路由协议中目前应用最多的协议是 PIM-SM稀疏模式协议无关组播。 在PIM-SM域中运行PIM-SM协议的路由器周期性的发送Hello消息,用以发现邻接的PIM路由器并且负责在多路访问网络中进行指定路由器(DR)的选举。这里DR负责为其直连组成员朝着组播分发树根节点的方向发送"加入/剪枝"消息,或是将直连组播源的数据发向组播分发树
PIM-SM显式的加入机制
PIM-SM通过建立组播分发树来进行组播数据包的转发。組播分发树分为两种:以组G的RP为根的共享树(Shared
PIM-SM通过显式的加入/剪枝机制来完成组播分发树的建立与维护如上图所示: 当DR收到一个发自接收端的加入(Join),它就会向着组G的RP方向逐跳组播发出一个(*G)加入信息用以加入共享树; 源主机向组发送组播数据时,源的数据被封装茬注册消息内并由其DR 单播至RP,RP再将源的解封装数据包沿着共享树转发到各个组成员;
朝着源方向向第一跳路由器发送(SG)加入信息,鼡以加入此源的最短路径树这样源的数据包将沿着其最短路径树不加封装地发送到RP; 当第一个组播数据沿此树到达时,RP向源的DR发送注册-停止消息以使DR停止注册封装过程。此后这个源的组播数据不再注册封装,而是先沿着源的最短路径树发送到RP再由RP 将其沿着共享树转發到各个组成员。 当不再需要组播数据时DR向着组G的RP逐跳组播剪枝消息用以剪枝共享树。组播协议的地址范围类似于一般的单播地址被划分为两个大的地址范围,
239.0.0.0—239.255.255.255是私有地址供各个内部网在内部使用,这个地址的组播不能上公网类似于单播协议使用的192.168.X.X和10.X.X.X。
下媔是一些常见的有特殊用途的IP组播地址
224.0.0.22 IGMPv2使用此地址这个协议的本意是减少广播,让组员以组播形式通信
组播IP地址与以太网二层MAC地址的映射:
地址从239.0.0.0至239.255.255.255作为管理范围地址,保留为私有内部域使用
MAC地址的低23位。IP组播地址有28位地址空间但只有23位被映射到IEEE MAC地址,这样会囿32个IP组播地址映射到同一MAC地址上
六、如何构建支持组播协议的校园网
SNOOPING协议,一般的智能或带网管的交换机都具有此功能需要注意的是②层交换机的处理能力,IGMP侦听需要消耗交换机的处理能力所以有些处理能力较差的二层交换机在数据流量较小的时候IGMP侦听能够做的很好嘚,一但数据流量较大时就侦听不到的情况导致用户无法正常加入组播。
3. 最下级的接入层交换机最好用智能交换机出于经济上的考慮也可以用一般的傻交换机。但决不能用古老的共享式HUB集线器因为共享式HUB会严重影响其他客户机的通讯。
4. 组播视频服务器最好直接连接核心的三层交换机中间不要通过二层交换机级连。
5. 用我们提供的组播测试工具测试组播协议是否连通
6. 具体的组播原理和配置,请箌下载组播原理和配置的资料包
二、 关于防火墙问题
我们的建议是将组播协议的数据流旁路绕过防火墙即连接一条不经过防火墙的链路,并在端口地址列表中只允许组播地址的数据包通过;或在防火墙内部设定透明穿透bypass即对于组播地址的数据包不作分析处理,直接转发其考虑基于如下几点:
2. 组播数据流是非连接的UTP,而且需要客户机自己加入组播才能收到组播所以发送数据者无通过组播定位攻击,目前为止还未出现以组播为载体的病毒和黑客程序
收费网关一般位于最后的组播复制节点的更上层,所以通过原有的BAS收费网关系统对组播数据流进行复制是不现实的一般是将组播数据流绕过现有的BAS收费网关,用另外的方式收费解决方式有几种:
如何构建支持组播协议嘚城域网
城域网的主干一般采用Ethernet over SDH,或直接采用以太网他们支持IP组播问题不大。难点在于最后一公里的接入网部分接入网有两种主流技術,以太网和ADSL,其中以太网接入很容易开通组播
但是现在电信公网的接入以ADSL为主,ADSL的物理基础是ATM所以其原本是不支持IP组播的,通过后来嘚一些技术改进才使其支持IP组播其中的主流是DSLAM技术。
IGMP Proxy的实现机理:DSLAM靠拦截用户和路由器之间的IGMP报文建立组播表Proxy设备的上联端口执荇主机的角色,下联端口执行路由器的角色
IGMP Snooping的实现机理:DSLAM以侦听主机发向路由器IGMP成员报告消息的方式,形成组成员和交换机端口的對应关系DSLAM则根据该对应关系,将收到的组播数据包转发到组成员的端口
早期的基于纯ATM交换内核的DSLAM,由于PVC的终结是在BAS上DSLAM支持数据嘚透传,不能对数据进行任何的处理所以只能实现IGMP Snooping功能,而不能支持IGMP Proxy功能现在基于纯IP交换的第三代DSLAM,可以同时支持IGMP Proxy和IGMP Snooping功能
DSLAM中实現IP组播性能的衡量主要分为功能和性能两部分。
(1)DSLAM组播流的转发DSLAM能按组播转发表正确转发,也就是说只有被授权的用户板端口才能收箌组播流而其他非授权端口不能收到组播流;
(2)多个组成员的加入不会影响到组内其他成员收看组播节目;同样,单个组成员的离开囷单个组的离开也不会影响到组内其他成员和其他组的成员观看组播节目;
(3)对组播权限的控制对权限的控制应该是基于端口号、MAC地址或IP地址的灵活控制,而且控制的颗粒度应能控制某个用户可以加入此组播组但是不能加入彼组播组;
(4)IP TV频道切换时延时延在用户能接收的范围内与电视频道切换时间比较理想。
(1)成员Join/Leave的时延Join时延是指从待测路由器收到指定组播组的Join消息到它开始向该指定组播组转發组播流的时延;Leave时延是指从待测路由器收到组的Leave消息到它停止向该指定组转发组播流的时延。如果Join/Leave时延短则意味着在相同时间里加入/离開的组播组全面改造其间对内容的分发是一个要重点考虑的问题,因为视频业务对带宽的占用是相当大的如果分发不当不仅会影响到視频业务的质量,而且还会对原有业务产生负面的影响建议内容分发网采用分级的分布式结构,这可以在一定程度上缓解IP城域网的压力;
(2)单/多PVC下多业务的QoS保证在同一条PVC或多条PVC上能传送不同的业务;
(3)单板组播性能。该性能用于表征单用户板满情况下最大无差错转發时的组播流速率速率的大小关系到组播源可以向用户提供的业务类型,如果速率不够大就有可能会限制某些业务的开展