tcpip效能(整理)

2021-04-02 22:39:45 字數 4933 閱讀 8478

1)自適應性tcp加速技術

傳輸視窗大小,即在收到回應之前一次傳送的資料量,會直接影響到tcp的效能。相反,效能又與回程時間成正比,因為協議需要(通過ack包表明資料已被成功接收的訊號)確保資料投送到位。

在最糟糕的情況下,乙個端點會等待另一端點回應資料的傳輸情況,從而使網路閒置的時間變長。當傳輸視窗變得很小時,這種現象便會發生,但此現象並不能準確反映線路速度和延遲情況。

使情況變得更加複雜的是,tcp會根據響應速度調整自己的視窗大小。連線的距離越長,視窗就越小。如果響應的速度非常緩慢,tcp 協議就可能永遠也不選擇最大的視窗尺寸,這意味著許多廣域網連線的完整容量永遠也不會被完全利用。因此,tcp協議可能導致廣域網效能的惡化,甚至在頻寬 仍然非常充足時,效能的惡化也在所難免。同樣,重傳也會嚴重影響tcp的效能,要知道1%的包丟失可能導致最多80%的效能損失。

自適應性tcp加速方案可以利用自我調節式的技術來解決這些問題。這種技術能夠自動改變終端主機的行為方式,而且對於參與傳輸的應用、網路和終端使用者計算機來說都是完全透明的。視窗的大小是根據測得的連線可用頻寬來確定的,從而避免了頻寬的閒置與浪費。

自適應性tcp加速技術將被用於下一代的廣域網優化裝置中,使用時只需在廣域網連線的各個端點處各加裝一台裝置即可。

為了防止給共享同一連線的其他裝置造成影響並降低其效能,該技術可以根據使用者定義好的策略和包丟失情況自動調節傳輸引數。這些策略是利用廣域網優化裝置 的管理軟體定義出來的,而裝置則可對策略進行解釋和實施。同時,該技術可以自行選擇tcp視窗的大小,從而實現最高的傳輸速率並在廣域網連線發生包丟失時 將重傳資料報的數量減至最小。

自適應性tcp加速技術還第一次使用了動態設定大視窗(在適當的範圍內)、選擇性ack和tcp fast start等技術來改善效能。選擇性ack可以回應資料的接收情況並且允許對丟失的資料立即進行重傳,從而避免了tcp重傳演算法帶來的延遲問題。tcp fast start也是一種演算法,它可以加速tcp傳送視窗的增長速度,從而實現了可用頻寬的快速利用。

2)tcp fast start

a technique for speeding up web transfers (1998)

3)選擇性ack

4)tcp/ip幀頭壓縮

5)cdma20001x網路優化

cdma20001x網路優化的主要目標是使系統達到最大的吞吐量、最小的傳輸延遲,從而充分發揮cdma20001x的無線傳輸優勢,在一定程度上提高無線資料網路的效能,保證其無線資料業務的實現。該網路的優化可以分為兩個方面:無線網路的優化和分組網路的優化。

無線網路的優化方法總體上與is-95cdma網路優化類似,但資料傳輸對無線環境的要求更高,並要對前向鏈路和反向鏈路的cdma20001x相關引數進行優化。本文主要側重介紹cdma20001x的分組網路優化。

分組網路的優化主要是為了在現有的無線環境下,針對無線環境tcp傳輸特性與有線環境的差異性,通過對tcp引數的優化以及採用tcp優化、快取裝置等,提高cdma20001x無線資料傳輸效能。

cdma20001x分組網路是採用tcp/ip協議的一種計算機網路,其傳輸層主要採用tcp和udp協議。tcp是一種面向連線的,用於在 各種網路條件下可靠地傳輸資料的傳輸控制協議,而udp是非連線的資料報文協議。從優化的角度看,tcp的引數設定對資料傳輸效能有較大影響。

tcp採用基於視窗的擁塞控制機制,目前最常用的有4種擁塞控制演算法:慢啟動、擁塞避免、快速重傳和快速恢復。這些擁塞控制演算法的目的主要是在 有線網路條件下,避免產生不合理的大量的網路流量。在無線鏈路上執行tcp/ip時,tcp擁塞控制有許多不同於有線傳輸的情況。在無線鏈路上,由於無線 訊號丟失、切換等造成誤位元率明顯比有線鏈路高,這樣tcp的某些演算法就不是很理想了。當資料在無線通道上傳輸時,就會出現延遲、頻寬振盪和不對稱等在有 線通道傳輸時tcp演算法中未曾考慮過的因素。而tcp/ip幀頭壓縮、選擇性確認和mtu尺寸的優化這些tcp引數的設定又會對cdma20001x網路 的效能產生較大的影響。

根據理論及實際測試的結果,tcp引數的設定原則如下:關閉tcp/ip幀頭壓縮功能;允許選擇性證實功能;假如tcp資料段錯誤 率過高,可設法降低mtu的大小;允許在第二個重複的ack響應收到後就開始快速重傳;盡量使ack的延時最小化,在接收端每收到一段資料就回乙個響應。 在具體的網路優化過程中,tcp引數優化設定在實施時還要結合實際情況進行。

由於無線鏈路和有線鏈路對tcp引數的要求不同,而tcp是一種端到端的傳輸控制協議,其控制引數很難兼顧無線和有線網路。有線網路與無線網路 對資料報丟失的處理也有所不同。例如,有線網路認為丟包主要是由於網路擁塞,一旦發生丟包,tcp就會將傳送視窗減少一半,以減少擁塞。但如果丟包是發生 在無線網路上,實際上更有可能是由於無線通道的瞬間快衰落造成的,這種衰落可能很快就恢復了,這時如果使tcp視窗減少,就會降低資料吞吐量。為了達到較 好的優化效果,可以通過以下兩種途徑對cdma20001x資料分組網路進行優化。

傳輸層優化。可以在有線和無線網路之間增加一種基於傳輸層的無線閘道器裝置,通過對有線和無線鏈路分別處理,提高資料吞吐量和傳輸效率。

應用層優化。可通過增加一種對應用層進行優化的裝置,通過快取、資料壓縮以及協議調整、重新編碼的方法,改進應用層的效率。

此外,由於目前網際網路上各種應用伺服器都由不同的內容提供商控制,因而所採用的伺服器裝置、作業系統各不相同。為了確保cdma20001x網 絡的資料效能,網路運營商必須提供完整的解決方案。由於有線網路的丟包率比無線網路低得多,因此只需在無線鏈路兩端採用選擇性確認即可。具體來說,就是在 cdma20001x分組網路的pdsn後增加乙個無線閘道器裝置。它應具備旁路功能,當其發生故障和負荷過大時,無線網路仍能保證提供業務。無線閘道器可以 將cdma20001x終端到應用伺服器的tcp鏈路分為兩段,在有線鏈路仍採用常規的tcp機制,而面向無線側則採用選擇性確認。無線閘道器還可以根據需 要適當調整mtu的大小,減小確認響應延時等。另外,由於無線網路的時延變化很大,很容易超時,根據tcp的擁塞控制機制,一旦超時就會重新開始慢啟動, 這就會降低傳輸效率。無線閘道器可以較準確地算出無線鏈路tcp的往返時間,減少慢啟動,提高傳輸效率。通過無線閘道器對tcp傳輸路徑的分段處理,可以使無 線網路的資料吞吐量得到明顯提高。

對於cdma20001x網路,還可以基於應用層進行優化。通過將使用者經常訪問的內容放在快取中以及對未壓縮的圖形和文字檔案進行壓縮都可以提 高訪問速度。在訪問web頁面時所採用的http版本對訪問速度也有影響。可以在應用優化伺服器上將http1.0的多個連線請求轉換成http1.1的 乙個連線請求,提高網路的實際吞吐量。

6)效能優化

●tcp視窗大小

影響網路效能的tcp引數有許多,但最重要的是tcp視窗的大小。它決定了在給定時間裡乙個系統可以傳輸多少資料。每個tcp包都有乙個頭資訊,頭信 息中有一定「視窗」域用來指明該系統接受資料緩衝區的大小。視窗大可以使遠端系統傳輸較多的資料,視窗小則限制了傳輸的資料量,從而影響了網路的效能。因 此要想最大限度地利用網路,應該選擇適當的視窗大小,使之與可用寬頻相匹配。若tcp視窗過小,終端使用者將無法充分地利用網路上的可用寬頻;如果tcp窗 口過大,可能會導致錯誤恢復方面的問題,這樣也會大大降低網路效能。

一般來說,所有系統都有一預設的tcp視窗大小。有些應用允許使用系統級的api,根據每個連線來設定tcp視窗大小。準確地選擇適合網路的tcp窗 口的大小並非易事,需要許多測量和計算。當然這些計算是針對連線的,因此如果有許多來自不同網路的連線時,可能會感到無所適從,這時最好使用預設設定(因 為適合某一網路的tcp視窗大小可能不適用於另外乙個網路)。因此,當網上的所有使用者大體相似,並且所有的終端結點(包括伺服器和客戶端)以同樣的方式設 置時,高速設定才真正地體現出它的價值。

●傳輸資料量

在決定tcp視窗大小時,兩個最重要的引數是往返延遲和端到端的頻寬。這兩個引數決定了在任何給定的時間裡在網上(正在傳輸中)的資料的多少。

延遲是指資料從乙個系統到另外乙個系統所需的時間(包括網上傳輸時間和兩個系統的處理時間)。資料在網上傳輸的時間越長,那麼在任何給定的時間裡網上可容納的資料就越多。往返延遲(包括資料傳輸的時間和返回接收應答的時間)是乙個更重要的引數。

同樣端到端的頻寬也會影響在網上的資料量。如果頻寬為1mbps,那麼每秒能傳送1mb的資料。端到端的頻寬是網路連線的咽喉。如果有乙個 100mbps的網絡卡,而遠端系統使用64kbps的isdn,那麼端到端連線的最大頻寬為64kbps。此外,往返延遲應包括兩者之間傳輸時間的總和。

將往返延遲乘以端到端的頻寬,就是在任何tcp虛電路上的最大資料量。這個值實際上決定了tcp視窗的大小,如果設定乙個較小的值,傳送端將受到遠端 系統視窗大小的限制,而無法發揮網路的潛力。因為當tcp視窗被充滿時,傳送端必須停止傳送資料,直到收到接收應答為止。但如果正確設定視窗大小,傳送端 就可以不停地傳送資料,因為當所有的資料傳完時,接收應答正好出現。

測量往返延遲很容易,ping遠端系統,最好在正常工作日多做幾次,選擇最常見的延遲時間。ping時最好選擇常見大小的包。網上的裝置越多延遲越長,因此測量網路十分重要。

●最大段大小(mss)係數

只注意到網上的資料量,並不能確定tcp視窗值的大小。必須了解連線使用的最大段大小(mss)。因為tcp的延遲接收應答,演算法規定必須收到兩個完整的tcp包時才能傳送接收應答。

實際上,預設視窗大小應為mss的4倍。如果接受視窗為mss的2倍的話,傳送端必須等待接收應答;如果接受視窗為mss的4倍的話,傳送者至少可以 傳送四個包,在頭兩個包的接收應答返回時,最後乙個包剛剛傳送。如果網路延遲較長時,接受視窗的大小應為mss的6倍或8倍。

一般來說,延遲為2毫秒的10mbps乙太網應使用4倍mss的視窗大小,其他情況下使用該值會大大影響網路效能。

當視窗過大時,tcp很難恢復丟失的資料。如乙個遠端的web伺服器得知某一客戶的視窗大小為131kb,那麼即使網上同時可傳輸的資料只有4kb, 它也會試圖傳送131kb,這樣就會有127kb的資料在伺服器和客戶端之間的某一路由器處排隊。如果資料丟失需要重傳,需重傳的資料必須排在後面,結果 客戶端認為連線不可恢復就會放棄該連線。另外,客戶端不斷地重複向伺服器傳送接收應答,也可能導致伺服器中斷連線。有時為了視窗更加高效,可能需要移動服 務器以便於改變網路結構。

tcp視窗域只有16位,因此其最大值為65535。如果網路傳輸速度慢但有很大的容量,優化的視窗大小可能超過它,這時需要使用tcp視窗的高階選項。

TCP IP面試題整理

整理些面試題備用,到處尋找的。首先,每台主機都會在自己的arp緩衝區 arp cache 中建立乙個 arp列表,以表示ip位址和mac位址的對應關係。當源主機需要將乙個資料報要傳送到目的主機時,會首先檢查自己 arp列表中是否存在該 ip位址對應的mac位址,如果有,就直接將資料報傳送到這個mac...

TCP IP協議詳解知識整理

tcp ip協議族分層 鏈路層 tcp ip協議族 術語 鏈路層三個目的 1 為ip模組傳送和接受ip資料報 2 為arp 位址解析協議 模組傳送arp請求和接受arp應答 3 為rarp 逆位址解析協議 傳送rarp請求和rarp應答 乙太網andieee 802封裝 slip 序列線路ip 對i...

TCP IP 我的理解和整理

tcp ip transmission control protocol internet protocol 顧名思義,就是傳輸控制協議 網際協議。它是網際網路的通訊協議,是對計算機必須遵守的規則的描述,只有遵守這些規則,計算機之間才能進行通訊。tcp ip的工作原理,就是乙個主機的資料要經過哪些過...