聲明:所有圖片與概念均來自於王道考研
傳輸層
1、傳輸層提供進程和進程之間的邏輯通信(是端到端的通信),提供可靠傳輸(TCP)和不可靠傳輸(UDP)
2、複用和分用
3、傳輸層對收到的報文進行差錯檢測
4、流量控制
5、擁塞控制
TCP:
面向連接的傳輸控制協議TCP傳送數據之前必須建立連接,數據傳送結束後要釋放連接。不提供廣播或多播服務。由於TCP要提供可靠的面向連接的傳輸服務,因此不可避免增加了許多開銷:確認、流量控制、計時器及連接管理等。
可靠,面向連接,時延大,適用於大文件。
TCP報文格式:
TCP三次握手:
SYN洪泛攻擊:
TCP四次揮手:
TCP可靠傳輸:
序號:
一個字節佔一個序號。
序號字段指的是一個報文段第一個字節的序號。
確認:
TCP默認使用累計確認。
重傳:
確認重傳不分家,TCP的發送方在規定的時間(重傳時間)內沒有收到確認就要重傳已發送的報文段。即超時重傳
TCP採用自適應算法,動態改變重傳時間RTTs(加權平均往返時間)。
冗餘ACK(冗餘確認):
每當比期望序號大的失序報文段到達時,發送一個冗餘ACK,指明下一個期待字節的序號。
發送方已發送1,2,3,4,5報文段
接收方收到1,返回給1的確認(確認號爲2的第一個字節)
接收方收到3,仍返回給1的確認(確認號爲2的第一個字節)
接收方收到4,仍返回給1的確認(確認號爲2的第一個字節)
接收方收到5,仍返回給1的確認(確認號爲2的第一個字節)
發送方收到3個對於報文段1的冗餘ACK(認爲2報文段丟失,重傳2號報文段)。 即快速重傳
TCP流量控制
TCP擁塞控制
擁塞控制四種算法:
1、慢開始和擁塞避免:
2、快重傳和快恢復:
UDP:
無連接的用戶數據報協議UDP傳送數據之前不需要建立連接,收到UDP報文後也不需要給出任何確認。
不可靠,無連接,時延小,適用於小文件。