五、運輸層

_qz發表於2020-10-22

一、運輸層協議概述

1. 程式間的通訊

  • 從通訊和資訊處理的角度看,運輸層向它上面的應用層提供通訊服務,它屬於面向通訊部分的最高層,同時也是使用者功能中的最底層。
  • 當網路的邊緣部分中的兩個主機使用網路的核心部分的功能進行端到端的通訊時,只有位於網路邊緣部分的主機的協議棧才有運輸層,而網路核心部分中的路由器在轉發分組時都只用剩下三層功能。
    在這裡插入圖片描述

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

在這裡插入圖片描述

3. 運輸層作用(基於埠的複用和分用功能)

  • 在一臺主機中經常有多個應用程式同時分別和另一臺主機中的多個應用程式通訊。
  • 這表明運輸層有一個很重要的功能——複用和分用
  • 根據應用程式的不同需求,運輸層需要有兩種不同的運輸協議,即面向連線的TCP和無連線的UDP

二、兩種不同的運輸協議

1. 概述

  • 當運輸層採用面向連線的TCP協議時,儘管下面的網路是不可靠的(只提供盡最大努力服務),但這種邏輯通訊通道就相當於一條全雙工的可靠通道。
  • 當運輸層採用無連線的UDP協議時,這種邏輯通訊通道是一條不可靠通道。

2. 協議名稱

TCP/IP的運輸層有兩個主要的協議:

  1. 使用者資料包協議UDP(User Datagram Protocol)
  2. 傳輸控制協議TCP(Transmission Control Protocol)

在這裡插入圖片描述

3. TCP與UDP

  • 兩個對等運輸實體在通訊時傳送的資料單位叫做運輸協議資料單元TPDU(Transport Protocol Data Unit)
  • TCP傳送的資料單位協議是TCP報文段
  • UDP傳送的資料單位協議是UDP報文或使用者資料包

4. UDP的特點

  • 提供無連線服務
  • 在傳送資料之前不需要先建立連線
  • 傳送的資料單位協議是UDP報文或使用者資料包
  • 對方的運輸層在收到UDP報文後,不需要給出任何確認。
  • 雖然UDP不提供可靠交付,但在某些情況下UDP是一種最有效的工作方式。

5. TCP的特點

  • 提供面向連線的服務
  • 傳送的資料單位協議是TCP報文段。
  • TCP不提供廣播或多播服務
  • 由於TCP要提供可靠的、面向連線的運輸服務,因此不可避免的增加了許多開銷。這使得協議資料單元的首部增大很多,還要佔用許多處理機資源。

6. 運輸層的埠

  • 埠用一個16位埠號進行標誌
  • 埠號只具有本地意義,即埠號只是為了標誌本計算機應用層中的個程式。
  • 由此可見,兩個計算機中的程式要相互通訊,不僅必須知道對方的IP地址(為了找到對方的計算機),而且還要知道對方的埠號(為了找到對方計算機中的應用程式)。

7. 兩大類埠

  • 伺服器使用的埠號
    1. 熟知埠:數值一般為0~1023(分配給一些常用的協議)
    2. 登記埠號:數值為1024~49151,為沒有熟知埠號的應用程式使用的。使用這個範圍的埠號必須在IANA登記,以防止重複。
  • 客戶端使用的埠號
    1. 又稱為短暫埠號,數值為49152~65535,留給客戶程式選擇暫時使用
    2. 當伺服器程式收到客戶端程式的報文時,就知道中客戶程式所使用的動態埠號。通訊結束後,這個埠號可供其他客戶程式使用。

三、使用者資料包協議UDP

相關文章