Internet & Networking Terminology 網路名詞小筆記
TCP(Transmission Control Protocol,傳輸控制協定)
TCP 是一種可靠的資料傳輸協定,負責確保資料在傳送過程中不遺漏、不重複,並且按照正確的順序送達對方。這也是為什麼我們說 TCP 是「有連線」、「可靠」的通訊協定。
三次握手(Three-way Handshake)
在 TCP 傳輸開始之前,會先經過「三次握手」來建立連線,確保雙方都準備好開始資料傳輸。整個過程就像雙方互相確認:「我準備好了,你也準備好了,那我們開始吧!」
三次握手的過程簡化如下:
- Client:嗨,我要傳資料囉!(SYN)
- Server:我準備好了,你準備好了嗎?(SYN-ACK)
- Client:我真的準備好了!(ACK)
連線建立後,資料才會開始傳輸。
適用場景:
- 瀏覽網頁
- 檔案下載
- 資料庫連線
只要是需要資料正確、不能遺失的應用場景,通常都會使用 TCP。
進階補充(TCP)
- 屬於 OSI 模型第 4 層:傳輸層
- 屬於 面向連線(connection-oriented) 的協定
- 提供封包編號、確認回應(ACK)、重傳機制
- 擁有擁塞控制、流量控制、檢查碼等機制
- 常見欄位:Sequence Number、ACK Number、SYN、ACK、FIN
UDP(User Datagram Protocol,用戶資料報協定)
UDP 是一種輕量、快速的資料傳輸協定,但它不保證封包順序、不確認是否送達,也不會重傳。就像你把一張明信片丟進郵筒,並不會知道對方有沒有收到。
適用場景:
- 線上直播
- 即時線上遊戲
- VoIP 語音通話
這些應用場景不要求每一筆資料都完美送達,而是更重視即時性。
進階補充(UDP)
- 屬於 OSI 模型第 4 層(傳輸層)
- 無需建立連線(connectionless)
- 封包可能亂序、遺失、不會重傳
- 適合即時性高、可容忍少量資料遺失的應用
ICMP(Internet Control Message Protocol)
ICMP 並不負責傳輸資料,而是用來傳送網路控制訊息與錯誤回報。像是我們熟悉的 ping
、traceroute
指令,就是利用 ICMP 來運作的。
舉例來說,當你在終端機輸入:
1 | ping google.com |
電腦其實是透過 ICMP 傳送一個「我可以連到你嗎?」的訊息,然後等對方回應。
進階補充(ICMP)
- 屬於 OSI 模型第 3 層(網路層)
- 常見用途:
ping
:傳送 Echo Request,接收 Echo Replytraceroute
:利用 TTL 遞減引發 Time Exceeded 錯誤回報
- 用來傳送控制訊息,而非實際應用層資料
DNS(Domain Name System)
DNS 就像網際網路的電話簿,負責將人類容易記憶的網址(如 google.com
)轉換成電腦能理解的 IP 位址(如 142.250.72.14
)。
當你輸入網址時,電腦會詢問 DNS:「請問這個網址對應的 IP 是多少?」查詢到對應的位址後,才能進一步建立連線。
進階補充(DNS)
- 屬於 OSI 模型的應用層協定,使用 Port 53
- 常見查詢方式:
- 遞迴查詢:由 Resolver 全權幫忙找到結果
- 迭代查詢:DNS Server 間分層合作,逐步查詢
- 常見記錄類型:
- A(IPv4)、AAAA(IPv6)、CNAME、MX、NS…
- 支援 TTL 快取,可減少查詢次數
Nameserver(名稱伺服器)
Nameserver 是專門負責回應 DNS 查詢請求的伺服器,當你註冊一個網域名稱時,會需要指定對應的 Nameserver,告訴全世界「要找這個網域的 IP 位址,請來問這台伺服器。」
例如:
- google.com 的 nameserver 會回答「google.com 對應的 IP 是什麼?」
- 當你更換主機供應商時,也需要一併更新 nameserver 設定,才能讓 DNS 正確解析新的位置。
進階補充(Nameserver)
- 屬於 DNS 架構中的授權名稱伺服器
- 負責管理特定網域的解析記錄
- 註冊網域時必須指定至少兩組 Nameserver(可使用 Cloudflare 等服務)
URL(Uniform Resource Locator,統一資源定位符)
URL 是網路世界的門牌地址,告訴瀏覽器該去哪裡、存取什麼資源、並以哪種方式傳輸。
結構範例
https://www.example.com:443/path/to/page?query=value#section1
URL 結構說明
區塊 | 名稱 | 說明 |
---|---|---|
https |
協定 | http / https / ftp… |
www.example.com |
主機名稱 | DNS 會解析成 IP 位址 |
:443 |
埠號 | 預設 http:80 / https:443 |
/path/... |
路徑 | 網頁或資源的位置 |
?query=value |
查詢參數 | 用來傳資料(GET 請求) |
#section1 |
錨點 | 指向頁面內特定位置 |
範例解析
https://www.youtube.com/watch?v=dQw4w9WgXcQ
- 協定:HTTPS
- 主機名稱:YouTube
- 路徑:
/watch
- 查詢參數:
v=dQw4w9WgXcQ
(這是影片 ID)
概念總整理
名詞 | 功能 | 特性 |
---|---|---|
TCP | 傳送穩定資料 | 有連線、可靠、三次握手、重傳、擁塞控制 |
UDP | 快速傳輸資料 | 無連線、不保證資料到達、適合即時應用 |
ICMP | 診斷與錯誤通訊 | 用於 ping、錯誤回報、屬於網路層 |
DNS | 將網址轉成 IP | 網路的電話簿、支援快取、多種記錄類型 |
Nameserver | 回應 DNS 查詢 | 管理授權網域、與 DNS 協作 |
URL | 指定網路資源位置 | 協定、主機、路徑、參數、錨點等結構資訊 |
📌 本文為網路入門筆記,如果你對 TCP/IP、DNS 運作原理或 OSI 模型有興趣,歡迎留言分享,也可以期待下一篇延伸說明!