第五章運輸層
運輸層協議概述
運輸層功能
運輸層為應用程序之間提供端到端的邏輯通訊(但網路層是為主機之間提供邏輯通訊)
運輸層還要對收到的報文進行差錯檢測
運輸層需要有兩種不同的運輸協議,即面向連線的 TCP 和無連線的 UDP
運輸層的兩個主要協議
TCP/IP 的運輸層有兩個不同的協議:
使用者資料報協議 UDP(User Datagram Protocol)
傳輸控制協議 TCP(Transmission Control Protocol)
UDP 在傳送資料之前不需要先建立連線。對方的運輸層在收到 UDP 報文後,不需要給出任何確認。雖然 UDP 不提供可靠交付,但在某些情況下 UDP 是一種最有效的工作方式。
TCP 則提供面向連線的服務。TCP 不提供廣播或多播服務。由於 TCP 要提供可靠的、面向連線的運輸服務,因此不可避免地增加了許多的開銷。這不僅使協議資料單元的首部增大很多,還要佔用許多的處理機資源。
運輸層的埠
TCP/IP的運輸層的埠用一個 16 位埠號進行標誌
埠號只具備本地意義,即埠號只是為了標誌本計算機應用層中的各程序。
客戶發起通訊請求時,必須先知道對方伺服器的IP地址和埠號,運輸層的埠號分為下面三大類:
熟知埠號,數值一般為 0~1023。
一些常用的數值埠號:
FTP 21
LELNET 23
SMTP 25
DNS 53
TFTP 69
HTTP 80
SNMP 161
SNMP(trap) 162
登記埠號,數值為1024~49151,為沒有熟知埠號的應用程式使用的。
客戶埠號或短暫埠號,數值為49152~65535,留給客戶程序選擇暫時使用。
5.2 使用者資料報協議 UDP
UDP的主要特點:
UDP 是無連線的,即傳送資料之前不需要建立連線。
UDP 使用盡最大努力交付,即不保證可靠交付,同時也不使用擁塞控制
UDP 是面向報文的
UDP 沒有擁塞控制,很適合多媒體通訊的要求。
UDP 支援一對一、一對多、多對一和多對多的互動通訊
UDP 的首部開銷小,只有 8 個位元組
5.3 傳輸控制協議 TCP
TCP的主要特點:
TCP 是面向連線的運輸層協議
每一條 TCP 連線只能有兩個端點(endpoint),每一條 TCP 連線只能是點對點的(一對一)
TCP 提供可靠交付的服務
TCP 提供全雙工通訊
面向位元組流
5.4 可靠運輸的工作原理