[发明专利]一种基于NS2的P2P流媒体仿真系统有效
申请号: | 201210352401.4 | 申请日: | 2012-09-19 |
公开(公告)号: | CN102970176A | 公开(公告)日: | 2013-03-13 |
发明(设计)人: | 张桂莲;罗笑南;孟思明;薛凯军;肖剑 | 申请(专利权)人: | 东莞中山大学研究院;中山大学 |
主分类号: | H04L12/26 | 分类号: | H04L12/26;H04L29/08 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 523808 广东省*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 ns2 p2p 流媒体 仿真 系统 | ||
1.一种基于NS2的P2P流媒体仿真系统,底层网络采用NS2原有的经典模型组件,为了支持对应用层的模拟,其特征在于,增加了支持P2P应用的模块,分别是:P2P应用层,Socket模块和统计模块,其中P2P应用层模块包括P2P用户行为层,P2P代理层,P2P接口层;
Socket模块为底层NS2和P2P应用层提供通讯接口,使P2P系统具有可移植性,其作用类似于真正的TCP Socket和UDP Socket套接字功能,对已有的底层TCP/UDP网络接口进行修改和封装,使底层网络模型对用户透明,为上层应用程序方便的使用底层NS2进行网络通信提供统一的编程接口;
P2P应用层模块是实现用户基本应用程序模拟的重要模块,应用程序不能直接加入到NS2平台中,而是要继承应用程序基类来加入到NS2中,并利用Socket层模块提供的接口,实现具体的应用程序的仿真,它将用户行为和算法分离开来,提供各自模拟的接口,利用仿真的加载和实现;
统计模块主要功能是负责收集各个模块的数据并对模拟结果进行分析和输出,以便评价一个数字模型的真实特性,独立出的该统计模块方便对应用层和底层网络进行数据采集。
2.如权利要求1所述的系统,其特征在于,P2P应用层模块调用相对应的socket来建立链接和传递消息,负责对消息封装和解析,具有bind(),listen(),connect()、send()、recv()和poll()等操作,用户为上述这些函数加上upcall前缀,将socket状态变化情况告知上层应用层,反过来上层应用层通过对应的API改变socket状态。
3.如权利要求1所述的系统,其特征在于,P2P用户行为层对P2P用户行为进行仿真,节点基本行为API的实现包括节点的动态join()和leave()、文件初始分布、节点发出文件请求的分布规律,VCR模块处理P2P流媒体用户对播放的快进快退等请求;
P2P接口层模块提供P2P系统的基本应用,用于和socket通讯的接口,该模块可封装多个Socket模块,应用层利用P2P接口层模块调用相应socket实现链接建立与消息传递,故该模块为应用层与底层网络间的通讯途径,此外,该层还负责执行消息的解析和封装,以及对树状协议直播模型和Gossip网状协议直播模型的实现。
4.如权利要求1所述的系统,其特征在于,在该系统上添加新协议步骤为:
Step1:准备两个头文件xxx.h和xxx.cc,放到固定目录下,比如放到A目录下;
Step2:头文件与普通C语言头文件相似,包含相关文件,定义结构体和类;结构头的定义有一定规则,前半部分可以自己定义需要的数据结构,后半部分要按照固定的要求来写,一般定义的主类要继承自Agent类;
Step3:是编写.cc文件,相当于普通程序的源文件,但有特殊要求,即要在前面分别定义PacketHeaderClass和TclClass的两个子类,格式非常固定,只要改相应关键字即可;
Step4:编写相应的代码,a)数据包的生成Packet*pkt=allocpkt();b)数据包的访问:hdr_ip*iph=hdr_ip::access(pkt);c)发送数据包send(pkt,0);d)另外,Command命令中不要忘记return(TCL_OK)这句话,否则会出错的;
Step5:写好以上两个文件之后,要修改NSMAIN/common/packet.h中的两个地方:a)packet_t xxx PT_XXX,这里要的PT_XXX要与主类构造函数中Agent的参数一致;b)name_[PT_XXX]=″xxxxx″,其中xxxxx要与PacketHeaderClass和TclClass子类中使用的字符串一致;
Step6:作为向仿真系统加入新协议的最后一步,在makefile中增加编译项,比如你的程序在A目录下,要在INCLU DES变量下加上-i./A,在OBJ_STL变量下加上jack/jack.o;
Step7:编译通过后,通过编写简单的TCL脚本测试。
5.如权利要求4所述的系统,其特征在于,Step5中对于要修改的a)处有多种形式,一种是枚举,一种是顺序定义的,要在倒数第二个位置添加,如果是顺序定义,注意更新最后一个变量的值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东莞中山大学研究院;中山大学,未经东莞中山大学研究院;中山大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210352401.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种电池盒拨入分离机构
- 下一篇:一种适合自动上下线的隧道式烤炉泊位机构