如何確定您連接的連接對象具有最快的連接速度(上傳速率)?確定最快的BitTorrent對等連接
對等體的實際連接是誰主宰誰最快,或者是否需要最多塊的同伴會導致他上傳速度最快,因爲從他那裏下載的人越少?
我想編寫一個算法,該算法將從跟蹤器返回的對等列表中的所有對等點確定爲使用ping和定時響應或其他方式確定哪些對等點更接近。
感謝
如何確定您連接的連接對象具有最快的連接速度(上傳速率)?確定最快的BitTorrent對等連接
對等體的實際連接是誰主宰誰最快,或者是否需要最多塊的同伴會導致他上傳速度最快,因爲從他那裏下載的人越少?
我想編寫一個算法,該算法將從跟蹤器返回的對等列表中的所有對等點確定爲使用ping和定時響應或其他方式確定哪些對等點更接近。
感謝
一個ping(ICMP迴應請求/應答)會給你一個對等的延遲,但不是同行中具有可用帶寬。你需要帶寬,因爲TCP在做帶寬延遲產品方面很好,並且即使在往返於衛星的情況下也能快速建立連接。
你所做的是連接到所有人。擁有40個對等點並不罕見。然後你決定根據他們目前對你的價格來解鎖(直到你成爲播種者)。它也必須是相當動態的,因爲可用帶寬會隨着時間而改變。我能給出的最好的建議是閱讀
http://www.bittorrent.org/bittorrentecon.pdf
這給如何實現經濟的總體思路。但許多客戶做不同的事情,所以閱讀代碼是另一種選擇。
所以:你想測量帶寬,而不是延遲。因此,ping是工作的錯誤工具。通過跟蹤向對等方發送數據包的速率,測量帶寬最容易。
我認爲阻塞/非鎖定算法和選擇對等體解鎖是最難得到客戶端的部分之一。最好用筆,紙和大腦來解決,而不是坐在電腦的書寫代碼前面。
再次感謝您的幫助。 – jarryd 2010-11-13 11:19:05