《毕业设计(论文)基于Mobile IP有线无线混合网络模拟.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于Mobile IP有线无线混合网络模拟.doc(29页珍藏版)》请在三一办公上搜索。
1、目录引言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 有线
2、无线混合模拟的层次化地址设置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、计算技术的发展和人们对网络技术越来越强的依赖,这3方面一起推动着将移动计算机与其他计算机相连的要求,包括与固定的和移动的计算机相连。这使得提供移动的Internet接入成为当前Internet技术研究的热点之一。 由于IPv4协议原本是为固定有线网络设计开发的,缺乏移动性的有效支持,因此,IETF(互联网任务工程组)提出了移动IPv4协议,对IPv4协议栈进行了扩充。移动IPv4协议实现了让人们在任何地点都可以随时连接Internet。它的主要设计目标是移动节点在改变网络接入点时,不必改变网络的IP地址,能够在移动过程中保持通信的连续性。然而,移动IPv4所采用的移动性管理方案存在许多不足,主
4、要表现在切换的性能不高,信令开销过大,切换时延太长,切换中的质量难以保证,同时也存在安全性问题。目前,针对这些问题,学术界和工业界正在研究如何对移动IPv4技术进行扩展和优化,这对下一代移动Internet目标的实现至关重要。 NS-2是目前通信网络领域一个非常流行的模拟软件,在国际上被广泛使用。NS-2是一个免费的软件,在学习和研究中使用该软件,不需要支付昂贵的费用。同时,它具有强大的模拟功能,丰富的网络协议组件。使用NS-2进行通信网络协议的学习和研究,已经成为一个潮流。但是,由于NS-2是开放源代码的免费软件,文档资料繁杂,并采用OTcl和C+两种程序设计语言,因此,学习起来困难较大。1
5、 移动IPv41 TCP/IP协议 互联网是通过一套规则或协议来保证不同类型的计算机网络实现相互通信的,其核心就是著名的TCP/IP协议。TCPIP协议的中文含意分别是传输控制协议(TCP)和网际协议(IP),它是在 1983年在互联网的前身ARPANET上使用并成为标准的通信协议。所谓通信协议就是为了使网络中不同设备能相互进行正常的数据通信,而预先制定的一整套通信双方相互了解和共同遵守的格式和约定。TCP/IP协议几乎就是互联网的代名词,没有TCP/IP协议,就没有今天的互联网。下面将介绍TCP/IP协议的内容。1.1.1 IPv4协议的特点1)IPv4协议格式 IPv4分组由报头和数据区两
6、部分组成,每部分的格式如图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分
7、组有惟一的标识。占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)物理地址:计算机的物理地址是指分配给
8、网卡的地址。此地址在网卡的生产过程中就被固定在卡上。有些网卡被称为可配置卡,它的地址可变。以太网的硬件地址也称为介质访问控制(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网络标识
9、符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)参考模型的第三层,负责将数据
10、包从源节点路由到目的地,中间穿过由链路、交换设备和路由器等构成的各种网络拓扑。主机和路由器则通过手工配置和动态路由协议获得到达网络上各个目的节点的路径。IP为Internet提供了路由能力。IP给所有节点(主机和路由器)分配逻辑地址,称为IP地址,每台主机的各个端口都分别有一个IP地址,端口是指节点与一条链路相连时经过的硬件和软件。IP地址包括网络前缀和主机部分,同一条链路上的所有主机通常由相同的网络前缀和不同的主机部分,这使得IP可以依据目的节点IP地址的网络前缀部分来进行路由选择,从而使路由器只需保存一条简单的网络前缀路由,而不必为每台主机保存一条单独的路由,这是Internet可扩展性的
11、一个主要特点。由于采用了网络前缀路由,如果节点从一条链路切换的到另一条链路而没有改变它的IP地址,那么它就不可能在新链路上接受到数据包。从理论上说,这可以采用特定主机路由(与网络前缀路由相对应)来解决。也就是说,每当主机移动时,就向许多台路由器传送特定主机路由,然而,这种方法在可扩展性、可靠性和安全性方面都存在问题。另一种方法是在数据链路层解决这个问题,这要求对每一种链路定义一种解决方法,而且数据链路层提供的移动能力在地理范围上受到限制。1.2 移动IPv4协议 1.2.1 移动IPv4解决的问题前面已经介绍过,全球互联网的可扩展性依赖于网路前缀路由,而不是特定主机路由,这要求接在同一链路上的
12、IP地址具有相同的网络前缀部分。当节点从一条链路切换到另一条链路,它的IP地址的网络前缀部分不再与新链路的网络前缀相等。这样,网络前缀路由技术就没有办法将数据包发送到节点的新位置上。前面也已提到对这个问题的解决方法特定主机路由和改变移动节点的IP地址,这些方法不适于在全互联上提供节点的移动功能。特定主机路由技术存在可扩展性差、可靠性低和安全隐患大等问题,而节点在移动时改变IP地址又使链路切换使无法保持现有通信。移动IPv4是一种在全球互联网上提供移动功能的方案,它具有可扩展性较高、可靠性较强和安全性较高等特定,并使节点在切换链路时仍可保持正在进行的通信。值得特别注意的是,移动IPv4提供了一种
13、IP路由机制,使移动节点可以用一个永久的IP地址连接在任何链路上。1.2.2 移动IPv4应用的范围移动IPv4协议适合于宏观移动的场合,即IP子网间移动;而对微观移动的支持则需要对移动IPv4协议加以扩展。所谓宏观移动,是指节点的移动跨越了不同的子网,而微观移动是指节点在小范围的一个子网里移动。在微观移动的场合,切换必须在很短的时间里完成。1.2.3 移动IPv4的设计要求与目标 设计IPv4时有以下几个要求:(1)移动节点在改变数据链路层的接入点后应仍能与互联网上的其它节点通信;(2)无论移动节点连接哪个数据链路层接入点,它应仍能用原来的IP地址进行通信;(3)移动节点应能与不具备移动IP
14、功能的计算机通信;(4)移动节点不应比互联网上的其它节点面临新的或更多的安全威胁。设计IPv4时有以下几个目标:移动计算和无线通信天生就是一对。笔记本电脑使计算不仅限于台式机,但有线的网络连接限制了它们的使用场合。一些无线网络使计算机在任何时间、任何地方都可以进行通信,但许多这种网络要么太贵要么太慢,或者是又贵又慢。包括移动IPv4在内,路由协议都要求在网络的各种节点间传送路由更新信息。为使移动IPv4能在无线链路上工作,使这些更新信息的数量和频率尽量减少是设计目标之一。另一个设计目标是尽量简化移动节点软件,这可以增加使用移动IPv4的节点数目,特别是那些内存和处理能力受到限制的寻呼机、智能蜂
15、窝电话、个人记事本以及笔记本电脑。最后,前面已经提到,因特网已经认识到了IPv4地址的短缺问题,因此,移动IPv4的另一个目标是,尽量避免要求移动节点使用多个地址,或要求为移动节点准备一个大的地址空间。1.2.4 移动IPv4的基本内容1)移动IPv4的功能实体 移动IPv4网络中包含四种功能实体:家乡代理(HA)、外地代理(FA)、移动节点(MN)、对端节点(CN)。图1.3给出了移动IPv4的网络体系结构。(1)移动节点(Mobile Node-MN).是指从一个网络或子网链路上切换到另一个网络或子网的主机或者路由器。移动节点可以改变它的网络接入点,但不需要改变IP地址,并且使用原有的IP
16、地址能够继续与其他节点通信。(2)家乡代理(Home Agent-HA)。是指位于移动节点家乡链路(Home Link)上的路由器。当移动节点离开家乡网络时,它负责把发往移动节点的分组通过隧道转发给移动节点,并且维护移动节点当前位置的信息。(3)外地代理(Foreign Agent-FA)。是指位于移动节点所访问的网络上的路由器,为注册的移动节点提供路由器服务。它接受移动节点的家乡代理通过隧道发来的报文,进行拆封后发给移动节点;对于移动节点发出的报文,外地代理提供类似默认路由器的服务。(4)CN是与MN进行通信的节点,一个MN可能有多个CN。图1.3 移动IPv4的网络体系结构移动节点在家乡网
17、路上申请一个长期的IP地址。这个家乡地址和家乡网络上固定主机的地址一样。当移动节点离开家乡网络以后,移动节点在外地网络将获得一个反映移动节点当前位置的转交地址。移动节点使用家乡地址作为发送数据包的源地址。2)其他的常用术语 (1)代理通告。是一种特殊的路由通告消息。(2)通信对端节点。是指除移动节点通信的对等实体,可简称为通信对端。它可以是移动节点或者位置固定的节点。(3)外地网络。是除移动节点家乡网络外的任何网络,也就是网络前缀与移动节点家乡地址与网络前缀不同的网络。(4)移动代理。是指家乡代理或外地代理。(5)家乡网络。是指与移动节点家乡地址具有相同前缀的网络。发往移动节点家乡地址的IP分
18、组会被标准的IP路由机制转发到其家乡网络上。(6)链路层。是指节点通信的载体,是网络层的下层。(7)节点。是指主机或路由器。(8)隧道。当一个数据分组被封装在另一个数据分组的载荷中进行传送时,所经过的路径。1.2.5 移动IP的协议概述1)移动IPv4协议中的三种功能移动IPv4定义了三种功能,包括代理搜索、注册和隧道。(1)代理搜索:代理搜索是MN确定它的当前位置、检查它是否移动了以及得到一个外地代理转交地址的方法。如果在MN的外地链路上没有外地代理,那么MN可以通过手工配置或通过DHCP(动态主机配置协议)得到一个配置转交地址。代理搜索通过HA和外地代理周期的发送代理广播消息来实现,代理广
19、播消息是ICMP(因特网控制报文协议)路由器广播消息的扩展,MN也可以发送代理请求来要求在它当前链路上的代理立即发送一条广播。(2)注册:注册是MN向它的HA通知它当前的转交地址的一种认证机制,也是MN在回到家乡链路上后注销转交地址的机制。MN也可以通过注册过程得到它的HA的地址。注册请求消息是由MN发往它的HA的,途中可能会经过外地代理。HA通过向MN回答一条注册应答消息来通知MN对它的请求的处理接受或拒绝。注册应答也可能经过外地代理。(3)隧道:隧道技术是移动IPv4定义的第三种主要功能,是对数据包进行路由的特殊规程,尤其是对源或目的地是当前连接在外地链路上的MN的数据包。连接在家乡链路上
20、的MN则和其它固定主机或路由器一样进行数据包的路由。隧道协议被用来向那些连接在外地链路上的MN传送数据包。要发往MN家乡地址的数据包先被路由到它的家乡链路上,这是采用网路前缀路由的必然结果。在家乡链路上,HA截获数据包,然后通过隧道将数据包送到MN的转交地址。在那里,数据包被从隧道中取出,然后送往MN。在相反的方向,MN产生的数据包用它的家乡地址直接路由到它们的目的地。如果有外地代理,它将作为MN的默认路由器。从对端节点发往MN的数据包通常采用未经优化的路径,数据包先被送往MN的家乡链路,然后再经过隧道送往MN的当前位置上。要解决这个问题,必须让MN将它当前的转交地址送给各个对端节点。2)家乡
21、地址与转交地址 每个MN有两个地址:(1)家乡地址:这是MN的CN所知道的MN的IP地址。当MN移动时,它的家乡地址是不变的。MN家乡地址的网路前缀与它的家乡链路上的节点的网络前缀是一样的。(2)转交地址:MN将这个地址暂时作为从MN的HA发出的隧道的出口。当MN在Internet上移动时,转交地址是会改变的。转交地址有两类:外地代理转交地址是有一个端口在MN当前链路上的那台外地代理的地址,而配置转交地址是暂时分配给MN某一个端口的地址。MN的转交地址、外地链路和外地代理是密切相关的。3)移动IP协议的总体流程 移动IP协议大致包括以下流程:(1)移动代理通过代理公布消息公布其存在,移动节点可
22、以通过请求一个代理公布消息,或者接受到代理公布消息。(2)移动节点通过代理公布消息后,可以确定是在家乡网络还是外地网路。(3)如果移动节点发现自己在家乡网路,它将不运行移动程序。如果移动节点从外地网络回到家乡网络,它将取消在家乡代理上的注册。(4)如果移动节点检测到它移动到了外地网络时,从外地网络上获取一个转交地址。(5)移动节点和家乡代理通过交还注册请求与注册应答消息,通过外地代理在家乡代理上进行注册。(6)到达移动节点的家乡地址的数据包被家乡代理截获,通过隧道传送到移动节点的转交地址。在隧道的末端,由外地代理或者移动节点自己解封后到达移动节点上的应用。(7)在相反的方向上,有移动节点发送的
23、数据包用标准的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+语言来编
24、写和实现,用OTcl作为一个解释器,来执行用户的命令脚本。NS-2实现了很多的网络协议,这些协议构成了一个库,而且由两个相互影射的体系构成,一个是C+编译对象体系,另一个是OTcl解释对象体系。编译对象体系使得模拟的执行速度很快,而OTcl解释对象体系使得配置一个模拟的场景更加直接和简单。NS-2的特点如下说明:(1)采用面向对象、离散事件驱动的模拟方法,易于对实际网络建模,模拟效率高,系统易于扩展。而面向对象的模拟使得网络实体和模拟模型之间的对应显得更加直接。(2)NS-2使用OTcl和C+两种程序设计语言,兼顾模拟效率和系统建模的灵活性。编程者可以使用面向对象、解释执行的脚本程序设计语言O
25、Tcl进行模拟配置,并通过编写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中包含有几个很重要的目
26、录,其中,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脚本。确定模拟的
27、目标利用进行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的动画程序,用来观察网络模拟的轨迹或者真实环境中生成的包的轨迹
28、。Nam支持拓扑的层次,支持包级的动画和多种多样的数据分析工具。Nam可以从namtrace文件中读取动画事件的命令,事件命令保存在文件中,在演示时进行读取和播放。要使用Nam对模拟过程进行演示,首先要产生一个namtrace文件,它是在模拟过程中由NS写入的。在NS模拟过程中,可以产生拓扑配置、调整、包的跟踪等信息,任何应用都可以产生namtrace文件。Nam在读取namtrace文件后创建一个拓扑,弹出窗口,进行调整,然后停止在时间0。Nam中可以显示各种各样的网络对象,包括节点、链路(有线网络)、数据流、无线网络中的丢包等。2.5 Trace概要Trace的功能是详细记录模拟的过程,t
29、race可以根据用户的需要记录模拟过程中的任何一个细节。当一次模拟结束之后,所留下的唯一记录就是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中的意
30、思为:一个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)等特色
31、。因此,使用awk撰写程序比起使用其它语言更简洁便利且节省时间。awk还具有一些内建功能,使得awk擅于处理具有资料列(Record),字段(Field)型态的资料;此外,awk内建有pipe的功能,可将处理中的资料传送给外部的 Shell命令加以处理,再将Shell命令处理后的资料传回awk程序,这个特点也使得awk程序很容易使用系统资源。2.7 gnuplot概要gnuplot 是一个命令导向的交谈式绘图程序(command-driven interactive function plotting program)。可以运行在Windwos、Dos和Linux操作系统中。本文中使用的gnu
32、plot是在cygwin和windows结合下安装的。使用者输入的每一项命令,可以逐步设定或修改绘图环境。它以图形表达数据或函数,使我们可以利用图形做更进一步的分析。3 基于Mobile IP有线无线混合网络模拟3.1 有线无线混合模拟的层次化地址设置 NS-2中地址有三个层次,即域(Domain)、簇(Cluster)和节点(Node)。需要创建三种节点,网络模拟中,需要创建有线节点、基站节点和无线节点。要注意,基站节点是一个特殊的节点,它既是有线节点,也是无线节点。所有的无线节点必须设置一个基站,以便与该无线域外的其他有线节点进行通信。 如图3.1所示网络拓扑:两个无线局域网通过一个路由器
33、连接在一起。基站和移动节点之间采用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 AddrP
34、arams 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中实现的。具体创建
35、如下: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。然而,在创建移动节点之前要定
36、义移动节点的移动范围,通常使用下面的方法定义平面拓扑的长和宽: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 va
37、l(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)
38、 设定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 是否打开节点位置
39、和移动信息的Trace3.4.2 配置基站节点基站的其他特性与移动节点相同,唯一不同的是基站支持有线路由(WiredRouting)。通过这种方式,可以在需要是改变节点的配置。在用node config命令修改节点属性后,创建的所有节点具有相同的属性,也就是说属性值会保持不变,直到用户node config命令改变它们。因此在创建了支持AODV的移动节点和基站后,如果想创建所有属性值均为缺省值的简单节点,则需要使用reset选项来重新置所有属性为缺省值:$ns_ node-config reset。3.5 基于Mobile IP 有线无线混合网络模拟实例3.3.1 纯无线网络模拟1)纯无线网络
40、模拟脚本程序(见附录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绘制的曲线 从图中可以看出两节点进行正常
41、通信的时间大概是在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示意
42、图 利用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 总结 在本次毕业设计中,让我学到了很多东西。由于选择的课题(基于M