一种动态网络路由仿真系统的制作方法

文档序号:7953433阅读:194来源:国知局
专利名称:一种动态网络路由仿真系统的制作方法
技术领域
本发明属于一种计算机软件与网络通信技术,具体地讲是一种动态网络路由仿真系统。
背景技术
在真实的网络环境中,各路由协议(或算法)所用于计算路由的状态信息是不精确的。导致这种不精确性的原因主要有①链路存在不可忽略的传输延迟;②状态信息的更新不可能太频繁;③拓扑聚集的过程忽略了某些状态信息。其中,链路的传输延迟不能忽略却又客观存在,无法消除或减少,只能通过改进路由算法来容纳这种不精确性的存在;但对于后两者,可以通过采用相应有效的算法或策略来减小它们的影响。真实的网络环境是一个动态而复杂的系统,决定网络动态的因素是状态信息的动态性,而状态信息的不精确性也主要是由它的动态性决定的。动态状态信息主要包括①网络的拓扑结构;②链路剩余带宽的大小;③节点中数据队列的长度。如何模拟这些状态信息是设计一套动态路由仿真系统必须事先考虑的问题。对于拓扑结构变化的模拟,NS2的路由协议模型中有了现成的网络动态模型,可以直接借用。而对于链路剩余带宽的频繁波动以及节点中数据队列的长度变化,则可以通过设定数据流的类型和特性来仿真。
NS2作为DRS的开发平台,对DRS的设计与实现起着至关重要的作用,网络仿真软件NS2是美国DARPA所资助的VINT项目的核心部分,主要由LBNL、CMU、UCB、USC/ISI和Xerox PARC等大学与研究机构合作开发,现由USC/ISI维护。其目的是构造虚拟的网络平台,提供一套研究与开发网络协议和算法的仿真工具。NS2的软件包主要由Tcl/Tk、OTcl、Ns和TclCL组成。其中Tcl是一种开放式的脚本语言,其语法结构与C语言类似,而且提供了与C语言编程的接口,即可以将Tcl的程序代码嵌入到C的代码中;这种脚本语言最明显的特点就是其解释器能够很容易地嵌入到其它的应用程序之中,因此,NS2将它作为自己的编程语言,实现网络仿真。Tk是与Tcl相配套的图形开发工具包,用于图形界面的编程。OTcl则是Tcl面向对象的语言扩展,其语法结构与C++语言相似。Ns由模拟引擎和大量的仿真部件组成,是面向对象的仿真器,也是NS2软件包的核心;其本身由C++写成,并带有一个前端的OTcl解释器,能够同时满足两种语言(C++和OTcl)的编程需要;习惯上经常把Ns也称为NS2。在TclCL中定义了许多类,用于提供OTcl与C++的编程接口,使由C++编写的网络对象和变量能够同时出现在两种语言(C++和OTcl)中。

发明内容
一套完整的网络仿真系统通常应包括模拟引擎、拓扑模型、协议模型、流量模型、跟踪与监视模型以及可视化后续处理工具等仿真部件,如图1所示。其中模拟引擎是仿真系统的核心部件,它负责完成整个仿真系统的线程调度、处理器分配、事件队列、时钟同步设置等基本功能。拓扑模型提供网络拓扑的基本部件,包括各类节点、链路以及拓扑原型等。协议模型模拟网络协议的工作过程,对虚拟网络中的动态数据流进行相应地操作。流量模型提供各种类型的流量发生器,模拟各类应用程序,以产生虚拟网络中的动态数据流。跟踪与监视模型是分析和评价协议(或算法)性能的基础,其主要功能是跟踪、显示和监视仿真运行的整个过程,采集虚拟网络的性能状态参数及输出运行结果。可视化的后续处理工具主要用于观察仿真运行的过程以及显示统计分析的结果。
本发明的目的是提供一种在NS2的路由协议模型中加入了有关状态信息更新的新策略,设计出状态更新触发器、hold-down定时器等状态信息的控制部件,同时对NS2的某些流量发生器作了改进,在NS2的协议模型中增加了资源预留、链路带宽检测、准许接入控制以及按需路由计算等功能模块的动态网络路由仿真系统。
为了实现上述目的,本发明所采用的技术方案是包括模拟引擎、拓扑模型、协议模型、流量模型、跟踪与监视模型以及可视化后续处理工具等仿真部件,其中协议模型主要包括QoS路由计算、资源预留和状态信息更新三个功能模块,其特点是状态信息的更新有两种,周期性更新和触发式更新,周期性更新按照固定的时间间隔向网络中的其它节点周期性地广播更新消息;触发式更新则通过检测链路剩余带宽的改变Δb来触发更新消息的发送,其中Δb=|bnew(i,j)-bold(i,j)|bnew(i,j)---(1)]]>式中,bold(i,j)和bnew(i,j)分别为链路(i,j)状态变化前后的剩余带宽值。
本发明的有益效果在于(1)探索不同的状态更新策略对状态信息不精确性的影响规律,同时提出有效的状态更新策略,并实现此功能模块。可以实现对状态信息不精确性的模拟,也可以控制状态信息的不精确性。
(2)设计出能够模拟链路带宽波动以及数据队列长度变化的流量模型。可以模拟真实的网络动态。
(3)考虑到QoS路由的需要,本发明还要设计出资源预留、准许接入控制、链路带宽检测以及按需路由计算等功能模块,作为对NS2路由协议模型的补充。


图1为本发明的体系结构框图。
图2为本发明的DRS的事件调度方式图。
图3为本发明的DRS的协议模型图。
具体实施例方式
下面结合附图对本发明作进一步的描述。
本发明包括模拟引擎、拓扑模型、协议模型、流量模型、跟踪与监视模型以及可视化后续处理工具等仿真部件。
模拟引擎目前的网络仿真软件大多采用如图1所示的体系结构,与这些仿真软件类似,本发明的动态路由仿真软件DRS也采用这种体系结构进行设计。其中模拟引擎是DRS的基础仿真部件,它包括线程调度、处理器分配、事件队列、时钟同步设置等功能模块。模拟引擎的设计思想具有通用性,通常采用事件驱动的方式,根据设定的时序事件队列控制整个仿真过程的运行,事件调度的时间单位是虚拟时钟秒。模拟引擎的线程调度和处理器分配一般采用单线程的方式进行,并发事件按先调度先分配(FSFD)的方式处理,不支持抢占式的处理器分配,如图2所示。
协议模型DRS是以模拟网络路由动态为主的仿真软件,其协议模型主要包括QoS路由计算、资源预留和状态信息更新三个功能模块(当然还包括大量的、NS2本身具有的或我们自己开发的辅助性模块,如链路带宽检测、准许接入控制等功能模块),三者之间的关系如图3所示。现有的路由仿真软件仅限于对网络拓扑动态的模拟,还不能对真实网络的负载波动及其所引发的非精确状态信息进行有效地仿真,当然,也缺少对QoS路由的支持。有关QoS路由算法的部分并不属于设计仿真软件的内容,它属于路由协议(或算法)开发的范畴。如前所述,网络动态与非精确状态信息的仿真主要通过对流量负载和状态信息的更新进行模拟来实现。
1.状态信息的更新策略网络状态信息包括拓扑结构的连接性,链路的剩余带宽、延迟和代价,以及节点的队列延迟和代价。在这些状态信息中,拓扑的连接性、链路的传输延迟和代价以及节点的代价都具有相对的稳定性,因此,最能影响路由动态的状态信息是链路的剩余带宽与节点的队列延迟。需要说明的是,这里的队列延迟与前面提到的队列长度具有等效性。
传统的路由协议(如PNNI和OSPF)只广告拓扑连接性的信息,但在动态路由的过程中,某些动态的状态信息(主要是指链路的剩余带宽与节点的队列延迟)也需要广告到其它的节点中(采用flooding方式或通过生成树广播)。但由于链路的传输延迟以及状态信息的频繁波动,使得每个节点上有关其它节点与链路的状态信息往往是过时的、不精确的。用δ表示状态信息的不精确率δ=supremum{|bact(i,j)-bcal(i,j)bcal(i,j)}---(1)]]>式中,bact(i,j)表示在计算路由时链路(i,j)的实际剩余带宽,bcal(i,j)表示用于路由计算的剩余带宽。这些过时、不精确的状态信息会严重地影响到QoS路由的计算,要尽量地保证这些状态信息的及时性和精确性只能通过状态更新来实现。
状态信息的更新策略主要有两种周期性更新和触发式更新。周期性更新按照固定的时间间隔向网络中的其它节点周期性地广播更新消息;触发式更新则通过检测链路剩余带宽的改变Δb来触发更新消息的发送。
Δb=|bnew(i,j)-bold(i,j)|bnew(i,j)---(2)]]>式中,bold(i,j)和bnew(i,j)分别为链路(i,j)状态变化前后的剩余带宽值。周期性更新引入了一种可预测负载的状态信息交换方式;触发更新则可以提供更加精确的状态信息,特别是在链路负载较重的情况下,触发式更新能对很小的状态改变产生反应,当然其消息负载也较大。因此,通常将这两种更新策略与hold-down定时器结合起来使用,hold-down定时器能对过快的状态更新起到抑制的作用。
本发明使用一个带有三个更新元素的混合更新模型,该模型包括一个更新触发器(由链路剩余带宽的改变来触发状态更新),一个hold-down定时器(用来保证状态更新的最小时间间隔),和一个刷新周期(提供更新时间间隔的上界)。另外,在周期性更新的过程中,为了防止由于更新同步而产生负载峰值,对每条链路分配一个更新随机数,以产生连续、平滑的状态更新。
2.更新参数的选择频繁的状态更新可以保证状态信息的及时性和精确性,但由此产生的大量更新消息会严重降低QoS路由的性能。我们用θ=2λhN/L表示单位时间内每条链路的更新次数(式中各参数的含义请参照后面的内容),以此来量化更新消息的负载。如何选择状态更新参数主要由路由阻塞率、资源预留失败率、更新消息负载、流量负载类型以及网络拓扑结构等因素来决定。
(1)刷新周期刷新周期越长,更新消息的负载及处理资源的消耗就越少,但状态信息的不精确度也越高。大粒度(较大的刷新周期)的状态刷新会增加连接的阻塞率(包括路由阻塞率和资源预留失败率),尤其会增加对路由性能有显著不利影响的资源预留失败率;特别是在数据流的持续时间较短、拓扑结构比较稀疏的情况下,这种不利的影响会表现得更加明显。与触发更新和hold-down定时器结合起来使用,这里的刷新周期一般为产生连接请求时间间隔的30倍左右。
(2)触发粒度大粒度的触发可以减少处理资源的开销和更新消息的负载。尽管连接的阻塞率几乎与触发粒度的大小无关,但大粒度的触发可以降低路由阻塞率,同时增加资源预留失败率。总体来讲,网络的拓扑结构和流量类型与触发粒度的关系不大,在选择触发粒度时可以不考虑对它们的影响。根据以上的分析,通常选择一个较大粒度的触发器,同时选用一个较小时间的hold-down定时器来阻止过于频繁的触发更新。
(3)Hold-down时间增大hold-down定时器的时间会增加资源预留的失败率,hold-down定时器的时间通常被设定得很小,一般为产生连接请求时间间隔的1-2倍。
流量模型在设计DRS的流量模型时本发明借用了NS2的某些动态流量发生器,同时也保留了NS2的静态流量模型。本发明所用到的动态流量发生器主要有EXPOO发生器、POO发生器和Trace发生器,其作用是模拟应用程序产生具有不同特征的数据流。在静态流量模型中,节点以恒定的速率发送数据,以产生持续不变的流量,这种流量模型主要由NS2的CBR流量发生器组成。
(1)流量类型在整个网络拓扑中,本发明采用随机的方式选择源节点和目的节点对。每个源节点所产生的连接请求数在一个时间间隔内满足Poisson分布,其时间间隔为15秒,到达率为λ。源节点上的连接请求也可以以单一突发的方式产生,请求到达的时间间隔符合形状参数为a的Weibull分布。
(2)流的特征流的特征对QoS路由计算、状态更新以及状态信息的不精确性都有很大的影响。为了便于在实验中比较性能,本发明设定流的持续时间满足两种分布指数分布和Pareto分布,其中指数分布的平均时间为τ,Pareto分布的形状参数α=2.5。全部流的带宽值在区间[b-s/2,b+s/2]上均匀分布,其中b为带宽的平均值,一般为链路容量的2-5%,s为带宽的变化量,通常为链路容量的5-10%。
最后,本发明引入网络负载系数ρ=λτbhN/L,式中,N和L分别为网络的节点数和链路数,h为全部源-目的节点对之间的平均距离(用跳数表示)。
本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
权利要求
1.一种动态网络路由仿真系统,包括模拟引擎、拓扑模型、协议模型、流量模型、跟踪与监视模型以及可视化后续处理工具等仿真部件,其中协议模型主要包括QoS路由计算、资源预留和状态信息更新三个功能模块,其特征在于状态信息的更新有两种,周期性更新和触发式更新,周期性更新按照固定的时间间隔向网络中的其它节点周期性地广播更新消息;触发式更新则通过检测链路剩余带宽的改变Δb来触发更新消息的发送,其中Δb=|bnew(i,j)-bold(i,j)|bnew(i,j)---(1)]]>式中,bold(i,j)和bnew(i,j)分别为链路(i,j)状态变化前后的剩余带宽值。
2.如权利要求1所述的动态网络路由仿真系统,其特征在于流量模型借用了NS2的某些动态流量发生器,同时也保留了NS2的静态流量模型,所用到的动态流量发生器主要有EXP00发生器、P00发生器和Trace发生器,其作用是模拟应用程序产生具有不同特征的数据流,在静态流量模型中,节点以恒定的速率发送数据,以产生持续不变的流量,这种流量模型主要由NS2的CBR流量发生器组成(1)流量类型在整个网络拓扑中,采用随机的方式选择源节点和目的节点对,每个源节点所产生的连接请求数在一个时间间隔内满足Poisson分布,其时间间隔为15秒,到达率为λ,源节点上的连接请求也可以以单一突发的方式产生,请求到达的时间间隔符合形状参数为a的Weibull分布;(2)流的特征设定流的持续时间满足两种分布指数分布和Pareto分布,其中指数分布的平均时间为τ,Pareto分布的形状参数α=2.5,全部流的带宽值在区间[b-s/2,b+s/2]上均匀分布,其中b为带宽的平均值,一般为链路容量的2-5%,s为带宽的变化量,通常为链路容量的5-10%;引入网络负载系数ρ=λτbhN/L式中,N和L分别为网络的节点数和链路数,h为全部源-目的节点对之间的平均距离。
全文摘要
本发明涉及一种动态网络路由仿真系统,包括模拟引擎、拓扑模型、协议模型、流量模型、跟踪与监视模型以及可视化后续处理工具等仿真部件,其中协议模型主要包括QoS路由计算、资源预留和状态信息更新三个功能模块,其特点是状态信息的更新有两种,周期性更新和触发式更新,周期性更新按照固定的时间间隔向网络中的其它节点周期性地广播更新消息;触发式更新则通过检测链路剩余带宽的改变Δ
文档编号H04L29/06GK1822560SQ20061001873
公开日2006年8月23日 申请日期2006年4月10日 优先权日2006年4月10日
发明者李腊元, 李春林, 颜昕 申请人:武汉理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1