网路拓扑生成,是通过对现实网路进行建模,然后利用模型生成网路拓扑的方法。它与网路拓扑发现是不同的,后者是从一台设备出发,探测周围的网路拓扑的方法。
概述
在计算机网路研究中,经常需要对新的应用程式、体系结构或者协定等进行评估,因此基于真实网路的网路模拟就成了计算机网路研究的一种重要方法。由于网路存在多样性和複杂性,影响网路模拟稳定性的重要因素就是所使用的网路拓扑模型。用儘量能反映真实网路的模型作为对真实网路环境的一种抽象,使之作为网路模拟的基本输入,是取得正确结果的必要条件。
目前的网路拓扑生成模型主要是建立在随机模型、层次结构模型或幂律模型的基础上,常用的拓扑生成方法/模型有Waxman,Tiers,Transit-stub,BA,Inet等。其中Waxman为随机模型,Tiers和Transit-stub建立在层次结构的基础上,BA和Inet都是基于幂律模型。Brite和Inet则是典型的拓扑生成器,可以基于前述的模型进行网路拓扑的模拟生成,通过其生成的网路拓扑数据对于研究实际生活中的网路状况和协定性能有很重要的作用。
网路拓扑生成,作为网路模拟的前端输入,是网路模拟的重要内容,也是决定网路模拟真实性和可靠性的重要因素。对网路拓扑生成的研究是当今网路研究领域的重要课题,而对真实世界中网路拓扑的研究和模拟,则是最佳化现有网路、开发下一代网路协定、测试新网路协定的基础。
网路拓扑生成是一个新兴的研究领域,始于20世纪90年代,在近几年得到了较大的发展。其中Boston大学的brite、Umich大学的inet、Louis Pasteur大学的nem等都是比较流行的网路拓扑生成器。
网路拓扑模型
研究路由协定,对于研究者来讲,直接在商业网路上进行路由测试是基本做不到的,并且在某个网路上测试会将测试结果局限于该网路上。此外,在特定的网路上表现良好的路由协定,当该网路的拓扑结构发生变化或移植到其他不同的网路时,不一定能表现出同样的性能。因此,路由协定通常先在随机网路上进行测试。
从表面上看,网路中各节点的分布似乎是均匀的,主机的接入和断开具有很大的随机性,因而,网路整体的拓扑结构应当呈现均匀分布的特性,或者说其节点的度(degree)是均匀分布的(度指连到特定节点的链路数目)。但是通过对大量的实际数据研究表明,实际网路的度分布呈幂律(Power-Law)分布特性,这说明了在网路中既有大量连线鬆散的节点,也存在一些连线紧密的节点,而且各个标度的节点都广泛存在。
利用NS-2进行网路仿真需要建立合适的网路拓扑模型来反映真实网路拓扑的某些本质的特性(如接点度的分布)。现在主流的网路拓扑模型主要有随机型、层次型和幂律型三类。
(1)随机型,即认为网路拓扑图处于一个完全无序的状态,在大尺度上是均一的最早的随机模型是由Waxman提出来的。Waxman认为节点之间的连线机率与其距离相关,服从泊松分布,距离越近,机率越大。
(2)层次型,来自对网路结构所具有的层次特徵的认识,在同一层上的节点出度接近,不同层间节点出度差别很大。对同一层上的节点布置借用Waxman模型方法。
(3)幂律型,1999年,Faloutsos等人对NLANR(National Lab for Applied Network Research)在1997-1998年间的3份BGP数据以及1995年的一份tracerouter测量数据进行分析,发现网路拓扑中存在着幂律规律。
拓扑生成器的发展
拓扑生成器是拓扑生成算法的软体实现,是生成拓扑的工具,其设计目标可归纳为3点:
(1)代表性,即生成的拓扑图要能够準确反映实际网路拓扑的各个方面;
(2)包含性,即将许多生成模型合併在一起,提供一个通用的拓扑生成工具;
(3)兼容性,即为网路模拟应用程式(如NS-2)以及可视化工具(如CAIDA的Otter[7])提供接口。
为了实现这些目标,一个拓扑生成器主要包括3个功能模组:
(1)格式转换:由于目前没有统一的拓扑数据档案格式标準,所以拓扑生成器要具有在各种拓扑测量数据,拓扑生成器输入输出数据以及网路模拟软体输入数据之间进行档案格式转换的功能。
(2)拓扑生成:这是拓扑生成器的核心,除了根据已有的拓扑生成算法实现幂律之外,还要依据其他度量来产生拓扑图。
(3)拓扑分析:根据拓扑生成模组中所採用的度量来对拓扑数据进行统计分析,给出度量的值。
拓扑生成器的发展经历如下过程:
Waxman
Waxman是第一代发展起来的拓扑生成器。此生成器在Erdös-Renyi随机图模型的基础上产生随机图,但是它包括一些网路特殊特徵,比如把节点放置在平面上,利用一定的机率来连线两个节点。
GT-ITM
GT-ITM最大的特点就是提供了Transit-Stub(TS)模型,此模型集中于对分层结构网路的再生成。TS模型将AS域划分为Transit类和Stub类。在该模型中,Transit节点彼此互联构成一个节点群,一个或多个Transit节点群构成拓扑图的核心,而Stub 节点分布在Transit节点群四周与Transit节点相连。
Inet
Inet是密西根大学于1999~2002年间开发的一个AS级拓扑产生器,最新发布的是3.0版本。其特点是利用route-views. oregon-ix. net上从1997年11月到2002年2月间的大量BGP数据来确定拓扑度量的值,可信性很高。Inet採用PLGR算法与优先附着实现幂律,重视连通性(最小节点覆盖),并针对最大团尺寸和聚类係数做了最佳化。Inet使用简便,只需在命令行输入拓扑图节点总数即可。
BRITE2.1
其特点在于“通用”。首先,它实现了Waxman模型和BA算法,并可以用自顶向下和自底向上两种方法来产生GT-ITM层次模型;其次,它为多个网路模拟程式提供接口,包括NS-2、SSF、Omnet++、JSim,并支持可视化工具Otter。BRITE产生路由器层、AS层以及分层结构拓扑图,并可为连线分配频宽和延迟,具有图形用户接口。