三层
网络层–网络
规化部署网络拓扑结构
提供网络编辑器:部署网络结构,无线建模时节点移动轨迹设置,节点属性设置等
节点层–设备
搭建节点协议栈(按照OSI,从物理层到应用层),实现网络设备的功能
提供节点编辑器:搭建协议栈
进程层–协议
每一层的算法和协议,可以通过编辑进程状态转移图和进程代码来实现
提供进程编辑器:绘制状态转移图,对不同状态转移图下调用的函数编写c语言代码
网络编辑器
首先创建空工程,创建基线场景,在场景下构建网络拓扑,部署流量。如果要比较改变了某个参数后仿真结果的差异,可以复制当前场景,在新场景上做局部改变后重新运行仿真,对比不同场景下的结果。
菜单介绍:
- file:新建、保存等;管理模型文件夹中可以添加模型库;想使用低版本打开高版本文件,可以通过将二进制模型转化为XML模型,再转化为二进制模型即可。
- edit:对于对象的编辑;preference对opnet仿真默认参数配置,仿真界面配置,仿真核心选择。
- view:查看背景地图效果,时间控制器,协议部署情况等。
- scenarios:场景的新建、复制、管理,场景比较;
- topology(常用)有线无线网络快速配置、拓扑导入,地形导入,自定义设备生成。
- traffic:流量导入导出,流量创建。
- protocols:协议配置;IP地址自动分配;IP路由构建等。
- flow analysis:网络规划,网络生存性、健忘性分析等。
- DES:离散事件仿真引擎,统计结果选择,仿真运行查看和结果发布。
- windows:操作界面编辑等可视化操作。
建模流程
- 新建project
- 部署拓扑:
手动部署拓扑:
快速拓扑:
- 导入地图文件,可携带地理信息
GeoTIFF格式的图片携带经纬度。
设置地图坐标单位,城市名称是否显示等:
设置节点图标大小:
添加注释:
子网嵌套:
部署子网后双击子网即可进入子网进行部署。
返回上一级:
可以将上一级的路由器和子网中的指定节点相连。
网络中如何构建自定义模型
- 设备模型
模型库分为两大类:通用模型库和基于厂商的模型库
- 可通过命名规则来选择通用模型:
<设备支持的协议>…<设备支持的协议>_<功能>_<节点开放程度>
如ethernet128_hub_adv表示支持以太网接口,接口数量为128,功能为集线器,所有属性对用户开放(adv)
结尾是int的:个别属性对用户隐藏,无法操作 - 厂商模型命名:
<厂商名称>_<型号>_<端口数量>_<configuration>
如CS_4000_3S_e6_f_fr2_sl2:思科,型号4000,3个ip接口,6个以太网接口,2个帧中继接口
- 链路模型
包括点到点,总线,无线。
构建自定义模型列表:
节点模型选择:
链路模型选择:
自定义设备属性方式:
- 在原有模型基础上通过修改属性进行派生
找到需要修改的设备模型:
- 通过模型创建器构建模型
节点属性配值
可部署的节点类型:
移动节点多了一个移动属性菜单,可以定义移动轨迹等。
部署属性:
属性提升功能:把底层中定义的属性名称提升到高层,可以在高层中编辑
如想要编辑路由器某接口的速率,但属性列表中没有此属性,就进入路由器的下一级,然后找到某接口,可编辑发送速率。这样太麻烦了,所以可以进行属性提升,这样就可以直接在路由器属性列表中查看编辑了。
批量修改路由器属性:
节点建模
节点编辑器
编辑节点内部协议栈结构,包括搭建节点物理层、不同协议栈之间信号传输方向等。
新建节点编辑器窗口:
添加处理器模块:
添加队列模块:
二者区别在于:队列模块中可以通过创建队列实现数据包的缓存,而处理器模块中不能创建队列。
传递数据包:包流线
传递不同模块之间的统计结果:统计线
如在MAC层想监测物理层信道的忙闲情况,可以把物理层接收机的统计结果传递给MAC层对应的进程文件中。
表示收发机模块之间的逻辑关系:逻辑线
表示发送机和接收机对应的是同一个接口,起到注释作用
发送机:
接收机:
天线模块(可编辑各个方向上的增益):
申明节点类型,设置节点图标、添加节点描述、添加搜索关键词:
可以提升节点统计量(相当于添加探针):