
IP 地址與子網絡:由 Class A/B/C 到 CIDR,/24 代表甚麼?
192.168.1.0/24 中的 /24 表示網絡前綴佔 24 位元,對應子網絡遮罩 255.255.255.0。要明白它與 256 個地址、254 個傳統主機地址的關係,可以先看 IPv4 如何由 Class A/B/C 演變成 CIDR。本文亦區分地址總數、可分配主機數與路由彙總,避免把歷史分類當成今天的分配規則。
日文原文發布: 2026-05-03
RFC 791(1981):IPv4 與歷史地址分類
1981 年 9 月的 RFC 791 定義 IPv4 的 32 位元地址空間,約有 43 億個地址。早期設計依前導位元,將網絡與主機欄位分成三種主要格式:
如表格未能完整顯示,可左右捲動。
| 類別 | 前導位元 | 歷史前綴 | 首個 octet(8 位元) | 理論編號模式數 | 傳統每網絡最大主機數 |
|---|---|---|---|---|---|
| A | 0 | /8 | 0~127 | 128 | 16,777,214 |
| B | 10 | /16 | 128~191 | 16,384 | 65,534 |
| C | 110 | /24 | 192~223 | 2,097,152 | 254 |
編號模式數是依位元配置算出的理論數量,不是全部都能分配。例如 0/8 與 127/8 有特殊用途。RFC 791 將前導 111 留給擴充定址;後來才整理出 Class D(前導 1110,224/4,多播)與 Class E(240/4,保留)。現今能否使用某個區塊,應查看 IANA 登錄,不能只憑歷史類別。
固定分類的粒度很粗:若想把 500 台主機放在單一歷史網絡編號內,Class C 的 254 台不夠,Class B 的 65,534 台卻過大;只用 500 台時,傳統主機編號空間有 99% 以上未使用。使用多個 Class C 也是選項,但會增加路由項目與管理成本。
RFC 950(1985):標準化子網絡劃分
1985 年 8 月的 RFC 950 在先前提案基礎上,標準化了讓單一 IP 網絡編號涵蓋多個實體網絡的子網絡劃分程序。計算核心是位元 AND 運算:
IP 地址: 192.168.1.100 = 11000000.10101000.00000001.01100100
子網絡遮罩: 255.255.255.0 = 11111111.11111111.11111111.00000000
AND 結果: 192.168.1.0 = 11000000.10101000.00000001.00000000
遮罩中為 1 的部分識別網絡與子網絡,為 0 的部分識別主機。從數學上看,一個 Class B 範圍可切成 256 個 /24,或 4 個 /18。但 RFC 950 當時建議不要將子網絡欄位全 0 或全 1 的值分配給實體子網絡;依該歷史規則,分別只有 254 個 /24 或 2 個 /18 可分配。不要把數學分割數與當時的可分配數混在一起。
當時的子網絡主要解決組織內部分割,對外仍使用原本的 Class A/B/C 網絡編號,並未消除全球分配粒度過粗與路由表增長的問題。
1990 年代初期:Class B 與路由表的雙重壓力
互聯網快速成長後,有限的 Class B 網絡編號與持續增加的路由項目形成壓力。取得一個 Class B 對中型組織可能過大,改用多個 Class C 又可能增加路由項目。
RFC 1519 在 1993 年列出的問題中,特別指出Class B 網絡地址空間耗盡與路由表增長很可能在 1~3 年內變得嚴重。需要的不是只有增加可分配編號,也包括讓多個網絡能以較少的路由資訊表示。
CIDR(1993):不再受固定類別限制
CIDR(Classless Inter-Domain Routing,無類別域際路由)由 1993 年 9 月的 RFC 1519 提出,2006 年 8 月的 RFC 4632(BCP 122)再整理其最佳現行做法(Best Current Practice)。
CIDR 不再由地址開頭的 Class A/B/C 格式決定網絡邊界,而是直接指定前綴長度:
歷史 Class C:固定 /24
CIDR:可使用 /20、/21、/22、/23、/24、/25 等前綴
10.0.0.0/20 → 前綴 20 位元,主機部分 12 位元
→ 傳統可用主機數 2^12 - 2 = 4,094
例如 500 台主機可考慮 /23(510 個傳統主機地址),2,000 台可考慮 /21(2,046 個),比固定類別更有彈性。
另一個重點是路由彙總:16 個連續、且邊界對齊的 /24,共 16 × 256 = 4,096 個地址,可以合併為一個 /20。除了連續,還必須共享前 20 位元,區塊數為 2 的次方,並對齊彙總前綴的邊界;不是任意 16 個連續 /24 都能合併成單一 /20。
為甚麼 /24 通常有 254 個主機地址?
對傳統 IPv4 子網絡(/0~/30),只扣除網絡地址與廣播地址時,數學上的主機數為:
傳統可用主機數 = 2^(32 - 前綴長度) - 2
減去的 2 個地址,分別是主機部分全 0 的網絡地址,以及全 1 的廣播地址。/31 與 /32 不適用這條公式:RFC 3021 的點對點 /31 可使用兩個地址,/32 則表示單一地址。
如表格未能完整顯示,可左右捲動。
| 前綴 | 子網絡遮罩 | 主機位元 | 主機/地址數 | 用途例 |
|---|---|---|---|---|
| /32 | 255.255.255.255 | 0 | 1 個地址 | 主機路由、單一端點 |
| /31 | 255.255.255.254 | 1 | 2(RFC 3021 條件下) | 點對點連接 |
| /30 | 255.255.255.252 | 2 | 2 | 點對點連接 |
| /28 | 255.255.255.240 | 4 | 14 | 小型伺服器網段 |
| /24 | 255.255.255.0 | 8 | 254 | 區域網絡 |
| /16 | 255.255.0.0 | 16 | 65,534 | 較大地址區塊 |
| /8 | 255.0.0.0 | 24 | 16,777,214 | 相當於歷史 Class A 的大小 |
/24 的計算是 2^(32-24) - 2 = 256 - 2 = 254。這是理論計數,實際可分配範圍還可能受特殊用途或平台保留規則影響。雖然大小與歷史 Class C 相同,但在 CIDR 中,/24 只表示前綴長度 24,不代表地址仍屬於 Class C。
RFC 1918(1996):私有 IP 地址
1996 年 2 月的 RFC 1918(BCP 5)為私有網絡保留三個範圍:
如表格未能完整顯示,可左右捲動。
| 範圍 | CIDR | 總地址數 | 歷史類別大小對照 |
|---|---|---|---|
| 10.0.0.0~10.255.255.255 | 10.0.0.0/8 | 16,777,216 | 1 個 Class A |
| 172.16.0.0~172.31.255.255 | 172.16.0.0/12 | 1,048,576 | 16 個 Class B |
| 192.168.0.0~192.168.255.255 | 192.168.0.0/16 | 65,536 | 256 個 Class C |
這些地址在私有網絡內使用,不應跨越其邊界向公用互聯網通告路由。不同私有網絡可以重複使用同一範圍,因此不同家庭的路由器都可能使用 192.168.1.1。
私有地址連到公用 IPv4 互聯網時,常見做法是 NAT(Network Address Translation,網絡地址轉換)。但NAT 並不是使用私有地址的必要條件:也可經代理伺服器、應用閘道,或只進行私有網絡內部通訊。地址共享則有助於延續有限 IPv4 資源的使用。
2011 年 2 月 3 日:IANA 中央地址池耗盡
2011 年 2 月 3 日,IANA 將一般庫存中最後 5 個 /8 區塊分配給全球 5 個區域互聯網註冊管理機構(RIR),宣布中央未分配地址池耗盡。
這表示當時的一般庫存用完,不是全部約 43 億個地址都已由實際主機使用。後來歸還 IANA 的地址仍可能依回收地址政策重新分配。「耗盡」之後的運作包括:
- RFC 1918 與 NAT:各私有網絡重複使用有限範圍,並共享公用 IPv4 地址。
- CGNAT:營運商讓多個客戶連接共享公用 IPv4;RFC 6598 為此類用途保留
100.64.0.0/10的 Shared Address Space。 - IPv4 地址轉移:依各 RIR 政策在組織之間轉移地址資源。
- 遷移至 IPv6:使用 128 位元、約
3.4 × 10^38個地址的後繼協定;這不是擴充 IPv4 本身的地址空間。
IPv6 普及率會隨測量方式、地區與日期改變,需要最新數據時應查看測量來源的公開統計。
特殊用途區塊與文件示例地址
IANA IPv4 Special-Purpose Address Registry 記錄許多用途受限制的區塊:
如表格未能完整顯示,可左右捲動。
| 區塊 | 用途 | 依據 |
|---|---|---|
| 0.0.0.0/8 | 「本網絡」,啟動時的自我指涉 | RFC 791 |
| 127.0.0.0/8 | 迴路(loopback、localhost) | RFC 1122 |
| 169.254.0.0/16 | IPv4 鏈路本地地址 | RFC 3927 |
| 192.0.2.0/24 | 文件示例 TEST-NET-1 | RFC 5737 |
| 198.51.100.0/24 | 文件示例 TEST-NET-2 | RFC 5737 |
| 203.0.113.0/24 | 文件示例 TEST-NET-3 | RFC 5737 |
| 255.255.255.255/32 | 有限廣播 | RFC 919 |
技術文件若需要一般外部 IP 地址例子,應使用 RFC 5737 的 TEST-NET 範圍,不要任意使用真實公用地址。192.168.0.0/16 等私有範圍適合解釋私有網絡本身,但可能與讀者實際使用的網絡衝突。
重點整理
- RFC 791 定義 IPv4 的 32 位元與歷史 Class A/B/C 格式。
- RFC 950 標準化以子網絡遮罩與 AND 運算進行內部分割。
- Class B 耗盡風險與路由表增長,促成 CIDR 的前綴長度與路由彙總設計。
- /24 有 256 個地址,傳統上扣除網絡與廣播後為 254;/31 與 /32 要另外處理。
- RFC 1918 保留 10/8、172.16/12、192.168/16 三個私有範圍。
- IANA 在 2011 年耗盡一般中央庫存,不等於每個 IPv4 地址都在使用。
- 外部地址例子使用 TEST-NET;IPv6 則是後繼協定,不是 IPv4 的擴充地址。
參考資料及來源
- RFC 791 — Internet Protocol(1981 年 9 月) ↗
- RFC 950 — Internet Standard Subnetting Procedure(1985 年 8 月) ↗
- RFC 4632 — CIDR、BCP 122(2006 年 8 月) ↗
- RFC 1519 — CIDR 原始規格(1993 年 9 月) ↗
- RFC 1918 — Address Allocation for Private Internets ↗
- RFC 3021 — Using 31-Bit Prefixes on IPv4 Point-to-Point Links ↗
- RFC 1122 — Requirements for Internet Hosts -- Communication Layers ↗
- RFC 1112 — Host Extensions for IP Multicasting ↗
- RFC 3927 — Dynamic Configuration of IPv4 Link-Local Addresses ↗
- RFC 5737 — IPv4 Address Blocks Reserved for Documentation ↗
- RFC 6598 — IANA-Reserved IPv4 Prefix for Shared Address Space ↗
- RFC 919 — Broadcasting Internet Datagrams ↗
- IANA — IPv4 Recovered Address Space ↗
- ICANN — IPv4 未分配中央地址池耗盡公告(2011 年 2 月 3 日) ↗
- IANA — IPv4 Special-Purpose Address Registry ↗
編輯說明
本文使用 AI 協助編輯,並在發布前由編輯核對。內容仍可能包含事實、理解或時效上的錯誤;作出重要決定前,請查閱所列的一手資料或官方文件。

