OPNET仿真实验报告材料移动IP建模与仿真.docx
《OPNET仿真实验报告材料移动IP建模与仿真.docx》由会员分享,可在线阅读,更多相关《OPNET仿真实验报告材料移动IP建模与仿真.docx(9页珍藏版)》请在冰豆网上搜索。
OPNET仿真实验报告材料移动IP建模与仿真
一、实验目的
1.利用OPNET工具建立移动IP仿真模型,构建一个移动IP仿真平台。
2.对移动IP的功能和性能进行验证。
二、实验原理简介
2.1移动IP简介
移动IP的功能实体及相互关系如图1所示:
移动IP的实现过程的步骤为:
1)家乡代理HA和外地代理FA周期性地在各自的链路上广播代理广播报文,移动节点MN也可以通过发布代理请求报文来得到代理广播报文。
2)移动节点收到广播报文后,根据其中的内容判断自己在家乡链路还是外地链路上。
如果在家乡链路,它和其他固定节点无任何区别,不利用移动IP的特殊功能。
若移动节点在外地链路上,则按以下步骤工作:
3)连在外地链路上的移动节点得到转交地址;
4)移动节点向家乡代理注册转交地址;
5)家乡代理截取发往移动节点的数据包,并以转交地址为隧道出口封装原始数据包,通过隧道将包传出;
6)在转交地址处—外地代理本身或移动节点的一个端口,数据包被解封装然后传给移动节点;
7)由移动节点发出的数据包直接选路到目的节点,无需通过隧道。
此时,外地代理担任缺省路由器的功能。
2OPNET仿真技术
2.1OPNET发展历史
OPNET最早出自麻省理工学院的两个博士之手,最终得以商业化。
OPNET被广泛应用于精确模拟领域,例如网络设备制造领域的企业商Cisco以及运营商AT&T,都采用OPNET来做各种各样的网络环境模拟和调试。
在OPNET的各类产品中,Modeler几乎包含其他产品的所有功能,针对不同领域,主要的用途如下:
(1)对于企业网的模拟,Modeler调用自带的已经建好的标准模型组建网络,在某些业务应用达不到事先预想结果或服务质量未及规定要求,比如说网上电子交易过程中交易延迟、数据库服务等业务响应时间慢于正常情况时,Modeler捕捉重要的流量进行分析,从业务、网络、服务器三方面来找出瓶颈。
(2)对于比企业网更复杂的运行商(ISP)网络的模拟,Modeler把焦点放在整个业务层、流量的模拟,使得运营商可以有效地查出业务配置中产生的错误,例如网络中的哪些服务器配置不够妥善,让黑客容易攻击,有哪些业务的参数配置不合适等情形。
(3)针对研发的需要,Modeler提供了一个开放的环境,使用户能够建立新的协议和配备,并且能够将细节定义并模拟出来。
为使读者有一个生动、形象、更明确的理解,我们再进行如下说明解释:
Modeler所能应用的各种领域主要包括三个方面即端到端结构、新的协议开发和优化、网络和业务层配合如何达到最好的性能。
举例来说明一下吧,假设我们要将现有的IPv4的网络升级到IPv6的网络,需要确定采用哪种技术方式对转移效果来说比较好,这就属于端到端结构上的应用;新协议的开发,比如说目前流行的3G无线协议的开发,在系统级的仿真中,可以分析一种新的路由或调度算法如果使路由器或交换机达到QoS;在网络和业务之间如何优化方面,可以分析新引进的业务对整个网络的影响、网络对业务的要求,实际应用中网络和业务是对矛盾,通过Modeler模拟来查找网络和业务之间所能达到的最好的指标。
OPNET是一种通信网络和分布式系统仿真模型的开发环境,它采用离散事件驱动的模拟机理仿真分析模型的功能和性能。
它涉及仿真研究的各阶段:
模型设计、仿真、数据搜集和数据分析。
OPNET通过多层子网嵌套来实现复杂的网络拓扑管理。
它提供了三层建模机制,分别为进程层(ProcessLevel)、节点层(NodeLevel)和网络层(NetworkLevel)。
在进程层对每个对象的行为进行仿真,在节点层对进程级对象互连形成设备,在网络级通过链路将设备互联成网络,将多个网络场景组织在一起形成工程,即仿真平台。
协议和其他进程通过有限状态机(Finitestatemachine-FSM)来建立模型,FSM的状态和状态的转换用C/C++描述。
OPNET提供了400多个标准库函数,利用这些基础库函数可简化对移动IP协议的建模,利用OPNET的集成调试环境和分析工具,对移动IP模型的各种性能进行测试和分析。
本文的仿真模型是利用OPNET8.0建立的,OPNET8.0提供了一些基本的网络协议模型,但不包括移动IP。
本文建立的移动IP仿真平台提供了OPNET标准接口,可供研究移动IP及相关方面的人员直接调用。
2.2OPNET仿真步骤
我们在使用OPNET进行网络仿真时,大体可以分成简单地概述为六个步骤:
配置网络拓扑(topology)、配置业务(traffic)、收集结果统计量(statistics)、运行仿真(simulation)、调试模块再次仿真(re-simulation)、最后发布结果和拓扑报告(report)。
现在我们将用实际例子来说明一下OPNET的应用,本例程将使用OPNETModeler快速创建一个网络,然后收集反映网络性能的统计结果,运行仿真,并且通过分析这些结果来解决网络中存在的问题。
本例侧重于项目编辑器(ProjectEditor)的使用,展示Modeler建模和分析的功能,学会用OPNET来仿真模拟的基本过程。
重要概念:
项目与场景(Project&Scenario):
OPNETModeler采用“项目-场景”的方法对网络建模。
项目(Project):
是一套场景的集合,用来探索网络设计的不同方面。
一个项目至少包含一个场景。
场景(Scenario):
是网络的一个实例。
通常一个场景代表网络的一套配置,例如拓扑、协议、应用、流量以及仿真设置。
子网(Subnet):
OPNET子网和TCP/IP的子网不是同一个概念。
OPNET的子网是将网络中的一些元素抽象到一个对象中去。
子网可以是固定子网、移动子网或者卫星子网。
子网不具备任何行为,只是为了表示大型网络而提出的一个逻辑实体。
节点(Node):
节点通常被看作设备或资源,由支持相应处理能力的硬件和软件共同组成。
数据在其中生成、传输、接收并被处理。
Modeler包含三种类型的节点:
第一种为固定节点,例如路由器、交换机、工作站、服务器等都属于固定节点;第二种为移动节点,例如移动台,车载通信系统等都是移动节点;第三种为卫星节点,顾名思义是代表卫星。
链路(Link):
链路有3种类型,点对点的链路、总线链路以及无线链路。
模块(module)与仿真(simulation):
对于某个协议的仿真,可能因为其涉及的事件及其相互的联系非常庞大,造成建模的困难,这时我们把该协议分解成一系列的协议行为,对这些行为单独建模后通过有限状态机把它们联系起来后便形成一个系统,这个系统可以称之为模块,它将抽象的协议直观化。
而仿真是基于一系列模块的一组实验,它反映模块和模块之间的互相作用关系。
对象ID(Objid)与用户ID(userid):
Objid是对象识别号系统分配的,全局唯一,整数。
userid是节点模型(对象的一种)的一个属性,由用户设置,可以不唯一。
利用OPNET仿真,一般遵循以下工作流程:
1.定义目标问题:
明确和规范化网络仿真所要研究的问题和目标,提出明确的网络仿真描述性能参数。
如网络通信吞吐量、链路利用率、设备利用率、端到端延迟、丢包率、队列长度等。
2.建立仿真模型:
根据研究的问题和目标,建立所需的网络、进程或协议模型(包括网络拓扑结构、协议类型、包格式等),配置相关业务。
3.收集统计数据:
收集要用于仿真模型实现和验证的相关统计数据。
如网络流量、端到端延迟、丢包率等。
4.运行仿真:
利用仿真工具进行仿真实验,以得到所需要的数据。
5.查看并分析结果:
查看结果并利用相关分析工具和数学知识对仿真结果进行统计分析。
6.调试再仿真:
分析仿真数据,找出网络的性能瓶颈,然后通过修改拓扑、更新设备、调整业务量、修改协议等方法得到新的仿真场景,再次运行仿真。
7.生成仿真报告:
生成网络仿真的研究报告。
由于网络的复杂性,在实际网络研究中,一般不可能一次就能达到仿真目的,而往往需要多次重复其中的部分或全部步骤。
另外网络仿真过程中仿真参数尽可能根据需要合理选取,并不是越详细越好,无用的参数可能使系统的处理效率下降。
3移动IP的OPNET建模与仿真
3.1仿真平台整体设计
Modeler现有的模型库没有可以直接使用的、支持链路层和网络层移动的模型,所以本文在实现的移动IP模型将以Modeler的标准模型eth_wkstn_adv为基础,对其节点模型添加新的模块。
在进程建模这一层,修改了现有的ARP进程,并设计了ICMP_bis、Tunneling、Moip_reg、Moip_core四个新的进程,以完成对移动IPv4协议工作机制的支持。
新添加的四个新进程模型主要实现对标准节点模型eth_wkstn_adv的IP路由逻辑(routinglogic)和IP封装层(ip_encap_v4)的修改。
在节点模型中,HA和FA使用相同的节点模型MA,根据属性设置的不同,分别担任HA或FA的任务。
如上所述,节点模型MA通过对eth_wkstn_adv的修改和添加得到,具体来说,对eth_wkstn_adv的arp模块进行了修改,并添加了reg、tunnel、icmp_bis模块。
MN使用MN节点模型,它基本上与节点模型MA相同,但拥有8个接口和多了一个moip_core模块。
该模块负责对接口配置(包括接口地址、每个接口下一跳默认网关列表)的判断,并且管理整个移动过程。
每当移动发生,它激发ICMP_bis进程发出代理请求,并且保存MN接口配置信息,Moip_reg进程从此处获得转交地址进行注册。
arp、reg、tunnel、icmp_bis、moip_core模块分别对应ARP、Moip_reg、Tunneling、ICMP_bis、Moip_core进程。
表1列出了本文的仿真模型移动IP各种功能的支持情况。
3.2进程模型设计
3.2.1ARP进程模型
ARP进程对标准ip_arp_v4进程模型的修改体现在增加了一个grat_arp状态。
图2ARP进程
该模型实现的是:
MN注册成功时HA在其所连接的所有链路上以MN的身份广播主动ARP并为MN做代理ARP(ProxyARP);MN回到家乡链路时HA不再为节点作代理
ARP,并以MN身份进行一次主动ARP广播,宣布MN新的IP地址和数据链路层地址的绑定。
与ARP进程相关联的接口控制信息ICI中设置了地址信息。
3.2.2ICMP_bis进程模型
图3ICMP_bis进程
该模型实现的是:
移动代理的MA通过在链路上广播代理广播报文ADV_packet宣告它的存在;MN通过广播代理请求报文SOL_packet获得ADV_packet。
3.2.3Tunneling进程模型
Tunneling进程模型的主要功能是进行IP的IP封装、解封装和确认隧道出口。
图4Tunneling进程
3.2.4Moip_reg进程模型
Moip_reg进程主要完成两个任务:
管理移动列表和处理注册报文。
图5Moip_reg进程
3.2.5Moip_core进程模型
图5Moip_core进程
只有MN节点模型有Moip_core进程,节点中的其他进程通过注册发现Moip_core的存在。
它的主要功能是:
分析接口配置;分析并执行“移动脚本”。
3.3节点模型设计
3.3.1移动节点MN的节点模型
在OPNET的标准模型ethernet_wkstn_adv的基础上,通过修改arp模块和新增reg、tunnel、icmp_bis、moip_core模块而形成MN节点模型,这些模块分别与进程模型Moip_reg、Tunneling、ICMP_bis、Moip_core和ARP相关联。
MN节点使用了8个IEEE802.11b接口,保证它可以连接到不同的接入点,每个接口都有自己的interfacename和index,本文的仿真用到了其中三个接口。
3.3.2移动代理MA的节点模型
MA节点模型同样以OPNET的标准模型ethernet_wkstn_adv为基础,对有关模块做了修改和添加。
3.4网络模型设计
仿真网络包括一个家乡子网络LAN_1,两个外地子网络LAN_2、LAN_3,每个子网络都有自己的接入点AP_1、AP_2、AP_3。
在LAN_1中home_agent担任家乡代理,它使用的是MA节点模型,且属性设为HA。
foreign1和foreign2分别在LAN_2、LAN_3
中担任外地代理,它们也使用MA节点模型,但属性设为FA。
Mobile_node是移动节点,它使用MN节点模型,将在LAN_1、LAN_2、LAN_3间移动。
3.5仿真结果及分析
运用上文所述仿真平台,分别对“一般路由”(withoutrouteoptimization)和“路由优化”(withrouteoptimization)情况进行了仿真。
路由优化根据接口配置信息计算了每一跳的最佳路径,而一般路由只是根据接口配置随机地选择了可达的路径。
在业务配置上,采用背景流业务(backgroundtraffic),仿真网络中业务服务器UDPCBRServer每0.05s向mobile_node发送一个定长UDP包(1024字节)。
在运行仿真中测试UDP包的延迟时间。
仿真结果如图所示。
可以看到,无论是“一般路由”还是“路由优化”UDPPacketdelay都分别在约30s、40s、50s处达到峰值,在其它时间delay值要小得多。
这是因为,在30s时间处移动节点mobile_node改变了接入点移动到外地网络,向home_agent发出了绑定更新,UDPCBRServer发出的UDP包不象30s前那样可以直接发
送到mobile_node,而要先发到home_agent再由隧道转发至mobile_node,造成了包的延迟。
在40s处,mobile_node又改变了接入点连接到第二个外地网络,它分别向home_agent
和foreign1发送绑定更新,如果home_agent来不及改正mobile_node转交地址,则UDP包可能被送到foreign1,而等foreign1登记好mobile_node新转交地址后才能将UDP包转发过去。
总之,当移动节点在接入点间切换时就会产生较大延迟,这是由移动代理更新移动节点的注册信息造成的。
由此可见,移动IP的主要设计思想就是让移动代理能够在移动节点切换链路时更快速、准确地获得移动节点的位置信息,以此保证通信的不间断。
四、实验总结
该实验用网络仿真工具OPNET设计的移动IP仿真平台能够实现移动IP的基本功能,并具有较强的可扩展性和通用性,能够为进行移动IP协议研究的学者和研究人员提供方便,节省大量的灵力和时间,对于其他协议仿真平台的设计也同样具有参考价值。
本实验的仿真平台还有两点可以改进:
业务建模还可以更具体、针对性更强,使仿真结果更加准确;进一步研究移动IP的安全认证技术,这是在无线接入网络中应用IP必不可少的机制,并将这一部分加入到现有的仿真平台中。