在《网络测量与分析》这门课上,我们组的作业是将互联网可视化,使用的数据集是Macroscopic Internet Technology Data Kit (ITDK)提供的,可视化的对象是互联网上自治域(Autonomous System)的链路关系。
自治域
在互联网中,自治域是指在一个(有时是多个)实体管辖下的所有IP网络和路由器的全体,它们对互联网执行共同的路由策略。
最初时,该定义要求一个自治系统由一个单一实体管辖,通常是一个互联网服务提供商或一个拥有到多个网络的独立连接的大型组织,其遵循一个单一且明确的路由策略。参看RFC 1771,边界网关协议(BGP)的初始定义(现已废止)。由于多个组织可使用各自私有的自治系统编号来与同一个将它们连接到互联网的ISP之间运行BGP协议,因此得到较多应用的是RFC 1930中较新的定义。尽管ISP支持了这多个自治系统,但对互联网来说只能看到该ISP的路由策略。所以ISP必须具有一个公开且正式登记的自治系统编号(ASN)。
根据维基百科的数据,到2012年底,互联网有超过42000个自治域。
工具链
我们的实验数据来自http://www.caida.org/data/internet-topology-data-kit/.
我们首先使用python脚本把每天的数据转换为GEXF
格式,同时,我们使用来自ITDK的AS节点的地理位置数据标记这些节点的位置。
我们使用Gephi
来做可视化,生成png
图像。由于Gephi是一个Java工具,所以我们使用Java来操作Gephi。
所有用到的源代码在这里:
https://github.com/dangfan/itdk-visualize
单日数据
其中一日的数据如下图所示:
使用基本的图算法可以得到如下结论:
- AS中,节点的出度要比入度多。
- 入度多的节点出度也多,反之亦然。
本例中,节点的最大出度为2300,而入度则不超过200。
全年数据
通过分析全年数据,我们得到如下结论:
- AS主要分布在北美、欧洲和东亚。
- 度数高的节点并不多。
- 全年的链路是比较稳定的。