有人常會抱怨說, 為什麼 BT 下載速度很慢, 要不就是開了 µTorrent 這類型 P2P 軟體之後, 整個網路就異常緩慢, 甚至動彈不得, 其實說穿了就是使用者對於自己的網路環境掌握度不夠, 加上對於 BT 的運作機制的誤解, 然後在 µTorrent 的細部設定上頭做了不恰當的調整。下面就是針對使用者作業系統、網路環境以及 µTorrent 本身的細部設定來做簡單的說明 :

作業系統 :
    在 Win XP Sp2 (包含 Sp3), 微軟為了抑制病毒、蠕蟲等惡意軟體透過微軟作業系統漏痛來大規模散步, 在 tcpip.sys 做了使用上的限制, 只允許最多同時間發起 10 筆半開連線 (half-open connections), 並且要在等待十秒之後, 才會繼續剩餘的連線請求, 這樣的限制, 對於 P2P 這類型可能在同一時間發起大量連線數的軟體而言, 無疑是種打擊, 假設軟體本身嘗試對 100 個不同的, 一次只允許 10 組連線請求, 到最後一組嘗試連線的 Peers' IPs, 早已經超過軟體本身等待時間, 軟體會認為無法與對方建立連線而放棄與該 Peer 或者 Tracker Server 進行連線, 放棄了從有效 Peer 來取得連線或者是從存活的 Tracker Server 來取得更多 Peers, 自然而然軟體無法挖掘更多連線對象, 在下載速度上自然就無法有效提昇。

2010-09-04_061205.jpg
    解決的方法之一, 就是限制軟體本身發起的連線數在 10 以下, 不會因為因為等待時間的拉長, 而放棄可能的有效連線, 比較難取得大量的有效連線來提高下載速度 (因為 P2P 並非持續連線, 使用者必須排隊來從 Peers 來取得下載, 但是也只是下載依照 Hash Table 鎖分割的部份區塊, 一旦下載完畢就會切斷連線, 往返之間, 發起連線數不足的情況下, 相同時間內能取的區塊下載數目也就相對較少), 也因為如此, 坊間推出不少針對 tcpip.sys 來破解連線限制的小工具, 例如 Lvllord PatchHalf-Open PatchTCP-Z 等都是針對 XP 偵測到 EventID 4226 時, 會限制連線數來進行修改, 讓系統能夠同時間能夠發起更多連線數, 自己的習慣是透過 TCP-Z (使用教學) 來修改連線數, 至於數值其實不用太高, 100 左右就錯錯有餘了 (理由很簡單, 一者發起連線數並不等於同時下載的連線數, 依然需要排隊等待, 二者過多的連線數, 對於一些老舊的家用路由器而言, 是種沈重的負擔, 反而會見接影響網路效能)

    至於使用 Vista Sp2 和 Win 7 的使用者, 就不需要刻意修改連線次數, 微軟已經針對半開連線數的行為進行調整, 無須透過上述軟體來修改。

網路環境 :
    以目前台灣的網路環境, 不管是光世代或者是 ADSL, 大部分的網路品質都使採用 Best Effort, 換句話說, 使用者實際的上網連線速率會因為所處位置的上網終端設備、距離、用戶所在位置之環境及到訪網站之連外頻寬等因素之影響而有所變化, 不見得能夠達到 ISP 所提供方案的最快效能, 撇開下載速度不談, 準確知道所處環境的上傳速度對於 µTorrent 及其重要, 如果上傳速度不設限或者設定數值高過真實上傳速度上限的話, 不但無法達到應有的下載速度, 甚至會因為上傳寬頻被吃光, 導致使用者其他網路使用 (瀏覽網頁等) 的效能大打折扣, 其主要原因還是在於 TCP/IP 的連線機制, 在連線的過程中, 與互動的網站之間, 會透過 ACK 來回應使用者端的狀態給伺服器, 如果上傳寬頻已經被 µTorrent 榨乾, 使用者送出的 ACK 延遲就會拉長, 回應就會變慢, 間接就會對網路效能造成衝擊, 一般建議的上傳速度大概是使用者使用者環境的 80% 左右。

    也因為上傳寬頻的重要性, µTorrent 本身也內建測速功能, 再依照取得相的關資訊來給予使用者相關設定建議, 不過由於目前軟體本身所提供的測速網站多處歐美, 各種網路環境因素的影響, 或許無法給予使用者最正確的網路效能評估, 建議可以使用 Hinet 測速網站 或者是用 Speedtest.net 來選擇距離最近的測試伺服器來取得較為準確的數值。

2010-09-04_141443.jpg
    上面是自己申請的 8M/640K 的 ADSL 透過 Hinet 測速網站所取得的連線效率 (建議可以在離峰時段多測試幾次, 取得平均值), 由於目前的網路通訊的傳輸速率多以 bps (bit per second) 表示, 然而作業系統或者軟體則是用 KBps (KiloByte per second) 呈現居多, 使用者可以透過簡單的換算來取的上傳下載的數值。

1 Byte = 8 Bits, 1 Mega = 1000 Kilo
下載速度 : 6.93 Mbps = 6930Kbps = (6930/8) KBps = 866.25 KB/s
上傳速度 : 512Kbps = (512/8) KBps = 64 KB/s
建議設定 : 64 x 80% = 51.2 KB/s --> 取約略值 50 KB/s

     透過換算取得的最佳狀況下的建議上傳速度為 50KB/s, 使用者可以在實際使用 µTorrent 的下載過程中來向下調整, 尤其是在使用的網路環境中有其他使用者的情況下 (例如租屋共享寬頻), 雖然上傳多寡會影響下載快慢, 但是也不建議因此影響其他使用者的權益, 多花一點時間下載來換取網路的順暢, 適度的找到網路效能平衡點, 我想沒有人會希望有人使用 P2P 軟體, 而造成開個網頁或者是 BBS 都會出現嚴重的延遲。

    當然除了透過適當的設定之外, 使用者也可以選用支援 QoS 的 Router 或者是更換 PPPoE 連線程式 (例如 : cFosSpeed), 透過 QoS 的輔助, 將使用 P2P 軟體連線所產生的封包優先等級降低, 避免影響使用者的正常連線, 至於細部設定方式這邊就不贅述, 網路上已經有許多的教學文件。


µTorrent 細部設定

2010-09-05_013920.jpg
2010-09-04_141443.jpg
    首先從新開啟 µTorrent 的設定指南, 直接選擇最接近自己的上傳速度 (如果沒適當的速度可以選擇, 也可以嘗試透過軟體本身提供的幾個測速網站來取得接近的速率), 軟體會透過使用者提供的上傳速度, 來設定的連線數量, 按下儲存並關閉 (用建議數值就夠了, 不需要太刻意去調整)

2010-09-05_020403.jpg
 2010-09-05_043238.jpg
    設定監聽連接埠的用意, 是提工期他使用者連接到本機電腦時的溝通位置,
µTorrent 允許使用者使用 25 和 110 以外的連接埠, 但是不建議使用 6881-6889, 8881-8889,16881-16889 (原因是早先 BitTorrent 常用的預設連接埠, 有些 ISP 可能會直接對使用該連接埠銜接時的寬頻甚至阻擋), 自己的習慣是使用 Private/Dynamic Port 49152-65535, 至於啟用 UPnP 則是因為大部分使用者可能透過 IP 分享器/路由器 來連接網路, 透過 UPnP 的幫忙來達到 Portforward 的效果, 外部 IP 可以透過對應的連接埠來跟位於虛擬 IP 網段的使用者溝通。加入 Windows 防火牆的例外自然也是避免因為防火牆阻擋, 阻擋連接埠的內外連線。至於代理伺服器的設定, 因使用者的環境而異, 如果有需要透過代理伺服器來連接的話, 不妨勾選 "點對點連接時使用代理伺服器"。

2010-09-05_030600.jpg
2010-09-05_033815.jpg
    至於如何知道本機的連接埠是否有正常開啟, 除了透過 µTorrent 設定指南中的網路環境測試之外, 使用者也可以到 Portforward.com 下載 Port Checker (點我下載) 來測試連接埠的 TCP/UDP 是否可以正常連線。如果測試結果顯示連接埠沒有開啟, 請先檢查作業系統所安裝的防火牆是否有允許 µTorrent 使用 Port : 50000 來進行 TCP/UDP 連線, 如果已經確認設定無誤, 就得檢查 IP 分享器/路由器 是否有啟用 UPnP, 這個部份會因使用者的機器品牌不同而設定開啟方式有異, 請參考安裝手冊。

2010-09-05_035220.jpg
    在流量設定部份, 使用者會留意到, 各項連線數量以及上傳速度的部份, 已經套用先前在設定指南中的建議數值, 由於 µTorrent 已經發展多時, 針對最大上傳速度設定所對應的連接數量, 應該也有足夠的量化資訊, 除了調整自己的最大上傳速度來保持自己網路環境的網路順暢度之外, 連接數量其實不須做更動, 至於啟用 µTP 是讓下載的過程中, 能夠更有效的動態調整上傳速度, 減低對網路上傳的耗損造成下載或者造成整理網路的壅塞。

2010-09-05_041738.jpg
    在基本BitTorrent功能設定項目, 主要是透過各種不同的方式來取得散步世界各地分享相同檔案的使用者, 越多的 Peers 數目也代表有機會提供更快更多的檔案下載來源。此外啟用允許非加密連接的用意在於同意那些並未使用任何加密的使用者與自己連接,同時啟用加密就是讓軟體自行管理封包是否加密,針對連線對象來來調整。儘管啟用協定加密可以規避 ISP 直接檢測封包內容, 但是 ISP 依然可以透過使用者的連線模式以及 Layer 7 Filter 來過濾使用者連線行為, 所以啟用加密配合使用 Private/Dynamic 連接埠, 在某種程度上的主要用意在於混淆 IPS 對於 P2P 流量的限制, 減少限速對於 P2P 上傳下載的衝擊。Ps. 另外就是啟用加密, 雖然 ISP 無法檢視封包內容, 但是使用者的連線 IP 或者正在下載的檔案資訊, 同樣暴露在網路中, 所以下載非法檔案的使用者並無法透過加密來規避所需承擔的所有後果

2010-10-10_180826.jpg
點選目前正在下載的檔案並切換的使用者分頁, 使用者可以查看目前所連線的對象, 讓 µTorrent 管理連線加密與否以及容許非加密連線, 會看到使用 Xunlei (迅雷) 這類比較有爭議的 P2P 軟體連上使用者端, 如果對方刻意設定, 往往只會下載檔案而不會上傳資料給使用者, 也成就了所謂吸血蟲的行為

2010-10-14_033106.jpg
如果要阻絕迅雷的連線, 只要將協定加密調整為強制, 並且取消非加密的連接, 就可以斷絕所有的 Xunlei (迅雷) 連接, 當然同時也會切斷不少連線對象, 使這者可以針對自己正在下載的檔案調整, 畢竟迅雷使用者中, 也是有大水管的存在

2010-10-14_033852.jpg
以上傳 512 kbit/s 為例, µTorrent 建議的最大活躍數量以及下載數量分別為 4 和 3, 在一般狀況下使用者無須做任何調整, 原因是一般人容易有錯誤的錯誤的觀念, 覺得同時下載越多, 速度就越快, 其實同時下載越多, 也分散了單一種子的上傳速度, 在 Torrent 的演算法、單檔連線數以及總連線數的交互作用下, 反而會造成下載速度無法有效提昇, 不過 Torrent 的檔案分享有時效性, 如果下載的檔案多屬非熱門檔案, 使用者可以酌量提高活躍數量以及下載數量

2010-10-14_041330.jpg
至於進階選項設定的部份, 不建議使用者自行修改, 除非對於設定參數的用意熟悉, 一般狀況下使用就已經足夠, 僅針對半開連線數來進行確定, 上圖是將半開連線數設定為 100

慎用 ipfilter :
    網路上不少文章都會建議使用者套用 ipfilter 或者安裝 Peer Guardian 這類型軟體來拒絕 Fake Sever、可疑 IP、惡意 IP 等連線, 不過 IPv4 可以支援 4,294,967,296 個連線 IP, 使用 IP Blocking 的方式自然不可能一一驗證, 也只能用網段的方式來定義拒絕連線 IP, 在這種狀況下, 使用不適當的 ipfilter, 反而會喪失不少連線數, 進而造成下載速度受限, 如果沒有這方面的疑慮, 到可不必做繭自缚, 後頭也會針對如選擇 ipfilter 來作簡單的介紹

2010-09-09_152003.jpg
    在這邊必須聲明的是, 上述設定以及調整方式只是個大方向, 網路下載的變因太多, 不要指望修改之後馬上立竿見影, 必須讓 µTorrent 調整修改之後的連線對象, 更重要的是, 有沒有連上大水管才是主要關鍵, 畢竟一般 ADSL 使用者的上傳速度就是那麼快。

[教學] µTorrent 2.0.4 完全手冊 (一) 初心者指南
[教學] uTorrent 2.0.4 完全手冊 (三) 遠端管理檔案下載
[教學] uTorrent 2.0.4 完全手冊 (四) 選用適當的 ipfilter.dat 來阻擋惡意 IP
[教學] uTorrent 2.0.4 完全手冊 (五) 建立一份有效的 Tracker Server List
[教學] µTorrent 2.0.4 完全手冊 (六) FAQ 雜項談


創作者介紹

風月無邊

虫二 發表在 痞客邦 PIXNET 留言(2) 人氣()


留言列表 (2)

發表留言
  • ☆故事☆
  • 其實最近也想換換p2p軟體用用看
    因為最近怪怪的
    原本下載1.4m現在變300k
    所以我也來玩玩這套看看
    是否我的設定有問題還是系統該重灌了
  • 其實換軟體效率能改善多少, 也沒個準頭, 畢竟影響 P2P 效率的變因太多, 會喜歡用 uTorrent 要的就是短小輕便, 不曉得幾天使用下來感覺如何 ?!

    虫二 於 2010/10/22 00:33 回覆

  • 初學者
  • 想請問您關於連線當中代理伺服器的設定,是不是因為你是用hinet所以這麼設定,如果我是用台灣大寬頻也可以跟你設定一樣嗎?
  • 通常 ISP 只提供自己的用戶對應的 Proxy Server 服務, 台灣大寬頻理論上不能使用 Hinet 所提供的 Proxy 服務, 請查詢台灣大寬頻網頁或者客服詢問

    虫二 於 2010/11/15 02:05 回覆