分布式系统:非结构化P2P协议
非结构化P2P协议类的代表,如Freenet2或Gnutella主要用于数据传播应用,如无审查通信或文件共享。虽然对等体集没有任何特征拓扑链接它们,但它们的隐式拓扑通常嵌入在物理通信底层网络拓扑中,并且经常揭示树或网格,如子图,这允许低延迟消息交换,例如,满足数据传播应用程序的及时性要求。树拓扑可以在单源流媒体数据传播中找到,例如,以各种消费者作为叶节点。网格是更通用的情况,例如,在具有多个源和接收器的应用程序中,例如在文件共享应用程序中。
非结构化P2P协议通常通过名称或标签搜索资源(即对等节点和数据),并且不使用结构化寻址方案。此功能支持可缩放的传播,但对于资源发现或可重现的路由路径而言,扩展性较差。尽管如此,对等方仍会维护一个标识符,以允许底层网络地址的独立性。使用叠加图上的搜索算法发现资源。搜索算法的示例包括广度优先搜索、深度优先搜索、随机游走或扩展环搜索。这些选项通常根据应用的要求进行组合。
对等方之间的通信是通过消息进行的。消息传递可以是直接的,即在两个对等方之间使用底层网络连接,但这通常需要对等方明确知道对等方地址和路由。当要发送的消息的目标对等方未知时,消息将与资源发现操作一起搭载。
所有对等方都维护列表(带有地址或散列地址的直接路由表),其中包含有关其他对等方的联系信息。因此,消息传递可以有效地工作,并且网络不会因地址搜索消息而窒息。此类列表的效率取决于同行的活跃程度。因此,列出的对等方会定期ping以获取活动,并在未收到回复时将其删除。周期性根据相关的流失率(即对等方加入和离开的速率)动态调整。
思维导图下载:GB-T 39276-2020 网络产品和服务安全通用要求
原文始发于微信公众号(河南等级保护测评):分布式系统安全之非结构化P2P协议
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论