NS_2的SSM协议仿真扩展研究
上传者:苗婷|上传时间:2015-05-04|密次下载
NS_2的SSM协议仿真扩展研究
第16卷第4期2005年12月
中国计量学院学报
JournalofChinaJiliangUniversity
Vol.16No.4Dec.2005
【文章编号】 100421540(2005)0420328205
NS22的SSM协议仿真扩展研究
黄 俊1,韩玲莉2,1
(1.中国计量学院信息工程学院,浙江杭州杭州)
【摘 要】 对NS22的IP组播模拟器的结构与原理.,实现对SSM协议的仿真扩展.【关键词】 组播;SSM;仿真扩展;NS22
【中图分类号】 TP393 【文献标识码】 A
SimulationextendingresearchofSSMbasedonNS22
HUANGJun1,HANLing2li2,CHENGuang2ping1
(1.CollegeofInformationEngineering,ChinaJiliangUniversity,Hangzhou310018,China;2.CollegeofMechanical&ElectricalEngineering,ChinaJiliangUniversity,Hangzhou310018,China)
Abstract:ThispaperfirststudiesthekeytechnologiesofSSMandanalysesthebasicarchitectureandprincipleofIPmulticastroutingprotocolsimulatorinNS22.ThroughmodifyingthearchitectureofIPmulticastroutingprotocolmoduleinNS22,multicastextendingoverSSMisimplemented.Simulatedtesttestifiesthefeasibilityandvalidityoftheextending.
Keywords:multicast;SSM;simulation;NS22
IP组播技术[1]是一种允许一个或多个发送者发送单一的数据包到多个接收者的网络技术.IP组播技术的出现解决了一个主机向特定多个接收者发送消息的方法,最大程度地节省了网络带宽资源,避免了单播方式由于IP包重复发送造成大量带宽的浪费等问题.IP组播路由协议是IP组播协议体系中最核心的部分,其中SSM协议是IP组播技术中的一项新兴技术,这项技术对组播业务提供了更优化的网络性能.
网络仿真作为一种对网络中组播行为进行模拟与分析的方法,在组播技术的研究中有着重要的意义.但由于SSM协议是一项新的技术,目前
【收稿日期】 2005207201
大部分仿真软件,包括目前在网络研究领域使用
较广泛的NS22网络仿真器,都不提供对SSM业务模型的仿真支持.为了能实现对SSM协议的各种应用仿真,我们利用NS22的IP组播模拟器,分析了NS22结构与特性[2]提出了在NS22的IP组播路由模块中实现对SSM业务模型仿真的模块扩展的实现方法,最后通过仿真实验说明了该扩展实现方法的可行性和有效性.
1 SSM协议
SSM(SourceSpecificMulticast信源域间组播协议)[3]是针对组播业务的特点进行设计的、
内容需要下载文档才能查看旨
【作者简介】 黄 俊(1961-),男,湖北黄梅人,高级工程师.主要研究方向为计算机网络应用.
第4期黄 俊,等:NS22的SSM
内容需要下载文档才能查看协议仿真扩展研究
329
在优化网络性能的组播路由协议.在SSM模式
下,由单源向SSM地址范围内的一个组播地址发送IP组播数据包.(S,G)表示一个SSM组,通常也称为一个SSM频道.主机通过某种方式(如目录服务或WEB页)得知活动的SSM频道后,即可通过IGMPV3[4](对IPV4网络)或MLD2[5](对IPV6网络)消息报告对该频道的兴趣,通过IGMPV3或MLD2图12由器可以知道主机对该频道的兴趣,,向源S(,器建立相应的S为根,,由S发出的组播流量将沿该树传送到接收方.
SSM是对PIM[6]协议的扩展,以便在一对多的通信中能更有效地传送数据.SSM中,组播通信的路由完全由信源树完成,不需要共享树,也不需要RP.SSM能够明确指定包含或者排除特定信源,提供了一定程度的安全性.SSM解决了一对多应用中的IP组播地址冲突的问题,处在SSM模式下的路由器根据完整的(S,G)地址来对数据流进行选路.只要信源有Internet上可以发送的惟一的IP地址,来自该信源的任何(S,G)就都是惟一的.
SSM具有简单、安全性好、频道地址无冲突等优点,被认为是目前推进组播实施、提供域间、移动组播的首选组播协议之一,在SSM模型下提供多源组播通信也成为目前的研究热点.
:nsmcast.tcl,该文件功能是建立由Simulator类派生出来的层类(hierarchicalclass),该类描述了用户运行组播仿真所需的特定命令;McastProto.tcl,该文件定义了组播的McastProcotol类,McastProcotol是所有组播类的根类;ST.tcl,描述了“简化稀疏模式(Simpli2fiedSparseMode)”组播协议的行为,ST类是McastProtocol的派生类;BST.tcl,该文件描述
了“双向共享树模式(Bi2directionalSharedTreeMode)”组播协议的行为,BST类是castProtocol的派生类;DM.tcl,描述了PIM2DM组播协议的行为,DM类是McastProtocol的派生类.
Ctr2mcast文件夹中共有三个文件,主要用于实现组播路由的集中模式的仿真功能,它们分别是:CtrMcast.tcl文件描述了PIM2SM组播协议的行为,CtrMcast类是McastProtocol的派生类;CtrMcastComp.tcl文件功能是描述路由行为的对象;CtrRPComp.tcl,该文件主要是用来建立CtrRPComp类,该类的功能是在PIM2SM模式下模拟RP元素.
目前NS22组播模块所支持的组播协议包括:PIM2SM,PIM2DM,SimplifiedSparseMode和Bi2directionalSharedTreeMode,但不支持SSM协议;到目前为止,在NS22仿真环境中对SSM业务行为的仿真是在不借助于网络组播环境,甚至未采用加入/剪裁消息的条件下,通过在源端和接收端间建立有向单播链路的方法实现的.
2 NS22组播仿真特性
网络仿真器NS22(NetworkSimulatorVer2sion2)[7]是由Berkeley大学研制开发的一种可扩展、易配置和编程的事件驱动网络仿真工具.NS22使用的仿真语言针对不同的仿真功能,提供了C++和OTcl两种编程语言模型,从而在不限制仿真性能的前提下表现了充分的灵活性.但在组播路由仿真模块实际开发过程中,NS22的组播模块的源代码基本都是采用Otcl语言编程模型,其源代码文件均存储在NS根目录下的的“tcl”子目录下,其结构如图1所示.
在“tcl”子目录下有两个与组播路由紧密相关的文件夹:“mcast”文件夹和“Ctr2mcast”文件夹.其中“mcast”文件夹用于存放组播核心文件
内容需要下载文档才能查看,
3 SSM仿真的实现
如上所述,NS22并不直接支持SSM协议的
仿真,为实现对SSM协议的支持,须建立一新类“SSMMcast”,该类在层次上与以上描述的其他类是相同的,且还需通过建立2个扩展名为“tcl”文件实现“SSMMCast”和“SSMMcastComp”两个
330
中 国 计 量 学 院 学 报第16
内容需要下载文档才能查看卷
新类的定义.为确定RP行为,在定义CtrMcast
时,还须建立了另外一个类“CtrRPMCast”.
“mrtproto”函数的主要功能是通过创建相应的组播对象来说明在仿真过程中所采用的组播协
议类型,其代码在“ns2mcast.tcl”文件中.下面的源程序代码说明了其实现方式.
>Simulatorinstprocmrtproto{mproto{nodelist″″}}{> $selfinstvarNode_MrtHandle_> setMrtHandle_″″
> if{$mproto==″>>> if{$mproto==″SSMMcast″}{
> setMrtHandle_[newSSMMcastComp$self]> }
> if{$mproto==″BST″}{> …
Ctself]
[newCtrRPComp$self
在完成类建立后,还需要修改NS22中的代
码使原仅适用于对PIM2SM行为仿真环境也能支持PIM2SSM行为的仿真.
在CtrMCast类中所采用的数据结构并不适用于SSM,因为在PIM2SM模式中,共享树和RP规程是使用(3,G)组对来表示一个组播会话.图2说明了在″CrtMCastComp.tcl″文件中对集中式组播数据结构的定义.该数据结构由Glist,
Slist和Mlist三个数组构成,分别表示组列表、源
图3 SSMCast数据结构
地址列表和组播列表.其中Mlist是一二维数组,负责维护有关接收组播信息的节点的相关信息.而在SSM中必须要将组播组和源之间信息组合为一唯一的二维数组,标识一个组播会话:(S,G)频道,几个组播组可以同时属于某一个源地址,但是必须将它们通过如(S,G1)和(S,G2)方式将频道区别开来
内容需要下载文档才能查看.
定的(S,G)频道上定时接收信息的所有节点相关信息.在SGlist数组中,强制使所有的源地址至少与一个组播组相关联.当声明有一个新的(S,G)频道时,用户就会将该信息添入到数组中.在仿真过程中,如果有某一有关该频道的join消息时,(S,G)频道信息将连同与join消息有关的节点(N)一起复制到Mlist数组中,且在Mlist数组中创建一关于(S,G,N)参数的入口,表示在数组中有一关于(S,G)频道的激活接点(N).在接收一prune消息时,仿真器将搜索Mlist数组,如果没有该相关的元素,将会通知用户目前节点N没有收到组播数据流(S,G)信息;反过来,如果有(S,G,N)入口,这条记录将被删除,但因为源端(S)将可能继续向组播组(G)发送组播流量信息,因此仅删除Mlist数组中的元素,SGlist数组中信息将仍然保留.可以看出在CtrMcast类(SM)的消息中仅有一个组播组元素″group″信息,而在SSMMcast(SSM)类中则有组播组元素″group″和源地址元素″src″两个信息.如下所示:
图2 CrtMcast数据结构
图3所示的是SSMCast的数据结构,该数据
结构中的Mlist是一三维数组,
内容需要下载文档才能查看负责维护从一特
第4期黄 俊,等:NS22的SSM协议仿真扩展研究>CtrMcastinstprocleave2group{group}{
...
>SSMMcastinstprocleave2group{groupsrc}{...
331
和
>CtrMcastinstprocjoin2group{group}{...
>.SSM..Mcastinstprocsrc4 这里将阐述SSM环境的仿真扩展仿真实验
测试情况,并对实验测试结果进行分析.第一个实验是测试协议仿真计算对join请求所需时间;第二个实验比较在SSM和SM环境下不同组播行为;最后的第三个实验是比较组播中三个主要组播协议PIM2DM、PIM2SM和PIM2SSM性能.
图4说明了在第一个实验中采用的网络拓扑,该网络拓扑在每次迭代过程中均发生变化,即在每一步均需在源端和接收端间增加一新的节点.设定网络链路带宽为5Mbps,每个分组平均延迟为10ms,CBR(ContinuousBitRate)为64Kbps,分组大小为32Kb.实验的目的是计算从源端发送一join消息到接收端分组传输所需的时间
内容需要下载文档才能查看.
从表1看出网络中间节点数的增加是与接收端对组播请求的应答平均时间成正比;由于在SSM环境下,源端到接收端间建立的网络链路是一直接链路,因此结果是正确的.
第二个仿真实验目的是比较在SSM和SM两个环境下的组播不同的行为;与第一个仿真实验比较,该实验中所建立网络其特性与第一个相同
内容需要下载文档才能查看,但在网络拓扑结构上有较大差异.我们关心的是研究在每一个环境下组播流量传输过程,我们通过NS22可视化应用软件NAM(NetworkAni2mater)[8]给出组播流量传输过程的可视化结果.
内容需要下载文档才能查看从图5和图6可以看出在两个不同的仿真过程中,组播流量传输过程也不同.在SM环境下,由于每个组播组有一个汇合点RP,组播源数据必须要先沿最短路径树向RP发送数据,再由RP沿共享树将数据发送到各个接收端,随后直接建立组播源到接收端的最短路径树.而在SSM环境下,每个组播组不需有一个汇合点RP,组播通信的路由完全由信源树完成.
图4 网络拓扑示意图表1 应答join消息所需时间列表
节点
012345
时间
0.0132680.0240360.0348040.0455720.056340.067108
节点
678910
时间
0.0778760.0886440.0994120.110180.120948
图5 SSM的组播数据流
内容需要下载文档才能查看 内容需要下载文档才能查看
332
中 国 计 量 学 院 学 报第16卷
低于其他的2个协议.这一现象也说明了在SSM
环境下,
内容需要下载文档才能查看由于存在3个源节点(s1,s2,s3),相应在每个接收节点rj上需创建3个join消息,与SM协议比较,这个过程在增大数据流量同时也使包的丢失率增加.
图
内容需要下载文档才能查看SM的组播数据流
第三个仿真实验是比较组播协议中三个主要
协议PIM2DM,PIM2SM和PIM2SSM的性能,实验内容是比较每个协议在某一链路出现数据流量过载时的丢包情况.在仿真过程中,其网络环境由3个源节点(si)、3个接收节点(rj)和6个中间节点(nk)组成,其中节点n3在SM环境下为RP节点,而在其他环境下则为一普通节点,如图7所示.网络链路带宽为5Mbps,每个分组平均延迟为10ms.设定CBR为64Kbps,分组大小为48字节.所
内容需要下载文档才能查看图8 DM,SM和SSM环境下丢包情况
5 结 论
在研究SSM协议的关键技术基础上,通过对
NS22仿真器的模型扩展,实现了基于NS22仿真平台环境的SSM协议的仿真;同时,通过在各个不同网络环境下的模拟实验,证明了SSM仿真扩展模块在不同网络模拟环境中对SSM协议研究、测试和验证的可行性和有效性.
【参 考 文 献】
[1] 江 魁,杨文玲.IP网络组播路由研究[J].中山大学学报
(自然科学版),2002(增刊):42-44.
[2] 魏蛟龙,肖艳华,张 弛.NS体系结构及其扩展[J].计算机
有节点采用先进先出队列策略.在仿真模拟过程
中,所有接收节点(rj)都需和所有源节点(si)进行通信.为使在模拟网络环境下发生包的丢失,设定网络比特率以恒定的变化率发生变化,变化范围从64Kbps到336Kbps,变化间隔为16Kbps.
仿真,2004(8):179-182.
[3] RFC3569,AnOverviewofSource2SpecificMulticast
(SSM)[S].
[4] InternetDrafts,2002,InternetGroupManagementProto2
col[S].
[5] RFC2710,MulticastListenerDiscovery(MLD)forIPV6[S].[6] RFC2362,ProtocolIndependentMulticast2SparseMode
(PIM2SM):ProtocolSpecification[S].
图7 SM环境下网络拓扑[7] InformationSciencesInstitute.TheNetworkSimulator2
NS2[EB/OL].http://www.isi.edu/nsnam/ns/,2004-06-07.
[8] InformationSciencesInstitute.Nam:NetworkAnimator[EB/
OL].http://www.isi.
内容需要下载文档才能查看edu/nsnam/nam/,2003-06-11.
从图8所示的结果中可以发现,在三个协议中,PIM2SM协议的性能较优,其包的丢失率一直
下载文档
热门试卷
- 2016年四川省内江市中考化学试卷
- 广西钦州市高新区2017届高三11月月考政治试卷
- 浙江省湖州市2016-2017学年高一上学期期中考试政治试卷
- 浙江省湖州市2016-2017学年高二上学期期中考试政治试卷
- 辽宁省铁岭市协作体2017届高三上学期第三次联考政治试卷
- 广西钦州市钦州港区2016-2017学年高二11月月考政治试卷
- 广西钦州市钦州港区2017届高三11月月考政治试卷
- 广西钦州市钦州港区2016-2017学年高一11月月考政治试卷
- 广西钦州市高新区2016-2017学年高二11月月考政治试卷
- 广西钦州市高新区2016-2017学年高一11月月考政治试卷
- 山东省滨州市三校2017届第一学期阶段测试初三英语试题
- 四川省成都七中2017届高三一诊模拟考试文科综合试卷
- 2017届普通高等学校招生全国统一考试模拟试题(附答案)
- 重庆市永川中学高2017级上期12月月考语文试题
- 江西宜春三中2017届高三第一学期第二次月考文科综合试题
- 内蒙古赤峰二中2017届高三上学期第三次月考英语试题
- 2017年六年级(上)数学期末考试卷
- 2017人教版小学英语三年级上期末笔试题
- 江苏省常州西藏民族中学2016-2017学年九年级思想品德第一学期第二次阶段测试试卷
- 重庆市九龙坡区七校2016-2017学年上期八年级素质测查(二)语文学科试题卷
- 江苏省无锡市钱桥中学2016年12月八年级语文阶段性测试卷
- 江苏省无锡市钱桥中学2016-2017学年七年级英语12月阶段检测试卷
- 山东省邹城市第八中学2016-2017学年八年级12月物理第4章试题(无答案)
- 【人教版】河北省2015-2016学年度九年级上期末语文试题卷(附答案)
- 四川省简阳市阳安中学2016年12月高二月考英语试卷
- 四川省成都龙泉中学高三上学期2016年12月月考试题文科综合能力测试
- 安徽省滁州中学2016—2017学年度第一学期12月月考高三英语试卷
- 山东省武城县第二中学2016.12高一年级上学期第二次月考历史试题(必修一第四、五单元)
- 福建省四地六校联考2016-2017学年上学期第三次月考高三化学试卷
- 甘肃省武威第二十三中学2016—2017学年度八年级第一学期12月月考生物试卷
网友关注
- 司空摘星和陆小凤有什么关系?
- 人教版八年级语文上册《陋室铭》教学反思
- 人教版小学二年级语文下册《小鹿的玫瑰花》教学反思
- 人教版小学三年级语文下册《亡羊补牢》教学反思
- 民间神话故事之神箭手后羿
- 人教版语文小学二年级上册《植物妈妈有办法》教学反思
- 历史神话故事大全:主管人间婚嫁的月下老人
- 人教版小学四年级语文下册《夜莺的歌声》教学反思
- 神话故事之伏羲出世
- 鄂教版小学六年级语文上册《松坊溪的冬天》教学反思
- 神话故事之颛顼继帝位
- 中秋节的由来与传说
- 历史神话故事:活佛济公
- 苏教版小学一年级语文下册《草原的早晨》教学反思
- 人教版小学三年级语文上册《夜书所见》教学反思
- 如何通过自我介绍让HR更好认识你?
- 人教版小学三年级语文下册《惊弓之鸟》教学反思
- 神话故事之鲤鱼跳龙门
- 神话故事之老子降青牛
- 面试时如何进行自我介绍
- 金庸封笔的原因
- 古龙武侠小说《萧十一郎》主角简介
- 北师大版小学三年级语文上册《葡萄沟》教学反思
- 神话故事之洛水女神宓妃
- 人教版小学三年级语文上册《槐乡的孩子》教学反思
- 西师版小学三年级语文上册《一只梅花鹿》教学反思
- 神话故事之刑天舞干戚
- 人教版语文四年级上册《鸟的天堂》教学反思
- 神话故事之老子出世
- 《萧十一郎》里司空摘星精通易容绝技
网友关注视频
- 3月2日小学二年级数学下册(数一数)
- 化学九年级下册全册同步 人教版 第22集 酸和碱的中和反应(一)
- 第五单元 民族艺术的瑰宝_16. 形形色色的民族乐器_第一课时(岭南版六年级上册)_T3751175
- 化学九年级下册全册同步 人教版 第25集 生活中常见的盐(二)
- 冀教版小学数学二年级下册第二单元《有余数除法的简单应用》
- 冀教版小学数学二年级下册第二周第2课时《我们的测量》宝丰街小学庞志荣.mp4
- 冀教版小学数学二年级下册第二单元《有余数除法的整理与复习》
- 8.练习八_第一课时(特等奖)(苏教版三年级上册)_T142692
- 苏科版数学八年级下册9.2《中心对称和中心对称图形》
- 沪教版牛津小学英语(深圳用) 五年级下册 Unit 12
- 沪教版八年级下册数学练习册21.4(1)无理方程P18
- 沪教版牛津小学英语(深圳用)五年级下册 Unit 1
- 【部编】人教版语文七年级下册《逢入京使》优质课教学视频+PPT课件+教案,辽宁省
- 30.3 由不共线三点的坐标确定二次函数_第一课时(市一等奖)(冀教版九年级下册)_T144342
- 【部编】人教版语文七年级下册《过松源晨炊漆公店(其五)》优质课教学视频+PPT课件+教案,辽宁省
- 冀教版小学数学二年级下册1
- 青岛版教材五年级下册第四单元(走进军营——方向与位置)用数对确定位置(一等奖)
- 3.2 数学二年级下册第二单元 表内除法(一)整理和复习 李菲菲
- 北师大版小学数学四年级下册第15课小数乘小数一
- 外研版英语三起6年级下册(14版)Module3 Unit2
- 【部编】人教版语文七年级下册《泊秦淮》优质课教学视频+PPT课件+教案,广东省
- 外研版八年级英语下学期 Module3
- 苏科版数学 八年级下册 第八章第二节 可能性的大小
- 小学英语单词
- 冀教版小学数学二年级下册第二周第2课时《我们的测量》宝丰街小学庞志荣
- 《空中课堂》二年级下册 数学第一单元第1课时
- 第4章 幂函数、指数函数和对数函数(下)_六 指数方程和对数方程_4.7 简单的指数方程_第一课时(沪教版高一下册)_T1566237
- 19 爱护鸟类_第一课时(二等奖)(桂美版二年级下册)_T3763925
- 冀教版小学数学二年级下册第二单元《有余数除法的竖式计算》
- 化学九年级下册全册同步 人教版 第18集 常见的酸和碱(二)
精品推荐
- 2016-2017学年高一语文人教版必修一+模块学业水平检测试题(含答案)
- 广西钦州市高新区2017届高三11月月考政治试卷
- 浙江省湖州市2016-2017学年高一上学期期中考试政治试卷
- 浙江省湖州市2016-2017学年高二上学期期中考试政治试卷
- 辽宁省铁岭市协作体2017届高三上学期第三次联考政治试卷
- 广西钦州市钦州港区2016-2017学年高二11月月考政治试卷
- 广西钦州市钦州港区2017届高三11月月考政治试卷
- 广西钦州市钦州港区2016-2017学年高一11月月考政治试卷
- 广西钦州市高新区2016-2017学年高二11月月考政治试卷
- 广西钦州市高新区2016-2017学年高一11月月考政治试卷
分类导航
- 互联网
- 电脑基础知识
- 计算机软件及应用
- 计算机硬件及网络
- 计算机应用/办公自动化
- .NET
- 数据结构与算法
- Java
- SEO
- C/C++资料
- linux/Unix相关
- 手机开发
- UML理论/建模
- 并行计算/云计算
- 嵌入式开发
- windows相关
- 软件工程
- 管理信息系统
- 开发文档
- 图形图像
- 网络与通信
- 网络信息安全
- 电子支付
- Labview
- matlab
- 网络资源
- Python
- Delphi/Perl
- 评测
- Flash/Flex
- CSS/Script
- 计算机原理
- PHP资料
- 数据挖掘与模式识别
- Web服务
- 数据库
- Visual Basic
- 电子商务
- 服务器
- 搜索引擎优化
- 存储
- 架构
- 行业软件
- 人工智能
- 计算机辅助设计
- 多媒体
- 软件测试
- 计算机硬件与维护
- 网站策划/UE
- 网页设计/UI
- 网吧管理