TCP/IP詳解學習筆記(14)-TCP連接的未來和性能(未寫完)

在TCP剛出世的時候,其主要工作環境是以太網和SLIP之類的低速網絡。隨着高速網絡的出現,讓TCP協議的吞吐量更大,效率更高的要求就愈來愈迫切。爲此,TCP增加了三個重要機制來對應現在的變化,他們是

  1. 路徑MTU發現。

  2. 窗口擴大選項和時間戳。

  3. T/TCP(增加了事務功能的TCP協議)。

1.路徑MTU發現

 顧名思義路徑MTU指的是源主機到墓地主機之間的路徑的可傳送最大單元的大小。其原理同樣是使用設置了不許分片的IP數據報,並等待ICMP錯誤,來估算MTU的大小。書中的P257介紹了TCP如何根據ICMP的報文來修改自己的MTU。具體如下:

  1. 當源主機接收到較新的ICMP差錯報文時,就直接修改自己的最大發送報文段大小爲發送ICMP差錯報文的發送端的MTU與IP頭和TCP頭的差值。

  2. 當源主機接收到較新的ICMP差錯報文時,則必須嘗試下一個MTU(各種不同的網絡設備都有一個MTU,各個MTU從大到小爲"65535,17914,4464,4352,1500,1492,576,296")。

  3. 因爲路由可以動態變化,所以每隔10分鐘,發送端就可以用比較大的報文來偵測一下路徑MTU。

2.長肥管道

所謂的長肥管道,說的就是發送時延長,帶寬寬的管道,衡量這一概念的標準是時延面積。如果碰上了網絡“又長又肥”,那麼網絡的利用率就會大幅度的降低,普通的計時方法和窗口面積就不夠用了。就需要更多的措施來彌補這個缺陷。這就是時間戳窗口擴大選項。這些都是在經典TCP協議頭之外定義的擴展選項,格式如下:

2.1.時間戳選項

用戶在發送每一個TCP報文的時候都放置一個時間戳,接受方在確認中返回這個時間戳值。發送方就可以根據這個時間戳來計算RTT。從而使得RTT更加精確,減少不必要的重傳。減低網絡的負載。

2.2.窗口擴大選項

很奇怪的是爲什麼窗口最大的擴展量只有14而不是64。因爲畢竟窗口擴大選項有一個字節那麼長的數據可以用,不過,不管怎麼樣,還是記住爲好。窗口擴大選項可以讓窗口擴大到2的30次方。這就幾乎完美的解決了肥管道的問題。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章