利用 BT 通訊協定的同步軟體 – BitTorrent Sync (BTSync)


看到 BitTorrent,大家可能會聯想到現今很夯的 BT 下載
正如同 BT 可以很快的讓檔案在多個用戶端之間交流
因此開發 BitTorrent 的這間公司將它應用在電腦之間讓檔案快速的同步
使用這個同步方法的軟體,就叫做 BitTorrent Sync
 BitTorrent Sync 的程式界面
BitTorrent Sync 的程式界面

BitTorrent Sync 下載連結:http://labs.bittorrent.com/experiments/sync.html
支援作業系統:Windows, Mac, Linux, FreeBSD, 特定的 NAS
BitTorrent Sync 討論區:http://forum.bittorrent.com/forum/52-bittorrent-labs/

如同 BT 下載的原理,BitTorrent Sync 的最大特色就是能夠快速處理大量的同步資料
Mowd 自己實驗過在相同的電腦上同步大小為 2G,共五萬個零碎的檔案
Dropbox 花了三十分鐘才索引 / 處理不到一半的檔案
而 BitTorrent Sync 只花了十分鐘就全部索引並同步完畢了
即使是處理單一大檔,BitTorrent Sync 也不會在每次變更的時候重新上傳整個檔案
BitTorrent Sync 會將每個檔案分割成 4MB 的區塊 (chunk) 來處理
如果檔案有修改,而且變更的檔案大小大於 4MB,每次只會同步處理有變更的那塊 4MB 檔案
如果檔案小於 4MB 則會同步整個檔案

BitTorrent Sync 是點對點的同步
所以不像 Dropbox、Sugarsync、SkyDrive 有中央式的線上檔案管理界面
資料夾的分享都是透過一組 32 字元的亂數編碼來驗證
在 A 電腦分享了某個資料夾後,可以得到一串 32 字元的編碼
只要在 B 電腦輸入同樣的 32 字元編碼
A 電腦就能夠將檔案傳輸到 B 電腦
如果之後 C 電腦也使用了同樣的 32 字元編碼
A 和 B 就會合力把檔案一起傳輸到 C 電腦
peer 越多,檔案下載越快
這不正是 BT 下載的原理嗎!

至於 B 電腦輸入 32 字元的編碼後如何發現 A 電腦也是使用同樣編碼
進而啟動檔案傳輸
依靠的方式有下列三種,擇一即可

1. Tracker
所有 BitTorrent Sync 都會連到一個 Tracker,Tracker 用來記錄每個用戶端的資訊,來告訴 B 電腦該跟誰要檔案

2. DHT Network
如果 Tracker 不幸故障或是連不到了,BitTorrent Sync 一樣可以透過 DHT Network 在廣大的網路點對點連線中找到 A 電腦
想更瞭解 DHT,可以參考維基百科的解釋
維基百科:分散式雜湊表 (DHT)

3. 輸入對方 IP 以及埠直接連線
如果對於資訊在網路間交換有所疑慮,可以直接輸入 A 電腦的 IP 與埠傳輸檔案
不過缺點是當 A 電腦無法連線時,B 電腦也沒有辦法自動連到 C 電腦傳輸檔案

而 BitTorrent Sync 的檔案同步方式分為三種

1. Full access key
兩台電腦之間所做的任何變動都會互相同步

2. Read only key
如果 A 電腦分享 Read only key 給 B 電腦
則同步方向永遠只有 A 到 B
B 所作的變更不會同步到 A

3. One-time only key
可以是 Full access key 或是 Read only key
差別在於這個 Key 會在產生後的 24 小時之後失效

Mowd 在用了幾天之後,對於 BitTorrent Sync 感到十分滿意
雖然 BitTorrent Sync 現在仍是 Alpha 版本,卻已經十分穩定
不過由於他還是 Alpha 版本,所以建議還是不要用在同步重要檔案或是重要電腦上
因為昨天 BitTorrent Sync 就爆出了一個安全性漏洞
這個漏洞可以允許攻擊者建立或是刪除同步資料夾以外的目錄
所幸漏洞剛出來不到一天,官方就發佈了新版本來對應了
除此之外,討論區也有一些人在同步上遇到了一些問題
要不要提前嘗鮮?就交給你自己決定吧!

發表迴響

你的電子郵件位址並不會被公開。