发布 Yggdrasil 0.4,一个运行在互联网之上的专用网络实现

Yggdrasil 0.4 协议的参考实现已经发布,它允许您在常规全球网络之上部署单独的去中心化私有 IPv6 网络,该网络使用端到端加密来保护机密性。 任何支持 IPv6 的现有应用程序都可以用于通过 Yggdrasil 网络工作。 该实现是用 Go 编写的,并根据 LGPLv3 许可证分发。 支持 Linux、Windows、macOS、FreeBSD、OpenBSD 和 Ubiquiti EdgeRouter 平台。

Yggdrasil 正在开发一种新的路由概念,以创建一个全球去中心化网络,其中的节点可以以网状网络模式(例如,通过 Wi-Fi 或蓝牙)直接相互连接,或通过现有的 IPv6 或 IPv4 网络(网络上的网络)进行交互。网络顶部)。 Yggdrasil 的一个显着特征是工作的自组织,无需显式配置路由 - 有关路由的信息是根据网络中节点相对于其他节点的位置来计算的。 设备通过常规 IPv6 地址进行寻址,即使节点移动,该地址也不会改变(Yggdrasil 使用未使用的地址范围 0200::/7)。

整个 Yggdrasil 网络并不被视为不同子网络的集合,而是被视为具有一个“根”的单个结构化生成树,每个节点都有一个父节点和一个或多个子节点。 这种树结构允许您使用“定位器”机制相对于源节点构建到目标节点的路由,该机制确定从根到节点的最佳路径。

树信息分布在节点之间,并不集中存储。 为了交换路由信息,使用分布式哈希表(DHT),通过该表,节点可以检索有关到另一个节点的路由的所有信息。 网络本身只提供端到端的加密(中转节点无法确定内容),但不提供匿名性(通过互联网连接时,直接交互的对等体可以确定真实的IP地址,因此对于匿名性来说建议通过 Tor 或 I2P 连接节点)。

值得注意的是,尽管该项目处于 alpha 开发阶段,但对于日常使用来说已经足够稳定,但不能保证版本之间的向后兼容性。 对于 Yggdrasil 0.4,社区支持一组服务,包括用于托管其站点的 Linux 容器的平台、YaCy 搜索引擎、Matrix 通信服务器、IRC 服务器、DNS、VoIP 系统、BitTorrent 跟踪器、连接点地图、IPFS 网关以及用于访问 Tor、I2P 和 Clearnet 网络的代理。

在新版本中:

  • 已实施新的路由方案,该方案与之前的 Yggdrasil 版本不兼容。
  • 与主机建立 TLS 连接时,涉及公钥绑定(密钥固定)。 如果连接处没有绑定,则生成的密钥将分配给该连接。 如果绑定已建立,但密钥不匹配,则连接将被拒绝。 具有密钥绑定的 TLS 被定义为连接对等点的推荐方法。
  • 路由和会话管理的代码已经完全重新设计和重写,从而提高了吞吐量和可靠性,特别是对于经常更改对等点的节点。 加密会话实现定期密钥轮换。 添加了对源路由的支持,可用于重定向用户 IPv6 流量。 重新设计了分布式哈希表 (DHT) 架构,并添加了对基于 DHT 的路由的支持。 路由算法的实现已移至单独的库中。
  • IPv6 IP 地址现在是从 ed25519 公钥而不是 X25519 哈希生成的,这将导致在迁移到 Yggdrasil 0.4 版本时所有内部 IP 发生变化。
  • 还提供了用于搜索多播对等点的附加设置。

来源: opennet.ru

添加评论