论文部分内容阅读
IP组播服务模型未表明的功能
前面我们回顾了驱使组播部署的客户要求和市场动机。接着我们回顾了ISP部署组播服务时所遇到的困难。除了这些困难以外,在这一部分叙述许多用户关注的,但未在IP组播服务模型中提供的功能。这些功能是组播进行成功的商业部署的前提。我们回顾这些问题的严重性和各自对当前模型增加的复杂性。对大多数功能来说,答案是要么由当前IETF标准对当前服务模型作修改,或是研究新的服务模型。
1.组管理
当前的服务模型并不考虑组的管理,包括接收者授权、传输授权和组的创建。组管理也包括排序机制和地址发现。我们单独地提出这些问题,选择定义组管理作为接入的控制功能,限制谁可以发送和接收一个特定的组播地址。
由于缺乏接入控制功能,对组播组提供内容和为给定服务付费的接收者而言,存在着危险。就像Web站点要求防止黑客改变网站的内容,以组播为基础的内容提供商要求接入控制,以防止外来者发起的许多攻击。这些攻击包括:
* 泛洪攻击:许多高速无用的数据传送到同一组播组中,引起拥塞和分组丢失。这使得正确的接收者不能接收数据。尽管单播中也有这样的问题,但组播为攻击提供了更大更多的机会。
* 会话冲突:由于缺乏组创建控制,两个使用同一地址的会话可能交织其数据。
* 未授权的接收者节省组播数据(可能是付费的):这提供了内容提供商丢失收入的源。这个问题在单播中也存在。组播的解决方案是使用组密钥管理,这是一个正在研究的领域。
* 以别的数据源淹没真正的源,改变会话的内容:这也是丢失收入的一个途径。
由于没有接入控制机制,这些攻击就易于实施。
对当前的IP组播管理的增强的就是IGMPv3,除了特定源的加入外,它还提供了对特定组播组源的修剪。当路由协议支持这个选项时,IGMPv3可阻止数据进入骨干网。不幸的是,不可能在共享树协议中修剪源或有特定源的加入,如CBT、BGMP。此外,当一个接收者不修剪所有干扰源或恶意的源时,有IGMPv3的骨干网中也有可能遭到攻击。为了防止这种现象,接收者应明确提交一确知源的清单,而不是在发生这种事之后再修剪。IGMPv3仍在研究之中。
Sprint和Uunet已经将组播作为一种商业服务部署了。然而除了限制接入到列举了组播组地址的网页上以外,没有办法来阻止接收者加入任何特定的源。
2.组播的安全性
为以组播为基础的通信提供安全,从根本上说,比单播更为复杂。因为有多个实体参与,他们之间大多数并不相互信任。进一步的组播安全性应提供四种明确的机制:认证、授权、加密和数据的完整性。认证就是使主机证明其标识,以便它们能够被授权建立组,发送数据到在和从组中接收数据。授权就是允许已认可了的主机执行某些任务。加密确保偷窃者不能在网上读数据。数据完整性机制确保数据报在传输中不被改变。
当前的IP组播服务和体系结构并不执行任何认证。通过IPsec提供服务,源认证和数据完整性是可能的。但是IPsec并不阻止源发送。它只是允许接收者在收到以后,丢弃未认证的分组。IPsec并未广泛部署,当前正由IETF研究。这个问题的别的方案在网络层提供,且是端到端的。
加密常被认为是在应用层使用的,以确保数据隐私的正确机制。不幸的是,对大量的异类的组,它也只是一个部分的解决方案。为了在存在许多接收者的情况下维持可扩展性,密钥的再分配必须在树上的某些部分进行。例如,Iolus协议保护数据,以免未授权的接收者对数据加密。与普通的组播传送相比,Iolus的缺点是,分组可能不只一次地穿过某些链路。
为了确保组播树的构建和仅传递数据到认证和授权了的主机,安全的组播服务是网络层的一个方案。这些协议要能防止攻击,如否认服务和偷窃服务攻击。例如,加密的HIP(KHIP)是一个网络层的安全机制,限制对未授权的域和主机建立分支。每个组都进行了加密,以确保数据完整性。
KHIP使用一双向的、以核心为基础的组播路由树,缺乏从树上删除特定源的功能。实际上,当单个源必须为每个接收者授权时,所有双向共享树协议都破坏了每个以源为根的树的状态。在存在接收者指定的源的修剪时,Cain建议将授权机制放到网络的边缘,以维持组的状态。然而,这种机制要维持边缘路由器的安全性。如果边缘路由器被绕过了,未授权的传输就可以进入骨干网。这类机制的优点是它将复杂性放在边缘路由器而非骨干路由器中。
组播安全性中一个未解决的严重问题是,接入清单的发现。一个简单模型是将对授权接收者认证的控制放在会话的源。这样一个模型并不解析谁给域内的源授权,它由系统管理员处理域间的授权。对以源为基础的认证是使用认证服务器。
3.地址分配
因为当前的地址空间是未管理的,没有机制阻止应用发送数据到任何组播地址。如果不选择不同的地址,两个会话的成员将收到相互的数据。对ISP来说,缺乏地址分配机制,除了处理愤怒的用户和运载无用的数据外,并没有大的威胁。然而,对组播接收者来说,有很大的危险,可能引起应用的不一致性,因为从别的会话中收到的分组必须处理并丢掉。
如对组创建采取正确的接入控制,这个问题能够得到部分解决,这可以通过发送者接入列表来限制冲突。
一个正确的分配机制应用如下特征:
* 单个用户不能干扰别的用户的服务。例如,分配所有的地址;
* 在地址分配中,为避免延迟应用,应没有或是可忽略的时延;
* 实施起来复杂度不高;
* 对域间来说,有很好的扩展性;
* 有效地使用地址空间;
* 从长远来看,可扩展到数百万计的组播组。
由于组播还不是一个流行的域间服务,地址冲突的可能性十分小。现在部署的有组播能力的路由器中,仅有1000~2000条路由。由于路由器的内存不大,在当前部署的Internet中限制了地址冲突的可能性。因为在内存用完后,不可能再建立新的组。对有268000000个可用的D类IP地址来说,对能够存储2000地址的内存,冲突的可能性是0.78%。然而,如果组播得到普及,路由器将保存更多的组播地址,组播分配的问题就严重了。对能够存储8k地址的路由器,当所有的地址都使用时,冲突的概率达12%。
对当前的服务模型而言,有四种可供选择的地址分配机制。
* MAAA;
* 静态分配和指定(指GLOP);
* 如同EXPRESS模型所提出的,为每个源(信道)分配一个地址;
* IPv6编址。
MAAA设计强调有效地使用一动态分配的地址空间,以设计的复杂性为代价。GLOP使用AS号以限制域可使用的地址。GLOP是一个短期的实验。IPv6能解决所有要求,这需要在当前动态地增加地址空间,其代价是改变分组结构。IPv6提供了充足的唯一的地址空间,以使地址分配变得容易。IPv6和EXPRESS能解决所有需求。
4.网络管理
网络管理指的是:为了网络的规划、监控、使用和操作,跟踪在传输中组播树中发生的问题。当前的工具是免费的软件,是由于Mbone用户的需求发展的。组播网络管理的商用工具要等到组播的广泛部署之后才出现。然而,这些是组播部署中的一个至关重要的部分,因为没有它们就无法部署组播,用户很可能对此不满意。
当前可用于组播管理的程序包括以MSDP为基础的应用。如Minfo、Mtrace、RTPmon、Mhealth、Multimon和Mlisten。
另一个可用的是RouteMonitor,一种测量Mbone上的路由稳定性的工具。RouteMonitor计算在一定时间内每个DVMRP路由的改变次数,一个MBGP RouteMonitor正在研究之中。
最后,组播路由监控协议(MRM)正由IETF研究。MRM是一个以SMNP为基础的工具,它在组播树上,以一种可扩展的方式,提供SMNP的管理信息库数据的收集。这些工具还只是学术原型,还不能支持商业部署。在监控和跟踪中,并不能识别所有与当前协议体系结构相关的所有问题。
别的服务模型
当前的组播服务模型本身是很复杂的。大多数引起问题的地方是设计用来支持现在并不普及的应用的,如多人游戏和分布式模拟。另一方面,服务模型并不能很好地支持我们现在有兴趣的应用,如多媒体业务流的分布。这是因为组播服务模型并不是很严格的。例如,服务模型允许多个发送者但不提供授权机制,这样的后果是我们经历了非标准的部署,它或许最终不鼓励软件开发者编写组播应用程序。例如,Uunet未部署标准的PIM,而是部署了以代理为基础的模型来控制源。
为了使组播服务仍能由ISP管理,及让组播仍为一以标准为基础的服务,我们支持将模型的部署分为单个源的和多个对等层的两种类型。进一步,当前模型中并不存在的功能必须加到他们的部分,这些功能包括:(1)地址分配。(2)接入控制。(3)域间管理。下一部分讨论所提出的模型的功能,以使实施起来较容易。注意地址分配问题的答案是与选取单个源或多个对等层模型是相互独立的。
1.单个发送者的模型
与多个对等层服务相比,单个源的Internet组播是一个更简单的范例,能被立即成功的部署。而且,驱动应用发展到今天的是一对多,如文件传送和多媒体业务流。这些应用中,组播服务应被立即部署。此外,单个源,以源为根的组播得到ATM网络的很好的支持,而共享树则没有。
单个源的服务模型要求一个简单的体系结构,没有第三方问题,且扩展性由协议维持,通过发送明确加入信号到源来建立路由,常在返回源的最短路径上选路。对单个源应用来说,复杂的协议,如自动PIM-SM转变或MSDP对等化是不必要的。在远程域内的边界路由器和域内的边缘路由器提供对源的授权、检查,接收者的授权可由组密钥分布协议提供。
单个源组播受到以源为根的EXPRESS模型的很好支持。EXPRESS是与当前的Internet兼容的,因为它所需的功能由IGMPv3提供。边缘路由器能发送源指定(S,G)的加入,为指定的EXPRESS组播组使用IGMPv3。IGMPv3仍在研究之中,但EXPRESS已被IANA分配了实验地址空间。对它而言,接收者的加入是以每个源为基础的。为使EXPRESS正常工作,必须由路由器增强使接收者指定明确源的功能。
这个模型中,域间的问题也易于实施,因为核心或RP的概念并不适用于单个源的模型。
2.多个对等层的模型
多个发送者应用的体系结构,要求多个对等层组播,没有单个源好理解。多个对等层会话以共享树为基础,使用一个核心的双向或无向共享树。因为这些树并不是到源的最短路径,他们必须在一个核心点集中或是作为核心。这就出现了单个源模型中所没有的问题:(1)核心必须被告知或发现。(2)核心的位置要好。(3)为了使一个ISP不为整个会话的强健性负责,必须存在第二核心。当前的体系用MSDP和GLOP解决这些问题,将来用BGMP和MAAA。
一个选择是使用由SM提出的核心组播(C,M)。SM从选路中分解核心的位置,依赖应用层机制来选取和通告核心信息。在分组头中的二元组(C,M)也要求某些协议从远程核心分配地址。
在多个对等层共享树模型中,发送者授权和认证是很难的,并不由任何实施来提供。最简单的情况,一旦发送者被授权发送,所有接收者必须接收数据。一个选择是在端路由器修剪源,使用IGMPv3。然而,这种机制仍允许数据穿过网络,并不能防止否认服务攻击或未授权的发送者。在边界路由器设置网关,不能阻止业务流进入域中和业务流拥塞骨干网。
一个未解决的是由谁控制发送者接入到组中。如果它是一个中心站点,该站点就代表了一个故障点。很可能这些功能与一核心或多个核心结合,增加了额外的开销。
多个对等层服务模型实现起来更复杂,对通信公司和ISPs来说提供了更小的强健性和可扩展性。
结束语
通过长时间的、有用的使用Mbone的实验,组播的商业部署已经开始了。本文讨论了限制组播部署的问题。
组播的最初设计,是由于有需要以一种可扩展的方式支持一对多或多对多应用。这些应用并不能由单播服务有效地提供。组播的商业设计必须包括ISP和客户的市场需求。ISPs要求部署一种易于部署、控制、管理和扩展的服务和协议结构。ISP客户希望唯一地拥有组播地址,应能防止受恶意的网络攻击和服务内容的盗窃,且能快速纠正网络中的问题。一个可部署的体系结构应由这些因素驱动。
当前的体系结构并未很好地考虑这些因素。它比较复杂,且扩展性不好。如下:(1)接入控制。包括组的创建和成员的管理。(2)安全性。防止对选路的攻击和对组播数据完整性的攻击。(3)地址分配,包括前面所列举的。(4)网络管理。现阶段这些工具还不完善。
组播服务模型应支持通信公司、ISPs和市场的需求。新的体系结构最终以出现的方案为基础,能设计和部署与当前的组播共存的服务,与当前的协议体系结构互操作,与PIM和IGMP共存。否则,当前的部署策略会影响组播作为一种增值业务的成功,极大地延迟能从组播部署中受益的应用部署,如多媒体业务流和互操作应用。