本文是对 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