Topology-aware p2p
程序员文章站
2022-07-12 09:55:03
...
网络坐标是近年来出现的一种通过少量的端到端测量来预测网络距离的工具,其理论基础是网络中节点间的距离(延迟等)大部分满足三角不等式,因此可以根据极少量的测量结果将节点映射到欧几里德空间中的一个点上,从而根据任意两个点的坐标,就可以估算出他们之间的距离.
- GNP(Infocom, CMU)
- Vivaldi(Sigcomm, MIT)
- Pharos(Globecom, Tsinghua)
具体的网络坐标的实现今天没有时间来看,在BT中应用网络坐标,就可以更好的形成偏地理的cluster,无论是streaming还是其他的应用都能明显的提高系统的性能。
例如:
布置landmark-peer计算坐标-计算得到clusterID-通过clusterID从tracker得到邻居-形成overlay
在新的节点加入到bt网络中的时候,可以采用连接k个远邻,n-k个近邻的方式。
如果不采用这种网络坐标系统,可以采用一种妥协的方案:
g=G[requesterIP&0xFFFFFF00]
while(getIPs.length<n){
g.getRandomIP();
g.getNear();
}
return getIPs;
这种算法可以把同属于一个子网的client加入到一个cluster中,可以在物理上使同一个cluster中的peer更近。