前言
昨天的文章介紹了 TCP/IP 與 OSI 模型的分層架構,今天會再深入一點點探討 TCP/IP 的運作方式。作為互聯網的基石,TCP/IP 是所有網路通訊的核心,無論是我們日常瀏覽網站還是進行其他網路互動,都依賴它的順利運行。因此,就讓我們一起看下去吧!
TCP/IP架構與相關通訊協定
從上圖中可以看出,應用層主要負責實現各種協定,如 HTTP 和 FTP 等,用於處理網路上的數據交換。在傳輸層,則有兩種不同的通訊方式:面向連接的 TCP 和非面向連接的 UDP。網際互連層則是由 IP 協定來管理,負責將資料包路由至正確的目的地。而最底層的網路連接層則與實體的硬體設備密切相關,負責實際的數據傳輸。
是如何運作的呢?
在瀏覽網頁時,TCP/IP模型主要會經過以下流程:
- 當我們在網頁輸入網址(ex. https://www.facebook.com)時,瀏覽器會向 DNS(網域名稱系統,就像網站的通訊錄,可以將我們所輸入的網域名稱轉換成 IP 位址)請求 Facebook 的真實網址(ex. 31.13.87.36)。
- 瀏覽器透過IP位置向伺服器發出請求,這時網址列與相關資料會被瀏覽器包成一個資料,往下傳至應用層
- 由應用層提供的 HTTP 通訊協定,將來自瀏覽器的資料包起來,並加上應用層表頭,再傳去傳送層
- 傳送層將資料丟入 TCP 封包,並給予 TCP 封包的表頭,傳去網路互連層
- 網路互連層再將資料包入 IP 封包並加上 IP 封包的表頭,傳去網路連接層
- 最後透過網路連接層經由實體設備(ex.乙太網路)傳到 Facebook 主機
- 當封包到達目標伺服器後,Facebook 伺服器會解析請求,並以類似的過程一步一步回傳至瀏覽器。
小結
今天簡要概述了 TCP/IP 架構的基本運作原理,部分協定如 TCP 和 UDP 只做了簡單的說明,後續文章將較深入介紹這些協定的內容。今天的分享就到這裡,若有錯誤或不清楚的地方,歡迎各位不吝指教~
參考資料
維基百科
鳥哥的基礎網路概念
MDN