1、 OPNET网络实验指导书 洛阳理工学院 计算机与信息工程系 实 验 目 录 实验一 建立一个简单的网络模拟 1 实验二 基本进程 14 实验三 导入和使用SCE服务器数据用Windows Perfmon表示的特点 27 实验四 主机工作量特点 36 实验五 预测主机性能 47 实验六 部署应用 54 实验七TCP窗口大小在文件传送过程中的影响 67 实验八 用高级逻辑脚本模拟一个应用 67 实验一 建立一个简单的
2、网络模拟 实验目的: 了解OPNET Modeler的特点,熟悉OPNET工作环境,理解OPNET场景的概念,了解进程编辑器、节点编辑器以及工程编辑器的使用方法,认识统计量的收集与分析过程。 实验内容: 1.快速建立一个公司场景下的星型网络; 2.收集网络延迟、负载统计量; 3.在原有网络基础上增加另一星型网络; 4.对原有网络与扩建网络分别进行模拟仿真,比较并分析两者的性能。 实验步骤: 一. 建立新的网络工程 1.启动OPNET Modeler,出现界面(图1.1) 图1.1 OPNET启动 2. 点击菜单栏FILE——>NEW… 3.在下拉菜单中选择Proj
3、ect,并点击OK 图1.2 新建工程 4.给定项目名称Project Name和场景名称,在本次实验中,我们将Project Name取名为My_Sm_Int,将Senario name 取名为first_floor。 图1.3 工程和场景命名 5.单击图1.3的OK按钮,进入开始向导,依次设置各个网络属性值如表1.1所示,最后在“Review”对话框中检查每项设置是否正确,之后点击“Finish”完成,出现“Object Palette”对话框,如图1.4所示。 表1.1 网络属性值设置 属性名称 属性值 Initial Topology Create empt
4、y scenario Choose Network Scale Office 并选择Use metric unit Specify size 100m*100m Select Technologies 包括Sm_Int_Model_List Review 检查属性值单击完成 图1.4 对象模板 注意:一个指定大小的工作空间被创建,你指定的对象面板在一个独立的窗体中被打开。 二. 建立网络 用来自对象面板的节点和链路在项目编辑器中创建网络模型。 用快捷配置拓扑: 1. 选择Topology>Rapid Configuration…,从下拉菜单里面选择Star,然后
5、点击“OK”。如图1.5所示。 图1.5 快速部署 2. 将“Center node model”设置为“3C_SSII_1100_3300_4s_ae52_e48_ge3”,“Periphery node model”设为“Sm_Int_wkstn”,“Number”为30,“Link model”设为“10BaseT”,将该星型网络放置在X为25m,Y为25m的地方,且设置该星型网络的半径设为20m。如图1.6所示。 图1.6 快速部署选项 3.点击“OK”后,出现相应的星型网络,如图1.7所示。 图1.6 快速部署结果 添加拓扑之后还要添加服务器:
6、1.若对象面板没打开,通过单击按钮或菜单栏上的“Topology->Open Object Palette”打开Object Palette Tree。 2.在对象面板中找到Sm_Int_server对象,并拖拽到工作场景中。 3.你不需要复制附加的服务器,右击结束节点创建。 需要将服务器连接到星型网络中: 1.在对象面板中找到10BaseT链路并双击。 2.移动鼠标从对象面板到项目场景,在服务器上单击画一个链路的终点,然后在交换机对象中心单击在这个星形网中完成连接。到此网络结构定义完成如图: 3.右击结束链路创建。 增加配置业务: 1.在对象面板中找到Sm_Applicati
7、on_Config对象拖拽到工作场景。 2.右击结束对象创建。 3.在对象面板中找到Sm_Profile_Config对象拖拽到工作场景并右击。 4.关闭对象面板。到此网络结构定义完成如图: 图1.7 最终网络拓扑 现在可以准备去搜集统计量了。 三. 搜集相关统计量 既然你已经创建了网络,你应该决定你需要搜集什么统计量去解决下面的问题: 1.服务器将要有能力处理增加负载的第二个网络吗? 2.一旦第二个网络被增加进去,总的网络延迟能被接受吗? 回答这些问题,需要一个当前性能的快照为了比较。得到这个基线,你将要搜集一个对象统计量服务器负载和一个全局统计量网路延迟。 服务器
8、负载是一个关键的统计量反映整个网路性能。搜集和服务器负载有关的统计量步骤如下: 1.右击在服务器节点(node_31)并选择Choose Individual DES Statistics 从服务器对象下拉菜单中。弹出Choose Results 对话框。 2.搜集在服务器上的网络延迟。 3.展开树形Ethernet 在 Choose Results对话框中可以看到分层次的以太网统计量。 4.选中靠近Load(bits/sec)的复选框使其有能力搜集统计量。 5.单击OK 关闭对话框。至此服务器负载统计量搜集配置结束如下: 图1.8 服务器负载配置 全局统计量可以被用于搜集关
9、于整个网络的信息,例如你可以找出整个网络的时延通过搜集全局时延统计量: 1.右击工作场景(而不是对象)并选择Choose Individual DES Statistics 从工作场景下拉菜单。 2.展开Global Statistics 层次。 3.展开Ethernet 层次。 4.选中靠近Delay(sec)的复选框使其有能力搜集数据。 5.单击OK关闭Choose Results对话框。到此全局变量配置完成如下: 图1.9 网络时延配置 6.养成频繁的保存你的项目的好习惯。选择File>Save,然后单击Save。 四.运行仿真前设置 既然你已经指定要搜集的统计量并
10、保存了项目,你准备运行你的仿真。 首先,校验你的Network Simulation Repositories参数被适当地设置: 1.选择Edit>Preferences。 2. 在Search for字段键入network sim并单击Find按钮。 图1.10 查找参数Network Simulation Repositories 3.若Network Simulation Repositories 参数Value字段不是stdmod,单击该字段,Network Simulation Repositories对话框被打开。 图1.11 设置Network Simulat
11、ion Repositories 参数 4.单击Insert按钮然后在字段中键入stdmod。 图1.12 设置参数值 5.单击OK两次关闭Network Simulation Repositories和Preferences对话框 五.运行仿真: 1.选择DES > Configure/Run Discrete Event Simulation...或者通过单击Configure/Run Discrete Event Simulation (DES)按钮打开配置离散时间仿真对话框。 2.如果它是现行,单击按钮Detailed...。 3.在Duration:字段键入0.5,
12、该字段表示仿真半个小时的网络活动。 4.在Update interval:字段键入10000,表示明确说明多么经常仿真计算事件/秒数据。 5.设置仿真核到Optimized。如下图: 图1.13配置离散仿真对话框 6.单击Run按钮开始仿真。如下图: 图1.14 仿真进程对话框 7.当仿真完成时候,信息标签出现在仿真序列对话框中单击Close按钮。 8.若仿真没完成,若 没有结果被搜集,或者结果相当大程度不同于那些展示的结果,你将要不得不去检修你的仿真。 六.查看仿真结果 仿真执行完之后,你将要想去看看搜集的每一个统计量的信息,有一些方法去观看结果,在此你将要用Vie
13、w Results选项在工作场景的下拉菜单。 1.在服务器节点(node_31)右击选择View Results 从服务器对象下拉菜单中。打开结果浏览器: 图1.15 结果浏览器 2.展开Office network.node_31 > Ethernet层次。 3.选中靠近Load(bits/sec)复选框去表明你想要观看的结果。 4.单击Show按钮在结果浏览器中。 图1.16 服务器负载图 注意:在它的高峰在服务器上的负载大约是7000bits/second。在你添加第二个网络之后,你将需要这条基线作为比较。 下面看看全局网络时延: 1.在工作场景右击从下拉菜单中
14、选择View Results。 2.选中靠近Global Statistics > Ethernet > Delay (sec)复选框。 图1.17 以太网延迟图 3.选中靠近Object Statistics > Office Network.node_31 > Ethernet > Load (bits/sec)复选框,并单击Show按钮去查看整个网络的时延。 图1.18 整个以太网延迟图 注意:在网络达到稳恒态之后最大延迟大约是0.4毫秒。 七.扩展网络 将原有网络进行扩建,分析比较扩建前后的网络性能变化。 1. 为了与原有网络进行对比,扩建网络时采用复制场景的方
15、法保持原有网络的全部特性。选择“Scenario->Duplicate Scenario…”,并将新场景命名为“Expansion”。 2. 采用前面讲述的“快速配置”方法快速建立一个星型网络来建立扩建的网络部分。选择“Topology>Rapid Configuration”,“Star”类型,并对新的星型网络配置如图1.19所示。点击“OK”,完成新增网络的快速配置。配置如下: Center Node Model:3C_SSII_1100_3300_4s_ae52_e48_ge3;Periphery Node Model: Sm_Int_wkstn;Number: 15;Link mo
16、del: 10BaseT;X: 75, Y: 62.5, Radius: 20。 图1.19 扩展拓扑配置图 3. 下面需要将新增网络与原有网络相连接。打开对象面板,从对象面板中将“Cisco2514”交换机对象拖入到工作空间。之后用“10BaseT”连接交换机与网络,构成如图1.21所示的网络拓扑结构,并保存。 图1.20 选择路由器 图1.21更新后拓扑结构 4.运行场景“Expansion”网络仿真。选择“DES->Configure/Run Discrete Event Simulation…”,或者点击工具栏中的运行仿真按钮,仿真时间仍设为0.5小时 5.
17、 若想切换场景,可选择“Scenarios->Switch To Scenario->…”,如图1.22所示。 图1.22场景切换 八.比较、分析仿真结果 1.在服务器节点(node_31)右击在显示的下拉菜单中选择View Results. 2.从Results for 下拉菜单中选择Current Project。 3.靠近场景清单的复选框都选中, 4.从下拉菜单中选择Overlaid Statistics为了描述。 当比较结果的时候,选择一在一场景中统计量生产一图,在所有的场景中展示那统计量的值。看结果: 1.选择Office Network.node_31 > Et
18、hernet > Load (bits/sec)统计量并单击Show按钮。结果应该相似和图1.23: 图1.23服务器负载比较 2.选择Time-Averaged比较服务器平均负载如图1.24. 图1.24服务器平均负载比较 注意的是,虽然平均负载为扩展场景更高(如预期的那样),负载作为一个整体,似乎是平整的(就是说,不单调增加),标志着一个稳定的网络。 最后一步是看到了多少网络的迟延是受添加一个二层网络的影响。比较这两种场景的以太网路延迟 1.关闭服务器的图表和Results Browser。 2.在工作场景右击从下拉菜单选择View Choose。 3.在展示的结果
19、下面选择Global Statistics -> Ethernet -> Delay (sec).。 4.单击Show按钮显示图表。如图1.25 图1.25以太网延迟比较 这张图表显示并无重大变化在以太网延迟在网络上。虽然服务器的负载增加了,延迟也不会改变。 5.关闭图表和Results Browser 6.选择File > Close并保存改变关闭之前。 从图1.23-图1.25中,我们可以看到,在原有节点数为30的网路上增加另一个节点数为20的星型局域网后,其网络延迟并没有太大的变化,但服务器负载的增加比较剧烈。如果需要对网络硬件进行改进,网络管理员可将改进重点放在更新服务
20、器上。 实验二 基本进程 实验目的: 了解进程模型的各个状态以及如何定义状态改变条件;了解一个网络模型的组成,熟悉节点编辑器、进程编辑器并利用该编辑器进行建立网络模型;了解进程模型并利用进程模型定义模块的行为和建设节点的规范。 实验内容: 1.利用进程、节点编辑器创建进程、节点模型; 2.定义变量、宏指令和过渡状态; 3.学习建设一个带有包计数器记录接受包数量的一个模块; 4.运行仿真并分析仿真结果; 实验步骤: 一、 设计模型 将要创建的包计数器进程模型包含三个状态:一个初始态、一个静止态、一个到达态。 这个模块有两个最初的状态: 1.等待包到达状态; 2.
21、包到达之后对包进行处理的状态。 二、执行进程模型 1. 启动OPNET Modeler; 2. 选择File > New...并从下拉菜单选择Process Model; 3. 点Create State按钮在工作场景置入三个状态,如图2.1; 图2.1 置入三个状态 注意:你创建第一个状态是自动的成为初始态,这个被用一个深的箭头表明。 4.在初始态右击从下拉菜单选择Set Name 重命名为 init 如图2.2; 图2.2 重命名 5.重复步骤4给余下的两个状态命名分别重命名为:st_1:idle ;st_2:arrival; 6. 通过
22、在对象上右击,从下拉菜单选择Make State Forced改变初始态到强制态,初始态变为绿色; 7.重复步骤6改变arrival状态为强制状态,如图2.3; 图2.3状态设置 三、创建状态的过渡 1. 点击Create Transition tool button按钮; 2. 画过渡线通过在nit state点击然后在idle state点击; 3.通过在idle状态单击,然后再idle和arrival之间单击最后在arrival单击,画一个弯曲的状态改变; 4.右击结束然后左击在工作场景中不选择任何的改变线。 设置状态改变是否是有条件的: 5. 右击idl
23、e和arrival之间的过渡线,在下拉菜单选择Edit Attributes ; 6.改变Condition属性为ARRIVAL然后OK,如图2.4; 图2.4修改Condition属性 7. 单击Create Transition tool butto画一个从arrival到idle.转变; 8.画一个转变从idle到其自身的转变; 9.右击结束; 10. 右击idle到自身的过渡线选择Edit Attribute并改变Condition属性为default单击OK,如图2.5; 图2.5最终状态设置 四、定义条件和变量 宏定义: 1. 点击 Edit Hea
24、der Block按钮; 2. 在编辑面板中输入以下代码: #define ARRIVAL (op_intrpt_type () == OPC_INTRPT_STRM) 3.选择File > Commit 保存并关闭。 声明两个状态变量: 1.单击Edit State Variables按钮; 2. 键入以下的值; 表2.1属性值设置 Type Name Comments int pk_count Counts total packets Stathandle pk_cnt_stathandle Statistic to record p
25、acket count 3.点击OK关闭。 为这个进程创建一个统计量: 1. 选择Interfaces > Local Statistics; 2. 键入packet count作为第一个字段Stat Name,如图2.6; 图2.6统计量设置 3. 点击Description字段打开packet count; 4. 键入描述:Number of packets received; 5. 选择File>Commit保存改变并关闭面板; 6. 关闭 Declare Local Statistics。 五、创建状态执行 1. 在init状态上半部分双击; 2.键入下面
26、的代码去初始化状态变量pk_count 和 pk_cnt_stathandle; pk_count = 0; pk_cnt_stathandle = op_stat_reg ("packet count", OPC_STAT_INDEX_NONE, OPC_STAT_LOCAL); 3.选择File > Commit关闭编辑面板。 然后定义arrival状态: 1.在 arrival状态上半部分双击打开编辑面板; 2.通过键入以下代码增加pk_count变量; ++pk_count; op_pk_destroy (op_pk_get (op_intrpt
27、strm ())); op_stat_write (pk_cnt_stathandle, pk_count); 3.选择File>Commit 关闭编辑面板。 编辑进程接口: 1.选择Interfaces>Process Interfaces, Process Interfaces对话框打开,如图2.7; 图2.7 Process Interfaces设置 2. 改变字段Initial Value值begsim intrpt为enabled 3.校验初始值为每一个属性被设置为disabled: endsim intrpt, failure intrpts, intrpt
28、interval, recovery intrpts, 和 super priority; 4.检验priority属性是0; 5.对所有的属性改变Status值为hidden,如图2.8; 图2.8 属性设置 6.点击Ok关闭Process Interfaces对话框。 编译模型: 1.单击Compile Process Model按钮; 2.若没保存,另存为对话框会弹出来保存你的模型; 3.编译时一个对话框提示编译状态,如图2.9; 图2.9编译状态 4.单击Close关闭对话框; 5.关闭进程编辑器。 六、执行节点和网络模型 创建节点模型: 1. 选择
29、File > New...-》Node Model; 2. 用Create Processor tool button 建三个进程; 3. 用按钮Create Packet Stream tool button连接模型用数据包流,如图2.10; 图2.10初始节点模型 4.改变第一个处理器属性,右击在图标上选择Edit Attributes 5. 改变name 字段属性src1; 6. 改变process model字段属性为simple_source,如图2.11; 图2.11第一个处理机属性 7.点OK关闭。 第二个处理机p_1进行数据包计数: 1. 打开属性对
30、话框;
2. 改变name属性为count;
3. 改process model字段属性为
31、升节点层次并重命名: 6. 选择 Interfaces > Node Statistics; 7. 选择第一个字段Orig. Name从下拉菜单选择count.packet count点击Promote; 8. 改变the Prom. Name 到node packet count; 9. 改变Desc. 字段到 Number of packets received at the node level; 10. 选择 File > Commit保存文本并关闭编辑面板; 11. 通过单击OK按钮关闭Statistic Promotion对话框; 12. 选择File > Save以
32、 33、ials>_packet_count节点模型到included;
6.依次点击OK关闭对话框
7.在提示下以 34、4. 在Node Statistics > node packet count右击从下拉菜单中选择Record Statistic Animation;
5. 点击OK关闭。
现在,具体指定属性的分派:
1. 在节点上右击然后选择Edit Attributes;
2. 单击在promoted上面这个是src2.Packet Interarrival Time属性列的值,具体分派对话框出现如图2.15;
图2.15属性分派
3. 校验Distribution字段是constant和Mean Outcome字段是1.0.
4. 点击OK依次关闭对话框。
配置仿真:
1.选择D 35、ES > Configure/Run Discrete Event Simulation...;
2.设置下面字段的值在Configure DES对话框中:
Duration: 100 seconds;Seed: 1471;Values per statistic: 100
3.展开Output树形元素,然后展开Animation,单击2D并且校验Send animation to history file复选框被选中;
4.单击Apply 保存改变,然后点Cancle关闭对话框。
创建新的场景作对比:
1. 选择Scenarios > Duplicate Scenario...; 36、
2.命名新的场景exponential,Ok保存文件;
3.右击选择Edit Attributes;
4. 单击在属性src2.Packet Interarrival Time列的值上 打开他的规格对话框;
5.选择exponential从Distribution name下拉表中,并校验Mean outcome 是设置 1.0
6.依次单击OK关闭,保存项目。
八、运行仿真
1.选择Edit > Preferences;
2.校验Network Simulation Repositories参数设置为()
3.选择Scenarios > Manage Scenarios. 37、
4.改变Results列的值为了每一个场景从uncollected到 38、et count.
4.点击Show 按钮显示图表,如图2.18
图2.18 Number of Packets Received
5.拖拽游标沿着图表选择一个方框并覆盖轨迹从20s到1min在时间轴上如图2.19、2.20;
图2.19 Select the Area to Magnify
图2.20 Magnified Area
6.关闭当前图表并点Delete
7.在Results Browser里从下拉菜单中靠近Results for:并选择Current Project.如图2.21
图2.21 选择当前项目
8.切换到constant场景通过选择< 39、initials>_packet_count > exponential不选择 40、的目的对从一台服务器收集数据有所帮助。工具Windows Perfmon是在这一课程中作为一个数据源被使用,他仅仅被使用在Windows操作系统中。Windows Perfmon是一个被用于收集服务器规格表现监控工具。
实验内容:
1.在Windows Perfmon中配置服务器数据收集脚本;
2.增加服务器负担;
3.导出系统数据到一个文本文件;
4.将收集的数据导入SCE(服务器特性编辑器);
5.用导入的数据创建一个新服务器特性编辑器;
实验步骤:
一、 用服务器数据收集模板配置Perfmon脚本
1.单击start 按钮然后单击Run...;
2.在弹出的对话框中键 41、入perfmon并OK,如图3-1;
图3-1 Run对话框
3. 在出现的Perfmon窗口中我们要建立一个新的计数器日志.单击Performance logs and Alerts右击在Counter Logs选项上在窗口右边,在下拉菜单中选择New Log Settings From...,如图3-2;
图3-2 新建计数器日志对话框
4.算器日志通常产生Perfmon日志记录日志某些数据属于服务器,对一个特定的持续时间,这个统计量被记录选择按照下面的步骤。
5.在文件打开对话框中浏览到目录 42、rs\agents\Perfmon软件的安装目录。
6.详细指定文件类型是Web Page 然后打开sce_perfmon_metrics_template.htm.如图3-3;
图3-3 选择打开
7.根据你选择的模板文件,你看到一个请求Name的对话框为了你的新的计数器日志。键入名字ce_Perfmon_Import_Binary并单击OK,如图3-4;
图3-4 计数器日志命名
8.在新的对话框中设置抽样间隔时间是10s,如图3-5;
图3-5设置抽样时间
9.上面对话框显示的日志文件名字是在数据收集结束时储存信息的文件;
10.单击OK在对话框Sce_Per 43、fmon_Import_Binary然后展开Performance Logs and Alerts分支单击Counter Logs.图3-6;
图3-6 查找Counter Logs 对话框
11. 将要用这个计数器日志通过开始和停止数据收集去收集服务器统计量;
12. 右击在日志Sce_Perfmon_Import_Binary并选择start,如图3-7;
图3-7 启动日志
注意:图标变为绿色表示搜集数据开始
二、增加服务器负载
1.在以前的步骤之后等候至少10s,然后单击Start按钮然后单击Run…;
2.在出现的对话框中单击Browser…并浏览到model 44、s\tutorial_ref\module目录在标准安装目录下面,然后选择serv_tut.bat单击OK,如图3-8;
图3-8 选择文件目录
3. serv_tut.bat 开始一个例子仿真用op_runsim_dev进程,这个将要增加负担在服务器上在资源被利用期间;
4.现在单击Start > Run...;
5.在Run框中键入chkdsk并点击OK;
6.等待2min 然后关闭正在运行chkdsk的窗口,如图3-9;
图3-9 运行窗口
注意:chkdsk在服务器上增加负担。
7. 等几分钟直到用serv_tut.bat开始的仿真完成然后关闭仿真运行窗口;
45、8.一旦仿真终端窗口被关闭。等待多于10s 然后右击在Sce_Perfmon_Import_Binary脚本上选择Stop,如图3-10;
图 3-10 关闭计数器日志
三、导出系统数据到一个文本文件
1.打开系统信息对话框通过选择Start > Programs > Accessories > System Tools > System Information,如图3-11;
图3-11 系统信息
2.在对话框System Information中右击System Summary选择Save As Text File...,如图3-12;
图3-12 另存为文本文件
46、
3.当Save As 对话框打开后浏览到你的C:\Perflog目录,键入文件名local_system_info.txt
点击Save,如图3-13;
图3-13 保存文件
四、将已经搜集的数据导入SCE
1.开始Modeler;
2.选择File > New...;
3.在对话框中选择Server Characterization并单击OK,如图3-14;
图 3-14 新建Server Characterization
4.在port Type对话框中单击Windows Perfmon并点击OK,如图3-15;
图3-15 导入类型选择
5.转换二 47、进制文件到一个.csv 文件。单击Start>Run…打开一个命令窗口;
6.在Run对话框中改变目录到你的PerfLogs目录。然后键入relog.exe SCE_PERFMON_ 48、YYYMMDDHH>.csv文件在目录C:\Perflogs下;单击Browse...按钮为了"System information file:"并选择文件作为系统信息文件并点击OK,如图3-16;
图3-16 选择文件类型
8.一旦导入完成,回顾服务器的配置在Import Properties对话框中,然后点击OK,如图3-17;
图3-17 回顾属性
9.选择File -> Save As...名字为 49、cesses/threads表格中,如图3-18;
图3-18 Total CPU Usage
11.按下Ctrl键 然后单击前面两行选择他们现在选择QuickGraph复选框,如图3-19;
图3-19选择行和QuickGraph
12. 一旦选中QuickGraph复选框,一个图沿着detaili 你踢出从命令行ng 总 CPU 使用,图标也展示二个主要CPU消费者CPU的使用,如图3-20;
图3-20 CPU的消费
13.关闭图表并双击在列Total Reads在相同的图表中,如图3-21;
图3-21 设置列Total Reads
14.选择File 50、> Save去保存server characterization然后选择File > Close关闭文件;
五、结论
你看到如何使用Windows Perfmon收集服务器上的数据同时可以导入到服务器表征编辑器进一步分析。服务器表征是一个有用的工具,可以用来描述你的工作,定义/视图 标准模型里使用的服务器硬件,也可以帮助你定义服务器仿真模型用于履行,模拟分析在你的服务器上,基于数据收集从源例如Windows Perfmon
实验四 主机工作量特点
实验目的:
这个实验想要对主机履行能力计划编制和性能研究的;将要了解到怎样使用主机特征编辑器和主机专门的模型
实验内容:
1.
©2010-2025 宁波自信网络信息技术有限公司 版权所有
客服电话:4009-655-100 投诉/维权电话:18658249818