门罗币百科专题-隧道

WooKey
WooKey
Aug 9 · 3 min read

来源 | 门罗币官网 翻译 | 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)页面。​​​​

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade