实现文件共享网络互操作性:网关的力量与挑战
1. 统一网络的愿景与困境
在文件共享领域,人们常常怀揣着构建一个完美网络的愿景,期望将 Freenet、Gnutella、Free Haven、Mojo Nation、Publius 等众多网络的优势集于一身,打造一个无所不能的超级网络(ÜberNetwork),甚至幻想借此上市并主宰世界。然而,这种想法并不现实。
每个网络都有其缺陷。以 Freenet 为例,它在文件的高效匿名分发方面表现出色,能以最少的节点间交易找到文件,还能保护信息发布者、请求者及中间节点的隐私。但它也存在不足,比如无法确保文件的持续可用性,没有搜索系统,且节点操作者难以确定硬盘上存储的内容。Gnutella 同样用于文件分发,节点操作者能完全控制所提供的内容,还具备永久存储、文件搜索和更新功能。不过,它缺乏信息验证机制,路由和缓存未优化,扩展性不如 Freenet,也无法提供太多匿名性和可否认性。
构建超级网络之所以不可行,是因为文件共享网络存在本质差异,不仅是功能组合的不同,还有不同的系统类别。在网络设计中,会做出一些优化决策,导致其只能侧重于某些方面,无法同时优化所有功能,必然存在取舍。
2. 超级客户端与 XML 方案的局限性
超级客户端(ÜberClient)的理念是创建一个能满足所有需求的单一应用程序,就像如今的网络浏览器,可集多种功能于一身。但它属于客户端/服务器模式,与对等网络的理念不符。而且,现有的网络浏览器虽可作为对等应用程序的网关,但要访问每个文件共享网络,仍需在该网络上运行节点,否则就变成了客户端/服务器模式,还会失去文件在网络间交叉的优势。
另一个流行的解决方案是使用基于