可變長度子網路遮罩與 CIDR#
VLSM(Variable Length Subnet Mask)#
- 傳統子網路切割對所有子網段使用固定長度的子網路遮罩,導致每個子網段的主機容量相同,容易造成 IP 位址浪費。
- VLSM 允許在同一網路中對不同子網段使用不同長度的遮罩,依據實際需求分配不同大小的子網段。
- 典型應用:總公司需要 200 台主機的子網段,分公司僅需 10 台,可分別配置 /24 與 /28。
CIDR(Classless Inter-Domain Routing)#
- 傳統分類式定址(Classful)以 A/B/C 類固定劃分,彈性不足且造成大量位址浪費。
- CIDR 打破類別界線,以「前綴長度(prefix length)」標記網路範圍,又稱為無類別定址。
| CIDR 表示法 | 子網路遮罩 | 可用主機數 | 常見用途 |
|---|---|---|---|
| /24 | 255.255.255.0 | 254 | 小型辦公室 |
| /25 | 255.255.255.128 | 126 | 部門子網段 |
| /28 | 255.255.255.240 | 14 | 小型伺服器群 |
| /30 | 255.255.255.252 | 2 | 點對點連線 |
| /16 | 255.255.0.0 | 65,534 | 大型企業 |
CIDR 同時解決了**路由聚合(route aggregation)**的問題。多個連續的子網段可彙整為單一路由條目,大幅縮減路由表規模,提升路由器效率。
VLSM 與 CIDR 的關係#
- VLSM 著重子網段內部的彈性切割。
- CIDR 著重對外路由通告時的位址聚合。
- 兩者互補,共同構成現代 IP 位址規劃的基礎。
MAC 位址#
基本概念#
- MAC 位址(Media Access Control Address) 是網路介面卡(NIC)出廠時燒錄的實體位址,用於資料連結層的通訊識別。
- 長度為 48 位元(6 bytes),以十六進位表示,如
00:1A:2B:3C:4D:5E。
結構#
| 欄位 | 位元數 | 說明 |
|---|---|---|
| OUI(Organizationally Unique Identifier) | 前 24 位元 | 由 IEEE 分配給製造商 |
| 裝置識別碼 | 後 24 位元 | 製造商自行編號 |
- MAC 位址理論上全球唯一,但僅在同一網路區段(LAN) 內有意義。
- 跨網段通訊時,每經過一台路由器,訊框的來源與目的 MAC 位址都會被改寫為該區段內的位址。
MAC 位址運作在 OSI 第二層(資料連結層),而 IP 位址運作在第三層(網路層)。兩者在封包傳遞中各司其職:IP 負責端到端定址,MAC 負責逐跳(hop-by-hop)轉送。
ARP(Address Resolution Protocol)#
為什麼需要 ARP#
- 傳送端知道目的 IP 位址,但在乙太網路中實際傳送訊框需要目的 MAC 位址。
- ARP 負責將 IP 位址解析為對應的 MAC 位址。
ARP 解析流程#
sequenceDiagram
participant A as 主機 A
participant Net as 區域網路(廣播)
participant B as 主機 B
A->>A: 查詢 ARP 快取表
alt 快取命中
A->>A: 直接使用已知 MAC 位址
else 快取未命中
A->>Net: ARP Request(廣播)<br/>「誰擁有 192.168.1.10?」
Net->>B: 廣播送達目標主機
B->>A: ARP Reply(單播)<br/>「我的 MAC 是 00:1A:2B:3C:4D:5E」
A->>A: 更新 ARP 快取表
endARP 快取表#
- 每台主機維護一張 ARP 快取表(ARP Cache),暫存已解析的 IP-MAC 對應。
- 快取條目有存活時間(TTL),過期後自動刪除,需重新查詢。
- 可使用
arp -a指令查看當前快取內容。
ARP Spoofing(ARP 欺騙) 是常見的區域網路攻擊手法。攻擊者偽造 ARP Reply,將目標的 MAC 位址指向自己,藉此攔截或竄改流量。防禦措施包括 Dynamic ARP Inspection(DAI)與靜態 ARP 綁定。
網域名稱(Domain Name)#
DNS 的角色#
- 人類難以記憶數字化的 IP 位址,DNS(Domain Name System) 將易讀的網域名稱(如
www.example.com)對應至 IP 位址。 - DNS 採用階層式分散架構,由全球多台伺服器協作完成解析。
網域名稱的階層結構#
www.example.com.
| | | |
| | | 根域(.)
| | 頂級域(TLD): .com
| 二級域: example
主機名稱: www| 伺服器類型 | 說明 |
|---|---|
| 根域名伺服器(Root DNS) | 全球共 13 組(A 至 M),是解析的起點 |
| 頂級域(TLD) | 分為通用型(.com、.org、.net)與國碼型(.tw、.jp) |
| 權威名稱伺服器(Authoritative DNS) | 存放特定域名的最終解析記錄 |
DNS 查詢流程#
sequenceDiagram
participant C as 客戶端
participant L as 本地 DNS 伺服器
participant R as 根域名伺服器
participant T as TLD 伺服器
participant A as 權威伺服器
C->>L: 查詢 www.example.com
L->>L: 檢查快取
alt 快取命中
L->>C: 回傳 IP 位址
else 快取未命中
L->>R: 查詢根域名伺服器
R->>L: 回覆 .com TLD 伺服器位址
L->>T: 查詢 TLD 伺服器
T->>L: 回覆 example.com 權威伺服器位址
L->>A: 查詢權威伺服器
A->>L: 回覆 www.example.com 的 IP
L->>L: 寫入快取
L->>C: 回傳 IP 位址
endDNS 快取存在於多個層級:瀏覽器、作業系統、本地 DNS 伺服器。排查域名解析問題時,可使用
nslookup或dig指令,並考慮清除各層快取。
路由(Routing)#
路由的基本概念#
- 路由是指在互聯網路中,將封包從來源端轉送至目的端的過程。
- 路由器根據封包的目的 IP 位址,查詢自身的路由表(Routing Table) 決定下一跳(next hop)。
路由表的組成#
| 欄位 | 說明 |
|---|---|
| 目的網路(Destination) | 封包要到達的網段 |
| 子網路遮罩(Netmask) | 定義目的網路的範圍 |
| 下一跳(Next Hop / Gateway) | 將封包轉送至哪一台路由器 |
| 介面(Interface) | 從哪個網路介面送出 |
| 度量值(Metric) | 該路徑的成本或優先順序 |
路由決策流程#
flowchart TD
A[收到封包] --> B[提取目的 IP 位址]
B --> C[比對路由表條目]
C --> D{是否有匹配條目?}
D -->|是| E[選擇最長前綴匹配]
D -->|否| F{是否有預設路由?}
F -->|是| G[轉送至預設閘道]
F -->|否| H[丟棄封包並回傳 ICMP 錯誤]
E --> I[從指定介面轉送]
G --> I最長前綴匹配(Longest Prefix Match) 是路由決策的核心原則。當多筆路由條目皆匹配時,路由器選擇前綴最長(最精確)的條目進行轉送。
預設閘道(Default Gateway)#
概念#
- 預設閘道是主機路由表中的最後手段:當封包目的地不在任何已知子網段時,一律轉送至預設閘道。
- 通常設定為該子網段的路由器介面位址,如
192.168.1.1。
運作方式#
- 主機判斷目的 IP 是否在同一子網段(以子網路遮罩計算)。
- 同一子網段:直接透過 ARP 取得目的 MAC 位址,以訊框送出。
- 不同子網段:將封包送至預設閘道,由路由器負責後續轉送。
若預設閘道設定錯誤或閘道設備故障,該主機將無法與外部網路通訊,但同一子網段內的通訊不受影響。
靜態路由與動態路由#
比較#
| 項目 | 靜態路由(Static Routing) | 動態路由(Dynamic Routing) |
|---|---|---|
| 設定方式 | 管理員手動輸入 | 路由器自動學習並交換 |
| 適用規模 | 小型網路、路徑固定 | 中大型網路、拓撲多變 |
| 資源消耗 | 低(不需執行路由協定) | 較高(需處理路由協定封包) |
| 容錯能力 | 低(路徑中斷須手動修改) | 高(自動偵測並重新收斂) |
| 安全性 | 較高(不廣播路由資訊) | 需額外防護(如路由認證) |
| 維護成本 | 路由數少時低,多時極高 | 初期設定後維護成本較低 |
實務上常混合使用兩者:核心網路採用動態路由以確保容錯與彈性,末端或對外連線採用靜態路由(如預設路由指向 ISP)以簡化管理。
路由協定(Routing Protocol)#
分類#
flowchart LR
RP[路由協定] --> IGP[內部閘道協定 IGP]
RP --> EGP[外部閘道協定 EGP]
IGP --> DV[距離向量型<br/>Distance Vector]
IGP --> LS[鏈路狀態型<br/>Link State]
DV --> RIP[RIP]
LS --> OSPF[OSPF]
EGP --> BGP[BGP]主要路由協定比較#
| 協定 | 類型 | 演算法 | 度量標準 | 特性 |
|---|---|---|---|---|
| RIP | IGP / 距離向量 | Bellman-Ford | 跳躍數(最多 15) | 簡單但收斂慢,適合小型網路 |
| OSPF | IGP / 鏈路狀態 | Dijkstra(SPF) | 成本(可依頻寬計算) | 收斂快,支援大型網路與區域劃分 |
| BGP | EGP / 路徑向量 | 路徑屬性比較 | AS 路徑、策略 | 網際網路核心協定,ISP 間路由交換 |
距離向量 vs. 鏈路狀態#
| 比較項目 | 距離向量(Distance Vector) | 鏈路狀態(Link State) |
|---|---|---|
| 路由資訊來源 | 僅從鄰居取得路由表摘要 | 全網拓撲資訊(LSA) |
| 收斂速度 | 慢 | 快 |
| 頻寬消耗 | 定期全量交換 | 僅在拓撲變化時增量更新 |
| 運算負擔 | 低 | 較高(需執行 SPF 演算法) |
| 迴圈風險 | 較高(需 split horizon 等機制) | 低 |
BGP 是維繫全球網際網路路由的關鍵協定。每個 ISP 或大型組織構成一個自治系統(AS, Autonomous System),BGP 負責在 AS 之間交換路由可達性資訊。
DHCP 伺服器#
DHCP 的角色#
- DHCP(Dynamic Host Configuration Protocol) 自動分配 IP 位址及相關網路設定給客戶端,免除手動配置的負擔。
- 分配內容包括:IP 位址、子網路遮罩、預設閘道、DNS 伺服器位址。
DHCP 四步驟(DORA)#
sequenceDiagram
participant C as 客戶端
participant S as DHCP 伺服器
C->>S: 1. DHCP Discover(廣播)<br/>「有 DHCP 伺服器嗎?」
S->>C: 2. DHCP Offer(單播/廣播)<br/>「提供 192.168.1.100 給你」
C->>S: 3. DHCP Request(廣播)<br/>「我要使用 192.168.1.100」
S->>C: 4. DHCP Ack(單播/廣播)<br/>「確認,租約時間 24 小時」租約機制#
- DHCP 分配的 IP 位址具有租約期限(Lease Time)。
- 客戶端在租約到達 50% 時嘗試向原伺服器續約;到達 87.5% 時向任意 DHCP 伺服器續約。
- 租約到期未續約,IP 位址將被回收至位址池。
網路中若出現未授權的 DHCP 伺服器(Rogue DHCP),可能派發錯誤設定導致用戶端無法上網或流量被劫持。防禦手段包括在交換器上啟用 DHCP Snooping。
DHCP Relay 的應用
- DHCP Discover 為廣播封包,預設無法跨越路由器。
- 當 DHCP 伺服器與客戶端不在同一子網段時,需在路由器上設定 DHCP Relay Agent(中繼代理),將廣播轉為單播轉送至遠端 DHCP 伺服器。
- 這使得單一 DHCP 伺服器可服務多個子網段,簡化管理。
NAT 與 NAPT#
NAT(Network Address Translation)#
- NAT 在路由器或閘道設備上,將內部私有 IP 位址轉換為外部公網 IP 位址,使內部主機能存取網際網路。
- 解決了 IPv4 位址不足的問題,也隱藏了內部網路結構,提供基本的安全防護。
基本 NAT 的運作#
flowchart LR
subgraph 內部網路
A[主機 A<br/>192.168.1.10]
B[主機 B<br/>192.168.1.20]
end
subgraph NAT 設備
R[路由器<br/>轉換表]
end
subgraph 外部網路
S[Web 伺服器<br/>203.0.113.50]
end
A -->|私有 IP| R
B -->|私有 IP| R
R -->|公網 IP<br/>1.2.3.4| SNAT vs. NAPT#
| 比較項目 | NAT(基本 NAT) | NAPT(Network Address Port Translation) |
|---|---|---|
| 別稱 | Static NAT / Basic NAT | PAT、IP Masquerade、Port NAT |
| 轉換內容 | 僅轉換 IP 位址 | 同時轉換 IP 位址與連接埠號 |
| 公網 IP 用量 | 一個私有 IP 對應一個公網 IP | 多個私有 IP 共用一個公網 IP |
| 同時連線數 | 受公網 IP 數量限制 | 可達數萬(受連接埠數量限制,理論上 65,535) |
| 典型場景 | 伺服器需固定公網 IP | 家庭、企業內部多台主機共用上網 |
NAPT 轉換流程#
sequenceDiagram
participant A as 主機 A<br/>192.168.1.10:3000
participant R as NAT 路由器<br/>公網 1.2.3.4
participant S as 伺服器<br/>203.0.113.50:80
A->>R: 來源 192.168.1.10:3000<br/>目的 203.0.113.50:80
R->>R: 建立轉換條目<br/>192.168.1.10:3000 ↔ 1.2.3.4:50001
R->>S: 來源 1.2.3.4:50001<br/>目的 203.0.113.50:80
S->>R: 來源 203.0.113.50:80<br/>目的 1.2.3.4:50001
R->>R: 查詢轉換表
R->>A: 來源 203.0.113.50:80<br/>目的 192.168.1.10:3000現今家用路由器與企業防火牆幾乎都使用 NAPT 而非基本 NAT。NAPT 透過連接埠複用,讓數百台內部主機僅需一個公網 IP 即可上網。
NAT/NAPT 會破壞端對端連線的透通性,導致部分協定(如 FTP 主動模式、SIP)運作異常。解決方式包括 ALG(Application Layer Gateway) 或使用 UPnP/NAT-PMP 進行動態連接埠映射。
個人反思與延伸(2026-02-23)
- 本章從 VLSM/CIDR 的位址規劃,到 MAC/ARP 的逐跳解析,再到 DNS/路由/DHCP/NAT 的端到端通訊,完整描繪了封包從應用層產生到抵達目的地的全程機制。
- 實務建議:
- 規劃 IP 位址時,預先以 VLSM 表格列出各子網段需求,避免日後擴充困難。
- ARP 與 DHCP 相關的安全威脅(ARP Spoofing、Rogue DHCP)應在交換器層級部署防禦措施。
- NAT 環境下排查連線問題時,優先檢查轉換表(
show ip nat translations)與連接埠映射規則。
- 下一步:第四章將深入探討網路設備(交換器、路由器)的運作原理與虛擬化技術。