TCP/IP 是什麼?🌐
TCP/IP (傳輸控制協定/網際網路協定) 並不是單一的協定,而是一組用於電腦之間通訊的協定套件 (Protocol Suite)。它是網際網路的基礎,你今天所有能上網的設備,從電腦到手機,都必須使用這套協定才能進行溝通。
你可以把 TCP/IP 想像成一個非常可靠的「郵政服務」系統。這套系統有兩個核心角色:
- IP (網際網路協定):就像郵件的「地址和路由」。它確保你的包裹有正確的地址,並被導向到正確的郵遞路線,但它不保證包裹一定會準時或完整送達。
- TCP (傳輸控制協定):就像一個「可靠的包裹運送經理」。它負責在發送包裹前,先和收件人確認地址無誤,然後把一個大包裹拆成許多小包裹,並為每個小包裹編號。它會追蹤每個小包裹的運送狀態,確保所有小包裹都以正確的順序完整地到達,如果途中遺失,它還會要求重寄。
TCP/IP 的核心組件 🔑
1. IP (網際網路協定) 🗺️
- 職責: 處理尋址 (Addressing) 和路由 (Routing)。
- 白話: IP 協定為網路上每台設備分配一個獨一無二的 IP 位址(例如
192.168.1.1
)。當你發送數據時,IP 負責將數據包(packets)從你的設備,透過一系列的路由器,傳送到目標 IP 位址。 - 特性: IP 是一個無連接 (Connectionless)、不可靠的協定。這意味著它只管把數據包盡可能地送到目的地,但不保證順序、完整性或是否成功送達。
2. TCP (傳輸控制協定) 🤝
- 職責: 處理可靠、有順序的數據傳輸。
- 白話: TCP 在數據傳輸前,會在發送方和接收方之間建立一個連線 (Connection),這個過程稱為三次交握。它會將大的數據分解成小的數據包,為每個數據包編號。接收方會發送確認 (ACK) 訊息,告訴發送方收到了哪些數據包。如果發送方沒有收到確認,它會重傳數據包。
- 特性: TCP 是一個面向連接 (Connection-oriented)、可靠的協定。它確保所有數據包都以正確的順序到達,並且沒有任何遺失。
TCP/IP 的分層模型 🧱
TCP/IP 協定套件是基於一個分層模型來運作的,這使得它易於管理和擴展。雖然有很多不同的描述方式,但最常見的是四層模型:
- 應用層 (Application Layer) 💻:
- 職責: 這是最靠近用戶的層,負責處理應用程式之間的通訊。
- 協定: 例如用於網頁瀏覽的 HTTP/HTTPS,用於電子郵件的 SMTP,以及 FTP、DNS 等。
- 傳輸層 (Transport Layer) 🚪:
- 職責: 處理端到端的數據傳輸。
- 協定: TCP 和 UDP (User Datagram Protocol)。TCP 提供可靠傳輸,而 UDP 則提供快速但不保證可靠的傳輸,適用於串流媒體等。
- 網際網路層 (Internet Layer) 🛣️:
- 職責: 處理數據包的尋址和路由,使其能夠跨越不同的網路。
- 協定: 核心就是 IP。
- 網路存取層 (Network Access Layer) 🔌:
- 職責: 處理資料在實體網路上(例如乙太網路或 Wi-Fi)的實際傳輸,涉及 MAC 位址和網卡驅動程式。
🔸TCP/IP 傳輸流程範例(看網頁)
- 你輸入網址(HTTP 請求)
- DNS 解析網址 → 得到 IP
- TCP 建立連線(三次握手)
- IP 根據目的 IP 把資料分封包送出
- 遠端伺服器收到 → 處理後回應 → 封包再回來
- 瀏覽器收到資料後重組顯示畫面
總結 🌟
TCP/IP 是網際網路的骨幹,它提供了一個標準化的框架,讓全球數十億台設備能夠可靠、有序地進行通訊。它的分層設計讓不同的協定可以各司其職,共同構建出我們所知的現代網路世界。