是否有一個公式可用於確定需要通過TCP連接傳輸的最小段/字節數,以確定它的帶寬並考慮慢速啓動和擁塞避免?我知道pathrate tool,但我希望如果可能的話稍微簡單一點,我可以將它合併到應用程序中以獲得下降球數字。使用的一個例子是從網絡服務器下載一些數據,以確定自動下載一堆小文件的最佳線程數。這與我發佈的上一個問題有關:TCP, HTTP and the Multi-Threading Sweet SpotTCP慢啓動,擁塞避免和確定帶寬
1
A
回答
0
我不認爲需要發送確定帶寬的固定字節數。這個數字可以取決於網絡類型和速度。
Bandwidth是在某個時間間隔內傳輸的某些資源的度量。要獲得真實的數據,你需要測量它。這裏是some hints如何做到這一點
1
你可以啓動scholar.google.com並搜索「TCP chirp」。但是,這需要僱用定時器,並且如果您不編寫內核tcp擁塞控制算法,則必須在用戶空間中重新實現TCP。而這本身可能不會給出好的結果(通用操作系統並不擅長實時僱傭與計時器相關的東西,在用戶空間中運行)。
理論上,使用TCP啁啾只需要4-5段(通常情況下,您可以通過更長的分段序列獲得更好的分辨率)來確定「最佳」帶寬。在任何情況下,由於您無法知道使用哪條路徑(即衛星鏈路或電視正向廣播),因此您可能需要大量數據(10+ MB,甚至1GB)才能獲得在任意路徑上的體面測量。 (衛星可以擁有很多Dozend MB/s帶寬,但也有1000-3000 ms範圍內的延遲;而TCP需要幾次往返時間才能打開cwnd(在開始測量之前,我會說約有10個RTT) ...
相關問題
- 1. TCP - 擁塞避免
- 2. 緩慢啓動階段的TCP擁塞窗口大小
- 3. 爲什麼TCP擁塞控制的初始階段叫慢啓動?
- 4. TCP擁塞控制機制
- 5. 回滾:「Windows Server 2012和TCP慢啓動」
- 6. 帶寬節省GPRS和TCP
- 7. TCP擁塞算法 - Tcp Westwood或Tcp westwood plus?
- 8. TCP擁塞窗口大小太大?
- 9. 在慢啓動階段發生數據包丟失時,TCP擁塞窗口會發生什麼?
- 10. 避免阻塞mysql和PC與mysqldump
- 11. 如何避免Assembly.LoadFrom阻塞?
- 12. GWT應用程序帶寬擁塞問題
- 13. sshuttle如何避免TCP-over-TCP詛咒?
- 14. 從tcp擁塞控制訪問TCP頭Linux內核模塊
- 15. TCP慢啓動窗口大小
- 16. TCP慢啓動術語混淆
- 17. TCP - 擁塞窗口和接收窗口之間的區別
- 18. 如何避免DefaultMessageListenerContainer自動啓動?
- 19. 確定可用帶寬
- 20. bxSlider全寬避免第
- 21. 自定義投射系統,以避免緩慢dynamic_cast和qobject_cast
- 22. 避免重新啓動應用程序
- 23. 避免再次啓動應用程序
- 24. 啓動.cmd文件時避免閃爍
- 25. 如何避免重新啓動MPMoviePlayerViewController?
- 26. 啓動前如何避免黑屏?
- 27. 啓動時避免P/Invoke錯誤
- 28. 如何避免mutex_lock被阻塞?
- 29. 如何避免文件阻塞
- 30. 正確避免ObjectDisposedException
看起來非常有趣我不是想做一些通用的東西,而是可以在任何可能的情況下工作,比如說80%的最常見的情況,通過地面網絡進行標準的有線或無線連接。 – 2010-12-15 10:33:16