现在的位置: 首页 > 综合 > 正文

Where to Find What?

2013年01月01日 ⁄ 综合 ⁄ 共 1261字 ⁄ 字号 评论关闭

原链接:http://kooyee.javaeye.com/blog/317706

 

了解什么信息保存在什么文件夹或文件中。Figure 17 说明了部分的模拟程序的文件夹结构(ns-allinone-2.1b package)。



 
Figure 17.
NS Directory Structure

 

ns-2
存放了所有的模拟程序的实现代码(不论C++ 还是OTcl 代码), 测试验证(validation test)的OTcl脚本和 example OTcl scripts。 tcl
文件夹下

放全部的OTcl代码和test/example脚本,还有大部分C++代码去实现event
scheduler和基本网络组件对象类(除了与WWW有关的,那些在ns文件结构的主层main level)。 例如,
如果要看UDP代理是如何实现的, 应该去"ns-allinone-2.1b/ns-2"文件夹, 并打开"udp.h"、
"udp.cc"和包含UDP父类ancestor classes的实现的文件如果需要的话。网络组件的类的等级结构参照Figure 6
在"Network Components"节中。

 

tcl
文件夹中的子文件夹中, lib
包含了大多数基本和必要的NS实现的部件的OTcl源代码(agent, node, link, packet, address, routing, 等等.) , 而用于LAN, Web, and Multicast实现的OTcl源代码位于单独的tcl
的子文件夹中。下面是"ns-2/tcl/lib"文件夹下部分文件的明细:

  • ns-lib.tcl
    : 模拟程序类和大多数成员函数除了用于LAN, Web, and Multicast的。 包含了模拟程序的成员函数和它们是如何工作的,如何实现的。  
  • ns-default.tcl
    : configurable
    parameters的默认值对应不同的网络组件。因为大多数网络组件是用C++实现的, 所以configurable
    parameters实际上是C++ variables通过OTcl linkage function使它们在OTcl中可用, bind
    (C++_variable_name
    , OTcl_variable_name
    )。 详情见下一小节。 
  • ns-packet.tcl
    :
    数据包报头格式初始化的实现。 当建立一个新的包的报头, 都应该注册报头在这个文件中,
    从而让数据包报头初始化的处理过程去把你新建的报头加入到报头的堆栈里,并告诉你在报头堆栈中你的报头的offset。 详见"Add New
    Application and Agent"小节
  • other OTcl files
    : 文件夹中其他OTcl文件包含了复合网络对象的OTcl实现或者网络对象的前端(control part)的 C++实现。 FTP应用程序是完全用OTcl来实现的,源代码见"ns-source.tcl"。
     

tcl
的另外2个子文件夹ex
test
展示了如何设计一个特殊的模拟程序。前者包含了各种各样的模拟脚本的例子,后者包含通过运行各种模拟和比较其结果来验证NS安装的脚本。

抱歉!评论已关闭.