-
傳輸層(運輸層)
-
數據鏈路層爲結點之間提供邏輯通信,網絡層爲主機之間提供邏輯通信,而運輸層爲應用程序(主機中的進程)之間提供端到端的邏輯通信,用一個16位端口號(65535個)來標誌一個端口,端口號只具有本地意義
-
服務器端使用的端口號分爲兩類
-
熟知端口號(系統端口號)數值爲0~1023
-
登記端口號數值爲1024~49151,必須在IANA登記防止重複
-
-
客戶端使用的端口號(短暫端口號)數值爲49152~65535
-
-
運輸層兩個主要協議TCP和UDP都有複用和分用,以及差錯檢測功能
-
UDP 用戶數據報協議,主要特點是:
(1)無連接所以不需要套接字
(2)盡最大努力交付
(3)面向報文
(4)無擁塞控制
(5)支持一對一、一對多、多對一和多對多的交互通信
(6)首部開銷小,只有四個字段:源端口、目的端口、長度、校驗和
-
TCP 傳輸控制協議,主要特點是:
(1)面向連接
(2)提供可靠交付的服務
(3)面向字節流
(4)提供全雙工通信
(5)每一條TCP連接只能有兩個端點(只能是一對一的)
-
TCP連接的端點叫做套接字(socket),端口號拼接到IP地址即構成了套接字,即:
套接字socket=(IP地址:端口號)
TCP連接::={socket1,socket2}={(IP1:port1),(IP2:port2)}
-
-
-
可靠傳輸的工作原理
-
停止等待協議,每發送完一個分組就停止發送,等待對方的確認,收到確認後再發送下一個分組,分組需要編號;如果等待一段時間(根據RTT計算)仍沒有收到確認,則超時重傳,若接收方重複收到分組,就丟棄該分組,但同時還要發送確認(運輸層不使用停止等待協議,效率低,但使用超時重傳)
-
連續ARQ協議,發送方維持一個發送窗口,位於發送窗口內的分組可以連續發送出去不必等待確認,接收方採用累計確認,對按序到達的最後一個分組進行確認
-
MSS 最大報文段長度=TCP報文長度-TCP首部長度,默認爲536字節,所有在互聯網上的主機至少都應能接受536+20(固定首部長度)=556字節,規定MSS的原因是防止TCP報文段過小導致降低網絡利用率、過大導致網絡層分片
-
-
可靠傳輸的實現
-
TCP的流量控制,是點對點通信量的控制,讓發送方的發送窗口不超過接收方的接收窗口(每一方都有發送窗口和接收窗口,TCP的窗口單位是字節,不是報文段)
-
TCP的擁塞控制,是全局性的過程,涉及到所有主機、路由器、以及與降低網絡傳輸性能有關的所有因素,防止過多的數據注入網絡,發送方讓自己的發送窗口取擁塞窗口(cwnd)和接收方的接收窗口(rwnd)中較小的一個(窗口值動態變化),採用四種算法(慢開始、擁塞避免、快重傳、快恢復)
-
TCP的運輸連接管理,分爲三個階段(連接建立、數據傳送、連接釋放)
-
ACK=1的時候,確認號字段纔有效,若確認號=N,則表明到序號N-1爲止所有的數據已正確收到,希望發送方下一個報文段的第一個數據字節的序號爲N
-
TCP的計時器有四種,分別是重傳計時器、持續計時器、保活計時器、時間等待計時器
-