TCP/IP 模型是什麼?— 網際網路的實務版 OSI

Published April 6, 2025 by 徐培鈞
基礎概念

在前幾篇文章中,我們認識了 OSI 七層模型,了解了每一層如何分工合作,讓資料能順利在網路上傳遞。

但你可能會開始好奇一件事:「在現實世界裡,我們真的用 OSI 模型來傳資料嗎?」

答案是——不完全是。

實際上,網際網路的核心架構是建構在另一個更實用的模型上:TCP/IP 模型

它比 OSI 模型簡單,只有四層,卻更加貼近現代網路實作,從我們開網頁、傳訊息、看影片,背後都是依照這個模型在運作。

本篇文章將帶你認識這個「實務派」的 TCP/IP 模型,了解它的每一層如何合作完成任務,並與 OSI 模型作一個簡單的比較。

什麼是 TCP/IP 模型?

TCP/IP 模型的全名是什麼?

TCP/IP 模型的全名是 Transmission Control Protocol / Internet Protocol Model(傳輸控制協定/網際網路協定 模型),簡稱 TCP/IP

它並不是單指某一個協定,而是一整套設計用來讓電腦之間,在網路上進行溝通的協定組合與分層架構

這套架構描述了從應用層的資料產生、一路經過處理、包裝、分段、傳輸,再到對方接收並還原成原始資料的整個過程。

TCP/IP 模型最早誕生於 1970 年代,起源於美國國防部資助的 ARPANET 計畫(網際網路的前身)。

當時美軍希望開發出一套即使在戰爭中、通訊網路部分中斷也能繼續運作的系統,因此需要一個穩健、靈活、跨平台的通訊協定。

而 TCP/IP 就是在這樣的背景下誕生的。

從實驗室原型走向國際標準,TCP/IP 成功實現了跨平台、跨硬體、跨作業系統的資料互通。

如今我們日常生活中所依賴的網際網路,其實就是建構在 TCP/IP 模型之上運作的。

為什麼會有 TCP/IP 模型?OSI 模型不夠好嗎?

在網路模型的世界裡,你可能已經聽過 OSI 模型,它把資料通訊流程拆分成七個層級,各自處理不同任務。

這樣的設計有助於學習理解,但問題是:它太理想化了

OSI 模型是由國際標準化組織(ISO)提出,設計上邏輯嚴謹,但在實際開發和部署時,卻不容易被廣泛採用。

許多協定的開發者與實務工程師覺得它太過繁瑣、不夠靈活,現實世界的需求早已超出原本的設計。

相對地,TCP/IP 模型先有實作、後有理論,是一種從實際需求中誕生出來的架構,實作優先、架構自然成形。

因為它可以快速部署、實用性高、而且運作良好,便逐漸被業界廣泛接納,並最終成為今日網際網路的標準模型

也因此,在學術界你可能會先學 OSI 模型來建立基本觀念;但進入業界、實際從事網路相關工作時,幾乎都是根據 TCP/IP 模型進行操作、除錯與設計的。

用寄信來理解網路傳輸

網路傳輸的概念其實和日常生活中的「寄信」非常相似!

想像一下,當你要寄一封信給朋友時,你需要準備:信封(可依場合選擇不同款式)、郵票(支付郵資)、收件地址(告訴郵局送到哪裡)、以及寄送方式(平信或掛號)。

準備好之後交給郵局,郵局就會負責分類、運輸,最後由郵差送到收件人手中。

網路世界的資料傳輸也是如此,當你的電腦要傳送資料到另一台電腦時,也需要經過類似的「打包」和「配送」過程。

TCP/IP 四層架構就像是這套寄信流程的標準化版本:

英文名稱Application Layer
寄信比喻信封的樣式
英文名稱Transport Layer
寄信比喻寄送方式(平信/掛號)
英文名稱Internet Layer
寄信比喻收件地址
英文名稱Link Layer
寄信比喻郵差的運輸工具

接下來,我們將逐一介紹這四層架構的功能與意義。

TCP/IP 四層架構介紹

應用層(Application Layer):選擇你的「信封」

什麼是應用層?

應用層是離使用者最近的一層,它定義了不同類型的網路應用該如何運作。就像寄信時,你會根據不同的場合選擇不同的信封:

  • 喜慶場合 → 紅色信封
  • 正式公文 → 白色信封
  • 一般郵件 → 黃色信封

常見的應用層協定

在網路世界中,不同的應用也有對應的「協定(Protocol)」:

全名HyperText Transfer Protocol
用途說明瀏覽網頁時使用,是最常見的協定
全名File Transfer Protocol
用途說明檔案傳輸,用於上傳或下載檔案
全名Real-Time Streaming Protocol
用途說明即時串流,用於影音直播、視訊播放
全名Simple Mail Transfer Protocol
用途說明電子郵件發送
全名Domain Name System
用途說明網域名稱解析(將網址轉成 IP)

生活實例

  • 當你打開 YouTube 看影片 → 使用串流相關協定
  • 當你瀏覽購物網站 → 使用 HTTP/HTTPS
  • 當你用 FileZilla 上傳檔案到伺服器 → 使用 FTP

傳輸層(Transport Layer):平信還是掛號?

什麼是傳輸層?

傳輸層負責決定資料該用什麼「方式」傳送,就像你寄信時要選擇:

  • 平信:便宜、快速,但可能會遺失
  • 掛號信:較貴、較慢,但有保障,需要簽收

TCP vs UDP:兩大傳輸協定

傳輸層主要有兩種協定,各有優缺點:

TCP(Transmission Control Protocol)— 掛號信
說明高,資料保證送達
說明較慢
說明三次握手(Three-way Handshake)
說明網頁瀏覽、檔案傳輸、電子郵件

三次握手是什麼?

TCP 在傳送資料前,會先進行「三次握手」來確認雙方都準備好了:

  1. 客戶端:「嗨,我想跟你建立連線」(SYN)
  2. 伺服器:「好的,我收到了,我也準備好了」(SYN-ACK)
  3. 客戶端:「太好了,那我們開始吧!」(ACK)

這就像掛號信需要收件人簽名確認一樣,確保資料不會遺失。

UDP(User Datagram Protocol)— 平信/明信片
說明低,資料可能遺失
說明快,延遲低
說明無需握手,直接發送
說明語音通話、視訊會議、線上遊戲、直播

為什麼有時候可以接受資料遺失?

想像你正在和朋友視訊通話,如果中間漏掉一兩個字,你還是可以理解對方在說什麼。但如果為了確保每個字都送達而不斷重傳,反而會造成嚴重的延遲,讓對話變得卡頓。這就是 UDP 存在的意義!

協定配對關係

不同的應用層協定,會搭配不同的傳輸層協定:

傳輸層協定TCP
原因網頁內容必須完整,不能遺失
傳輸層協定TCP
原因檔案傳輸必須正確無誤
傳輸層協定UDP
原因即時串流重視速度,可容忍少量遺失
傳輸層協定UDP
原因語音通話需要低延遲

網路層(Internet Layer):收件人的地址

什麼是網路層?

網路層負責標示「目的地」,也就是資料要送到哪裡。這就像信封上的收件地址,告訴郵差這封信要送到哪個地方。

IP 位址:網路世界的門牌號碼

在網路世界中,每一台連網的設備都有一個獨特的 IP 位址(Internet Protocol Address),就像每棟房子都有門牌地址一樣。

IPv4 位址範例:

192.168.1.1
172.217.160.78(Google 的其中一個 IP)

IPv6 位址範例:

2001:0db8:85a3:0000:0000:8a2e:0370:7334

IP 位址的功能

  1. 識別設備:每台設備都有唯一的 IP
  2. 路由定址:讓網路設備知道要把資料傳到哪裡
  3. 位置定位:大致判斷設備的地理位置

什麼是連結層?

連結層是最底層,負責實際的「物理傳輸」。就像我們寄信時,不會知道郵差是騎摩托車、開車還是搭飛機把信送到目的地。

常見的實體傳輸媒介

特性成本低、安裝方便
常見應用家用網路、辦公室區域網路
特性速度快、頻寬大、距離遠
常見應用骨幹網路、跨國連線
特性連接各大洲
常見應用國際網路傳輸
特性方便、無需佈線
常見應用無線網路
特性覆蓋範圍廣
常見應用偏遠地區、航空通訊

你不需要知道的細節

作為一般使用者或初學者,你不需要關心連結層的細節。就像你寄信時,只要把信交給郵局,不需要知道郵差是怎麼送的。這就是「分層架構」的好處——每一層各司其職,讓整個系統更容易理解和維護。

封包的旅程:封裝與解封裝

什麼是封包(Packet)?

在網路傳輸中,資料不會一次全部送出,而是被切成一小塊一小塊的「封包」。每個封包就像一封獨立的信,包含了寄件資訊和部分內容。

封裝(Encapsulation)過程

當你的電腦要傳送資料時,會從上到下經過每一層,每一層都會加上自己的「標頭資訊」:

原始資料
     應用層加上 HTTP 標頭
[HTTP 標頭] + [資料]
     傳輸層加上 TCP 標頭
[TCP 標頭] + [HTTP 標頭] + [資料]
     網路層加上 IP 標頭
[IP 標頭] + [TCP 標頭] + [HTTP 標頭] + [資料]
     連結層加上訊框標頭
[訊框標頭] + [IP 標頭] + [TCP 標頭] + [HTTP 標頭] + [資料]
    
透過實體媒介傳送出去

這就像寄信時,你把信紙放進信封,貼上郵票,寫上地址,最後交給郵局處理。

解封裝(Decapsulation)過程

當資料到達目的地後,會進行相反的「解封裝」過程:

收到封包
     連結層移除訊框標頭
[IP 標頭] + [TCP 標頭] + [HTTP 標頭] + [資料]
     網路層移除 IP 標頭
[TCP 標頭] + [HTTP 標頭] + [資料]
     傳輸層移除 TCP 標頭
[HTTP 標頭] + [資料]
     應用層處理
最終呈現給使用者

就像收件人收到信後,拆開信封,取出信紙閱讀內容。

視覺化示意圖

OSI 與 TCP/IP 模型對照表

flowchart LR
    subgraph OSI["OSI 七層模型"]
        direction TB
        OSI7["7.應用層"]
        OSI6["6.表達層"]
        OSI5["5.會話層"]
        OSI4["4.傳輸層"]
        OSI3["3.網路層"]
        OSI2["2.資料連結層"]
        OSI1["1.實體層"]
    end
    
    subgraph TCP["TCP/IP 四層模型"]
        direction TB
        TCP4["4.應用層"]
        TCP3["3.傳輸層"]
        TCP2["2.網際網路層"]
        TCP1["1.網路介面層"]
    end
    
    OSI7 --- TCP4
    OSI6 --- TCP4
    OSI5 --- TCP4
    OSI4 --- TCP3
    OSI3 --- TCP2
    OSI2 --- TCP1
    OSI1 --- TCP1


💡 小提醒:為什麼要兩個模型一起看?

  • 學習網路時,OSI 模型更細緻,適合幫助建立整體結構與分層思維
  • 實作與開發工作中,TCP/IP 模型才是實際使用的標準,你在分析封包、設計系統或寫程式時,幾乎都是在操作 TCP/IP 模型的內容。

建議初學者一開始可以用 OSI 模型打下理解的基礎,再透過 TCP/IP 模型掌握實際的系統運作邏輯,兩者搭配起來最能內化成你的網路知識體系。

總結

雖然 OSI 模型有助於學習與理解網路結構,但如果你想深入實務、參與網站建置、了解封包傳輸、進行網路除錯,那麼TCP/IP 模型才是你真正會接觸與操作的主角

掌握這個模型後,接下來我們就能實際拆解一次網頁請求的整個過程,看看從你輸入網址到網頁出現,中間到底發生了什麼神奇的事!

敬請期待第六篇 👉 「從打網址開始,網路到底發生了什麼事?」