CN1822559A - 一种网络拓扑仿真方法 - Google Patents
一种网络拓扑仿真方法 Download PDFInfo
- Publication number
- CN1822559A CN1822559A CN 200610018732 CN200610018732A CN1822559A CN 1822559 A CN1822559 A CN 1822559A CN 200610018732 CN200610018732 CN 200610018732 CN 200610018732 A CN200610018732 A CN 200610018732A CN 1822559 A CN1822559 A CN 1822559A
- Authority
- CN
- China
- Prior art keywords
- topology
- topological
- file
- node
- network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
本发明涉及一种网络拓扑仿真方法,采用Waxman和Barabasi Albert的随机拓扑模型以及Internet的混合建模方法,在FreeBSD4.7的平台之上,利用gcc2.95结合Tcl/Tk8.3构成,并且提供与NS2的接口,其特点是:首先从配置文件(*.conf)中读取生成网络拓扑图所需要的模型参数,该参数被分析程序(Parser.h和Parser.cc)解析后由拓扑仿真引擎生成拓扑文件(*.tb),最后由转换程序(tb2ns.tcl)将拓扑文件转换成NS2的脚本。本发明的有益效果在于不仅要精确地描述Internet的拓扑结构,为Internet拓扑的设计提供参考,而且能为网络研究者提供测试其算法或策略的网络拓扑原型,同时还应具有良好的可扩展性。
Description
技术领域
本发明属于一种计算机软件与网络通信技术,具体地讲是一种网络拓扑仿真方法。
背景技术
拓扑建模是拓扑仿真的理论基础,通常用一个加权有向连通图来表示网络拓扑,图中的节点和边分别表示网络中的路由器(或交换机)和链路,而网络中的主机则不被考虑。当图中的有向边具有对称特性,即链路的带宽、延迟和代价在两个方向上都相等,而且边的代价就是其欧几里得长度。当一拓扑图中有个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.tb
tb命令的功能就是由配置文件生成拓扑文件,这时配置文件需要手工编写。
图形用户界面可以为用户自动生成配置文件和拓扑文件。Top-Builder的图形用户界面如图3所示,用户可以方便地选择自己想要生成的拓扑图的类型,在输入完所需的参数之后,点击“Commit”就产生了一个系统为之命名的配置文件,再点击“Building...”就生成了相应的拓扑文件。
2.配置文件格式
Top-Builder的配置文件是一个带格式的文本文件,下面用一个层次结构拓扑(采用Waxman模型的AS级拓扑与Router级拓扑之组合)的配置文件为例来说明这种文件的书写格式,“#”字符后面的内容是对每一行的注释。
TBConfig #配置文件起始的关键字
BeginModel #层次拓扑定义的起始分隔符
Name=5 #表示AS级和Router级均采用Waxman模型
edgeConn=1 #表示边的连接机制为随机连接
k=-1 #最小K-度连接的定义,采用其它的边连接机制时都设置为-1
BWInter=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级别的边)。
本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
Claims (4)
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)输出文件也用一行文字来表示拓扑图中每条边的信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200610018732 CN1822559A (zh) | 2006-04-10 | 2006-04-10 | 一种网络拓扑仿真方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200610018732 CN1822559A (zh) | 2006-04-10 | 2006-04-10 | 一种网络拓扑仿真方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1822559A true CN1822559A (zh) | 2006-08-23 |
Family
ID=36923633
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200610018732 Pending CN1822559A (zh) | 2006-04-10 | 2006-04-10 | 一种网络拓扑仿真方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1822559A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101969442A (zh) * | 2010-10-28 | 2011-02-09 | 南京博智软件科技有限公司 | 基于进程运行环境感知与迁移的网络模拟框架实现方法 |
CN105323109A (zh) * | 2014-06-10 | 2016-02-10 | 公牛公司 | 互连网络仿真器及用于仿真互连网络的方法 |
CN105515827A (zh) * | 2015-11-26 | 2016-04-20 | 上海斐讯数据通信技术有限公司 | 一种搭建自动化测试环境的系统和方法 |
-
2006
- 2006-04-10 CN CN 200610018732 patent/CN1822559A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101969442A (zh) * | 2010-10-28 | 2011-02-09 | 南京博智软件科技有限公司 | 基于进程运行环境感知与迁移的网络模拟框架实现方法 |
CN105323109A (zh) * | 2014-06-10 | 2016-02-10 | 公牛公司 | 互连网络仿真器及用于仿真互连网络的方法 |
CN105323109B (zh) * | 2014-06-10 | 2020-06-26 | 公牛公司 | 互连网络仿真器及用于仿真互连网络的方法 |
CN105515827A (zh) * | 2015-11-26 | 2016-04-20 | 上海斐讯数据通信技术有限公司 | 一种搭建自动化测试环境的系统和方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Tseng et al. | Structure-function covariation with nonfeeding ecological variables influences evolution of feeding specialization in Carnivora | |
CN1885325A (zh) | 工作任务细分结构设计管理器、设计工具及其方法 | |
CN102841891B (zh) | 一种树状结构节点的排序方法、装置及查询系统 | |
CN1300961C (zh) | 一种测试方法 | |
CN104579747B (zh) | 一种分布式电力设备仿真中的模型数据快速传输方法 | |
CN101079737A (zh) | 一种命令行接口命令的自动构造与解析方法及其系统 | |
CN1822559A (zh) | 一种网络拓扑仿真方法 | |
CN101047571A (zh) | 一种发送测试路由的方法和系统 | |
Bölöni et al. | Yaes: a modular simulator for mobile networks | |
CN1635497A (zh) | 基于硬件级的测试脚本自动生成系统及方法 | |
CN1859169A (zh) | 一种数字家庭网络中的文件管理系统及方法 | |
Cano et al. | The emergence of complex network patterns in music artist networks | |
CN1392502A (zh) | 企业信息化自助平台 | |
CN102420812A (zh) | 一种支持分布并行处理的Web服务自动QoS组合方法 | |
CN1217311C (zh) | 分布式语音合成系统 | |
JP2004064941A (ja) | 分散電源解析システム | |
CN1764131A (zh) | 一种协议测试系统及方法 | |
Bernardini et al. | On self-assembly in population P systems | |
CN105872091A (zh) | 一种数据请求方法和装置 | |
CN1839382A (zh) | 动态贝叶斯网络的最可能解释生成 | |
CN1211777C (zh) | 分布式语音合成方法 | |
CN105740045B (zh) | 一种适用于大规模分布式联合仿真的信息传输优化方法 | |
Masud et al. | PDST: A peer database simulation tool for data sharing systems | |
CN103198740A (zh) | 一种教学实验平台的传感器配置方法及系统 | |
CN104239019B (zh) | 搜索请求生成方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |