random_internet_as_graph#

random_internet_as_graph(n, seed=None)[源代码]#

生成一个类似于互联网AS网络的随机无向图

参数:
n: 范围在 [1000, 10000] 的整数

图的节点数量

seed整数、random_state 或 None(默认)

随机数生成状态的指示器。请参阅随机性

返回:
G: Networkx 图对象

一个随机生成的无向图

注意

此算法返回一个类似于互联网自治系统(AS)网络的无向图,它使用了 Elmokashfi 等人的方法 [1],并保证了相关论文 [1] 中描述的属性。

每个节点模拟一个自治系统,带有指定其类型的属性“type”;一级(T)、中级(M)、客户(C)或内容提供商(CP)。每条边模拟一个 ADV 通信链接(因此是双向的),带有属性

  • type: transit|peer,节点之间的商业协议类型;

  • customer: <节点 id>,作为客户的节点的标识符(如果类型是 peer 则为 'none')。

参考文献

[1] (1,2)

A. Elmokashfi, A. Kvalbein and C. Dovrolis, “On the Scalability of BGP: The Role of Topology Growth,” in IEEE Journal on Selected Areas in Communications, vol. 28, no. 8, pp. 1250-1261, October 2010.