TCP調整和部署要根據實際情況 |
發布時間: 2012/5/20 18:13:10 |
TCP是一種可靠的傳輸層協議,它提供了全雙工連接的字節流服務。下面就讓我們來看TCP調整和部署的分析:
在發送端進行TCP調整
發送端進行TCP調整能夠控制注入網絡和遠端客戶終端的數據的大小。有幾個并發的機制,使得TCP調整變得更復雜。所以,為了更好的理解,我們將把這幾個部分分開介紹,然后再介紹這些機制如何合并在一起工作。我們將介紹兩個階段:啟動階段和穩定狀態階段。啟動階段的TCP調整與我們能夠向網絡中發送數據包的速度有關。穩定狀態階段的TCP調整與TCP通信的其它方面有關,比如調整計時器,最大窗口大小,等等。
啟動階段
在啟動階段的調整中,我們介紹TCP發送者如何在一個特定連接上開始發送數據。新建連接的一個問題是不知道網絡管道的傳輸能力。所以我們以這樣的方式開始,以越來越快的速度發送數據包,直到我們知道網絡的傳輸能力,然后再根據傳輸能力進行調整。宏觀行為的改變需要手動的TCP調整,比如當我們在像無線網那樣的低速信道中或者在10Gbit/sec這樣的高速信道時。在最開始的時候就發送最大的數據包會造成災難性的后果。最好是根據傳輸情況,慢慢的增加發送的速度。
在這一階段,擁塞窗口比接收窗口要小得多。這說明發送者通過計算擁塞窗口并根據擁塞窗口大小限制發送的數據,控制著發送給接收者的流量大小。任何小的流量突增都可以被隊列吸收。有三種重要的TCP可調參數:
tcp_slow_start_initial:在socket連接建立后,立即創建初始的擁塞窗口。
tcp_slow_start_after_idle:先休止一段時間,再初始化擁塞窗口,F在我們已經有了一些關于網絡傳輸能力的預備知識,我們就可以直接告訴大家慢慢的增大擁塞窗口,而不必從頭講起了。
tcp_cwnd_max:限制運行的最大擁塞窗口。如果接收窗口增大了,那么tcp_cwnd_max也跟著增大到和接收窗口一樣大。
在不同類型的網絡中,你可以稍微調整這些參數的值,來控制你能夠發送數據的速度。如果你的網絡管道比較小,你可能就希望減少數據包,反之,如果你的網絡管道比較大,你可能就希望加快發送數據包的速度,充分利用網絡帶寬。
穩定狀態階段
在穩定狀態階段,當情況穩定并且初始化的啟動階段完成以后,socket連接就達到相對穩定的狀態,這時的調整就僅限于根據網絡和客戶端的擁塞情況減少延遲。我們必須以平均狀況傳輸,因為網絡和客戶端數據的接收能力總會有一些波動。對這一階段的TCP調整,我們看一下下面的網絡屬性:
傳播延遲——這一屬性主要受距離遠近的影響。它表示一個數據包通過網絡所需的時間。在廣域網中,需要對這一屬性進行調整使得盡量充分利用信道,增加允許發送的數據包。
連接速度——這一屬性是網絡管道的帶寬。對56kbit/sec的撥號連接和10Gbit/sec的光學局域網,連接速度的調整方法是不同的。
TCP調整也要根據網絡的類型和相關的主要屬性(傳播延遲,連接速度和錯誤率)而改變。有些情況下,這些屬性也會通過評估返回的響應來進行自調節。本文還會在以后的文章中就各種新型的網絡技術(光學廣域網、局域網、無線網......)——介紹如何根據具體情況進行TCP調整,希望讀者關注。 本文出自:億恩科技【www.vbseamall.com】 |