这个仓库实现了非结构化网络中的广播-回收的仿真实验
make download && make build
make pingpong
简单的pingpong协议
make plumtree
基于plumtree的仿真
make gossip
基于gossip的仿真
实验一、验证网络中消息时序的不稳定
实验背景:
- 网络的动态性:真实网络环境中,由于存在网络延迟、丢包等问题,即使是相同起点、相同终点的两条信息,很可能因为经过不同的路由,导致他们到达时的时序发生变化。
- 生成树和时序的关系:在非结构化P2P网络中,广播树的建立,依赖于两条具有相同ID的消息到达相同节点的时序。生成树算法将对后到的消息所在边进行剪枝。
- 最短路径树:在一个有权无向图中,是网络的源点到所有结点的最短路径构成的树。
实验目的: 验证网络中的时序不稳定性,从而说明全局生成树的局限性。
实验方法: 本机节点PING给定集合的机器,观察RTT时间的排序关系的变化。
执行:
cd ./unstable-network
go run main.go
实验二、不同条件下比较collect和baseline的查询效率
实验背景:
- p2p 网络中
实验三、不同广播方式对查询效率的影响
实验四、真实环境下查询相关参数的比较