Try   HackMD

Computer Networking — 3. Transport Layer

contributed by <kaeteyaruyo>

tags: Computer Networking

位於應用層與網路層的中間,傳輸層是網路分層架構當中相當核心的一個部份。它負責為執行在不同主機上的應用程式提供直接傳輸服務,扮演著相當關鍵性的角色。在本章中為了教學需要,我們將會輪流探討傳輸層協定的原理原則以及現有協定的實作細節。跟之前一樣,我們會特別強調網際網路所使用的通訊協定,也就是 TCP 和 UDP 傳輸層協定。

首先我們會先來討論傳輸層和網路層兩者之間的關係,為了讓我們接下來能夠檢驗傳輸層的第一個重要功能 —— 把網路層「在兩個終端系統之間進行傳輸」的服務擴大成「在兩個跑在不同終端系統上的應用程式之間進行傳輸」。我們將會在介紹網際網路的無狀態傳輸協定,也就是 UDP 時,展示這個功能是怎麼實現的。

接著我們會再回到原理的探討,思考一個電腦網路傳輸最基本的問題 —— 兩個網路實體要怎麼在有可能會造成資料遺失或損壞的傳輸媒介上,可靠地傳遞資料呢?在看過一系列愈來愈複雜(也愈來愈真實!)的情境之後,我們就能掌握一系列現有的傳輸協定用來解決這個問題的技巧。然後我們就會看到這些原則是怎麼被融入 TCP,這個網際網路的連接導向傳輸協定當中的。

再來我們會思考第二個也很重要的網路連網的基本問題 —— 也就是如何控制傳輸速率,以避免網路的壅塞或是解決壅塞的狀態。我們會探討壅塞的成因是什麼,以及有什麼後果,最後會介紹最常見的壅塞控制技術。在徹底了解壅塞控制這個議題後,我們就會來研究 TCP 是怎麼進行壅塞控制的。


<< 2.8 Summary | 目錄 | 3.1 Introduction and Transport-Layer Services >>