14 Followers
·
Follow

门罗币百科专题-隧道

Image for post
Image for post

来源 | 门罗币官网 翻译 | WooKey-极光

基础知识

当您通过 I2P 进行通信时(访问 eep 站点 /使用大蒜服务),首先需要使用传输连接到对等节点,然后构建虚拟的 “隧道”。这些虚拟隧道是临时的单向路径,通过定义的 I2P 路由器序列将信息传递到您的目标。隧道是通过分层的大蒜加密构建并使用的,它是用于传输所有 I2NP 消息的通用机制。

每个对等节点至少构建两个单向隧道:一个用于出站流量,另一个用于入站流量。这些隧道分为入站隧道(其中消息朝隧道创建者而来)和 出站隧道 (其中隧道创建者向外发送消息)。因此,一个往返消息和对目标的回复,需要 4 条隧道 (两个用于您的消息,两个用于您的目标)。

深度信息

来自 Java-I2P:

在 I2P 中,消息通过对等节点的虚拟隧道在一个方向上传递,使用任何可用的方法将消息传递到下一跃点。消息到达隧道的网关,捆绑起来和/或分散成固定大小隧道 消息,然后转发到下一跃点的隧道, 处理和验证消息的有效性并将其发送到下一跃点,依此类推,直到它到达隧道端点。该端点接收由网关打包的消息,并按照指示将其转发到另一个路由器、或另一个路由器上的另一条隧道或本地。

隧道的工作原理都是一样的,但可以分为两种 — — 入站隧道和出站隧道。入站隧道有一个不受信任的网关,该网关将消息向下传递给隧道创建者,后者作为隧道端点。对于出站隧道,隧道创建者充当网关,将消息传递到远程端点。

隧道的创建者精确地选择哪些对等节点将参与隧道,并为每个对等节点提供必要的配置数据。它们可能有任意数量的跃点。它的意图是让参与者或第三方很难确定隧道的长度,甚至勾结参与者以确定他们是不是相同的隧道的一部分(除非勾结的对等节点他们在隧道中彼此相邻)。

备注

来自 Java-I2P:

I2P 本质上是一个包交换网络,即使有了这些隧道,它也可以利用多个并行运行的隧道,提高弹性和平衡负载。尽管 I2P 内的隧道与电路交换网络相似,但 I2P 内的所有内容都严格基于消息 — — 隧道仅仅是帮助组织消息传递的会计技巧。对于消息的可靠性或顺序没有做任何假设,重传留给更高的层级(例如 I2P 的客户端层流媒体库)。

文件

有关规范和详细文档,请访问 【隧道-路由】(https://geti2p.net/en/docs/how/tunnel-routing) 和 【隧道-实现】(https://geti2p.net/en/docs/tunnels/implementation)页面。​​​​

Written by

WooKey

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store