原址: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
Copy after login
Tor 与 I2P 有何不同 ?
Tor与I2P都是混淆式网络(MixNetwork)但实现上存在差异。
同一个连接中的指令与数据在Tor中沿着通过TCP协议建立的信道(Ciruit)流动至目的节点,而在I2P中,连接被消息机制(Message)打散为数据包经由不同的TCP或UDP隧道(Tunnel)交叉传输后在接收方重组为数据流。简而言之I2P基于包切换而Tor基于信道切换。另外Tor网络由中央目录服务器管理,而I2P使用基于Kad算法的分布式数据库。
这里以简单情况为例进行对比,其传输过程的异同如下图所示:
- I2P通过本地网络数据库NetDb得知其他节点的存在,NetDb通过Kad算法在连接其他节点时获悉更多节点的存在。
Tor通过连接中央目录服务器得知所有中继、进入/退出节点的存在。
- I2P接入网络后,I2P建立2个隧道:出站隧道A-C及入站隧道A-G,分别负责数据的传出和传入,实际的隧道数更多,可能存在A-C1,A-C2,A-G1,A-G2...。
Tor接入网络后,Tor建立1一个信道:a-c-d负责数据的双向传输。
- 现在I2P用户A发出HTTP请求希望访问用户E的匿名资源。
现在Tor用户a发出http请求希望访问Internt服务器e的资源。
- 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
- 反之亦然,用户E的HTTP响应经过E=>E-F(E-F1...)=>G(G1...)=>G-A(G1-A...)返回给I2P用户A。
反之亦然,Internet服务器e的http响应经过e=>d-c-a 返回给Tor用户a