13.5 熟悉INET框架
INET框架建立在Omnet++基础上,并且使用相同的概念,即模块通过消息传递通信。 主机、路由器、交换机和其他网络设备有OMNeT++复合模块表示。这些复合模块由表示协议、应用和其他功能单元的简单模块组成。网络又是一次包含主机、路由器和其他模块的OMNeT++复合模块。
模块大致更具OSI分层组织成以下的目录结构:
在 src/inet/ 路径下
- applications/:实现了各种网络应用层协议,例如HTTP、FTP、VoIP、视频流等。
- clock/:
- common/:提供了INET框架使用的通用工具和基础类。包括模型组件、数据类型、辅助函数等。
- environment/:用于模拟网络节点所在环境的模块,可能包括声音、光照等环境因素的模拟。
- linklayer/:实现了链路层相关的协议和模型,例如以太网、MAC层协议、无线网络等。
- mobility/:处理节点移动性的模块。
- networklayer/:包含了网络层相关的协议实现,如IPv4、IPv6、ICMP、ARP等。
- networks/:
- node/:预安装的网络节点模型
- physicallayer/:物理层的实现,包括无线信号模型、调制解调技术等。
- power/:能量消耗模拟
- protocolelement/:专门存放一些特定的协议实现,可能包括新的或实验性的网络协议。
- queueing/:提供了队列管理相关的模型和协议。
- routing/:路由协议
- transportlayer/:包括传输层协议的实现,如TCP、UDP。
- security/:实现网络安全相关的功能,如加密、认证等。
- visualizer/:提供了网络可视化的相关工具,帮助在仿真中直观展示网络状态和事件。
OMNeT++ NED语言使用分级的包名称,包对应于src下的目录,比如 /src/inet/transportlayer/tcp 对应于 inet.transportlayer.tcp 包。