傳輸層協議UDP和TCP

UDP和TCP的比較:

UDP TCP

UDP是無鏈接的算法

UDP提供不可靠服務網絡

UDP同時支持點到點和多點通訊spa

UDP是面向報文的ci

UDP首部8個字節table

TCP是面向鏈接的效率

TCP提供可靠服務定時器

TCP只能進行點到點通訊自適應

TCP是面向字節流的im

TCP首部20個字節技術

TCP鏈接管理:

鏈接創建(三次握手):

注意:TCP報文首部SYN和FIN置位的時候須要消耗一個序列號,而僅有ACK置位時不須要消耗序列號。

鏈接釋放(四次握手):

TCP可靠傳輸

TCP是可靠的傳輸層協議,主要經過確認機制和超市重傳機制實現可靠傳輸。

確認機制:

鏈接的創建和釋放用的就是確認機制。

TCP和確認是對接收到的最高序號表示確認。但返回的確認序號是已收到的數據的最高序號加一。也就是說確認序號表示下次但願收到的數據字節的序號。確認具備累計確認效果。

超時重傳機制:

超時重傳機制最關鍵的因素的重傳定時器的定時設置,但肯定合適的往返時延RTT是至關困難的事情。

TCP採用了一種自適應算法。算法思想描述以下:記錄每個報文段發出的時間以及收到相應的確認報文段的時間,這兩個時間差就是報文段的往返時延。將各個報文段的往返時延樣本加權平均,就獲得報文段的平均往返時延RTT。

  • RTT新值 = RTT樣本(第一次測量)
  • RTT新值 = α*RTT舊值 + (1-α)*新的RTT樣本

TCP有三種定時器:重傳定時器、持續定時器、保活定時器。

TCP流量控制

經過接收方的接收窗口rwnd實現。在通訊過程當中,接收方能夠根據本身的接受狀況動態地調整本身的接收窗口,而後告訴發送方,讓發送方的發送窗口和本身的接收窗口一致。

TCP擁塞控制

擁塞控制的基本功能是避免網絡發生擁塞。TCP/IP的擁塞控制機制主要集中在傳輸層實現。擁塞控制的前提條件是網絡可以承受現有的網絡負荷。

擁塞控制經過擁塞窗口cwnd實現。注意:發送窗口的取值依據擁塞窗口和接收窗口中的較小值,即Min[rwnd,cwnd]。發送方控制擁塞窗口的原則是:只要網絡沒有出現阻塞,擁塞窗口就能夠再大一些;但只要出現阻塞,擁塞窗口就減少一些。

爲了更好的進行擁塞控制,用到四種技術:慢啓動、擁塞避免、快速重傳、快速恢復。

  • 慢啓動:在TCP剛創建鏈接或當網絡發生擁塞超時時,將擁塞窗口設置爲一個報文段大小,而且當cwnd<=ssthresh時,指數方式增大cwnd。
  • 擁塞避免:當cwnd>=ssthresh時,爲避免網絡發生擁塞,進入擁塞避免算法,這時線性增大cwnd(每次增大一個報文段)。當網絡發生擁塞時,就要把門限值ssthresh設置爲出現擁塞時發送方cwnd的一半(但不能小於2),而後把擁塞窗口重置爲1,執行慢啓動算法。
  • 快速重傳:發送方若是連續收到對同一報文段三個重複確認ACK, 則當即重傳該報文段,而沒必要等重傳定時器超時後重傳。
  • 快速恢復:當採用快速重傳算法時,直接執行擁塞避免算法。這樣能夠提升傳輸效率。
相關文章
相關標籤/搜索