`

NS by Example 笔记(9)Where to Find What?

阅读更多

Where to Find What?

了解什么信息保存在什么文件夹或文件中。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个子文件夹extest展示了如何设计一个特殊的模拟程序。前者包含了各种各样的模拟脚本的例子,后者包含通过运行各种模拟和比较其结果来验证NS安装的脚本。

  • 大小: 3.6 KB
分享到:
评论

相关推荐

    NS by Example 笔记(12)Add New Queue

    在本篇“NS by Example 笔记(12)Add New Queue”中,我们将探讨如何在计算机网络模拟软件NS-2(Network Simulator 2)中添加新的队列管理器。NS-2是一款广泛用于研究和教学的开源网络模拟工具,它允许用户模拟各种...

    NS by Example 笔记(11)Add New Application and Agent

    标题 "NS by Example 笔记(11)Add New Application and Agent" 提及的是网络模拟器 NS-2(Network Simulator 2)中的一个教程或笔记,重点在于如何添加新的应用程序和代理。在这个过程中,我们将深入理解NS-2的...

    NS by Example

    《NS by Example》是一本专为初学者设计的IT技术图书,主要聚焦于"NS"相关的编程概念和技术。"NS"通常指的是Objective-C中的“Foundation框架”中的“NS”(Namespace)前缀,它代表“Next Step”,是Apple macOS和...

    ns_by_example.rar_ns_ns by example

    《NS by Example》是针对网络仿真工具NS(Network Simulator)的一份详细教程,旨在帮助初学者快速掌握NS的使用方法和技巧。NS是一款强大的开源软件,广泛用于研究计算机网络、移动通信网络以及无线网络的性能分析和...

    ns_by_example.rar_ns2_ns2 by example_ns2 tcl_ns_by_example_tcl

    《NS2 by Example》是NS2(网络模拟器2)学习者的重要参考资料,尤其适合初学者。这本书通过实例教学的方式,让读者深入理解和掌握NS2的使用,即使对于英语不太熟练的学习者,也能通过实例的详细讲解和分析,逐步...

    ns2 by example 经典的ns2学习资料

    ns2 by example 经典的ns2学习资料

    ns by Example

    《ns by Example》是一个以实例为主的教程,旨在帮助读者深入理解和掌握ns的相关知识。"ns"通常指的是网络模拟器(Network Simulator),它是一个强大的工具,用于模拟和分析网络行为。在这个教程中,我们将通过一系列...

    Ns_by_example.rar_ns2 by example

    《Ns2 by Example》是一本非常适合初学者的网络模拟软件Ns2的学习指南。Ns2(Network Simulator 2)是一款广泛使用的开源网络模拟器,它允许研究人员和学生在虚拟环境中模拟和分析各种网络协议和拓扑结构。这本书...

    NS by example

    ### NS2基础知识与实践指南 ...通过上述介绍,我们不仅了解了NS2的基本结构和使用方法,还学会了如何利用《NS by Example》这一宝贵资源来提升自己的NS2技能。希望每位读者都能从中受益,快速成为NS2的专家级用户。

    ns by example

    how to setup simulation networks, where to look for further information about network components in simulator codes, how to create new network components, etc., mainly by giving simple examples ...

    ns_by_example.rar_There There_ns2_ns_by_example

    "There There_ns2_ns_by_example"这个压缩包,正如其名,提供了通过实例学习NS2的方法,旨在帮助新手快速上手。 NS2的核心在于它的事件驱动模型,这种模型使得模拟网络中的各种事件(如数据包发送、接收、路由等)...

    ns-by-example

    总体而言,“ns-by-example”项目不仅是一份详尽的NS使用指南,更是一个宝贵的学习资源库,它通过实例教学的方式降低了NS的入门难度,使更多研究人员和学生能够迅速掌握这款强大的网络模拟工具,开展深入的网络科学...

    NS2学习笔记

    总的来说,这份学习笔记为初学者提供了NS2网络编程的基础知识,包括SDRAD协议在NS2中的实现方法、NS2的基本概念、脚本编写、错误诊断和Linux命令使用等多个方面。这些内容对希望掌握NS2并进行网络技术模拟的读者来说...

    ns2学习笔记(学习ns2的经验总结)

    ### NS2学习笔记知识点概述 #### 1. 在FreeBSD下NS的安装 - **FreeBSD的安装**:这是在Windows环境下通过虚拟机技术搭建FreeBSD操作系统的基础步骤。选择FreeBSD作为NS2运行环境是因为其良好的稳定性和对NS2的支持...

Global site tag (gtag.js) - Google Analytics