已阅读5页,还剩25页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
安徽建筑工业学院毕业设计(论文) 目录引言11 移动ipv421 tcp/ip协议21.1.1 ipv4协议的特点21.1.2 移动ipv4协议的提出31.2 移动ipv4协议41.2.1 移动ipv4解决的问题41.2.2 移动ipv4应用的范围51.2.3 移动ipv4的设计要求与目标51.2.4 移动ipv4的基本内容51.2.5 移动ip的协议概述72 ns-2的基本介绍102.1 ns-2概要102.2 ns-2的目录结构102.3 ns-2网络模拟方法112.4 nam概要122.5 trace概要122.6 awk概要122.7 gnuplot概要133 基于mobile ip有线无线混合网络模拟143.1 有线无线混合模拟的层次化地址设置143.2 创建移动节点153.3 移动节点的运动153.4 配置节点163.4.1 配置无线节点163.4.2 配置基站节点173.5 基于mobile ip 有线无线混合网络模拟实例173.3.1 纯无线网络模拟173.3.2 无线有线网络混合模拟184 总结20附录121附录226致谢27参考资料28引言 随着internet国际互联网以惊人的速度发展,人类生活节奏的加快,越来越来的人成为移动办公的一分子,包括远程计算人员、移动售货人员以及其他一些经常需要跑来跑去的人。这些人急切地需要在任何地点、任何时候都能获得internet网络的服务。不断增加的人群、移动计算技术的发展和人们对网络技术越来越强的依赖,这3方面一起推动着将移动计算机与其他计算机相连的要求,包括与固定的和移动的计算机相连。这使得提供移动的internet接入成为当前internet技术研究的热点之一。 由于ipv4协议原本是为固定有线网络设计开发的,缺乏移动性的有效支持,因此,ietf(互联网任务工程组)提出了移动ipv4协议,对ipv4协议栈进行了扩充。移动ipv4协议实现了让人们在任何地点都可以随时连接internet。它的主要设计目标是移动节点在改变网络接入点时,不必改变网络的ip地址,能够在移动过程中保持通信的连续性。然而,移动ipv4所采用的移动性管理方案存在许多不足,主要表现在切换的性能不高,信令开销过大,切换时延太长,切换中的质量难以保证,同时也存在安全性问题。目前,针对这些问题,学术界和工业界正在研究如何对移动ipv4技术进行扩展和优化,这对下一代移动internet目标的实现至关重要。 ns-2是目前通信网络领域一个非常流行的模拟软件,在国际上被广泛使用。ns-2是一个免费的软件,在学习和研究中使用该软件,不需要支付昂贵的费用。同时,它具有强大的模拟功能,丰富的网络协议组件。使用ns-2进行通信网络协议的学习和研究,已经成为一个潮流。但是,由于ns-2是开放源代码的免费软件,文档资料繁杂,并采用otcl和c+两种程序设计语言,因此,学习起来困难较大。1 移动ipv41 tcp/ip协议 互联网是通过一套规则或协议来保证不同类型的计算机网络实现相互通信的,其核心就是著名的tcp/ip协议。tcpip协议的中文含意分别是传输控制协议(tcp)和网际协议(ip),它是在 1983年在互联网的前身arpanet上使用并成为标准的通信协议。所谓通信协议就是为了使网络中不同设备能相互进行正常的数据通信,而预先制定的一整套通信双方相互了解和共同遵守的格式和约定。tcp/ip协议几乎就是互联网的代名词,没有tcp/ip协议,就没有今天的互联网。下面将介绍tcp/ip协议的内容。1.1.1 ipv4协议的特点1)ipv4协议格式 ipv4分组由报头和数据区两部分组成,每部分的格式如图1.1所示: 版本号头标长服务类型总长度标识符标志片偏移量生存时间协议ip分组头校验和源ip地址目的ip地址选项填充域数据图1.1 ipv4头标(1)版本号:版本号占4位,所有的ip软件都要检查ip分组的版本号,若版本不同则需要转换,以保证ip分组的格式与软件期待的一致。(2)头标长:在ip分组的包头中,任选项和填充项是不固定的。头标的长度以行计算,在515行之间,占4位。(3)服务类型:描述ip分组所希望获得的服务质量,占8位。(4)总长度:占16位,即允许最长的ip分组为65535字节。(5)标识符id:id是源主机赋予ip分组的标识号。同一源主机所发出的各ip分组有惟一的标识。占16位。(6)标志:占3位。(7)片偏移量:占13位,用以标明当前段片在初始ip分组中的位置,目的主机可以根据它来重新组合ip分组。(8)生存时间:占8位,最大值为255,缺省值为64,单位为妙。(9)协议:协议段占8个字节,用以标识接受的ip分组中的数据的高层协议。(10)ip分组头校验和:占16位,用以保证ip分组报头的完整性。(11)源地址:占32位。(12)目的地址:占32位。(13)任选段:用于存放安全保密、报文经历等信息,其长度可变。(14)填充段:ip分组头长必须是4字节的整数倍,它就是用来作保证的。2)ipv4编址方案(1)物理地址:计算机的物理地址是指分配给网卡的地址。此地址在网卡的生产过程中就被固定在卡上。有些网卡被称为可配置卡,它的地址可变。以太网的硬件地址也称为介质访问控制(mac)地址,在以太网环境中,mac地址与硬件地址可互换使用。(2)ipv4地址:ip协议提供整个internet通用的地址格式。为了确保一个ip地址对应一台主机,网络地址由internet注册管理机构信息中心分配,主机地址由网络管理机构负责分配。如图1.2所示,每个ip地址占用32位,有a、 b、 c、d和e五类,分别用0、10、110、1110和11110标识。如图1.2:1 2 3 400网络标识符7位主机编号24位10网络标识符14位主机编号16位110网络标识符21位主机编号8位1110多点广播地址28位11110 实验保留地址a类b类c类d类e 类 图1.2 ipv4地址1.1.2 移动ipv4协议的提出传统的tcp/ip基于一个假定,即节点的ip地址唯一地标识节点在internet上的接入点。因此,当节点拥有ip地址以后,必须位于其ip地址所标识的子网里,才可能正常地接受到发向该节点的数据包。而当节点移动到另一个子网时,要么改变其ip地址,使其前缀和所访问的新的子网相同,要么就是在路由器上添加主机路由来实现。而这两种方法都不可行,前者会导致上层应用程序的中断,而后者缺乏可扩展性。移动ipv4位于开放系统互连(osi)参考模型的第三层,负责将数据包从源节点路由到目的地,中间穿过由链路、交换设备和路由器等构成的各种网络拓扑。主机和路由器则通过手工配置和动态路由协议获得到达网络上各个目的节点的路径。ip为internet提供了路由能力。ip给所有节点(主机和路由器)分配逻辑地址,称为ip地址,每台主机的各个端口都分别有一个ip地址,端口是指节点与一条链路相连时经过的硬件和软件。ip地址包括网络前缀和主机部分,同一条链路上的所有主机通常由相同的网络前缀和不同的主机部分,这使得ip可以依据目的节点ip地址的网络前缀部分来进行路由选择,从而使路由器只需保存一条简单的网络前缀路由,而不必为每台主机保存一条单独的路由,这是internet可扩展性的一个主要特点。由于采用了网络前缀路由,如果节点从一条链路切换的到另一条链路而没有改变它的ip地址,那么它就不可能在新链路上接受到数据包。从理论上说,这可以采用特定主机路由(与网络前缀路由相对应)来解决。也就是说,每当主机移动时,就向许多台路由器传送特定主机路由,然而,这种方法在可扩展性、可靠性和安全性方面都存在问题。另一种方法是在数据链路层解决这个问题,这要求对每一种链路定义一种解决方法,而且数据链路层提供的移动能力在地理范围上受到限制。1.2 移动ipv4协议 1.2.1 移动ipv4解决的问题前面已经介绍过,全球互联网的可扩展性依赖于网路前缀路由,而不是特定主机路由,这要求接在同一链路上的ip地址具有相同的网络前缀部分。当节点从一条链路切换到另一条链路,它的ip地址的网络前缀部分不再与新链路的网络前缀相等。这样,网络前缀路由技术就没有办法将数据包发送到节点的新位置上。前面也已提到对这个问题的解决方法特定主机路由和改变移动节点的ip地址,这些方法不适于在全互联上提供节点的移动功能。特定主机路由技术存在可扩展性差、可靠性低和安全隐患大等问题,而节点在移动时改变ip地址又使链路切换使无法保持现有通信。移动ipv4是一种在全球互联网上提供移动功能的方案,它具有可扩展性较高、可靠性较强和安全性较高等特定,并使节点在切换链路时仍可保持正在进行的通信。值得特别注意的是,移动ipv4提供了一种ip路由机制,使移动节点可以用一个永久的ip地址连接在任何链路上。1.2.2 移动ipv4应用的范围移动ipv4协议适合于宏观移动的场合,即ip子网间移动;而对微观移动的支持则需要对移动ipv4协议加以扩展。所谓宏观移动,是指节点的移动跨越了不同的子网,而微观移动是指节点在小范围的一个子网里移动。在微观移动的场合,切换必须在很短的时间里完成。1.2.3 移动ipv4的设计要求与目标 设计ipv4时有以下几个要求:(1)移动节点在改变数据链路层的接入点后应仍能与互联网上的其它节点通信;(2)无论移动节点连接哪个数据链路层接入点,它应仍能用原来的ip地址进行通信;(3)移动节点应能与不具备移动ip功能的计算机通信;(4)移动节点不应比互联网上的其它节点面临新的或更多的安全威胁。设计ipv4时有以下几个目标:移动计算和无线通信天生就是一对。笔记本电脑使计算不仅限于台式机,但有线的网络连接限制了它们的使用场合。一些无线网络使计算机在任何时间、任何地方都可以进行通信,但许多这种网络要么太贵要么太慢,或者是又贵又慢。包括移动ipv4在内,路由协议都要求在网络的各种节点间传送路由更新信息。为使移动ipv4能在无线链路上工作,使这些更新信息的数量和频率尽量减少是设计目标之一。另一个设计目标是尽量简化移动节点软件,这可以增加使用移动ipv4的节点数目,特别是那些内存和处理能力受到限制的寻呼机、智能蜂窝电话、个人记事本以及笔记本电脑。最后,前面已经提到,因特网已经认识到了ipv4地址的短缺问题,因此,移动ipv4的另一个目标是,尽量避免要求移动节点使用多个地址,或要求为移动节点准备一个大的地址空间。1.2.4 移动ipv4的基本内容1)移动ipv4的功能实体 移动ipv4网络中包含四种功能实体:家乡代理(ha)、外地代理(fa)、移动节点(mn)、对端节点(cn)。图1.3给出了移动ipv4的网络体系结构。(1)移动节点(mobile node-mn).是指从一个网络或子网链路上切换到另一个网络或子网的主机或者路由器。移动节点可以改变它的网络接入点,但不需要改变ip地址,并且使用原有的ip地址能够继续与其他节点通信。(2)家乡代理(home agent-ha)。是指位于移动节点家乡链路(home link)上的路由器。当移动节点离开家乡网络时,它负责把发往移动节点的分组通过隧道转发给移动节点,并且维护移动节点当前位置的信息。(3)外地代理(foreign agent-fa)。是指位于移动节点所访问的网络上的路由器,为注册的移动节点提供路由器服务。它接受移动节点的家乡代理通过隧道发来的报文,进行拆封后发给移动节点;对于移动节点发出的报文,外地代理提供类似默认路由器的服务。(4)cn是与mn进行通信的节点,一个mn可能有多个cn。图1.3 移动ipv4的网络体系结构移动节点在家乡网路上申请一个长期的ip地址。这个家乡地址和家乡网络上固定主机的地址一样。当移动节点离开家乡网络以后,移动节点在外地网络将获得一个反映移动节点当前位置的转交地址。移动节点使用家乡地址作为发送数据包的源地址。2)其他的常用术语 (1)代理通告。是一种特殊的路由通告消息。(2)通信对端节点。是指除移动节点通信的对等实体,可简称为通信对端。它可以是移动节点或者位置固定的节点。(3)外地网络。是除移动节点家乡网络外的任何网络,也就是网络前缀与移动节点家乡地址与网络前缀不同的网络。(4)移动代理。是指家乡代理或外地代理。(5)家乡网络。是指与移动节点家乡地址具有相同前缀的网络。发往移动节点家乡地址的ip分组会被标准的ip路由机制转发到其家乡网络上。(6)链路层。是指节点通信的载体,是网络层的下层。(7)节点。是指主机或路由器。(8)隧道。当一个数据分组被封装在另一个数据分组的载荷中进行传送时,所经过的路径。1.2.5 移动ip的协议概述1)移动ipv4协议中的三种功能移动ipv4定义了三种功能,包括代理搜索、注册和隧道。(1)代理搜索:代理搜索是mn确定它的当前位置、检查它是否移动了以及得到一个外地代理转交地址的方法。如果在mn的外地链路上没有外地代理,那么mn可以通过手工配置或通过dhcp(动态主机配置协议)得到一个配置转交地址。代理搜索通过ha和外地代理周期的发送代理广播消息来实现,代理广播消息是icmp(因特网控制报文协议)路由器广播消息的扩展,mn也可以发送代理请求来要求在它当前链路上的代理立即发送一条广播。(2)注册:注册是mn向它的ha通知它当前的转交地址的一种认证机制,也是mn在回到家乡链路上后注销转交地址的机制。mn也可以通过注册过程得到它的ha的地址。注册请求消息是由mn发往它的ha的,途中可能会经过外地代理。ha通过向mn回答一条注册应答消息来通知mn对它的请求的处理接受或拒绝。注册应答也可能经过外地代理。(3)隧道:隧道技术是移动ipv4定义的第三种主要功能,是对数据包进行路由的特殊规程,尤其是对源或目的地是当前连接在外地链路上的mn的数据包。连接在家乡链路上的mn则和其它固定主机或路由器一样进行数据包的路由。隧道协议被用来向那些连接在外地链路上的mn传送数据包。要发往mn家乡地址的数据包先被路由到它的家乡链路上,这是采用网路前缀路由的必然结果。在家乡链路上,ha截获数据包,然后通过隧道将数据包送到mn的转交地址。在那里,数据包被从隧道中取出,然后送往mn。在相反的方向,mn产生的数据包用它的家乡地址直接路由到它们的目的地。如果有外地代理,它将作为mn的默认路由器。从对端节点发往mn的数据包通常采用未经优化的路径,数据包先被送往mn的家乡链路,然后再经过隧道送往mn的当前位置上。要解决这个问题,必须让mn将它当前的转交地址送给各个对端节点。2)家乡地址与转交地址 每个mn有两个地址:(1)家乡地址:这是mn的cn所知道的mn的ip地址。当mn移动时,它的家乡地址是不变的。mn家乡地址的网路前缀与它的家乡链路上的节点的网络前缀是一样的。(2)转交地址:mn将这个地址暂时作为从mn的ha发出的隧道的出口。当mn在internet上移动时,转交地址是会改变的。转交地址有两类:外地代理转交地址是有一个端口在mn当前链路上的那台外地代理的地址,而配置转交地址是暂时分配给mn某一个端口的地址。mn的转交地址、外地链路和外地代理是密切相关的。3)移动ip协议的总体流程 移动ip协议大致包括以下流程:(1)移动代理通过代理公布消息公布其存在,移动节点可以通过请求一个代理公布消息,或者接受到代理公布消息。(2)移动节点通过代理公布消息后,可以确定是在家乡网络还是外地网路。(3)如果移动节点发现自己在家乡网路,它将不运行移动程序。如果移动节点从外地网络回到家乡网络,它将取消在家乡代理上的注册。(4)如果移动节点检测到它移动到了外地网络时,从外地网络上获取一个转交地址。(5)移动节点和家乡代理通过交还注册请求与注册应答消息,通过外地代理在家乡代理上进行注册。(6)到达移动节点的家乡地址的数据包被家乡代理截获,通过隧道传送到移动节点的转交地址。在隧道的末端,由外地代理或者移动节点自己解封后到达移动节点上的应用。(7)在相反的方向上,有移动节点发送的数据包用标准的ip路由机制进行转发,不需要再通过家乡代理。如图1.4所示为移动ipv4的协议流程。 图1.4 移动ip协议流程图1.4中,“1”表示发往mn的数据包经过标准的ip路由机制被转发到ha。“2”表示数据包被ha截获,经过解封后,通过隧道转发到fa。“3”表示fa对数据包进行了解封装,并传递给mn。“4”是mn通过标准的ip路由机制把数据包转发给cn。2 ns-2的基本介绍2.1 ns-2概要ns-2是一个免费的网络协议模拟软件,采用开放体系结构,有大量的协议库支持,广泛应用于局域网、广域网和卫星网络模拟。ns-2是一个基于两种语言otcl和c+的,面向对象的模拟器。它用c+语言来编写和实现,用otcl作为一个解释器,来执行用户的命令脚本。ns-2实现了很多的网络协议,这些协议构成了一个库,而且由两个相互影射的体系构成,一个是c+编译对象体系,另一个是otcl解释对象体系。编译对象体系使得模拟的执行速度很快,而otcl解释对象体系使得配置一个模拟的场景更加直接和简单。ns-2的特点如下说明:(1)采用面向对象、离散事件驱动的模拟方法,易于对实际网络建模,模拟效率高,系统易于扩展。而面向对象的模拟使得网络实体和模拟模型之间的对应显得更加直接。(2)ns-2使用otcl和c+两种程序设计语言,兼顾模拟效率和系统建模的灵活性。编程者可以使用面向对象、解释执行的脚本程序设计语言otcl进行模拟配置,并通过编写c+组件扩充系统的模拟能力。(3)具有丰富的协议支持,支持tcp/ip栈中各层所涉及到的协议,几乎在网络领域出现的所有协议,都有不同的ns-2开发者在进行开发。(4)支持对模拟结果的处理和直观显示。利用gawk、gnuplot可以对模拟结果进行数据分析,利用nam软件,可以将模拟结果文件“*.nam”和”*.tr”以nam进行动态显示。(5) ns-2可以运行在多种操作系统平台上。在windows平台上,安装cygwin后再安装ns-2,也是一个非常合适的方案。2.2 ns-2的目录结构如图2.1所示为ns-2.2x的目录结构:ns-2.2x中包含有几个很重要的目录,其中,tcl目录包含了需要编译的tcl代码,以及ex目录,其中包含了很多例子脚本。lib目录中包含了ns-2需要的很多库文件,是模拟中经常需要阅读和改写的代码。ns-allinone-2.28xgraphns-2.2xnam1.xtclc1-otcl-1.xtk8.xtcl8.xc+codens-tutorialtcllanmplsmobilityytestlibex图2.1 ns-2.2x的目录结构2.3 ns-2网络模拟方法进行ns-2模拟一般分两种情况:(1) ns-2已有的网络组件可以实现模拟的目标。在这种情况下,不需要对ns-2的组件进行任何修改,只要编写otcl脚本。确定模拟的目标利用进行ns-2协议模拟的流程图如图2.2所示:分析是否可以利用现有模块完成模拟 修改ns-2组件,可能需要修改otcl和c+代码否 是 是编写 otcl模拟脚本运行模拟脚本对模拟结果进行分析 需要修改脚本 需要修改组件是否要修改脚本或ns-2组件不需要改组件或脚本模拟结束图2.2 ns-2协议模拟的流程图(2) 网络中的组件不能实现模拟的目的,这时候就需要建立新的组件,或者修改现有的组件。即首先对ns-2进行扩展。这时候需要添加新的c+和otcl类,然后再编写otcl脚本进行模拟。2.4 nam概要nam是一个基于tcl/tk的动画程序,用来观察网络模拟的轨迹或者真实环境中生成的包的轨迹。nam支持拓扑的层次,支持包级的动画和多种多样的数据分析工具。nam可以从namtrace文件中读取动画事件的命令,事件命令保存在文件中,在演示时进行读取和播放。要使用nam对模拟过程进行演示,首先要产生一个namtrace文件,它是在模拟过程中由ns写入的。在ns模拟过程中,可以产生拓扑配置、调整、包的跟踪等信息,任何应用都可以产生namtrace文件。nam在读取namtrace文件后创建一个拓扑,弹出窗口,进行调整,然后停止在时间0。nam中可以显示各种各样的网络对象,包括节点、链路(有线网络)、数据流、无线网络中的丢包等。2.5 trace概要trace的功能是详细记录模拟的过程,trace可以根据用户的需要记录模拟过程中的任何一个细节。当一次模拟结束之后,所留下的唯一记录就是trace文件,所有的对模拟的分析都是基于trace文件的。为了支持trace记录,每个分组都包含一个特殊的common分组头,在这个分组头中包含了分组的序列号、分组的类型值、分组的大小和端口标识等。trace功能的实现是在c+中,同时ns在tcl中提供了一系列实例过程作为c+中trace对象的接口。 无线模拟的trace文件格式:r 160.09 6 rtr-5 tcp 1492 a2 4 6 800-65536:0 16777984:0 31 16777984 1 0 2 0该条trace中的意思为:一个id为6的节点收到一个tcp分组,这个分组的uid为5、长度为1492。接受节点的mac地址为6,发送节点的mac地址为4,ip头的trace信息包括源地址(65536:0)和目标地址(16777984:0),分组的ttl值为31。2.6 awk概要 awk是一种程序语言。它具有一般程序语言常见的功能。对于资料的处理具有很强的功能,可以使用很短的代码轻易地完成对文本档案做修改、分析、提取和比较等处理。因此,awk语言具有某些特点,如:使用直译器(interpreter)不需先行编译;变量无型别之分(typeless),可使用文字当数组的注标(associative array)等特色。因此,使用awk撰写程序比起使用其它语言更简洁便利且节省时间。awk还具有一些内建功能,使得awk擅于处理具有资料列(record),字段(field)型态的资料;此外,awk内建有pipe的功能,可将处理中的资料传送给外部的 shell命令加以处理,再将shell命令处理后的资料传回awk程序,这个特点也使得awk程序很容易使用系统资源。2.7 gnuplot概要gnuplot 是一个命令导向的交谈式绘图程序(command-driven interactive function plotting program)。可以运行在windwos、dos和linux操作系统中。本文中使用的gnuplot是在cygwin和windows结合下安装的。使用者输入的每一项命令,可以逐步设定或修改绘图环境。它以图形表达数据或函数,使我们可以利用图形做更进一步的分析。3 基于mobile ip有线无线混合网络模拟3.1 有线无线混合模拟的层次化地址设置 ns-2中地址有三个层次,即域(domain)、簇(cluster)和节点(node)。需要创建三种节点,网络模拟中,需要创建有线节点、基站节点和无线节点。要注意,基站节点是一个特殊的节点,它既是有线节点,也是无线节点。所有的无线节点必须设置一个基站,以便与该无线域外的其他有线节点进行通信。 如图3.1所示网络拓扑:两个无线局域网通过一个路由器连接在一起。基站和移动节点之间采用ieee 802.11空中接口进行通信,基站和路由器之间使用有线链路进行通信。图3.1 网络拓扑图按照上面的拓扑,需要设置三个域,即两个无线域和一个有线域,如图3.2所示 图3.2 域的划分方案每个域中的簇的个数为1,各簇中的节点个数为4、1、4。因此,可以用写如下的脚本来配置层次化地址。设置节点采用层次化地址$ns_ node-config -addresstype hierarchical设置域的数目为3addrparams set domain_num_ 3设置三个域中簇的个数分别为1、1、1lappend cluster_num 1 1 1 addrparams set cluster_num_ $cluster_num设置每个域中簇的节点的个数lappend eilastlevel 4 1 4addrparams set nodes_num_ $eilastlevel 3.2 创建移动节点 mobilenode是node类的派生类,它对node类做了一些改进,这样它可以用来创建移动、无线的模拟环境。mobilenode是一个由c+和otcl共同实现的对象,它的功能(包括节点移动、周期性的位置更新、维护拓扑边界等)是在c+中实现的,而设定mobilenode的各个网络构件(例如mac、channel、ll等)则是在otcl中实现的。具体创建如下:set node_(0) $ns_ node $node_(0) random-motion 0set node_(1) $ns_ node $node_(1) random-motion 03.3 移动节点的运动移动节点可以在一个三维的拓扑中运动,然而实际上第三维(z轴)并没有使用。这样移动节点就总是在一个z=0的二维平面中运动。其创建如下:$node set x_$node set y_$node set z_$ns at time $node setdest 在time时刻,节点从起始位置(x1,y1)向目标位置(x2,y2)运动,移动速度为speed。然而,在创建移动节点之前要定义移动节点的移动范围,通常使用下面的方法定义平面拓扑的长和宽:set topo new topography$topo load_flatgrid x y3.4 配置节点3.4.1 配置无线节点 配置节点就是在创建节点之前定义它的各种属性,函数simulator:node config用来配置节点的属性。节点的属性包括节点的地址类型、移动节点的各个网络构件的类型、移动节点的路由协议、是否打开各层的trace功能等等。配置如下:#以下为网络配置的选项set val(prop) propagation/tworaygroundset val(netif) phy/wirelessphyset val(mac) mac/802_11set val(ifq) queue/droptail/priqueueset val(ll) llset val(ant) antenna/omniantennaset val(ifqlen) 50set val(rp) dsdv#无线节点配置$ns_ node-config -adhocrouting $val(rp) #设定所使用的路由协议 -lltype $val(ll) 设定mn的逻辑链路层 -mactype $val(mac) 设定mn的mac层类型 -ifqtype $val(ifq) 设定mn的队列类型 -ifqlen $val(ifqlen) 设定mn的队列长度 -anttype $val(ant) 设定mn的天线类型 -proptype $val(prop) 设定mn的无线信号传输模型 -phytype $val(netif) 设定mn的物理层类型 -channel type channel/wirelesschannel设定mn的无线信道类型 topoinstance $topo 设定mn的拓扑对象 -agenttrace on 是否打开应用层的trace -routertrace off #是否打开路由的trace -mactrace on #是否打开mac的trace -movementtrace off 是否打开节点位置和移动信息的trace3.4.2 配置基站节点基站的其他特性与移动节点相同,唯一不同的是基站支持有线路由(wiredrouting)。通过这种方式,可以在需要是改变节点的配置。在用node config命令修改节点属性后,创建的所有节点具有相同的属性,也就是说属性值会保持不变,直到用户node config命令改变它们。因此在创建了支持aodv的移动节点和基站后,如果想创建所有属性值均为缺省值的简单节点,则需要使用reset选项来重新置所有属性为缺省值:$ns_ node-config reset。3.5 基于mobile ip 有线无线混合网络模拟实例3.3.1 纯无线网络模拟1)纯无线网络模拟脚本程序(见附录1)2)运行结果分析(1) 利用gawk命令,从simple.tr中提取出所有的tcp包,包括发送的包和接受的包,并将相关信息存储在tcp.tr中。(gawk命令见附录2)相关信息存在send.tr中; 利用awk命令,提取节点0发出的包的序列号和时间,并将提取节点2接受到的包的序列号和时间,将相关信息存在receive.tr中。 (提取发包与接包的程序见附录2) nam示意图如图3.3。 图3.3 nam演示 利用gnuplot命令,将send.tr 和receive.tr分别绘制成曲线。如3.4图所示。图3.4 利用gnuplot绘制的曲线 从图中可以看出两节点进行正常通信的时间大概是在95s117s之间。这也正说明了两个移动节点能进行通信是在一定的通信半径范围之内,超过了一定范围,两者将失去联系。由于tcp的慢启动性,通信的效率不高,直到95s左右才开始进行相对流畅的ftp通信,然而随着两者之间的距离的增大,两者又失去了通信。(2)封包遗失率:number of packet sent:17789 lost:82the rate of loss packet is: 0.4610(计算封包遗失率的程序见附录2)3.3.2 无线有线网络混合模拟1)无线有线网络混合模拟脚本程序(见附录1)2)运行结果分析(1) nam显示如图3.5所示: 图3.5 nam示意图 利用gawk命令,从wiredcumwirelee.tr中提取出所有mn收到的tcp包和发出的ack包的序列号和时间,并将相关信息分别存储在tcp.tr和ack.tr中。 利用gnuplot绘制通信过程示意图如图3.6所示。图3.6 gnuplot绘制通信的过程示意图横轴为模拟时间,纵轴为序列号。 从图中可以看出,通信在100s前、120s前后和157s前后完全失败。这是由于mn的移动所导致的。同时,tcp的慢启动特性也降低了通信的效率。(2) 封包遗失率: number of packet sent:43414 lost:75the rate of loss packet is: 0.1728 4 总结 在本次毕业设计中,让我学到了很多东西。由于选择的课题(基于mobile ip 有线无线混合网络模拟)比较前沿,在平时学习与生活中,都比较少见。因此,给我带来了很多困难,但在指导老师以及同组成员的帮组下,以及通过自己不断的努力,终于顺利地完成了任务。然而由于自身水平的限制,未能够做到对课题做更深入的研究,比如:ns-2中的类的理解、模拟运行结果分析的不够全面、移动ipv4的扩展技术等。下面是我论文的主要内容:本文先对ipv4协议的特点作了分析,并指出了ipv4在移动性方面的不足。在这种情况下,引出了移动ipv4协议,并详细阐述了移动ipv4所能解决的问题、应用的范围、设计的目标和它的基本内容,以及移动ipv4的协议的功能和总体流程。接着,对ns-2作了基本介绍,主要包括ns-2的目录结构、ns-2的网络模拟方法以及四个重要的辅助性工具(nam、gnuplot、gawk、trace)。最后,引入了本文的主体,基于mobile ip有线无线混合网络模拟,在本章中对有线无线混合模拟的层次化地址设置、创建移动节点、移动节点的运动以及基站节点和无线节点配置的方法作了介绍。同时,引入了两个实例,通过动画显示了模拟中移动节点的运动过程,并对实例的运行结果作了详细分析,包括模拟中移动节点通信的过程以及通信中的丢包率,在其中包括对运行结果分析的方法和步骤。附录1纯无线网络模拟脚本程序:# 模拟选项set val(chan) channel/wirelesschannel ;# channel typeset val(prop) propagation/tworayground ;# radio-propagation modelset val(netif) phy/wirelessphy ;# network interface typeset val(mac) mac/802_11 ;# mac typeset val(ifq) queue/droptail/priqueue ;# interface queue typeset val(ll) ll ;# link layer typeset val(ant) antenna/omniantenna ;# antenna modelset val(ifqlen) 50 ;# max packet in ifqset val(nn) 2 ;# number of mobilenodesset val(rp) dsdv ;# routing protocol#建立一个simulator实例set ns_new simulator#设置traceset tracefd open simple.tr w$ns_ trace-all $tracefd set nf open simple.nam w$ns_ namtrace-all-wireless $nf 500 500#建立topography对象set topo new topography$topo load_flatgrid 500 500#创建godcreate-god $val(nn)#无线节点配置 $ns_ node-config -adhocrouting $val(rp) -lltype $val(ll) -mactype $val(mac) -ifqtype $val(ifq) -ifqlen $val(ifqlen) -anttype $val(ant) -proptype $val(prop) -phytype $val(netif) -channeltype $val(chan) -topoinstance $topo -agenttrace on -routertrace off -mactrace on -movementtrace off#新建节点 set node_(0) $ns_ node $node_(0) random-motion 0set node_(1) $ns_ node $node_(1) random-motion 0#节点标签与初始位置设定$node_(0) label mn1$node_(0) set x_ 5.0$node_(0) set y_ 2.0$node_(0) set z_ 0.0$node_(1) label mn2$node_(1) set x_ 390.0$node_(1) set y_ 385.0$node_(1) set z_ 0.0#节点移动性$ns_ at 50.0 $node_(1) setdest 25.0 20.0 15.0$ns_ at 10.0 $node_(0) setdest 20.0 18.0 1.0$ns_ at 100.0 $node_(1) setdest 490.0 480.0 15.0 #建立ftp业务,基于tcp来承载set tcp new agent/tcp$tcp set class_ 2set sink new agent/tcpsink$ns_ attach-agent $node_(0) $tcp$ns_ attach-agent $node_(1) $sink$ns_ connect $tcp $sinkset ftp new application/ftp$ftp attach-agent $tcp$ns_ at 5.0 $ftp start #事件
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 住宅小区外墙改造协议
- 矿泉水厂保温系统安装协议
- 网络短视频副导演招聘协议
- 装饰装修劳务协议
- 市场调研门头租赁合同
- 污水处理工程劳务合同模板
- 创业学校租赁合同
- 花艺作品销售顾问聘用协议
- 建筑工程施工合同:生态保护工程
- 花园租赁协议模板
- 艾灸基础理论知识单选题100道及答案解析
- 晨会安全讲话稿范文大全集
- 汽车美容装潢技术电子教案 2.2-汽车内部清洗护理
- 2023年中国铁塔招聘笔试真题
- 职业教育国家在线课程申报书
- 2025届高考语文复习:小说情节概括+课件
- 国开2024年秋《机电控制工程基础》形考任务2答案
- DL-T5434-2021电力建设工程监理规范
- 西方近现代建筑史智慧树知到期末考试答案章节答案2024年天津大学
- (高清版)TDT 1055-2019 第三次全国国土调查技术规程
- 天堂旅行团读书分享
评论
0/150
提交评论