本文是对
http://inet.omnetpp.org/doc/INET/neddoc/largenet.html
的翻译。
LargeNet
模型演示了如何将大型局域网模型组合在一起,使得
MAC
可以进行自动配置。
LargeNet
模型演示了一个大型的
Ethernet
校园骨干网。在默认的
omnetpp.ini
中,包含了
8000
个主机和
900
个交换机。当运行的时候,在我的
32
位
Linux
主机上将占用
165M
内存。这个模型包含了各种类型的
Ethernet
技术:
Gigabit
以太网、
100M
全双工、
100M
半双工、
10M UTP
、
10M bus
(
thin Ethernet
)、交换机、中继器等。
拓扑结构定义在
LargeNet
.ned文件中:有
n=15
个链式连接的骨干交换机(switchBB[])以及四个大的交换机(switchA,
switchB, switchC, switchD)连接到了其中的四个骨干交换机(switchBB[4])。这些
15+4
个交换机组成了主干网络。
n=15
这个数字在omnetpp.ini文件中是可配置的。
有几个小一些的局域网络接在每个主干网交换机上。有三种类型的局域网:小型、中型和大型(分别用
SmallLAN
,
MediumLAN
,
LargeLAN
来代表)。一个小型的局域网包含在
100M
半双工
hub
上的少量主机;一个中型的局域网则包含了一个交换机,交换机上有
hub
,主机则可以在交换机和
hub
上;一个大型的局域网络则包含了一些交换机和
hub
,并关联在一个以太网总线上(同样除了
UTP
以外也有使用
BNC
连接器的
hub
)。默认情况下每个主干交换机上有大概
5-10
个局域网。
在这个仿真网络上产生负载的应用模型简单但很强大。可以用于所有的基于请求响应的协议如
SMB/CIFS
(
Windows
文件共享协议)、
HTTP
或者是数据库客户端
-
服务器端协议。
每个主机上运行了一个客户端应用(EtherAppCli
),并连接到一个服务器端上。有一个程序分别连接到交换机
A, B, C and D上:serverA, serverB, serverC and
serverD——服务器的选择是在omnetpp.ini文件中配置的。服务器运行了EtherAppSrv
.
客户端定期的发送请求到服务器端,此请求报文中包含了客户端希望服务器端返回的字节数(这意味着一个或者更多的以太网帧,根据字节数而不同)现在请求和回复的报文可以在omnetpp.ini文件中配置(intuniform(50,1400)
和 truncnormal(5000,5000))。
业务流强度可以根据发送的时间间隔来控制,现在可以在
omnetpp.ini 设置为exponential(0.50)
(也就说每秒钟两个请求)。这将会使得有些主干交换机上丢弃报文帧,所以现在的设置下网络是有些过载的。
这个模型将产生大量的统计信息。所有的
MAC
(包括大部分其他模块)在仿真结束后将统计信息写入到omnetpp.sca文件中:发送、收到和丢弃的帧的数量。尽管只有基本的统计,也会使得最终的
scalar
文件达到几十
M
。你可以通过
OMNeT++
提供的分析工具来对数据进行可视化操作。(如果文件过大,可以通过在
ini
文件中设置**.record-scalar=false来禁用统计)。此模型还可以记录输出矢量信息,但是现在在omnetpp.ini文件中已经禁止,因为很容易会产生上
G
的统计文件。
@
亦歌亦行
http://searun.iteye.com
分享到:
相关推荐
在提供的压缩包中,"无线传感器网络仿真+基于Omnet++_omnet++mac_omnet_omnet++_deathioo_.doc"文件很可能包含了关于如何配置和运行WSN MAC层协议仿真的详细步骤、模型描述和结果分析。阅读这份文档将有助于深入理解...
Omnet++ 提供了图形化的模型编辑器(NedEditor)、项目管理器以及可视化结果分析工具(Tkenv)。 二、安装与配置 1. 下载与安装:访问Omnet++官方网站,选择适合的操作系统版本进行下载。安装过程中需遵循向导指示...
- 在OMNeT++ IDE中创建一个新工程,例如命名为“demo”。 - 可以根据需要添加对其他工程的依赖关系,例如“routing”。 **2. 配置工程依赖** - 以“routing”为例,首先打开该工程并构建项目。 - 接下来,在...
在"AODV.zip_AODV Omnet++_AODV omnet_omnet_omnet aodv_omnet++"这个压缩包中,核心内容应该是AODV路由协议的Omnet++实现。文件名"**AODV**"可能包含以下组件: 1. **AODV模块实现**:这通常包含C++源代码文件,...
然而,在无线通信领域,特别是对于无线移动网络而言,OMNET++原生提供的模型和支持可能不足以满足高度详细和复杂的仿真需求。 **MiXiM**(Mixed Mobility and Interference Model)作为一款专门针对无线移动网络...
在这个“OMNET++仿真实验”中,我们重点探讨的是如何利用OMNET++来构建一个简单的无线传感器网络(Wireless Sensor Network, WSN)仿真,并应用最短路径算法。 首先,无线传感器网络是由大量微型传感器节点组成,...
TicToc示例教程是OMNeT++文档中的一个经典入门案例,它通过建立一个简单的消息传递示例,帮助用户熟悉OMNeT++的基本操作和概念。从一个包含两个节点的基础模型开始,逐渐增加节点数量、引入统计数据收集和可视化结果...
3. **NED语言**:NED(Network Description Language)是Omnet++特有的配置语言,用于描述网络拓扑和模块间的连接。学习NED语言是使用Omnet++的关键,手册会详细介绍其语法和用法。 4. **C++模拟代码编写**:每个...
- OMNeT++模拟器由分层次的嵌入式模型构成,这些模型可以无限嵌套,允许用户精确地表示实际系统的逻辑结构。 - 模块间通过信息传递进行通信,这些信息可以包含复杂的数据结构,并且可以通过门或者线路直接发送到...
3. NED语言:Omnet++中的Network Description Language(NED)用于描述网络拓扑和组件结构,教程会详细介绍其语法和用法。 4. C++模拟模型:学习如何使用C++编写模拟组件,理解事件处理机制和时间调度。 5. 模型的...
作者通过结合多帧通信策略,优化LEACH算法,并在omnet++仿真环境中验证了这些改进措施的有效性。 #### omnet++平台介绍 omnet++是一个高性能、开源的离散事件仿真框架,特别适用于通信网络的研究与教学。它提供了...
NED语言是OMNET++的核心,用于描述网络模型的组件和连接。在NED语言的讲解中,涵盖了NED的总概述、NED描述的组件、函数、简单模块的定义以及模块参数、门和连接的访问方式。简单模块中的主要成员函数也有所介绍。...
Omnet++是一个C++编写的事件驱动的仿真框架,它的设计目标是提供一个灵活、可扩展的平台,用于构建复杂的离散事件模拟模型。Omnet++支持多种领域的模拟,包括通信网络、分布式系统、交通系统、嵌入式系统等。 二、...
- **第3、4、6章**:编程指南,介绍NED语言、模拟概念及其在OMNet++中的实现,指导如何编写简单的模块并描述类库。 - **第9、11章**:深入探讨如何定制网络图、编写NED源代码注释等高级主题。 - **第7、8、10章**:...
第三至第五章预计会涵盖OMNeT++的编程基础,包括网络模型的构建、事件驱动机制的理解、模块间通信接口的使用等,这些都是实现高效仿真的核心技能。 第六章可能涉及仿真结果的分析和解释,讲解如何利用OMNeT++的内置...
模块参数、门和连接是OMnet++中用于描述组件交互的重要概念。参数定义了组件的行为特征,而门则用于指定数据流的方向和连接点。通过这些机制,OMnet++实现了高度定制化的网络仿真。 **2.4 仿真过程与结果分析** ...
在OMNET++中,`bin`可能包含omnetpp运行时环境,如`omnetpp`命令行启动器,以及用于构建和运行模拟的其他工具。 `images`目录可能包含图标、图表或其他图形资源,这些资源可能用于用户界面或者文档中,帮助用户更好...
- **NED 语言**:用于描述模块结构和拓扑的语言,是 OMNeT++ 中的重要组成部分之一。 - **参数配置**:模块支持灵活的参数配置,使得用户能够轻松调整模块行为和网络拓扑。 综上所述,OMNeT++ 以其强大的功能、灵活...