1. 程式人生 > >《TCP/IP協議族》:初識運輸層

《TCP/IP協議族》:初識運輸層

為TCP和UDP協議的學習前奏,簡單的介紹一下運輸層的相關內容,方便對TCP,UDP的學習。

1.概述

運輸層的任務主要是負責主機中兩個程序之間的通訊。

運輸層的基本功能

    • 複用與分用
    • 差錯控制(完整性控制)
    • 可靠傳輸(按序交付,無丟失,不重複)
    • 擁塞控制(收發雙方的協調一致)
    • 流量控制(全域性上的通訊流量調節)

2.網路層與運輸層的區別

  • 運輸層為應用程序之間提供端到端的邏輯通訊
  •           網路層為主機之間提供端到端的邏輯通訊

  • 運輸層對收到的報文進行差錯檢測,包括首部和資料部分。
  •           網路層IP資料報首部中的檢驗和欄位,只檢驗首部是否出現差錯而不檢驗資料部分。

  • 運輸層有兩種不同的運輸協議,即面向連結的TCP(傳輸控制協議)和無連線的UDP(使用者資料報協議)。
  •           網路層無法同時實現這兩種協議。

3.一些應用和應用層協議主要是用的運輸層協議,如圖所示:

4.運輸層和埠

  • 分用與複用
    • 分用(Demultiplexing):即將運輸層的報文段中的資料交付到正確的套接字的工作。
    • 複用(Multiplexing):是在源主機的不同套接字中收集資料塊,併為每個資料塊封裝上首部資訊(將在分用的時候使用),從而生成報文段/資料報,然後將報文段/資料報傳遞到網路層工作。
    • 為了進行分用和複用,需要給應用層的每個程序賦予一個非常明確的標誌,在協議層就採用了協議埠號,簡稱埠。
    • UDP和TCP都使用了與應用層介面處的埠與上層的應用程序進行通訊。埠也就是運輸層的服務訪問點(TSAP),其作用就是讓應用層的各種應用程序都能將其資料通過埠交付給運輸層,以及讓運輸層知道將其報文中的資料向上通過埠交付給應用層相應的程序。
    • 埠的分類
      • 伺服器端使用的埠號
        • 熟知埠或系統埠:其數值為0~1023
        • 登記埠:通過IANA通過登記分配給沒有熟知埠號的應用程式使用。其數值為1024~65535
      • 客戶端使用的埠號:其數值為49152~65535。客戶端執行時動態選擇,因此也叫短暫埠號。

常用的熟知埠號如下所示:

具體可參考《TCP/IP協議族》:TCP/IP常用埠大全