傳輸層
傳輸層(英語:Transport Layer)在計算機網絡中是互聯網協議套件與開放系統互連(OSI)網絡堆棧中協議的分層結構中的方法的一個概念劃分。該層的協議為應用進程提供端到端的通信服務。[1] 它提供面向連接的數據流支持、可靠性、流量控制、多路復用等服務。
互聯網與一般性網絡的開放系統互連OSI模型的基礎,TCP/IP模型的傳輸層的具體實現和含義(RFC 1122)[2]是不同的。在OSI模型中傳輸層最常被稱作第4層或L4,而TCP/IP中不常給網絡層編號。
最著名的TCP/IP傳輸協議是傳輸控制協議(TCP), 它的名稱借用自整個套件的名稱。它用於面向連接的傳輸,而無連接的用戶數據報協議(UDP)用於簡單消息傳輸。TCP是更複雜的協議,因為它的狀態性設計結合了可靠傳輸和數據流服務。這個協議組中其他重要協議有數據擁塞控制協議(DCCP)與流控制傳輸協議(SCTP)。
服務
編輯傳輸層服務通過傳輸層協議的編程接口傳遞給應用進程。該服務可以包括以下功能:
- 連接導向式通訊:通常對於一個應用進程來說,把連接解讀為數據流而非處理底層的無連接模型(如用戶數據報協議(UDP)與網際協議(IP)的資料包模型)更加容易。
- 相同次序交付:網絡層通常不保證數據包到達順序與發送順序相同,但這往往是一個可取的特點。這通常是通過給報文段編號來完成的,接收者按次序將它們傳給應用進程。這可能會造成隊頭阻塞。
- 可靠性:由於網絡擁塞和錯誤,數據包可能在傳輸過程中丟失。通過檢錯碼(如校驗和),傳輸協議可以檢查數據是否損壞,並通過向發送者傳ACK或NACK消息確認正確接收。自動重發請求方案可用於重新傳輸丟失或損壞的數據。
- 流量控制:有時必須控制兩個節點之間的數據傳輸速率以阻止快速的發送者傳輸超出接收緩衝器所能承受的數據,造成緩衝區溢出。這也可以通過減少緩衝區不足來提高效率。
- 擁塞避免:擁塞控制可以控制進入到電信網絡的流量。
- 多路復用:端口可以在單個節點上提供多個端點。例如,郵政地址的名稱是一種多路復用,並區分同一位置的不同收件人。每個計算機應用進程會監聽它們自己的端口,這使得在同一時間可以使用多個網絡服務。它是在TCP/IP模型中是傳輸層的一部分,但在OSI模型中屬於會話層。