I2P 是一個匿名網路項目,它提供了一個簡單的網路層提供對身份敏感的程式進行安全的匿名通訊。
基本介紹
- 中文名:I2P
- 外文名:i2p
- 實質:動態的分散式網路
- 成立時間:2003年
- 目的:建立一套安全、免受審的通訊系統
- 學科:計算機技術
簡介,系統簡介,I2P應用程式,I2PTunnel,SAM,BOB,BitTorrent,eDonkey iMule,Gnutella I2Phex,I2P-Messanger,Susimail,Syndie,I2P術語,I2P匿名站點,I2P代理,用戶/節點,隧道,目標,
簡介
I2P(Invisible Internet Project即“隱形網計畫”),是一項混和授權的匿名網路項目。
I2P網路是由I2P路由器以大蒜路由方式組成的表層網路,創建於其上的應用程式可以安全匿名的相互通信。它可以同時使用UDP及TCP協定,支持UPnP映射。其套用包括匿名上網、聊天、撰寫部落格和檔案傳輸。
系統簡介
I2P是可伸縮性強,具有自我組織與恢復能力的包切換匿名網路。其上運行有多種不同的匿名安全程式,各程式可以自行決定匿名性、延遲、流量平衡而不用考慮混淆式路由網路的具體實現。它們的數據活動可以與現有的I2P用戶的匿名數據相混合。目前可用的程式包括全部典型的Internet套用 - 匿名網頁瀏覽(Eepproxy),匿名網站(Eepsite),匿名部落格與內容聚合(Syndie),匿名聊天(通過IRC、Jabber、I2P-QTMessanger),匿名檔案傳輸(I2PSnark,Robert),匿名檔案分享(I2Phex, iMule),匿名電子郵件(I2PMail+susiMail),匿名新聞組,及其他開發中的程式。與自由網或GNUnet上內容發布網路不同,I2P所提供的服務具有更強的互動性 - 從常規的Web搜尋引擎,到論壇,部落格,數據站點再到無需安裝Tor/自由網即可訪問其中內容的網關。
I2P做為訊息機制為基礎的中間件與這些匿名性程式協同工作 - 程式要求傳送數據給某一加密標識(目標),I2P來處理並保證數據安全匿名的到達#目標。I2P還帶有易用的流封裝庫,可將I2P匿名訊息轉換為可靠有序的數據流傳輸,提供基於TCP協定的擁堵控制算法解決網路程式的寬頻延遲問題。I2P同時有簡易的SOCKS代理接口可以將現有的網路程式綁定於I2P網路中。這樣做的意義並不大,因為幾乎所有普通應用程式都會向網路暴露有礙匿名性的敏感數據,除非對程式進行全面審計。為了方便使用,I2P為各種語言提供了一系列API,從而充分利用I2P的資源。
I2P應用程式
I2P被設計為其他程式可以使用的匿名網路層。這些運行於I2P上的程式有的被捆綁在I2P的安裝包中,有的需要自行下載。I2P控制台是一個Web界面,可以通過瀏覽器管理I2P路由器的運行,類似於現在大多數家用路由器的管理方式。
I2PTunnel
I2PTunnel是I2P的內置程式,它可以通過#隧道將遠程計算機上的連線埠映射為本地主機連線埠,從而允許任意TCP/IP程式通過I2P進行通信。
SAM
SAM協定允許任意語言編寫的程式通過Socket接口使用I2P路由器。
BOB
BOB比SAM更簡單的TCP類型的橋協定。
BitTorrent
I2P網路中有多個客戶端支持BitTorrent功能,每種客戶端都支持Web界面的遠程控制。這些客戶端不允許下載含I2P外部Tracker的種子或連線I2P以外的用戶,也不允許I2P外部的用戶連線進來。由於匿名性的原因,目前I2P內部還沒有Tracker站點開放對公網IP的支持。
I2PSnark,包含於I2P安裝包中,是BitTorrent客戶端Snark的移植版。
I2PRufus是Rufus BitTorrent客戶端的I2P移植版,已經被基於BOB的Robert取代。
Robert是基於BOB的BT客戶端
TransmissionI2P是Transmission在Linux上尚未完成的I2P移植版。
eDonkey iMule
iMule
iMule(隱身騾)是全平台客戶端aMule的I2P移植版。
與eDonkey不同,iMule只使用Kademlia連線因此沒有伺服器。iMule自1.2.3版起攜帶內置的GCJ編譯的I2P路由器,由於I2P的GCJ編譯版效率低下版本滯後,內置路由器被I2P開發者叫停。
Gnutella I2Phex
I2Phex是Gnutella客戶端Phex的I2P移植版。
I2P-Messanger
通過I2P進行匿名通信的無伺服器即時聊天程式。
Susimail
I2P免費的假名Email服務,由'Postman'維護。郵件傳輸伺服器為pop.mail.i2p(POP3)及smtp.mail.i2p(SMTP)。可以通過I2PTunnel利用普通的Email客戶端訪問。
Susimail被編寫來處理隱私問題,普通的Email客戶端可能在與SMTP伺服器的通信中傳送用戶的主機名。Susimail是Web界面的Email客戶端,最初被設計來與配合Postman的郵件服務,設計中考慮到匿名性與安全性,是I2P默認安裝包的一部分。可以通過I2P路由控制台訪問。(注意SusiMail僅僅被設計來進行郵件的讀寫,郵件賬戶的管理需要訪問www.mail.i2p。)
Syndie
I2P術語
I2P用戶在I2P的網站及路由界面中會遇到如下術語:
I2P匿名站點
I2P匿名站點(Eepsite)是I2P網路內的網站。I2P站點的名稱以.i2p結尾,例如ugha.i2p或forum.i2p. I2P代理(EepProxy)可以通過I2P資料夾下hosts.txt中的加密識別密鑰找到這些站點。通常,必須通過I2P才能訪問這些站點。對於使用加密賃集的I2P匿名網站/出口代理只有持有該站點密鑰的路由器才能訪問。
I2P代理
.i2p是一個虛擬的頂級域名只在I2P表層網路內有效。.i2p域名由瀏覽器提交給EepProxy進行解析,EepProxy查詢到I2P用戶密鑰後處理數據的傳輸,從而使瀏覽器可以透明瀏覽I2P網路。
用戶/節點
用戶/節點(Peer),I2P網路中的其他計算機。I2P網路中的每台計算機都會共享頻寬對拆分後加密的數據包進行路由及中轉。
隧道
每10分鐘,用戶的I2P路由就會與新的節點創建連線,將本機數據包與其他I2P節點中轉的數據包一併通過這些隧道中轉傳遞,令數據包最終到達最終的#目標。
目標
I2P中將可到達的匿名端點(EndPoint)稱為目標(Destination)在I2PTunnel中體現為主機+連線埠,每個I2P程式都可以創建自己的目標與其他目標間進行通信。