跳至主要內容

IP 地址分級制度解析:Class A、B、C、D、E 運作原理與廢除原因

在 1988 年,美商哈里伯頓(Halliburton)擁有超過 1,670 萬個公網 IP 位址——這比當時整個中國分配到的位址總和還要多,原因僅僅是因為他們申請得夠早。

這種極端不均等的分配,源自於網際網路初期的一項核心設計:類別網路(Classful Networking)。當時的工程師並未預料到網路會爆發性成長,因而制定了一套看似直覺、實則僵化的位址劃分規則。

要理解當前的網際網路架構,就必須先了解這套曾經運作多年的 IP 分級體系,以及它為何最終走入歷史。

1981 年的藍圖:類別網路的誕生

1981 年 9 月,網際網路工程任務組(IETF)發表了 RFC 791 規範,奠定了 IPv4 的標準。在那個路由器記憶體以 KB 計算、處理器速度極慢的年代,如何讓路由器快速判斷封包要發往何處是個巨大挑戰。

為了解決路由效率問題,設計者將 32 位元的 IPv4 位址劃分為兩部分:網路識別碼(Network ID)主機識別碼(Host ID)

  • 網路識別碼:如同郵務系統中的「郵遞區號」,決定封包要送到哪一個實體網路。
  • 主機識別碼:如同「門牌號碼」,決定封包要送到該網路中的哪一台具體設備。

為了讓路由器不需要查詢龐大的對照表,工程師利用位址開頭的前幾個位元(Leading Bits)來快速識別該位址屬於哪一種規模的網路。這就是 Class A、B、C、D、E 5 個類別的由來。

透過檢視第一個八位元組(Octet)的高位元,路由器能在微秒內完成分類判斷。

Class A、B、C:三大核心類別拆解

IPv4 位址由四組以點分隔的八位元組組成(例如 192.168.1.1),總共有 $2^{32}$(約 42.9 億)個位址。這三大類別根據預期容納的設備數量,進行了不同比例的劃分。

Class A:巨型網路的專屬特權

Class A 專為超大型網路設計。其第一個位元固定為 0

  • 第一個八位元組範圍1126(二進位 0000000101111110
  • 網路位元數:8 位元(預設子網路遮罩 255.0.0.0/8
  • 主機位元數:24 位元
  • 最大網路數:126 個
  • 每個網路可容納主機數:$2^{24} - 2 = 16,777,214$ 台

公式中減去 2,是因為全 0 的位址代表「網路本身」,而全 1 的位址留作「廣播位址(Broadcast Address)」。

在網際網路初期,通用汽車(Ford)、IBM、麻省理工學院(MIT)與史丹佛大學等機構都免費分到了整個 Class A 區塊。光是 MIT 一所學校,就擁有了 1,670 萬個 IP 位址。

Class B:中型企業與大學的主力

Class B 針對中型機構設計,例如大型企業或州立大學。其前兩個位元固定為 10

  • 第一個八位元組範圍128191(二進位 1000000010111111
  • 網路位元數:16 位元(預設子網路遮罩 255.255.0.0/16
  • 主機位元數:16 位元
  • 最大網路數:16,384 個
  • 每個網路可容納主機數:$2^{16} - 2 = 65,534$ 台

Class B 提供了相對平衡的結構,但 6.5 萬個主機位址對大多數公司來說依然過大,造成了極嚴重的位址浪費。

Class C:區域網路與小型組織

Class C 專為小型區域網路(LAN)規劃。前三個位元固定為 110

  • 第一個八位元組範圍192223(二進位 1100000011011111
  • 網路位元數:24 位元(預設子網路遮罩 255.255.255.0/24
  • 主機位元數:8 位元
  • 最大網路數:2,097,152 個
  • 每個網路可容納主機數:$2^8 - 2 = 254$ 台

對一般小型辦公室而言,254 個位址非常夠用,但對於擁有 500 台設備的中型企業來說,一個 Class C 不夠用,申請 Class B 又太過浪費。

這三大類別構成了早期網際網路骨幹,但隨著應用多元化,另外兩個特殊類別也被加入架構中。

Class D 與 E:多播與實驗保留區

除了單播(Unicast)通訊用的 A、B、C 類之外,協議設計者還預留了位址空間給特殊用途。

Class D:組播/多播(Multicast)

Class D 位址的前四個位元固定為 1110

  • 位址範圍224.0.0.0239.255.255.255
  • 用途:多播通訊(Multicast)

Class D 沒有網路識別碼與主機識別碼的概念。它不分配給特定設備,而是用於「一對多」的資料傳輸。例如多媒體串流直播、金融即時報價,以及 OSPF 等路由協定的動態更新,都是利用 Class D 位址將資料同時發送給訂閱該組播的一群主機。

Class E:實驗與研究保留區

Class E 位址的前四個位元固定為 1111

  • 位址範圍240.0.0.0255.255.255.255
  • 用途:IETF 保留作實驗與未來研究用途

Class E 佔據了整個 IPv4 空間的 1/16(約 2.68 億個位址)。由於大多數作業系統的 TCP/IP 堆疊預設直接丟棄 Class E 的封包,這 2.68 億個位址即使在 IPv4 枯竭的今天,依然無法在公網上正常路由,成為網際網路歷史上最大的一筆「死鎖資產」。

這些類別定義了整體結構,但某些特殊範圍則被劃出來滿足特定的區域通訊需求。

特殊與保留 IP 位址範圍

在上述類別中,有幾個特定的位址範圍被保留,無法直接在網際網路公網上進行路由:

  1. Loopback(本地回環)位址127.0.0.0/8127.0.0.1127.255.255.254)。雖然第一個八位元組 127 本應屬於 Class A,但它被專門保留給本機內部測試(localhost)。這意味著整整 1,670 萬個位址僅為了實現「自我封包測試」而被犧牲。
  2. 虛擬私有網路位址(RFC 1918):為了緩解 IP 耗盡,1996 年發布的 RFC 1918 規範從 Class A、B、C 中各劃出一區作為私有 IP:
    • Class A 私有位址:10.0.0.0/8
    • Class B 私有位址:172.16.0.0/12
    • Class C 私有位址:192.168.0.0/16 這些位址可以在區域網路內部重複使用,並透過網路位址轉換(NAT)技術共用公網 IP。
  3. APIPA(自動私有 IP 尋址)169.254.0.0/16。當設備設定為 DHCP 自動取得 IP 卻無法連接至 DHCP 伺服器時,系統會自動指派此範圍內的位址,確保區域網路內的基礎通訊。

理解了這些劃分後,我們就能看清這套制度在 1990 年代初期引發的巨大災難。

金髮姑娘問題:為什麼類別制度走入歷史?

類別網路遇到了經典的「金髮姑娘問題」(The Goldilocks Problem):Class A 太大、Class C 太小,而 Class B 數量太少且「剛剛好」的需求量暴增。

假設在 1992 年,一家擁有 1,000 台電腦的公司向網際網路註冊管理機構申請 IP:

  • 給 Class C(254 個 IP):完全不夠用。
  • 給 4 個 Class C 區塊:雖然總數夠,但會導致全球路由表(Routing Table)多出 4 筆條目,增加路由器負擔。
  • 給 Class B(65,534 個 IP):公司只用 1,000 個,剩餘 64,534 個 IP 被永久浪費。

當時的管理機構通常選擇給予 Class B。結果到了 1992 年底,全球 Class B 位址已被指派超過 60%,IPv4 位址面臨即將耗盡的危機,全球路由表也因為條目激增而面臨崩潰。

CIDR 的救贖(1993 年)

為了解決這場危機,IETF 於 1993 年 9 月發表 RFC 1519,正式引進無類別域間路由(CIDR, Classless Inter-Domain Routing)

CIDR 徹底廢除了 Class A/B/C 的硬性界限。它引入斜線記法(Slash Notation,例如 /22),允許網路遮罩停留在二進位的任意位置,實現了可變長度子網路遮罩(VLSM)

位址需求舊制度(Classful)分配浪費位址數CIDR(Classless)分配浪費位址數
500 台設備1 個 Class B (/16)65,034 個1 個 /23 區塊 (512 個 IP)12 個
2,000 台設備1 個 Class B (/16)63,534 個1 個 /21 區塊 (2,048 個 IP)48 個

CIDR 的出現讓 IP 位址的分配精確度提高了數百倍,將 IPv4 的壽命延長了數十年。

今日的遺產:類別概念還剩下什麼?

雖然類別路由在 1993 年就已正式廢除,但在 30 多年後的今天,這些概念依然深植於網路工程的各個角落:

  1. 預設子網路遮罩:當你在 Windows 或 Linux 系統中手動輸入 IP 192.168.1.5 時,系統仍會自動填入 255.255.255.0。這正是早期 Class C 的遺留預設值。
  2. 網路證照考試:Cisco CCNA、CompTIA Network+ 等專業認證,至今仍要求考生精通 Class A/B/C 的範圍與位元運算,作為理解網際網路協定(TCP/IP)基礎運作的基石。
  3. 私有位址習慣:我們日常使用的路由器,依然慣用 10.0.0.0/8192.168.0.0/16 這類承襲自 Class A 與 Class C 範圍的私人網段。

即便 CIDR 延緩了消耗,IPv4 的 42.9 億個位址最終還是在 2010 年代陸續分配完畢。現今的網際網路正在向劃分方式完全不同的 IPv6 進行世代交替,後者採用 128 位元長度,提供了近乎無限的位址空間,讓「位址不夠用」與「類別劃分」永遠成為歷史課本中的名詞。