资源描述
基于源特定组播的信息分发技术 基金:“十一五”重点装备预研课题(编号:2009ZX01040-004-002)资助。
作者简介:周红卫,(1980-),女,工程师,研究生,硕士,网络通信与信息分发,13814027825, dayspringzhw@
周红卫 薛竞翔 秦张淼
(中国电子科技集团公司第二十八研究所 南京 210007)
摘 要:针对信息分发此类单源组播的应用环境需求,提出了一种通用的信息分发模型,介绍了信息分发的主要组成部分,基于源特定组播SSM模型,设计了系统的组成结构,利用信息推送和信息拉取两种分发模式,分别描述了信息分发的详细过程,分析了基于源特定组播信息分发技术的优势。通过一个实例应用,验证了该技术可以提高信息分发系统的高效性、可靠性,为信息的共享提供技术保障。
关键词:信息分发;源特定组播;分发模式
中图分类号:TP391 文献标识码:A
Study on Adaptive Real-Time Message Transfer Technology
Zhou Hongwei Xue JingXiang Qin Zhangmiao
(The 28th Research Institute of China Electronics Technology Group Corporation,Nanjing 21007,China)
Abstract:Considering the requirement for the source-signal multicast environment such as information dissemination, a general information dissemination model is put forward to describe the mostly composite, Based on the model of source-specific multicast, the structure of system is designed. Using two dissemination modes of information push and information pull, the particular process of information dissemination is designed differently. The predominance of information dissemination technology based on source-specific multicast is analyzed. Depend on progressive confirmation and extended confirmation, the result shows that the technology can improve the reliability and efficiency of the information dissemination system by an application. It proposes the technical safeguard for information share.
Keywords:Information Dissemination; Source-specific Multicast; Dissemination Mode
1 引言
随着网络技术的飞速发展,Internet上出现许多高带宽需求的流媒体应用,如多媒体远程教育、网络视频/音频传输等业务。采用单播技术构建的传统网络已经无法满足新兴宽带网络应用在带宽和网络服务质量方面的要求。通过引入IP组播技术,有效解决了以上问题。即使组播用户数据量成倍增长,骨干网络中网络带宽也无需增加,从而最大限度解决了目前带宽的急剧消耗和网络拥塞问题[1]。
2003年7月,RFC3569定义了源特定组播SSM (source-specific multicast),2004年2月,出现了基于SSM的通信草案。SSM作为IP组播技术的一项新技术,所具有的优势引起了研究者的广泛关注[2]。SSM技术是针对任意源组播ASM (any-source multicast)提出的,在ASM模型中,实现的是多源-多接收者的工作模式。在ASM模型中,终端主机可以随时加入、离开组。参与组通信的主机地点、数量无限制,组内可以存在任意多的源,任何时候均可以发送(即使在没有接收者的情况下)。由于ASM在访问控制(难于控制非授权用户向组播组发送数据)、地址分配(多个应用使用的组地址可能冲突)、源发现(需要较复杂的源发现机制)、路由协议过于复杂、易于遭受Dos攻击等方面存在缺陷,限制了组播的大规模实施[3]。
SSM采用的是一种单源-多接收者的订阅工作模式,而大部分信息分发系统都是单源组播的应用环境,本文针对信息分发这一类特定应用,提出了信息分发模型,描述了信息分发模式以及基于SSM的信息分发技术。
2 信息分发模型
定义1:信息分发模型(Information Dissemination Mode,IDM)
信息分发模型可以表示为一个四元组: 其中,表示信息是未来将要产生的,还是过去已产生的历史信息;表示信息的种类,包括实时信息、文件信息、视频信息、非格式信息等;表示分发接收端;表示分发策略。这些参数的具体取值如下[4]:
信息的种类可以进行扩展和定义:
分发接收端可以是用户端席位或者下一级分发中心。
依据分发关系的建立由哪一方发起,分发策略分为两种模式:如果由信息分发服务器端发起,成为推送信息;如果由信息用户端发起,称为拉取信息。
3 基于SSM的信息分发技术
3.1 SSM技术
SSM技术是针对任意源组播ASM (any-source multicast)提出的,在ASM模型中,实现的是多源-多接收者的工作模式,源特定组播SSM采用一种单源-多接收者的订阅工作模式。
定义2:频道(channel)
SSM用组播组地址和组播源地址(S,G)同时标识一个组播会话,SSM的一个(S,G)可以称为一个频道,其中G表示特定的组播组地址,S表示发向组播组G的特定源地址。
SSM技术在域内组播和域间组播中均可使用,其关键问题是接收主机必须能够通告路由器要接收的频道。因此,为了在网络中部署SSM,路由器和主机中使用的组播组管理协议必须进行升级,即支持IGMPv3和MLDv2协议[5](MLDv2是针对IPv6协议下的组播组管理协议)。在IGMPv3和MLDv2协议中,主机不但能够通告路由器组地址信息,也能够通告路由器源地址信息,协议中需要支持的方法有:
(1) Subscribe(S,G):订阅来自源地址S发往组地址G的数据;
(2) Unsubscribe(S,G):取消订阅来自源地址S发往组地址G的数据。
3.2 基于SSM的信息分发技术
根据上一节提出的信息分发模型,结合信息分发需求,本文首先给出了基于SSM的信息分发技术结构图,提出了两种比较典型的信息分发模式(可以根据具体分发需求进行扩展),在这两种信息分发模式下,分别介绍了基于SSM的信息分发技术。
3.2.1 基于SSM的信息分发结构图
图1 基于SSM的信息分发系统结构
基于SSM的信息分发系统主要由信源接入、数据分发服务、分发用户三个要素组成,实现了以信息分发服务为核心的多层次分组分发体系。
对于任何一种格式的信源,通过根分发将以一颗倒树的形式逐级向下级用户或者级联分发体系发送数据,如图1所示,通过信源接入,实现不同格式的信源接入分发体系,经单播数据接收模块,接收信源信息,按照信源类型,创建信源组播组列表,可表述为:,其中为第i个信源节点,,节点包含信源标识()和接入IP()两个元素,为信源i的组播地址,组播组的个数与信源个数相同。
每个用户通过推送信息模式或者拉取信息模式,确定加入的频道信息,订阅的频道(S,G)可以是不同的信息来源S,即不同的分发服务器,也可以是不同的组播地址G,即不同格式的信源,分发服务器向某个频道分发一条信源信息,该频道组播内的用户端都可以接收到,从而有效降低了网络和分发体系的负载。
3.2.2 信息推送模式
在信息推送模式中,用户端依据自己的信息需求,利用XML,填写格式化的信息需求描述文件,用户端的需求条件一般是XPath表达式[6],其中既包括对XML文档结构的约束,又包括对某些元素和属性的约束。用户端和分发服务器端都必须预先知道XML文档所遵从的XML Scheme,用户端将信息需求发送给分发服务器端的分发控制中心,由分发控制中心依据目前的信息接入情况和Scheme定义,组织具体的信息,按需向分发用户端推送信息。
信息分发模型实例为:,推送的信息主要为实时产生的信息,信息格式可以为各种信息的格式,信息用户可以为用户席位端或者下一级分发服务器端。参照图1的结构,信息推送的具体过程如下所示:
(1) 信源通过各种方式接入到相应的分发服务器端,分发服务器端创建组播组列表,并通过分发管理控制中心,将组播组列表发布给所有用户端或者下一级分发服务端;
(2) 在信息推送前,用户端D1、用户端D2、下一级分发服务D3将格式化的信息需求描述文件通过单播发送给所有分发服务器端,例如D1向S1申请信源Ga的信息,D2向S2申请信源Gc的信息,D3向S1和S2分别申请信源Ga、信源Gb和信源Gd的信息;
(3) 分发服务器端依据信息需求描述文件,记录每个组播的组内成员;
(4) D1、D2、D3 通过方法Subscribe(S,G),将要接收的频道channel(S1,G1)的订阅信息通告给各自的直连路由器R3、R4、R5,例如D1向R3通过方法Subscribe(S1, Ga)发送申请信源的信息,D2向R4通过方法Subscribe(S2, Gc)发送申请信源的信息,D3向R5通过方法Subscribe(S1, Ga)、Subscribe(S1, Gb)、Subscribe(S2, Gd)发送申请信源的信息;
(5) R3、R4、R5将订阅请求沿着朝向S1的方向,经过若干中间路由器,到达S1的直连路由器R1,沿途的路由器都要保留针对Subscribe(S1, Ga)、Subscribe(S2, Gc)、Subscribe(S1, Ga)、Subscribe(S1, Gb)、Subscribe(S2, Gd)的转发状态;
(6) 分发服务器S1构造出一棵以R1为根的源树后,每一个从S1发出的数据包,都会通过这个源树到达相应的接收者、分发服务器S2构造出一棵以R2为根的源树后,每一个从S2发出的数据包,都会通过这个源树到达相应的接收者;
(7) 当主机D1不再需要接收数据时,通过方法Unsubscribe(S1, Ga)通告直连路由器R3,然后R3沿着朝向S1的方向在源树上进行剪枝。
3.2.3 信息拉取模式
信息拉取模式主要以发布/订阅(Publish/Subscribe)形式实现信息的分发,是指分发服务发布各种接入的信源信息列表,用户端基于信源信息列表进行信息的点播,分发管理中心完成信息匹配,并通知分发服务器。针对未来信息,当信息产生后,分发服务器就发送给需要的用户端;针对历史数据,用户端通过历史数据点播报文,并将需求发送给分发服务端,分发服务端从历史数据库调取对应的信息,实现历史数据的存储与调用[7]。
信息分发模型实例为:,拉取的信息主要为实时产生的信息,信息格式可以为各种信息的格式,信息用户可以为用户席位端或者下一级分发服务器端。参照图1的结构,信息拉取的具体过程如下所示:
(1) 信源通过各种方式接入到相应的分发服务器端,分发服务器端创建组播组列表;
(2) 通过分发管理控制中心,实时地更新组播组列表(组播组地址与信源格式、类型相关联);
(3) 用户端根据组播组列表,发送点播申请报文,点播所需要的数据,例如D1向S1点播信源Gb的信息;发送历史数据点播报文,点播满足一定条件的历史数据信息,例如D2向S2点播信源Gc的在2010年12月27日09:00-12:00时间段内的历史数据;
(4) 分发服务器端回复点播应答报文和历史数据点播应答报文,并重新更新每个组播的组内成员;
(5) 用户端通过方法Subscribe(S,G),将要接收的频道channel(S1,G1)的订阅信息通告给各自的直连路由器,例如D1向R3通过方法Subscribe(S1, Gb)发送申请信源的信息,D2向R4通过方法Subscribe(S2, Gc)发送申请信源的信息;
(6) 订阅请求沿着朝向S1的方向,经过若干中间路由器,到达S1的直连路由器R1,沿途的路由器都要保留针对Subscribe(S1, Gb)、Subscribe(S2, Gc)的转发状态;
(7) 分发服务器S1构造出一棵以R1为根的源树后,每一个从S1发出的数据包,都会通过这个源树到达相应的接收者、分发服务器S2构造出一棵以R2为根的源树后,每一个从S2发出的数据包,都会通过这个源树到达相应的接收者;
(8) 当主机D1停止点播数据时,通过方法Unsubscribe(S1, Gb)通告直连路由器R3,然后R3沿着朝向S1的方向在源树上进行剪枝。
4 技术优势
针对ASM组播模型存在问题,基于SSM的分发技术做了以下改进[8]:
(1) 由于引入了频道概念,基于SSM的分发技术避免了不同主机间为选择不同的组播地址所进行的协商,同时也解决了两个不同的分发服务器端同时使用同一个组播地址所产生的交叉传送流量损耗问题;
(2) 解决了访问控制问题,当接收者确定(S,G)通道后,它只接收从发送源S传送来的数据,这样就实现了对数据源的控制,来自非法数据源的数据会被丢弃[9];
(3) 在路由复杂性方面,进行了很好的简化。在传统ASM模型中,路由器不但要处理从RPT树到SPT树切换等复杂问题,而且要处理(*,*,RP)、(*,G)、(S,G)、(S,G,RPT)等不同组播路由表项。在SSM模型中,路由器只需要处理(S,G)这一种路由表项,更利于使用硬件进行组播数据报文的转发,从而提高路由器中的组播数据处理效率[10]。
5 基于SSM的分发技术应用
为了验证该技术的优势,本系统实现了一个具体实例,为了在网络中部署SSM,路由器和主机中使用的组播组管理协议支持IGMPv3,通过采用Berkeley Socket和Winsock实现了组播通信模块和单播传输模块,在系统设计过程中,着重考虑了系统的可维护性,采用了模块化和面向对象的编程技术。因此该系统可以适应多种应用分发系统。
根据系统需要搭建了一个小规模的实验网,实验环境如图2所示。
图2 基于SSM的技术应用实验环境
在实验环境中,两个信息分发服务,分别接入了一个信源,发布了具有两个组播组地址的组播列表,用户组1向分发服务器1订阅了信源1的信息,用户组2向分发服务器2订阅了信源2的信息,用户组3分别向分发服务器1和分发服务器2订阅了信源1、信源2的的信息,用户组4分别向分发服务器1和分发服务器2订阅了信源1、信源2的的信息。
在网络带宽为100 Mb/s、路由器各接口带宽为1000Mb/s的实验环境中,信源1、信源2接入实时信息,接入速率分别为500报/秒、600报/秒(每报大小200B),用户组1、2、3、4的数据组播接收率分别为100%、100%、99%、99%。由于跨网络时丢包率增大,因此跨路由器的组播接收率稍低。信源1、信源2接入文件信息,用户组1、2、3、4的可靠数据组播接收率全部为100%,重传率分别为1%、1%、2%、2%。无论网络繁忙或空闲,组播接收率在链路上都没有较大波动,这说明以SSM组播为主要数据传送手段,能够减轻分发系统中网络流量,提高系统的分发能力。
6 总结
合理、高效、灵活的信息分发是信息共享的基础和关键,本文首先建立了一个通用的信息分发模型,描述了信息分发的主要组成,在充分利用源特定组播SSM模型的优势,设计了基于SSM的信息分发技术。经过实验验证,可以看出该技术提高了信息分发系统的高效性、可靠性,并节省了系统的资源开销。该技术可用于各级各类电子信息系统,作为信息分发工具,为系统的信息共享提供技术保障。
参考文献
[1] 熊伟.基于IPv6的SSM的MLDv2技术的研究[J].网络通讯与安全, 2007, 34(6):1013-1015.
[2] Bhattacharya S. An overview of Source-specific Multicast(SSM).RFC3569,July 2003.
[3] C Diot,B Levine,B Lyles et al. Deployment issues for the IP multicast service and architecture[J]. IEEE Network,2000, 14(1):10-20.
[4] 王珩,聂敏,刘若奇.信息分发模型研究[J].舰船电子工程, 2008, 28(6):6-9.
[5] Holbrook H. Using IGMPv3 and MLDv2 For Source-specific Multicast [Z].Internet Draft,draft-holbrook-idmr-igmpv3 -ssm-04.txt.IETF, 2003.
[6] 马建刚,黄涛.面向大规模分布式计算发布订阅系统核心技术[J].软件学报, 2006, 17(1):134-147.
[7] 王金华,吴荣泉.基于主题的数据订阅分发技术[J].计算机工程, 2006, 32(14):78-80.
[8] 林予松,张子皎,汪斌强.基于SSM的组播路由解决方案[J].计算机工程, 2006, 32(4): 114-115.
[9] Badishi G,Keidar I.Exposing and eliminating vulnerabilities to denial of service attacks in secure gossip-based multicast[C].Ptoc of Dependable Systems and Networks, 2006:45-61.
[10] Jelger C,Noel T.Supporting Mobile SSM Sources[R].IEEE Global Communications Conf ,Taibei,Taiwan 11,2008.
联系人:周红卫,女,工程师;
所属单位:中国电子科技集团公司第二十八研究所第四研究部;
通信地址:江苏省南京市1406信箱68分箱,210007;
联系电话:13814027825;
Email地址:dayspringzhw@;
意向发表:小型微型计算机系统;
论文所属征文领域:网络应用.
展开阅读全文