做爲TCP和UDP協議的學習前奏,簡單的介紹一下運輸層的相關內容,方便對TCP,UDP的學習。服務器
1.概述
運輸層的任務主要是負責主機中兩個進程之間的通訊。
運輸層的基本功能:
-
- 複用與分用
- 差錯控制(完整性控制)
- 可靠傳輸(按序交付,無丟失,不重複)
- 擁塞控制(收發雙方的協調一致)
- 流量控制(全局上的通訊流量調節)
2.網絡層與運輸層的區別
- 運輸層對收到的報文進行差錯檢測,包括首部和數據部分。
網絡層IP數據報首部中的檢驗和字段,只檢驗首部是否出現差錯而不檢驗數據部分。
- 運輸層有兩種不一樣的運輸協議,即面向連接的TCP(傳輸控制協議)和無鏈接的UDP(用戶數據報協議)。
網絡層沒法同時實現這兩種協議。
3.一些應用和應用層協議主要是用的運輸層協議,如圖所示:
4.運輸層和端口
- 分用與複用
-
- 分用(Demultiplexing):即將運輸層的報文段中的數據交付到正確的套接字的工做。
- 複用(Multiplexing):是在源主機的不一樣套接字中收集數據塊,併爲每一個數據塊封裝上首部信息(將在分用的時候使用),從而生成報文段/數據報,而後將報文段/數據報傳遞到網絡層工做。
- 端口
-
- 爲了進行分用和複用,須要給應用層的每一個進程賦予一個很是明確的標誌,在協議層就採用了協議端口號,簡稱端口。
- UDP和TCP都使用了與應用層接口處的端口與上層的應用進程進行通訊。端口也就是運輸層的服務訪問點(TSAP),其做用就是讓應用層的各類應用進程都能將其數據經過端口交付給運輸層,以及讓運輸層知道將其報文中的數據向上經過端口交付給應用層相應的進程。
- 端口的分類
-
- 服務器端使用的端口號
-
- 熟知端口或系統端口:其數值爲0~1023
- 登記端口:經過IANA經過登記分配給沒有熟知端口號的應用程序使用。其數值爲1024~65535
- 客戶端使用的端口號:其數值爲49152~65535。客戶端運行時動態選擇,所以也叫短暫端口號。
- 經常使用的熟知端口號以下所示: