基于PeeringDB与BGP路由表的域间路由实验研究

2022-03-18 08:27:59 | 浏览次数:

摘 要:文中基于PeeringDB与BGP路由表数据,设计了一套实验分析框架并开发相关核心算法,包括数据集提取算法、IXP特性分析算法、域间路径含IXP的推断算法以及域间路径分类算法,分析了互联网交换中心(IXP)统计特性以及IXP对域间路由的影响。实验结果为评估互联网发展的相关工作提供了数据依据,有效支持IXP新型体系结构与新型域间路由服务的研究。

关键词:PeeringDB;边界网关协议;互联网交换中心;IXP

中图分类号:TP393 文献标识码:A 文章编号:2095-1302(2017)04-00-03

0 引 言

互联网由成千上万的自治系统(Autonomous System, AS)互联而成。自治系统AS之间通过边界网关协议(Border Gate Protocol, BGP)进行路由通信,在选择最佳路由和路由宣告时,BGP允许各自治系统使用自己的管理策略[1,2]。随着互联网技术的发展,互联网服务供应商(Internet Service Provider, ISP)为节约成本及提高客户的路由性能,ISP会与其他ISP进行peer互连,即建立互联网交换中心(Internet Exchange Point, IXP),这是互联网的关键基础设施[3]。IXP体系结构及其算法是影响互联网路由交换及域间路由的重要环节,因此有必要对IXP结构特性与IXP对域间路径的影响进行深入研究。

目前通过对互联网测量数据的分析计算,试图理解互联网Internet生态系统及其形成机制,而这也是近期互联网研究的热点[3-5]。尽管目前已有大量的研究工作,但基于IXP的Internet生态系统研究仍然是很有挑战性的研究课题[4,6]。目前国内外对IXP进行的初步研究,均侧重对IXP体系结构、IXP流量测量等方面[4-6],还缺乏对IXP特性及其对域间路由影响方面的定量研究与分析。本文在PeeringDB与BGP路由表等真实互联网数据的基础上,通过设计一套实验框架并开发相关分析算法,深入研究分析了IXP结构特性及其对域间路由的影响。实验结果为IXP新型体系结构、域间路由协议的设计提供了有益的指导与参考。

1 域间路由特性与影响因素分析

1.1 域间路由与BGP协议

边界网关协议(BGP)是事实上的域间路由协议,它包括路由导入、路由决策和路由宣告3个基本环节[1]。

在路由导入环节,BGP路由器根据AS配置的本地策略,对接收到的路由进行预处理,如果符合本地策略则修改相关路由属性后导入。

路由决策是指BGP路由器在选择某个目的网络的路由时,根据优先级比较规则,选择唯一一条最优路由装入转发表中。

路由宣告指BGP路由器按照本地策略决定是否宣告该路由到邻居BGP路由器中,每个目的网络仅宣告一条最佳路由。AS在路由宣告时需要考虑商业关系的限制并遵循2条指导原则[1,2],即AS宣告其自身和客户路由给供应商和对等服务商;AS接收客户的所有路由,并宣告所有路由给客户。

1.2 域间路由影响因素分析

1.2.1 多宿主(Multi-home)

为了提高互联网的可靠性与健壮性,AS利用多宿主技术[4]通过使用多个ISP接入互联网,获得多条链路与Internet连接,从而建立一个可靠的网络。多宿主技术对域间路由的影响主要包括以下两方面:

(1)让更多的边缘AS加入互联网,导致路由表规模的爆炸式增长;

(2)使用备份路径改进了AS网络的可靠性。

1.2.2 对等互联(Peer)与IXP

对等互联(Peer)是指两个AS互相为对方交换各自客户路由信息而建立的网络互連,但它们不会交换来自各自供应商和其他对等AS的路由信息[3,4]。互联网交换点(Internet Exchange Point, IXP)是由多个ISP或大型AS建立用来交换域间路由和流量的基础设施[3,4]。IXP由一个以太局域网构成,主要包括路由服务器(Route Server)和交换机,各ISP通过接入该局域网实现数据的互联互通,各ISP通过路由服务器(Route Server)进行路由数据的交换,ISP之间的流量则通过交换机完成。ISP之间建立IXP的主要优势包括以下两方面:

(1)提高客户路由性能,通过减少路径长度达到降低网络延迟的目的;

(2)节省转发成本,通过降低上游ISP的转发流量从而节省运营成本。

2 数据集介绍

简要介绍本文使用的两个数据集——来自Routeviews项目[7]的BGP路由表与PeeringDB数据[8]。

BGP路由表:该数据集来自美国Oregon大学高级网络中心的Routeviews项目,该项目的主要目标是从多个不同自治系统的角度获取全球Internet的路由视图。Routeviews项目中的任意一台路由器使用外部边界网关协议(EBGP)对等会话并与多个AS相连,将收集到的路由信息存储起来;这些路由器不通告任何信息给邻居以免对全球域间系统造成影响。Routeviews项目采集的BGP路由表数据有Cisco格式和Zebra格式。本文实验选用的BGP路由表来自oix-route-views.routeviews.org路由器,该路由器与19个AS建立了26个对等会话,各项性能比较稳定,捕获了当前Internet较为完整的域间路由视图。

PeeringDB数据: PeeringDB是存储ISP对等互连(Peering)信息并以Web展示的数据库。该数据库信息主要包括IXP相关信息与AS相关信息。IXP相关信息包括IXP地理位置,IXP成员,接入策略,互连策略与协议、联系方式等;AS相关信息包括机构名称,AS号码,IPv4宣告前缀、IPv6宣告前缀、流量类型(Traffic Ratios)等。该数据库是了解全球网络互连、IXP信息最权威的数据源,这些数据均由ISP定期维护更新。

3 实验设计与分析框架

3.1 总体设计框架

为了理解IXP结构特性及其对域间路由的影响,我们在PeeringDB与BGP路由表基础上设计了一个总体实验分析框架并开发了相关分析算法。总体实验框架如图1所示。

3.2 实验指标(属性)的选取与分析

在实验设计中,我们选择了4个主要的实验指标。在IXP特性方面,主要考察IXP规模(即IXP所含AS成员的数目及其分布)与IXP全球分布;在IXP对域间路由的影响方面,主要考察域间路径所含IXP数目与分布、域间路径类型的分布。

3.3 分析算法设计

3.3.1 数据集获取算法

目前IXP数据只有在PeeringDB (https://)存在,该数据格式采用基于Web的非结构化形式呈现。为了方便实验,我们使用由python语言编写的数据提取程序从该网站上抓取了实验所需的数据集。PeeringDB数据提取程序如下:

for each IXP:

for j=1,...,n

//send command to get the json_data

if len(json_data.keys()) > 1:

asn = json_data["data"][0]["asn"]

ix_num = len(json_data["data"][0]["netixlan_set"])

num = 0;

while (num < ix_num):

ix_id=json_data["data"][0]["netixlan_set"][num]["ix_id"]

if (dict.has_key(ix_id)):

dict[ix_id] = dict[ix_id] + " " + str(asn)

else:

dict[ix_id] = str(asn)

num = num + 1;

3.3.2 域间路径含IXP的推断

目前BGP路由表没有包含或采集IXP的相关信息,所以无法了解域间路径是否经过IXP并经过多少个IXP。若要统计这些数据,需要设计相应的推断算法,即根据BGP路由表与PeeringDB数据进行推断。通过PeeringDB我们可以知道每个IXP含有的AS成员,而对于BGP路由表中的任意一条域间路径,可以测算该域间路径中的任何一条边(由两个AS构成)是否为某个IXP的成员,若是,则表明该边包含了该IXP。具体推算算法如下:

pdb=obtainfrom("");

nixp=0;

do{

epath = getonepath(BGPrib)

for elink in epath

[as1,as2]=gettwoAS(elink);

for eixp in pdb

if as1&as2 in eixp

nixp++;

else

continue;

}while empty(BGPrib)

3.3.3 域间路径类型的计算

为了评估域间路径是否经过不同国家的自治系统AS,必须利用互联网路由注册IRR平台[9](Internet Routing Registry, IRR)提供的AS信息,该信息必须使用专门API向WHOIS服務器[10]查询获取。对于BGP路由表中的任意一条域间路径,检测该路径上各AS所属国别信息,最后可以统计出该域间路径是否经过不同国家所在的AS以及经过国家的数目,从而推断出域间路径的类型。域间路径推断算法如下:

set cntr[];

do{

epath = getonepath(BGPrib)

for enode in epath

asinf=whois(enode);

cntr.add(asinf.country);

num[epath]=len(cntr);

}while empty(BGPrib)

4 实验结果

本节给出IXP规模、IXP全球地域分布、域间路径含IXP的分布特性以及域间路径类型等实验结果。

4.1 IXP规模与分布

一个IXP通常由多个AS或ISP构成,其成员数通常为几十或几百个。实验给出了AS成员规模的统计分布,如图2所示。目前整个互联网有465个IXP,而位于荷兰首都阿姆斯特丹的Amsterdam Internet Exchange (AIE) 是全球最大的IXP,它包含733个AS成员;在全球的465个IXP中超过50个AS成员的IXP有72个。鉴于IXP所含AS成员规模较大的问题,在IXP体系结构及其交换算法设计时,必须考虑到它们的扩展性尤其是Route Server路由交换性能方面的扩展性。

4.2 IXP地域分布

目前全球有465个IXP交换点,但是地域分布极为不均,欧美发达国家IXP数量多,发展中国家IXP数量少。目前我国IXP个数为6,主要分布在香港、北京和上海等地。通常IXP数量体现了一个国家互联网发展程度的高低。例如,互联网最发达的美国拥有86个IXP,约占全球的18.5%;巴西,俄罗斯和德国的IXP数量均超过20;法国、日本、澳大利亚和阿根廷的IXP数量超过10。上述8个互联网最发达国家所拥有的IXP数量占全球的46.7%,几乎接近全球IXP数量的一半,而其他所有国家的IXP数量只占53.3%。全球IXP所在国分布见表1所列。

4.3 域间路径含IXP的统计

域间路径所含IXP的数目与分布如图3所示。图2给出不含IXP、含1个IXP和2个以上IXP的域间路径所占比例,其中不含IXP的域间路径比例为41.9%,含1个或2个以上IXP的域间路径占58.1%。实验表明,不含IXP的域间路径占比过多,在一定程度上显示出IXP数量不够,影响到域间路径的路由性能。若此类域间路径比例减少,则AS会通过更多的IXP来改善互联网域间路径的路由性能。

4.4 域间路径类型统计

基于BGP路由表以及Whois所含的AS信息,我们推断了域间路径类型及分布。图4所示为不同国家的域间路径分布。数据显示,不经过第三方国家的域间路径占比为29%,经过一个第三方国家的域间路径占比为44%,经过多个第三方国家的域间路径占比为25%。因此,本地路径与多国路径大致比例为1∶3,由于缺乏足够的IXP而使得许多域间路径必须经过其他国家的ISP进行路由交换,从而导致路由性能下降,路由成本增加。

5 结 语

本文基于PeeringDB与域间路由表,针对IXP结构特性与IXP对域间路径的影响进行了相关的统计分析研究,主要分析结果显示,IXP的AS成员规模变化较大,建議IXP体系结构与算法在设计时必须考虑Route Server路由交换的扩展性;至少经过2个国家的域间路径占比约为69%,表明目前IXP数量不足影响到互联网路由交换的效率,导致路由性能下降以及路由成本增加。以上分析结果为评估IXP建设与发展的相关工作提供了数据依据,同时可以有效支持未来IXP新型体系结构与域间路由的研究。

参考文献

[1] Rekhter Y, Li T, Hares S. A border gateway protocol 4 (BGP-4). RFC 4271[Z]. Internet Engineering Task Force, January 2006.

[2] 杨家海, 焦亮, 秦董洪,等.基于BGP路由表的域间路径特性实验研究[J].清华大学学报(自然科学版), 2015, 55(11): 1190-1196.

[3] Brice Augustin , Balachander Krishnamurthy , Walter Willinger.IXPs: mapped[C].Proceedings of the 9th ACM SIGCOMM conference on Internet measurement conference, 2009, Chicago, Illinois, USA.

[4] Nikolaos Chatzis , Georgios Smaragdakis , Jan Böttger ,et al.On the benefits of using a large IXP as an internet vantage point[C].Proceedings of the 2013 conference on Internet measurement conference, 2013, Barcelona, Spain.

[5] Gupta, A., Vanbever, L., Shahbaz, M., et al. SDX: A Software Defined Internet Exchange[J]. Acm Sigcomm Computer Communication Review, 2014, 44(4):579-580.

[6] Labovitz, C., Iekel-Johnson, S., Mcpherson D,et al.Internet inter-domain traffic[J].Acm Sigcomm Conference on Applications, 2010, 40(4):75-86.

[7] University of Oregon Route Views Project[EB/OL]. http://.

[9] Internet Routing Registry(IRR) [EB/OL].http:///.

[10] Internet whois service[EB/OL].http:///.

[11] 张卫国.互联网可扩展路由算法研究[D].北京:清华大学, 2010.

推荐访问: 路由 实验研究 路由表 PeeringDB BGP