2007-01-17

由技術面來看號稱 Web 3.0 的 NuWeb

之前那篇寫的太難了, 友人抱怨看不懂, 改成這篇比較簡單一點的.

NuWeb 掛著 "Web3.0" 的旗號出來, 白爛如我當然想要看看到底葫蘆裡在賣什麼藥. 不過看完介紹之後很失望, 因為我覺得這不過只是個 Freenet 的變種而已. 講到 Freenet 或許很多人沒聽過(講到其中一種變種 Winny, 應該就很多人知道了...), 這邊以比較進步的把 Freenet 的技術給解釋清楚.

1. Freenet 是 1999 年開始的一個網路計劃, 目的是建構一個"完全言論自由"的網路環境. Freenet 不使用現有的 WWW 協定或domain name進行連線, 而是利用自有的網路協定進行連線. client 則是使用可跨平台的 Java 製作. 使用者的 ip 會被加密轉換為獨特的 node 數值, 各 client 間會自動交換並更新 node 值, 以確定整體網路的健全.
2. Freenet 會把每個分享檔案本體在加密後切成多份後傳給不特定的 peer. 向 peer 其他 peer 發出並接收 search 指令, 由其他連線中 peer 的搜尋結果中取得被分割的檔案本體, 最後在使用者端組合成完整的檔案.
3. 在 client 端可以用 IE 等瀏覽器來看 Freenet 的內容

Freenet 的優勢則在於
1. Freenet 不需要中央 server, 只要連上任何一個 peer, 就可以經由這個 peer 取得其他 peer 的位置, 進而自動架構出完整的網路.
2. Freenet 的檔案內容在不特定的 peer 之間存在, 所以不會因為檔案散佈者關機就找不到檔案本體.

Freenet 介紹完了, 接下來看看 NuWeb 的實作方式.

1. 以 NuWeb 的目標和技術來說, "可靠性"是很重要的, NuWeb 由一台 NuWeb 中央管理的 web name server 來維護 client 列表. 這種做法的弱點我想大家一看就明白, 那就是"中央 server 爆了就大家都沒得玩". 但是使用者增加的速度是無法估計的, 中央 server 的負荷也會呈現等比級數的增加, web name server 遲早要爆, 而且這樣等於也被 web name server 給綁架, 不合乎 NuWeb 的目標.
2. 為了網路內容的可靠性, NuWeb 必須要有 cache /proxy server的機能(不然就是二選一,要就是不能關機加上大水管,不然就是一堆站點連不上), 這部分如果也由 NuWeb 中央 server 來作, 那等於是從"被Yahoo/MSN綁架"改成"被NuWeb綁架"而已, 也不合乎 NuWeb 的目標.

也許有人會說"使用分散運算, 讓 NuWeb client 也負擔一點 web name server 和 cache/proxy server的機能", 這當然是可行的. 這等於讓各 peer 也有一份 peer 列表(替代 web name server)和檔案列表及檔案實體(替代 cache/proxy server)...看起來好像比 Freenet 進步, 不過這樣的作法等於和 Winny 一模一樣, 因為 Winny 幾乎就是加上了 cache 和 proxy 機能的 Freenet, 為此還開發了改用 key file 代替檔案本體在各 peer 間傳輸的功能, 使得檔案能見度大增, 傳輸效率因為有 proxy 機能也遠比 Freenet 強得多(話說本來 Winny 的主要改善方向就是傳輸速度...)

如果 NuWeb 完全參照 Winny 的作法也不是不行, 沒人說不可以"參考"現有的實作方式, 不過 Winny 的運作模式會讓使用者在不知不覺中觸法, 這個問題 NuWeb 大概也很難解...

由此可見, NuWeb 技術上最終還是會成為 Freenet 的變種, 目前 NuWeb 正在重新發明輪子的階段, 不過與其這樣, 把 Freenet 拿來改一改不是比較快?? 反正 Freenet 也一樣是 open source 的啊!!

看到這裡, 還有人會認為 NuWeb 是 Web 3.0 嗎?? 我還真想看看是哪些人...

沒有留言:

張貼留言