多播地址
计算机术语
多播地址是一个48位的标示符,命名了一组应该在这个网络中应用接收到一个分组的站点。多播使用一种虚拟组地址的概念进行工作, 数据包的目的地址不是一个而是一组, 形成多播组地址, 因此, 为多播通信保留了大量多播地址空间。
在IPv4中,它历史上被叫做D类地址,一种类型的IP地址,它的范围从224.0.0.0到239.255.255.255,或,等同的,在224.0.0.0/4。在IPv6,多播地址都有前缀ff00::/8。但是注意,224.0.0.0被保留,不能赋给任何多播组。
多播是第一个字节的最低位为1的所有地址,例如01-12-0f-00-00-02。广播地址是全1的32位地址,也属于多播地址。但是广播又是多播中的特例,就像是正方形属于长方形,但是正方形有长方形没有的特点。
多播地址
Internet管理机构把旧的+类地址空间分配为,(多播地址-) 该地址空间用四组八位的二进制数表示,地址格式如下所示:1110××××.××××××××.××××××××.××××××××。第一组八位数的头四位用1110表示,这代表该地址是一个多播地址,其余28位比特标识具体的多播地址 。因此,多播地址的范围从224.0.0.0到239.255.255.255。其中,后28比特的地址字段中不再有结构层次,也不标出组的来源,不会象A、B、C类地址那样包含一个网络地址。多播地址的使用分配现在由互联网地址指派机构(IANA)控制 。
其中,239.0.0.0~239.255.255.255的地址使用要求被限制在特定的多播域内,不应该和其他地方的多播地址发生冲突, 因此这块组播地址在 ,#$%&#%$上不同地方可以重复使用。
IP多播
多播是一种允许一个或者多个发送者发送单一数据包到多个接收者的网络技术。不论组成员数量的多少,数据源只发送一次数据包,并且组播只向那些需要数据包的主机和网络发送包(以多播地址寻址)。在IP多播中,组成员的关系是动态的,多播接收主机可以在任何时候加入或退出多播组。此外,多播接收主机可以是任意多个多播组的成员。在共享的链路上,相同的信息只需要一个多播流,从而能够很好地控制流量,减少了主机和网络的负担,提高了网络应用服务的效率和能力。
多播技术是TCP/IP传送方式的一种。TCP/IP有三种传输方式:单播、多播、广播。传统的IP通信是在一个源IP主机和一个目标IP主机之间(单播)或者一个源IP主机和网络中所有的IP主机之间(广播)进行的。要将信息发送给网络中的多个而非所有IP主机,采用传统的IP通信技术只有两种方法可以选择:采用广播方式或者由源IP主机分别向网络中的多个目标IP主机单播发送IP包 。
广播方式会将信息发送给不需要的IP主机而浪费带宽,而且可能的路由回环会引起广播风暴。单播方式由于IP包的重复发送会浪费掉大量带宽,同时也增加了服务器的负载。可见,传统的IP通信技术不能有效地解决单点发送多点接收的问题。而IP多播却很好地解决了这个问题。IP多播是指在IP网络中数据包以尽力传送的形式发送到所有网络节点的某个确定子集,这个子集称为多播组。IP多播的基本思想是源护主机只发送一份数据,然后经过路由器或交换机拷贝发送数据到一个或多个接收者。即允许源IP主机向网上所有IP主机的一部分(子集)发送IP分组,只有该子集内的主机(目标主机)可以接收该分组,而网络中其他IP主机不能收到该分组。这种逻辑上的子集就是多播组,用D类IP地址(224.0.0.0~239.255.255.255来标识。IP多播技术有效地解决了宽业务中的单点发送多点接收,多点发送多点接收的问题,实现了IP网络中点到多点高效数据传输,有效地节约了网络带宽,降低了网络负载。
相关的多播协议
多播协议标准组织是因特网工程任务小组(IETF)。多播协议从结构上主要分为三部分:主机和路由器之间建立及维护多播成员关系的协议——(789:798组管理协议(IGMP);路由器和交换机之间控制多播扩散的协议——CISCO组管理协议(CGMP)、IGMP=窃听(snoopping);多播路由器之间构造多播分发树的协议——多播路由协议。
1.IGMP
I
IGMP是最基本的主机成员关系协议,一般用于路由器与其直接相连的主机之间进行有关多播组成员状态的通信,使用规则如下:
1)当第一个进程加入一个组时,主机就发送一个IGMP报告。如果一个主机的多个进程加入同一组,只发送一个IGMP报告。这个报告被发送到进程加入组所在的同一接口上。
2)进程离开一个组时,主机不发送IGMP报告,即便是组中的最后一个进程离开。主机知道在确定的组中已不再有组成员后,在随后收到的IGMP查询中就不再发送报告报文。
3)多播路由器定时发送IGMP查询来了解是否还有任何主机包含有属于多播组的进程。多播路由器必须向每个接口发送一个IGMP查询。因为路由器希望主机对它加入的每个多播组均发回一个报告,因此IGMP查询报文中的组地址被设置为0。
4)主机通过发送IGMP报告来响应一个IGMP查询,对每个至少还包含一个进程的组均要发回IGMP报告。
在具有多层结构的本地网中,第三层IP多播数据包经地址映射转换成第二层交换层的MAC多播地址,并被转发到第二层交换机的所有端口)即在传统的交换或桥接环境中多播被当成广播一样对待,所以只要是连在同一个第二层交换机上的客户端,不管客户端是否要求接收多播数据,都会收到多播传来的信息流,这种现象称为多播“泛洪”或多播扩散,将严重影响本地网的性能。
处理多播扩散一种方法是IGMPsnoopping,即本地网交换机窃听主机与路由器之间的IGMP对话,根据所连主机有无加入多播组来添加、修改交换机多播内容可寻址存储器CAM表,以控制多播扩散。
3.多播路由协议
实现IP多播路由一般方式是在多播组成员之间构造一棵多播树。多播树是根为源节点且覆盖所有多播成员的一棵生成树,不同的IP多播路由协议使用不同的技术来构造这些多播生成树,一旦这个树构造完成)所有的多播流量都将通过它来传播。
组播路由协议可分为两类:密集模式协议(如距离向量多播路由协议(DVMRP)、多播开放最短路径优先(MOSPF)、协议无关组播(PIM)-DM和稀疏模式协议(如PIM-SM、有核树组播路由协议(CBT)。
1)DVMRP
DVMRP基于RPF,使用距离向量算法得到网络的拓扑信息。为了使新加入的组播成员能及时收到组播数据,DVMRP采用定时发送数据包给所有的局域网,然而这种方法导致大量路由控制数据包的扩散,这部分开销限制了网络规模的扩大。另一方面,DVMRP使用跳数作为计量尺度,其上限为32跳,这对网络规模也是一个限制。目前提出了分层DVMRP,即对组播网络划分区域,在区域内的组播可以按照任何协议进行,而对于跨区域的组播则由边界路由器在DVMRP协议下进行,这样可大大减少路由开销。
2)MOSPF
MOSPF是一种基于链路状态的路由协议,定义了三种级别的路由MOSPF区域内组播路由:用于了解各网段中的组播成员,构造(源网络(S),组(G))对的SPT;MOSPF区域间组播路由:用于汇总区域内成员关系,并在自治系统(AS)主干网(区域0)上发布组成员关系记录通告,实现区域间组播包的转发。MOSPFAS间组播路由:用于跨AS的组播包转发。
MOSPF与DVMRP相比,路由开销较小,链路利用率高,然而92DE/FGH算法计算量很大,为了减少路由器的计算量,MOSPF执行一种按需计算方案,即只有当路由器收到组播源的第一个组播数据包后,才对((S,G)SPT计算,否则利用转发缓存(cache)中的((S,G)SPT。MOSPF对网络拓扑的变化响应速度快,但拓扑变动使所有路由器的缓存失效重新计算4%!,因而消耗大量路由器(%L资源。这就决定了MOSPF不适合高动态性网络(组成员关系变化大、链路不稳定),而适用于网络连接状态比较稳定的环境。
3)PIM
PIM由域间组播路由(IDMR)工作组设计。顾名思义,PIM不依赖于某一特定单播路由协议
4)CBT
CBT的基本目标是减少网络中路由器组播状态,以提供组播的可扩展性。为此,CBT被设计成稀疏模式(与PIM-SM相似)。CBT使用双向共享树,双向共享树以某个核心路由器为根,允许组播信息在两个方向流动。这一点与PIM-SM不同(PIM-SM中共享树是单向的,在RP与组播源之间使用SPT将组播数据转发到RP,所以CBT不能使用RP检查,而使用IP包头的目标组地址作检查转发缓存。这就要求对CBT共享树的维护非常小心,以确保不会产生组播路由循环。从路由器创建的组播状态的数量来看,CBT比支持SPT的协议效率高,在具有大量组播源和组的网络中,CBT能把组播状态优化到组的数量级。
CBT为每个组播组建立一个生成树,所有组播源使用同一棵组播树。CBT工作过程大体如下:首先选择一个核,即网络中组播组的固定中心,来构造一棵CBT;主机向这个核发送1234命令;所有中间路由器都接收到该命令,并把接收该命令的接口标记为属于这个组的树;如果接收到命令的路由器已是树中一个成员,那么只要再标记一次该接口属于该组;如果路由器第一次收到1234命令,那么它就向核的方向进一步转发该命令,路由器就需要为每个组保留一份状态信息;当组播数据到达一个在CBT树上的组播路由器时,路由器组播数据到树的核,以保证数据能够发送到组的所有成员。
CBT将组播扩张限制在接收者范围内,即使第一个数据包也无需在全网扩散,但CBT导致核周围的流量集中,网络性能下降。所以某些版本的CBT支持多个核心以平衡负载。尽管CBT很有代表性,但至今却几乎没有已实现的CBT网络。
多播技术现状
乏有效的用户管理,具体表现在下面几个方面:
·认证难:多播协议不提供用户认证功能,用户可随意地加入或离开。
·计费难:多播协议不涉及计费,加上多播源无法得知用户何时加入或离开,也无法统计某时间段到底有多少用户在收看多播节目,因此无法进行准确的计费。
·管理难:多播源缺乏有效的管理手段去控制多播信息在网上传递的范围和方向。
为了解决这些困难,迫切需要对多播功能进行优化和改进,以适应网络的运营现状,多播业务管理(可控多播)技术应运而生。可控多播技术主要包含信源控制、用户控制和安全控制三个方面。
1.信源控制
信源管理在多播流进入骨干网络之前,多播业务控制设备区分合法和非法的媒体服务器,转发合法的多播信息流,阻断非法的多播信息流。同时,对于信源发出的多播流量进人网络的速度(cAR)和优先级(MARK)进行控制,从而控制多播业务的开通、类型、带宽和对非法信源的过滤。
2.用户控制
用户控制是二层设备首先根据web、802.lx和PPPOE等认证方式对用户的多播权限进行验证。如果验证通过,则二层设备接收用户的GIMP加入/离开的信息,并建立相应的转发表项,允许用户接收多播流量。否则,丢弃用户的IGMP报文,禁止用户接收多播流量。
3.安全管理
在标准的多播中,接受者可以加入任意的多播组,也即多播树的分支是不可控,信源不知道多播树的范围与方向,安全性较低。为了实现对一些较重要的信息的保护,需要控制其扩散范围的,华为的静态多播树满足此需求。实现静态多播树的配置,满足高价值用户的安全需求。静态多播树就是多播树事先配置,控制多播树的范围与方向,不接受其他动态的多播成员的加入,这样能使多播信源的报文在规定的范围内扩散。
IP多播的展望
网络的宽带化已经不仅仅是使人们能够在宽阔的信息高速公路上顺畅地进行交流,而是越来越多地希望宽带网络能够带来更直观、更丰富的多媒体信息。多播技术为多媒体业务的开展提供了基础传送技术,有效地支撑了多点通信业务,涵盖了从地址方案、成员管理到路由和安全等各个层面,其中多播地址的分配方式、域间多播路由以及多播安全等仍是研究的热点。从目前的情况看,组成员管理普遍采用GIMP、PIM一sM协议,是因为其良好的扩展性和从共享树向源树转换的能力从而成为域内多播路由的首选协议,域间路由技术现阶段普遍采用IPM一SMM/BGp刀班SDP协议组合的方案。目前,多播的域内技术已基本成熟,域间技术也在不断完善。我们可以预见在下一代互联网技术中,多播技术必将大放异彩。
参考资料
最新修订时间:2023-12-24 20:57
目录
概述
多播地址
参考资料