01

總覽與定位

IP 位址是網路層的「門牌號」;子網路遮罩決定哪些位元是「街道」、哪些是「房號」。

我們在分層模型篇建立了 TCP/IP 分層心智模型,知道網路層(Internet Layer)用 IP 位址回答「封包要送到哪一台主機」。但光有 32 位元的數字還不夠——你必須知道:

  • 這台主機跟我是同一個子網路嗎?(同網段可在區網直接送達;跨網段要把封包交給 Gateway)
  • 這個子網路從哪到哪?(網路位址、廣播位址、可用主機範圍)
  • 拿到一塊大網段時,怎麼劃成多個較小的子網給不同機房/服務?
  • 機房新上架一台伺服器,IP、遮罩、Gateway 該填什麼?填完怎麼驗?

本篇聚焦 IPv4 定址與子網路劃分(Subnetting)——這是後續「區域網路與設備」「NAT/Port Forwarding」的先備地基。貫穿情境:新機房上架一台伺服器,你要手動設定固定 IP、子網路遮罩與預設閘道;同時學會把網管給的大網段切成合用的小塊。

座標這篇在系列中的位置

承接「TCP/IP 分層模型」的網路層(L3)細節。本篇回答「IP 怎麼解讀、遮罩怎麼算、大網段怎麼切」。讀本篇只需記住行為:同網段=本機直送、跨網段=交給 Gateway。文中若提到 ARP(用對方 IP 問出對方網卡 MAC 位址,才能在區網送達)或 L2,只需懂這一句;Switch/MAC/ARP 協定細節見後續「區域網路與設備」,不阻礙你手算遮罩。公私有 IP 與 NAT 留給「NAT、公私有 IP 與 Port Forwarding」。

一句話答法IPv4 是 32 位元門牌號;子網路遮罩把位址切成「網路前綴+主機號」,決定同網段判斷、可用範圍與 Gateway;CIDR 用 /N 寫前綴長度;Subnetting 是把大前綴再切成多個較長前綴的小網段。

02

IPv4 位址結構

32 位元、四組八位元、點分十進位——看懂這三件事就能讀懂任何 IP。

IPv4 位址是 32 位元(bit)的整數,慣例切成四段、每段 8 bit,用點分十進位(dotted decimal)書寫,例如 192.168.1.10。每一段範圍 0–255,因為 28 = 256。

表示法範例說明
點分十進位192.168.1.10人類可讀,設定檔最常見
二進位11000000.10101000.00000001.00001010子網路運算的本質形式
32 位元整數3232235786程式內部常用 inet_aton 轉換
CIDR 前綴192.168.1.10/24IP + 遮罩長度,路由表標準寫法

面試常考:把 10.0.0.0/8 翻成二進位,前 8 bit 是網路、後 24 bit 是主機——傳統可用主機數 224 − 2(扣網路位址與廣播位址;/31、/32 有例外,見後文)。

早期 IP 用類別定址(Classful):A/B/C 類分別固定前 8/16/24 bit 當網路。問題是粒度太粗——一個 Class C 永遠 254 台,小公司浪費、大公司不夠,中間沒有彈性。現代全面改用無類別定址(Classless),靠任意長度的前綴(CIDR)彈性切分。

面向Classful(已過時)CIDR(現行)
網路/主機切點只能 8/16/24任意 /0–/32
範例一個 Class B = 整塊 /16可把 /16 切成多個 /24、/26…
面試態度知道名詞、知道為何被淘汰實際計算與規劃都用 CIDR
陷阱特殊位址別拿來配給主機

0.0.0.0(介面還沒拿到正式 IP 時的占位)、127.0.0.0/8(本機迴環,例如 127.0.0.1 測本機服務)、以及每個子網路的網路位址(主機段全 0)與廣播位址(主機段全 1)都不可指派給一般主機。若伺服器出現 169.254.x.x,多半是 DHCP 失敗後的自動私有位址,不該當正式機房位址。

路標私有 IP(RFC 1918)先認得就好

機房與家用常見 10.0.0.0/8、172.16.0.0/12、192.168.0.0/16——這些是私有位址,不能直接在公網路由。本篇只要求你認得它們常出現在內網;「為什麼能上網、NAT 怎麼轉」留給後續「NAT、公私有 IP 與 Port Forwarding」。

一句話答法IPv4 是 32 bit,切成四段八位元用點分十進位表示;現代用無類別 CIDR 取代僵化的 A/B/C 類,彈性決定網路與主機各佔幾 bit。

03

子網路遮罩與 CIDR

遮罩是一面「篩子」;斜線後的數字就是「前面幾個 bit 是網路」。

子網路遮罩(Subnet Mask)跟 IP 等長(32 bit),由連續的 1(網路部分)與連續的 0(主機部分)組成。CIDR把同一件事寫成 IP/前綴長度:192.168.1.10/24 等於遮罩 255.255.255.0(前 24 個 bit 為 1)。

核心運算只有一個:網路位址 = IP AND Mask。下面用同一組數字把位元攤開(藍=網路位、橘=主機位):

IP
192.168.1.10 → 11000000.10101000.00000001.00001010
Mask /24
255.255.255.0 → 11111111.11111111.11111111.00000000
AND
192.168.1.0 → 11000000.10101000.00000001.00000000(網路位址)
網路前綴(Mask=1,AND 後保留) 主機號(Mask=0,AND 後歸零)
Network = IP & Mask → 192.168.1.0

作業系統在送出每個封包之前都會做一次這種運算,本質是問:「對方跟我是同一條街道嗎?」

  1. 用自己的 Mask,把自己的 IP AND 出網路前綴。
  2. 用同一條 Mask,把目的 IP AND 出網路前綴。
  3. 兩個前綴相同 → 同子網路 → 在區網直接送達(需要時用 ARP:用對方 IP 問出對方 MAC)。
  4. 前綴不同 → 跨子網路 → 把封包交給預設閘道(Gateway),由路由器往外轉。

遮罩因此決定三件實務上最重要的事:

  • 同網段判斷:上面的四步決策。
  • 可用主機範圍:主機段全 0 是網路位址、全 1 是廣播位址,中間才是可指派給主機的位址(傳統規則)。
  • 子網路大小:主機 bit 數 h,傳統可用主機數 = 2h − 2。
遮罩(點分)CIDR主機 bit傳統可用主機常見用途
255.255.255.0/248254典型辦公/機房區網
255.255.255.128/257126把 /24 對半切
255.255.255.192/26662機房小網段
255.255.255.252/3022兩台設備互連(點對點)
255.255.255.255/3201(特例)只指向單一主機的路由
255.255.0.0/161665534大內網塊

機房情境:若網管給你 10.20.30.0/26,整段只有 62 台可用主機——規劃 IP 時別超出範圍。上表可當「前綴 ↔ 點分遮罩」速查。

關鍵廣播位址:主機位全 1(等價於 OR 反碼)

直覺版:把主機位全部設成 1,就是廣播位址。以 192.168.1.0/24 為例,最後 8 bit 全 1 → 192.168.1.255;往這裡送的封包,同子網路內所有主機都會收到。等價公式:廣播 = 網路位址 OR(遮罩的反碼)。

面試預設答 2h − 2;例外:/32 是單一主機(1 個位址);/31(RFC 3021)在「兩台路由器互連」可把兩個位址都當主機用。實務與面試仍以 /30(2 個可用)最常見——可當選讀加分項。

陷阱遮罩必須是「左連續 1」

合法遮罩的二進位必須是 111…1100…00,例如 255.255.255.240(/28)合法,255.255.255.129 不合法——中間不能出現 0 夾在 1 之間。設定錯誤的遮罩會導致主機無法判斷同網段。雲端防火牆規則(例如 AWS Security Group:依 CIDR 允許/拒絕流量)與路由表幾乎都用 CIDR 書寫,比點分遮罩更不易寫錯長度。

一句話答法遮罩用連續 1 標記網路前綴(CIDR 的 /N);IP AND Mask 得網路位址;傳統可用主機 2h − 2,但 /31、/32 是例外。

04

子網路劃分:把大塊切成小網

Subnetting 的本質:加長前綴 → 主機空間變小 → 得到更多、更小的網段。

假設網管給整棟機房 10.20.30.0/24(256 個位址、傳統 254 可用),你需要拆成 4 個同等大小的網段給「Web/DB/管理/備援」。做法是再借用 2 個主機 bit 當「子網號」:前綴從 /24 變成 /26。

新前綴 = 原前綴 + 需要的子網 bit 數 → /24 + 2 = /26

為什麼是 2 bit?因為 22 = 4 個子網。每個 /26 的主機 bit = 6,傳統可用 = 26 − 2 = 62。

對齊(alignment)很重要:子網路的起始位址必須是「區塊大小」的整數倍。每個 /26 的區塊大小 = 2h = 64(含網路與廣播),因此合法起點是 .0、.64、.128、.192——不能隨手從 .10 開一個 /26。起點每次加的是區塊大小 64,不是可用主機數 62。

10.20.30.0/24 母網段(256 位址)
├─ 10.20.30.0/26  .0–.63  可用 .1–.62  → Web
├─ 10.20.30.64/26 .64–.127 可用 .65–.126 → DB
├─ 10.20.30.128/26 .128–.191 可用 .129–.190 → 管理
└─ 10.20.30.192/26 .192–.255 可用 .193–.254 → 備援

快速驗算某一台機器落在哪一段:看最後一個八位元組(第四段,也叫 octet)落在哪個區間。例如 10.20.30.80 → 落在 .64–.127 → 10.20.30.64/26(DB 網段)。用運算驗證:10.20.30.80 AND 255.255.255.192 = 10.20.30.64。

步驟做什麼本例結果
1確認母網段與需求份數/24 切 4 份
2算子網 bit:2s ≥ 份數s = 2
3新前綴 = 原前綴 + s;查表得點分遮罩/26 → 255.255.255.192
4區塊大小 = 2h(含網路/廣播)64
5列出對齊後的起點(每次 + 區塊大小).0 / .64 / .128 / .192

練習:把同一塊 10.20.30.0/24 切成 8 個等大子網 → 借 3 bit → /27,區塊大小 32,起點 .0/.32/.64/.96/.128/.160/.192/.224;每個傳統可用 30 台。遮罩心算即可:主機 bit=5 → 最後一段為 256 − 32 = 224,即 255.255.255.224。

陷阱未對齊的 CIDR 是錯的

寫 10.20.30.10/26 當「網段」不合法——正確寫法是該位址所屬區塊的網路位址,例如 10.20.30.0/26。許多雲端主控台會自動正規化;手算時請先 AND 出網路位址再書寫。

延伸不等大切割(VLSM)一眼帶過

實務上各部門需要的主機數不同,可以切成大小不一的子網(Variable Length Subnet Mask)。原則相同:每個子網各自選足夠的主機 bit、且區塊彼此不重疊、各自對齊。面試先把「等大切 /24→/26」講清楚,再提 VLSM 即可。

一句話答法劃分=加長前綴換取更多子網;算出新 /N 與區塊大小後,只使用對齊後的網路位址作為各子網起點。

05

Gateway 與預設閘道

同網段直送、跨網段交給 Gateway——它是子網路通往外界的「出口路由器」。

當主機要送封包給另一個 IP,作業系統先做同網段判斷(就是第 3 節那四步,這裡把前兩次 AND 併成一步):

  1. 目的 IP AND 子網路遮罩,跟自己的 IP AND 遮罩比較。
  2. 相同 → 目的在同子網路,必要時用 ARP 找對方 MAC,在區網直接送達。
  3. 不同 → 封包交給預設閘道(Default Gateway),通常是子網路內某台路由器的介面 IP。

同一對主機、遮罩不同,結論可能相反——這是面試最愛考的對照:

主機 A主機 B判斷
192.168.1.10/24192.168.1.200/24同網段(都落在 192.168.1.0)
192.168.1.10/25192.168.1.200/25不同網段(.10→.0;.200→.128)

標準題兩端用同一條遮罩來比。若兩台遮罩設得不一致,每台會用自己的遮罩獨立判斷——可能出現「A 認為同網段直送,B 認為要走 Gateway」的單向不通。

機房上架伺服器時,網管通常會給你三個值(完整設定還常有 DNS,本篇聚焦這三件套):

設定項範例(落在第 4 節切出的 DB /26)角色
IP Address10.20.30.80這台主機在子網路內的門牌
Subnet Mask255.255.255.192(/26)界定同網段範圍
Default Gateway10.20.30.65子網路出口,須與主機同網段

Gateway 必須跟主機在同一子網路內——你把 Gateway 設成不同網段的 IP,主機永遠找不到它。

實務填完三件套後怎麼驗
  1. 確認 Gateway 落在該網段的可用主機範圍(本例 .65–.126),且不是網路/廣播位址。
  2. 寫入 OS 網路設定(或 cloud-init/網卡設定檔)並套用。
  3. 先 ping Gateway;通了再 ping 外網 IP 或內網其他服務。
  4. 若 Gateway 不通:多半是 IP/遮罩/Gateway 三者不在同一網段,或網路線/VLAN 接錯(後者見設備篇)。

Gateway 常是網段內第一個可用位址(本例 .65、家用常是 .1)——這是慣例不是協定;重點是它必須在可用範圍內且確實有路由器在聽。

路標DNS 是常見的第四個值

網管給的完整設定常還有 DNS Server。本篇聚焦 IP/Mask/Gateway 三件套與子網路運算;名稱解析細節見後續 DNS 專篇。

一句話答法預設閘道是子網路的出口路由器 IP;同網段直送、跨網段把封包交給 Gateway,Gateway 必須與主機同子網路且位在可用主機範圍內。

06

靜態 IP 與 DHCP(上架取捨)

伺服器要位址固定;筆電與訪客用自動分配——依角色取捨,並防衝突。

DHCP讓主機開機時自動取得 IP/遮罩/Gateway/DNS;靜態 IP則手動寫死,或用 DHCP Reservation(依 MAC 保留同一 IP)。伺服器、DB、路由器通常要可預測的位址;筆電、訪客走 DHCP 即可。本篇上架三件套仍是 IP/Mask/Gateway;DNS 是常見的第四個值,細節不在本篇範圍。

面向靜態/ReservationDHCP 動態
適用伺服器、基礎設施終端、訪客
風險人工填錯 → IP 衝突DHCP 掛掉 → 新主機無位址
陷阱靜態 IP 衝突

兩台主機設了相同 IP,後開機者常偵測到衝突而通訊異常。機房應維護 IP 清冊,或改用 Reservation 降低手填錯誤。

一句話答法基礎設施用靜態或 DHCP Reservation 固定位址;終端用 DHCP;靜態設定要防 IP 衝突。

07

互動 · 子網路計算器

輸入 IP 與遮罩,看位元切分、網段範圍,並用第二個 IP 驗證同網段判斷。

對齊本篇三個核心動作:算出網段、看懂位元、判斷是否同網段。可先點情境預設,再改數字觀察變化。

互動 · 子網路計算器 位元視覺 + 範圍 + 同網段判斷

預設模式:A、B 用同一遮罩(面試標準題)。若故意填不同遮罩,會分別顯示「A 視角/B 視角」——用來理解誤設定,不是標準答法。

A 的位元切分(藍=網路/橘=主機)
網路前綴 主機號
網路位址—
廣播位址—
第一個可用主機—
最後一個可用主機—
可用主機數—
CIDR 表示—
A 位址合法性—
同網段判斷(A vs B)—
輸入 IP 與遮罩後自動計算。遮罩支援 255.255.255.0 或 /24。
合法主機/同網段 不同網段(比較結果,非輸入錯) 網路/廣播,或遮罩不一致(誤設定) 輸入格式錯誤

建議操作:先看「家用 /24」A 與 B 同網段;再切「/25 切開」——同一對 IP 會變成不同網段。這就是遮罩長度改變路由行為的具體感覺。

一句話答法子網路計算:IP AND Mask 得網路、OR 反碼得廣播;傳統首尾各跳過一個;再用同一遮罩比對兩台 IP 是否同網段。

08

面試與常見誤區速查

高頻子網路題、易混清單、一句話收尾。

高頻問答(點擊展開)

Q1 /24 子網路有幾個可用 IP?▸

主機 bit = 32 − 24 = 8,理論 28 = 256 個位址,扣掉網路位址與廣播位址,可用 254 個。面試記公式:2h − 2(再記得 /31、/32 例外)。

Q2 怎麼判斷兩台主機是否同網段?▸

兩台 IP 分別與同一子網路遮罩做 AND,結果相同即同網段。例如 192.168.1.10/24 與 192.168.1.200/24 同網段;若雙方都是 /25,則 .10 與 .200 分屬 .0 與 .128,不同網段。

Q3 Gateway 可以設成網路位址或廣播位址嗎?▸

不行。Gateway 必須是可用主機範圍內的一個合法單播位址。設成網路位址或廣播位址會導致無法正常轉發。

Q4 /30 和 /31 有什麼差別?▸

/30 有 4 個位址、扣掉網路與廣播剩 2 個可用——剛好點對點兩端。 /31(RFC 3021)允許點對點鏈路把兩個位址都當主機用;面試與多數實務題仍以 /30 作答最穩。

Q5 怎麼把 /24 切成 4 個等大子網?▸

需要 4 個子網 → 借 2 bit → 新前綴 /26;區塊大小 64,起點 .0/.64/.128/.192。每個子網傳統可用 62 台。

Q6 靜態 IP 和 DHCP Reservation 有什麼不同?▸

效果都是固定 IP。靜態在主機本機填;Reservation在 DHCP Server 依 MAC 保留。伺服器兩者皆可,Reservation 較利於集中管理。

易混與陷阱清單

坑以為遮罩可以任意填——必須是左連續 1,255.255.255.129 這類不合法。
坑忘記扣網路與廣播,說 /24 有 256 個可用 IP(正確是 254;/31、/32 另論)。
坑Gateway 設在不同子網路——主機找不到出口,對外全斷。
坑把 CIDR 前綴與點分遮罩搞混——/24 等價於 255.255.255.0,不是 255.255.0.0。
坑子網未對齊——不能把 10.20.30.10/26 當網段名稱,應寫網路位址 10.20.30.0/26。
坑靜態 IP 重複指派——兩台同 IP 會衝突,症狀是間歇性斷線或 ARP 飄移。

一句話收尾

IPv432 bit 門牌,CIDR 用 /N 標記網路前綴長度。
遮罩IP AND Mask 得網路位址;同網段直送、跨網段走 Gateway。
劃分加長前綴、對齊區塊起點,把大網段切成多個小網段。
可用主機傳統 2h − 2;/31、/32 為例外。
機房上架填 IP/Mask/Gateway 三件套,伺服器用靜態或 DHCP Reservation。