一种基于NS2的P2P流媒体系统仿真平台技术方案

技术编号:4329988 阅读:393 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供一种基于通用网络仿真器NS2的P2P流媒体仿真平台。其平台框架主体自底向上依次包括:NS2基础层、覆盖网适配层、数据调度适配层、播放器适配层和节点应用层,其NS2基础层的接口包括:节点网络层接口Node、节点传输层接口Agent和节点应用基础层接口Application,另外,本发明专利技术的平台还包括有:分组头信息域接口NovaPacket、多线程仿真接口Timer、事件记录器接口Log、覆盖网协议仿真接口OverlayAdapter、数据调度策略接口DataScheduler、播放器数据交互接口PlayAdapter和节点应用接口PeerApp等。由此,本发明专利技术针对流媒体系统的功能特点提出五层的设计框架,每层对应系统的一个功能模块,同时针对每个模块提出了接口规范,用户只要实现所有接口后就可在该平台上进行仿真,提高了仿真效率。

【技术实现步骤摘要】

本专利技术涉及一种计算机网络流媒体
,更具体地,涉及一种基于NS2的 P2P流媒体系统仿真平台的设计。
技术介绍
随着互联网的发展和宽带应用的普及,流媒体业务正在成为网络应用的热点。 P2P模式流媒体系统相对于传统客户端/服务器模式的流媒体系统由于具有可扩展性 高、鲁棒性强、易于实现负载均衡等特点而得到广泛应用。在P2P流媒体系统中每 个节点在接收数据的同时也向其它节点提供数据,有效降低了视频服务器的压力, 避免了传统模式中服务器单点失效和系统瓶颈的问题。另一方面,通常需要对P2P流媒体系统性能进行测试以验证系统的可扩展性和 可靠性,同时对系统设计进行改进,优化性能参数。常用性能指标包括流媒体服务 器压力、系统网络资源利用率、节目播放连续性、系统控制开销、网络传输端到端 延迟、系统播放延迟以及各节点数据流量状况和系统吞吐量等。上述性能指标的测 试一般需要对系统中所有节点的运行情况进行实时监控,通过对监控数据的统计获 得测试结果。但是由于P2P系统的开放性和分布性,系统中大量节点会动态加入离 开系统并引起系统逻辑拓扑的动态变化,导致节点跟踪困难;同时由于节点在存储 能力、计算能力和带宽能力上的异构性,较难在多种网络条件下对系统进行测试, 如测试系统在节点带宽充裕和节点带宽受限时的工作性能。因此要在实际网络环境 下对系统进行测试是比较困难的,在这种情况下网络仿真就成为有效的解决手段。网络仿真器一般可分为专用仿真器和通用仿真器两种专用仿真器是针对特定 网络协议开发的,如Chord Sim、 CAN Sim、 Gnutella Sim等,由于它们是仿真特定 协议因而通用性较差。通用仿真器一般提供了丰富的网络仿真模型库和高级语言编 程接口,具有较好的灵活性和方便性,目前主流的有NS2、 OPNET等,其中由美国 DARPA支持开发的多协议网络模拟软件NS2作为开源的通用网络仿真器在实际工 作中得到了广泛应用。NS2可以仿真五层网络模型中的任意一层,同时还支持节点动态加入退出和节 点异构性的仿真。NS2对网络中的一些通用实体如链路、分组、节点等进行了建模,可以提供详细的底层网络特征,能够真实反映底层网络特性对上层应用的影响。它 采用分裂对象模型,每个网络实体同时使用Otcl(Object Tool Command Language)与 C+十编写。其中Otcl用于模拟行为的解释执行和模拟环境的配置,如设置多种网络 情景和配置网络物理拓扑;0++则用于实现实体功能。但由于NS2人机界面不友好, 在仿真复杂网络情景时要进行大量脚本配置,使初学者难以快速学习掌握;另外该 软件非专用P2P仿真软件,对P2P系统仿真支持不足。因此人们开始在通用仿真器基础上进行二次开发以仿真各类P2P系统,比较典 型的有GnuSim、 NDP2Psim等。它们一般将P2P系统中的公共功能(如文件存储与査 找等)抽取成模块,提供接口给用户使用。但是这些接口多是针对P2P文件共享或简 单应用层组播开发的,对于各类复杂P2P流媒体系统的仿真并没有提出统一框架和 明确的功能层次抽象,用户仍然需要根据仿真对象实际情况进行大量二次开发。
技术实现思路
基于上述情况,本专利技术的目的在于提供一种基于NS2的P2P流媒体系统仿真平 台,即基于通用网络仿真器NS2的适用于P2P流媒体系统特点的仿真平台一一 NovaP2PSim,该平台提供了进行流媒体仿真的框架,概括抽象了流媒体系统的功能 层次,并针对每个层次提供了接口规范。由此,本专利技术的基于NS2的P2P流媒体系统仿真平台采用如下的技术方案 1)本专利技术的平台设计框架NovaP2PSim主体自底向上分为五层,底层为NS2基础层,采用NS2原有组件, 包括链路、节点、计时器等。上层根据P2P流媒体系统特点抽象出了四个层次覆 盖网适配层、数据调度适配层、播放器适配层、节点应用层。每层的功能分别为NS2基础层,采用NS2原有组件,包括链路、节点以及计时器,所述链路组件 用于模拟连接网络节点的传输介质,其特性包括带宽、时延、丢包、发送接收队 列等,所述节点组件用于模拟网络拓扑中的每个节点,具有判断网络分组的目标地 址和目标端口的功能,所述计时器组件用于仿真多线程功能的实现;覆盖网适配层,表示流媒体系统的应用层覆盖网协议拓扑,是单树拓扑、多树 拓扑或网状拓扑,用于模拟流媒体系统覆盖网的运行情况,所述覆盖网是系统中节 点在通信时建立的逻辑拓扑,该覆盖网的一个顶点代表一个用户节点,该覆盖网两 个顶点间的连线代表两个用户节点之间的一次通信;数据调度适配层,表示节点间数据调度策略,是推模式、拉模式或数据驱动模式,用于模拟流媒体系统采取的数据调度方法,所述数据调度是指如何向邻居节点 请求自己没有的数据,以及如何向邻居节点提供自己有的数据;播放器适配层,表示播放缓冲区与媒体播放器的交互过程,用于模拟流媒体系 统客户端将收到的媒体数据发送给播放器的过程;节点应用层,表示平台与用户间的接口,用户通过该层接口启动仿真过程,用 于对平台进行初始化,启动仿真平台的运行。另外,本专利技术的基于NS2的P2P流媒体系统仿真平台的系统中还包括多线程仿 真模块、数据采集模块、分组头信息域模块等辅助模块。其中,多线程仿真模块实现流媒体系统中多线程的工作机制。由于NS2并不支 持实际的多线程操作,因此通过本模块模拟实际系统中的多线程操作。凡是实际系 统中涉及多线程操作的时候都用本模块进行替换。数据采集模块负责记录系统在仿真过程中发生的事件并记录相关数据到日志文 件。相当于记录在整个仿真过程中系统发生的所有行为。分组头信息域模块实现向NS2中添加新协议分组头的功能。NS2中有很多已经 定义好的分组头,如IP包头、UDP包头、RTP包头等。当流媒体系统中要用到新的 数据包类型时,利用此模块向NS2中添加。2)本专利技术的平台接口规范本专利技术的仿真平台用到的NS2基础层类主要有节点网络层接口 Node、节点传 输层接口 Agent和节点应用基础层接口 Application节点网络层接口 Node实现IP 协议,负责把分组路由到合适节点;节点传输层接口 Agent实现TCP/UDP协议,负 责在适当端口发送接收分组;节点应用基础层接口 Application为应用层程序的基类, 提供了应用层程序一些行为的基本原型,如send()、 recv()等。另外,本专利技术的仿真平台还包括有分组头信息域接口 NovaPacket、多线程仿 真接口 Timer、事件记录器接口 Log、覆盖网协议仿真接口 O ver lay Adapter 、数据调 度策略接口 DataScheduler、播放器数据交互接口 PlayAdapter和节点应用接口 PeerApp等,各接口的主要功能为-分组头信息域接口 NovaPacket:负责分组头信息域模块的实现,在NS2中分组 是对象间交互的基本单元,若要仿真新的协议需要定义协议自己的分组头,以保证 不会与己有的分组头发生冲突。因此本平台提供统一分组头信息域接口 NovaPacket, 用户实现此接口并把该域按照NS2规范要求加入到定义好的分组头中就可在NS2中 激活并使用相应类型的分组头。多线程仿真接口 Timer:负责多线程仿真模块本文档来自技高网
...

【技术保护点】
一种基于NS2的P2P流媒体系统仿真平台,其特征在于,该系统平台框架主体自底向上依次包括:NS2基础层、覆盖网适配层、数据调度适配层、播放器适配层以及节点应用层,并且,该系统还包括辅助模块:多线程仿真模块、数据采集模块以及分组头信息域模块,其中, 所述NS2基础层,采用NS2原有组件,包括链路、节点以及计时器,所述链路组件用于模拟连接网络节点的传输介质,所述节点组件用于模拟网络拓扑中的每个节点,具有判断网络分组的目标地址和目标端口的功能,所述计时器组件用于仿真多线程功能 的实现; 所述覆盖网适配层,表示流媒体系统的应用层覆盖网协议拓扑,是单树拓扑、多树拓扑或网状拓扑,用于模拟流媒体系统覆盖网的运行情况,所述覆盖网是系统中节点在通信时建立的逻辑拓扑,该覆盖网的一个顶点代表一个用户节点,该覆盖网两个顶点间 的连线代表两个用户节点之间的一次通信; 所述数据调度适配层,表示节点间数据调度策略,是推模式、拉模式或数据驱动模式,用于模拟流媒体系统采取的数据调度方法,所述数据调度是指如何向邻居节点请求自己没有的数据,以及如何向邻居节点提供自己有的 数据; 所述播放器适配层,表示播放缓冲区与媒体播放器的交互过程,用于模拟流媒体系统客户端将收到的媒体数据发送给播放器的过程; 所述节点应用层,表示平台与用户间的接口,用户通过该层接口启动仿真过程,用于对平台进行初始化,启动仿真平 台的运行, 所述多线程仿真模块,实现流媒体系统中多线程的工作机制; 所述数据采集模块,负责记录系统在仿真过程中发生的事件并记录相关数据到日志文件; 所述分组头信息域模块,实现向所述NS2中添加新协议分组头的功能; 所 述覆盖网适配层、所述数据调度适配层和所述播放器适配层中所有涉及多线程的操作都由所述多线程仿真模块实现,所述数据采集模块嵌入在所述覆盖网适配层、所述数据调度适配层、所述播放器适配层以及所述节点应用层中,负责记录系统在仿真过程中发生的所有事件,所述覆盖网适配层中用到的所有新数据包类型都通过所述分组头信息域模块加入到所述NS2中。...

【技术特征摘要】
1、一种基于NS2的P2P流媒体系统仿真平台,其特征在于,该系统平台框架主体自底向上依次包括NS2基础层、覆盖网适配层、数据调度适配层、播放器适配层以及节点应用层,并且,该系统还包括辅助模块多线程仿真模块、数据采集模块以及分组头信息域模块,其中,所述NS2基础层,采用NS2原有组件,包括链路、节点以及计时器,所述链路组件用于模拟连接网络节点的传输介质,所述节点组件用于模拟网络拓扑中的每个节点,具有判断网络分组的目标地址和目标端口的功能,所述计时器组件用于仿真多线程功能的实现;所述覆盖网适配层,表示流媒体系统的应用层覆盖网协议拓扑,是单树拓扑、多树拓扑或网状拓扑,用于模拟流媒体系统覆盖网的运行情况,所述覆盖网是系统中节点在通信时建立的逻辑拓扑,该覆盖网的一个顶点代表一个用户节点,该覆盖网两个顶点间的连线代表两个用户节点之间的一次通信;所述数据调度适配层,表示节点间数据调度策略,是推模式、拉模式或数据驱动模式,用于模拟流媒体系统采取的数据调度方法,所述数据调度是指如何向邻居节点请求自己没有的数据,以及如何向邻居节点提供自己有的数据;所述播放器适配层,表示播放缓冲区与媒体播放器的交互过程,用于模拟流媒体系统客户端将收到的媒体数据发送给播放器的过程;所述节点应用层,表示平台与用户间的接口,用户通过该层接口启动仿真过程,用于对平台进行初始化,启动仿真平台的运行,所述多线程仿真模块,实现流媒体系统中多线程的工作机制;所述数据采集模块,负责记录系统在仿真过程中发生的事件并记录相关数据到日志文件;所述分组头信息域模块,实现向所述NS2中添加新协议分组头的功能;所述覆盖网适配层、所述数据调度适配层和所述播放器适配层中所有涉及多线程的操作都由所述多线程仿真模块实现,所述数据采集模块嵌入在所述覆盖网适配层、所述数据调度适配层、所述播放器适配层以及所述节点应用层中,负责记录系统在仿真过程中发生的所有事件,所述覆盖网适配层中用到的所有新数据包类型都通过所述分组头信息域模块加入到所述NS2中。2、 如权利要求1所述的基于NS2的P2P流媒体...

【专利技术属性】
技术研发人员:王劲林任浩鲁逸峰苏少炜冯侦探
申请(专利权)人:中国科学院声学研究所
类型:发明
国别省市:11[]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1