欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Tor 与 I2P 有何不同

程序员文章站 2022-05-02 11:50:13
...

原址:http://www.i2p2.de/faq_zh.html#difftor Tor 与 I2P 有何不同 ? Tor与I2P都是混淆式网络(MixNetwork)但实现上存在差异。 同一个连接中的指令与数据在Tor中沿着通过TCP协议建立的信道(Ciruit)流动至目的节点,而在I2P中,连接被消息机制(Message)打散

原址:http://www.i2p2.de/faq_zh.html#difftor


Tor 与 I2P 有何不同 ?

Tor与I2P都是混淆式网络(MixNetwork)但实现上存在差异。

同一个连接中的指令与数据在Tor中沿着通过TCP协议建立的信道(Ciruit)流动至目的节点,而在I2P中,连接被消息机制(Message)打散为数据包经由不同的TCP或UDP隧道(Tunnel)交叉传输后在接收方重组为数据流。简而言之I2P基于包切换而Tor基于信道切换。另外Tor网络由*目录服务器管理,而I2P使用基于Kad算法的分布式数据库。

这里以简单情况为例进行对比,其传输过程的异同如下图所示:

Tor 与 I2P 有何不同
  1. I2P通过本地网络数据库NetDb得知其他节点的存在,NetDb通过Kad算法在连接其他节点时获悉更多节点的存在。
    Tor通过连接*目录服务器得知所有中继、进入/退出节点的存在。
  2. I2P接入网络后,I2P建立2个隧道:出站隧道A-C及入站隧道A-G,分别负责数据的传出和传入,实际的隧道数更多,可能存在A-C1,A-C2,A-G1,A-G2...。
    Tor接入网络后,Tor建立1一个信道:a-c-d负责数据的双向传输。
  3. 现在I2P用户A发出HTTP请求希望访问用户E的匿名资源。
    现在Tor用户a发出http请求希望访问Internt服务器e的资源。
  4. I2P将请求拆分并加密为数据包由出站隧道A-C(A-C1 A-C2...)发送至对方的入站隧道网关D(D1,D2...)通过入站隧道D-E(D1-E,D2-E...)到达E的I2P被接收并重组为HTTP请求。
    Tor将请求加密送入信道a-c-d通过d转接至Internet服务器e
  5. 反之亦然,用户E的HTTP响应经过E=>E-F(E-F1...)=>G(G1...)=>G-A(G1-A...)返回给I2P用户A。
    反之亦然,Internet服务器e的http响应经过e=>d-c-a 返回给Tor用户a