一种网络拓扑仿真方法

文档序号:7953432阅读:552来源:国知局
专利名称:一种网络拓扑仿真方法
技术领域
本发明属于一种计算机软件与网络通信技术,具体地讲是一种网络拓扑仿真方法。
背景技术
拓扑建模是拓扑仿真的理论基础,通常用一个加权有向连通图来表示网络拓扑,图中的节点和边分别表示网络中的路由器(或交换机)和链路,而网络中的主机则不被考虑。当图中的有向边具有对称特性,即链路的带宽、延迟和代价在两个方向上都相等,而且边的代价就是其欧几里得长度。当一拓扑图中有个n节点、m条边,为了量化拓扑的特征,使之便于测量和比较,定义以下三种特征度量(1)节点的度特别是节点的平均度,定义为2m/n,叶节点的度为1。
(2)网络直径拓扑图中任意两节点之间的最大跳数或几何长度。
(3)双向元素拓扑图中有向边的数量。
网络拓扑可以分成三类①规则拓扑,如环、树、星型等;②熟知拓扑,如ARPAnet和NSFnet主干网;③随机拓扑。在设计Top-Builder(拓扑仿真引擎)时所用到的拓扑模型主要是随机拓扑模型中的Waxman模型和BarabasiAlbert模型以及Internet的拓扑模型。
目前,网络拓扑的仿真方法主要有GT-ITM、Tiers和Inet等,它们都侧重于Internet拓扑结构的描述和建模,对拓扑元素属性的描述则比较少,从而影响了它们仿真网络拓扑的精确性。另一方面,这些仿真方法所强调的是Internet拓扑的描述和建模,对实验性的网络拓扑则缺乏实用性。

发明内容
本发明的目的是提供一种能精确地描述Internet的拓扑结构,且能为网络研究者提供测试其算法或策略的网络拓扑原型的通用网络拓扑仿真方法,以克服上述的不足。
为了实现上述目的,本发明所采用的技术方案是采用Waxman和BarabasiAlbert的随机拓扑模型以及Internet的混合建模方法,在FreeBSD4.7的平台之上,利用gcc2.95结合Tcl/Tk8.3构成,并且提供与NS2的接口,其特点是首先从配置文件(*.conf)中读取生成网络拓扑图所需要的模型参数,该参数被分析程序(Parser.h和Parser.cc)解析后由拓扑仿真引擎生成拓扑文件(*.tb),最后由转换程序(tb2ns.tcl)将拓扑文件转换成NS2的脚本。
本发明的有益效果在于不仅要精确地描述Internet的拓扑结构,为Internet拓扑的设计提供参考,而且能为网络研究者提供测试其算法或策略的网络拓扑原型,同时还应具有良好的可扩展性。


图1为本发明拓扑仿真引擎的体系结构图。
图2为本发明拓扑仿真引擎生成的层次化拓扑图。
图3为本发明拓扑仿真引擎的图形用户界面图。
具体实施例方式
下面结合附图和实施例对本发明作进一步的描述。
本发明采用Waxman和BarabasiAlbert的随机拓扑模型以及Internet的混合建模方法,在FreeBSD4.7的平台之上,利用gcc2.95结合Tcl/Tk8.3开发完成,并且提供了与NS2的接口,本发明首先从配置文件(*.conf)中读取生成网络拓扑图所需要的模型参数,该参数被分析程序(Parser.h和Parser.cc)解析后由拓扑仿真引擎生成拓扑文件(*.tb),最后由转换程序(tb2ns.tcl)将拓扑文件转换成NS2的脚本。
本发明的拓扑仿真引擎(Top-Builder)是核心,其体系结构如图1所示,拓扑仿真引擎由一个类Topology实现,Topo1ogy类包括两个数据成员Model和Graph。Model是一个抽象的基类,Model类的各个子类负责各种拓扑模型的实现;Graph也是一个类;Graph类派生出Nodes和Edges两个子类。
在Top-Builder中,随机拓扑或Internet拓扑的生成过程大致可以分为四步①在一个平面内放置节点;②用Waxman或BarabasiA1bert算法连接这些节点;③对拓扑元素分配属性,如节点的id号、链路的带宽、延迟和代价等;④输出tb(top builder)格式的拓扑文件。下面介绍几种网络拓扑具体的仿真过程。
(1)Router级别的拓扑Router级的拓扑图由RouterModel类生成。该类中的PlaceNodes函数采用随机分布或heavy-tailed分布的方式实现平面内节点的放置。当采用随机分布的方式放置节点时,每个节点在整个平面内随机地选择自己的位置;当采用heavy-tailed分布的方式时,Top-Builder将整个平面分割成若干个小方块(小方块的大小由配置文件中的参数决定),包含节点的小方块在整个平面内呈heavy-tailed分布,而在每个小方块内部节点的位置呈随机分布。RouterModel类中AssignBandwidth函数可按常量分布、均匀分布、指数分布或heavy-tailed分布来分配边的带宽值;边的延迟由边的欧几里得长度决定;边的代价为边的欧几里得长度。值得注意的是,目前Top-Builder只能模拟具有对称链路特征的网络拓扑。
(2)AS级别的拓扑AS级的拓扑图由ASModel类生成。这种拓扑与Router级拓扑的仿真方法十分相似,二者之间的区别仅在于每个AS节点都有容纳Router级拓扑图的能力。
(3)层次结构的拓扑以图2为例,层次化拓扑的仿真过程如下①生成AS级别的拓扑图;②对每个AS节点产生一个Router级的拓扑图;③按照AS级拓扑图的连接性,使用某种边的连接机制来连接各个Router级的拓扑图。
假设RT(i)和RT(j)表示任意两个Router级的拓扑图,u和v分别为RT(i)和RT(j)中的节点,本发明借用GT-ITM中几种边的连接机制来连接RT(i)和RT(j)。①随机连接u和v分别在RT(i)和RT(j)中随机选取;②最小度连接u和v分别是RT(i)和RT(j)中具有最小度的节点;③最小度非叶连接u和v分别为RT(i)和RT(j)中的最小度节点,并且不是叶子节点;④最小K-度连接u和v分别是RT(i)和RT(j)中度大于或等于K的节点。
本发明的Top-Builder的接口按下述方法完成1.用户接口Top-Builder的用户接口包括两种形式命令行和图形用户界面。命令行的形式如下$tb my-conf.conf my-topology.tbtb命令的功能就是由配置文件生成拓扑文件,这时配置文件需要手工编写。
图形用户界面可以为用户自动生成配置文件和拓扑文件。Top-Builder的图形用户界面如图3所示,用户可以方便地选择自己想要生成的拓扑图的类型,在输入完所需的参数之后,点击“Commit”就产生了一个系统为之命名的配置文件,再点击“Building...”就生成了相应的拓扑文件。
2.配置文件格式Top-Builder的配置文件是一个带格式的文本文件,下面用一个层次结构拓扑(采用Waxman模型的AS级拓扑与Router级拓扑之组合)的配置文件为例来说明这种文件的书写格式,“#”字符后面的内容是对每一行的注释。
TBConfig #配置文件起始的关键字BeginModel #层次拓扑定义的起始分隔符Name=5#表示AS级和Router级均采用Waxman模型edgeConn=1#表示边的连接机制为随机连接k=-1 #最小K-度连接的定义,采用其它的边连接机制时都设置为-1BWInter=2 #域间链路带宽值的分布类型,2表示均匀分布BWInterMin=50 #域间链路带宽的最小值BWInterMax=100#域间链路带宽的最大值BWIntra=2 #域内链路带宽值的分布类型,2表示均匀分布BWIntraMin=10 #域内链路带宽的最小值BWIntraMax=20 #域内链路带宽的最大值EndModel #层次拓扑定义的结束分隔符BeginModel #AS级拓扑定义的起始分隔符
Name=3 #表示AS级采用Waxman模型N=5#AS节点数HS=1000#AS级平面的大小LS=100 #AS级平面内小方块的大小NodePlacement=1#节点的布置方式GrowthType=1 #新增节点加入拓扑图的方式m=2#新增节点的度alpha=0.15 #Waxman模型的参数αbeta=0.2 #Waxman模型的参数βBWDist=2 #AS节点间链路带宽值的分布类型,可被BWInter的值覆盖BWMin=-1 #设置为-1,因为被BWInterMin的值覆盖BWMax=-1 #设置为-1,因为被BWInterMax的值覆盖EndModel#AS级拓扑定义的结束分隔符BeginModel #Router级拓扑定义的起始分隔符Name=1 #表示Router级采用Waxman模型N=5#Router节点数HS=1000#Router级平面的大小LS=100 #Router级平面内小方块的大小NodePlacement=1#同上GrowthType=1 #同上m=2#同上alpha=0.15 #同上
beta=0.2#同上BWDist=2#Router节点间链路带宽值的分布类型,可被BWIntra的值覆盖BWMin=-1#设置为-1,因为被BWIntraMin的值覆盖BWMax=-1#设置为-1,因为被BWIntraMax的值覆盖EndModel #Router级拓扑定义的结束分隔符BeginOutput #输出文件定义的起始分隔符TB=1#1为输出*.tb文件,0为不输出*.tb文件EndOutput#输出文件定义的结束分隔符3.输出文件格式Top-Builder的输出文件格式包括三个部分(1)模型信息包括节点数、边数以及用于生成拓扑图的参数(即在配置文件中设定的参数)。
(2)输出文件用一行文字来表示拓扑图中每个节点的信息,其格式如下nodeid xpos ypos indegree outgdegree ASid type其中,nodeid表示节点的ID号;xpos和ypos分别为该节点在平面内的坐标;indegree和outgdegree分别表示节点的入度和出度;ASid是该节点所属的AS的ID号(如果拓扑图是平面结构,则ASid为-1);type指节点的类型(例如,是Router节点还是AS节点)。
(3)输出文件也用一行文字来表示拓扑图中每条边的信息,其格式如下edgeid from to length delay bandwidth ASfrom ASto type其中,edgeid表示边的ID号;from和to分别表示源节点和目的节点的ID号;length为边的欧几里得长度;delay为边的传输延迟(由系统根据length的值自动生成);bandwidth为边的带宽值;如果拓扑图为层次结构,ASfrom和ASto分别表示源AS和目的AS的ID号,否则都为-1;type是边的类型(Router级别的边或AS级别的边)。
本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
权利要求
1.一种网络拓扑仿真方法,采用Waxman和BarabasiAlbert的随机拓扑模型以及Internet的混合建模方法,在FreeBSD4.7的平台之上,利用gcc2.95结合Tcl/Tk8.3构成,并且提供与NS2的接口,其特征在于首先从配置文件(*.conf)中读取生成网络拓扑图所需要的模型参数,该参数被分析程序(Parser.h和Parser.cc)解析后由拓扑仿真引擎生成拓扑文件(*.tb),最后由转换程序(tb2ns.tcl)将拓扑文件转换成NS2的脚本。
2.如权利要求1所述的网络拓扑仿真方法,其特征在于拓扑仿真引擎中随机拓扑或Internet拓扑的生成过程分为四步①在一个平面内放置节点;②用Waxman或BarabasiAlbert算法连接这些节点;③对拓扑元素分配属性,如节点的id号、链路的带宽、延迟和代价等;④输出tb(top builder)格式的拓扑文件。
3.如权利要求1所述的网络拓扑仿真方法,其特征在于拓扑仿真引擎的配置文件是一个带格式的文本文件。
4.如权利要求1所述的网络拓扑仿真方法,其特征在于拓扑仿真引擎的输出文件格式包括三个部分(1)模型信息包括节点数、边数以及用于生成拓扑图的参数;(2)输出文件用一行文字来表示拓扑图中每个节点的信息;(3)输出文件也用一行文字来表示拓扑图中每条边的信息。
全文摘要
本发明涉及一种网络拓扑仿真方法,采用Waxman和Barabasi Albert的随机拓扑模型以及Internet的混合建模方法,在FreeBSD4.7的平台之上,利用gcc2.95结合Tcl/Tk8.3构成,并且提供与NS2的接口,其特点是首先从配置文件(*.conf)中读取生成网络拓扑图所需要的模型参数,该参数被分析程序(Parser.h和Parser.cc)解析后由拓扑仿真引擎生成拓扑文件(*.tb),最后由转换程序(tb2ns.tcl)将拓扑文件转换成NS2的脚本。本发明的有益效果在于不仅要精确地描述Internet的拓扑结构,为Internet拓扑的设计提供参考,而且能为网络研究者提供测试其算法或策略的网络拓扑原型,同时还应具有良好的可扩展性。
文档编号H04L29/06GK1822559SQ20061001873
公开日2006年8月23日 申请日期2006年4月10日 优先权日2006年4月10日
发明者李腊元, 李春林, 颜昕 申请人:武汉理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1