网站大量收购闲置独家精品文档,联系QQ:2885784924

NS的網络功能实体结构及类结构.pptVIP

  1. 1、本文档共39页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
NS的網络功能实体结构及类结构

NS 的 网络功能实体结构及类结构 任三阳 把N门时髦的技术挂在嘴边不如将一门过时的技术记在心里。 ——BBS outline 1预修知识 2一个最简单的ns仿真的启动过程 3Ns的网络实体结构和类结构 1预修知识 C++、Tcl、OTcl的语法 /~xbzhou/blog/archives/tcl_cn/l-tcl/index.html /~xbzhou/blog/archives/otcl-doc/index.html 《ns与网络模拟》 面向对象的思想:虚拟函数,动态创建机制 Ns的安装和简单仿真操作(论坛上有) Ns的开发工具:gdb和tcldebug(非常简单) Ns的分裂对象模型和tclcl(非常重要而且很难,主要原理是动态创建机制) 一个仿真例子的操作过程 写场景tcl脚本,temp.tcl 运行ns temp.tcl 察看仿真过程,是否有错或者是否与预想中的大致相似nam tmp.nam 分析仿真数据tmp.tr,可以用各种工具 例子的仿真结果 2一个最简单的ns脚本的启动过程 启动过程0 当命令行运行ns,会创建3个对象_o1, _o2, _o3 _o1和_o2是RNG,_o3是Import (tclcl/tcl-import.tcl) 启动过程1 set ns [new Simulator] 启动过程1 Simulator instproc init args {…} 启动过程2☆ set n0 [$ns node] set n1 [$ns node] 启动过程3☆ $ns duplex-link $n0 $n1 1Mb 10ms DropTail 启动过程4 set tcp [new Agent/TCP] set snk [new Agent/TCPSink] 在tcl/lib/ns-agent.tcl中 启动过程5 set ftp [new Application/FTP] 没有相关代码,说明都使用默认情况:简单new一个对象而已 启动过程6 ☆ $ns attach-agent $n0 $tcp $ns attach-agent $n1 $snk 这一步非常重要,也非常复杂。因为这一步完成了 路由模块的加载 Agent和node的连接 启动过程7 $ftp attach-agent $tcp 很简单,不创建对象,直接进入c++代码 把ftp和tcp连接起来 把c++的tcp对象的app_变量赋为ftp的c++对象 把c++的ftp对象的agent_变量赋为tcp的c++对象 启动过程8 $ns connect $tcp $snk 不创建对象 启动过程9 $ns at 0.1 $ftp start“ $ns at 5.0 “exit 0“ $ns run Node RtModule/Base Classifier/Hash/Dest mod_assoc_(classifier_) classifier_ entry_ 红色是Node的变量 表示对象之间的联系纽带 数据包的传输 Classifier/Port myaddr, dmux_ dmux_ Agent port1, agent1 Simulator instproc connect {src dst} { $self simplex-connect $src $dst $self simplex-connect $dst $src return $src } % $ns connect $tcp $snk _o29 % _o29 info class Agent/TCP Simulator instproc simplex-connect { src dst } { $src set dst_addr_ [$dst set agent_addr_] $src set dst_port_ [$dst set agent_port_] return $src } Simulator instproc at args { $self instvar scheduler_ return [eval $scheduler_ at $args] } % $ns at 0.1 $ftp start 1 % % $ns at 10.0 exit 0 2 % 进入scheduler.cc * A poor framework is much better than nothing. ——kkzhou 要学透,注意区分类和对象,发现好多问题都是因为OTcl理解不透造成的。 set ns [new Simulator] set tracefd [ open tmp.tr w] set na

文档评论(0)

1234554321 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档