傳輸層(Transport Layer)屬於第四層
- 編訂序號
網路通訊過程中
有可能一次傳送大量資料
但是網路所有電腦共用的
大量資料湧入
必定會影響整體傳輸品質
為了保持公平性
資料會在傳輸前被切割成較小的傳輸單位
再透過網路層的功能傳送到目的地
但是網路層對於上層的資料
僅是盡力而為(best effort)將資料送達對方
並不保證每次傳送路徑都一樣
更不保證傳送順序會和到達順序是一樣的
所以編訂序號的目的是:
先將每一個傳輸單位編號
再於資料到達目的地後
依據每一個序號的順序重新組合
- 流量控制
傳輸層也稱為主機對主機(Host-to-Host)的一種溝通
當兩邊主機處理能力不一致時
可能發送端較快、接收端較慢
當大量資料湧入接收端
接收端電腦又沒有能力及時處理所有資料
接收端只能將後續無法即使處理的資料丟棄(discard)
可能造成資料的不完整
或是要求發送端將丟棄的資料再傳一次
造成網路額外的負擔
最好的方式就是發送與接收雙方
事先協商傳送的速度
也就是所謂的流量控制(Flow Control)
- 可靠性與效率性
可靠性(Reliability)與效率性(Efficiency)是互相牴觸的
傳輸層可以負責對資料完整性的驗證
依據編訂序號確認(Acknowledgement)是否正確收到資料
否則要求對方重送(Re-Transmission)來達到可靠性
反之
如果不需要資料的完整性
例如:網路電話
這時傳輸的效率更為重要
所以一般傳輸層會提供兩種不同功能來迎合不同需求
常見的TCP就是一種可靠性的網路協定
相對較無效率
UDP則是講求效率性
所以採用不可靠性的傳輸協定