一個子網路的區塊大小等於主機位元數的 2 次方——以 /24 來說,就是 2^8 = 256 個總位址,其中 254 個是可用的主機位址。斜線後的數字代表有多少個前置位元用於識別網路;剩餘的位元(32 減去該數字)則定義每個子網路在下一個子網路開始之前包含多少位址。把這個數量轉換成點分十進位的子網路遮罩(/24 為 255.255.255.0)以及通訊埠遮罩(0.0.0.255),就是其餘的答案。對 /20 而言,區塊大小為 2^12 = 4,096 個位址;對 /16 而言為 2^16 = 65,536;對 /30 而言為 2^2 = 4 個位址,其中只有 2 個可用。根據 RFC 3021 以及單一主機語義,有兩個例外:/31(2 個位址,在點對點連結上兩者皆可用)以及 /32(1 個位址,例如 loopback 的單一主機)。使用 子網路計算機 來跳過這些計算——輸入一個帶有 CIDR 前綴或點分遮罩的 IPv4 位址,工具就會在您的瀏覽器中本地運算並回傳網路、廣播、主機範圍、遮罩、通訊埠、IP 類別以及 RFC 1918 狀態。

how to calculate subnet block size
如何計算子網路區塊大小:公式與 CIDR 對照表

「子網路區塊大小」的意義

子網路區塊大小是一個子網路中包含的 IPv4 位址總數——從網路位址到廣播位址之間的所有位址,兩端皆包含在內。「區塊大小」與「子網路大小」在網路規劃中可互換使用,這個值告訴您在下一個子網路開始之前,有多少編號位置可供介面使用。如果一個 /24 擁有 256 個位址,下一個子網路恰好在 256 個位址之後開始,這就是為什麼區塊大小也是路由圖上相鄰網路之間的遞增距離。

在 CIDR(無類別跨網域路由,RFC 4632)出現之前,位址空間被切割成僵化的 A、B、C 類大小——分別約為 1,600 萬、65,536 以及 256 個位址。CIDR 以任意的前綴長度取代了這些固定界線,讓操作者能依需要從主機部分借用位元。一個 /27 把原本的 C 類切成八塊、每塊 32 個位址;而 /20 則把原本的 B 類延伸成十六塊、每塊 4,096 個位址。區塊大小是以數量而非前綴來表達的相同概念,也是工程師在問「這個子網路有多大?」時最常引用的數字。

區塊大小公式及其原理

區塊大小等於主機位元數的 2 次方,其中主機位元 = 32 − 前綴長度。其直覺原理在於:每個主機位元都會使組合數量加倍,因此移除一個位元會使區塊減半,加入一個位元則使其加倍。同樣的運算會以點分十進位形式產生子網路遮罩:當網路位元為 24 時,前三個位元組全為 1(255.255.255),最後一個位元組為 0,寫成 255.255.255.0。

子網路計算機所回報的每個值——網路、廣播、第一個與最後一個可用主機、總數與可用數、子網路遮罩以及通訊埠——都是將這些位元運算套用到位址與前綴後所得的結果。通訊埠遮罩是子網路遮罩的逐位元反向(/24 為 0.0.0.255),這是存取控制清單(ACL)與 OSPF 網路陳述式用來比對範圍的格式。如需深入了解如何從位址與遮罩中分割出網路位元,請參閱 如何從 IP 與遮罩計算子網路位元。

若要快速進行心算,請記住從 /32 往下的倍增規律:/32 = 1、/31 = 2、/30 = 4、/29 = 8、/28 = 16、/27 = 32、/26 = 64、/25 = 128、/24 = 256。對於非位元組對齊的前綴,先取下一個較大的 2 的冪次,再依序以 2 的倍數遞減直到您想要的前綴——/22 位於 /24(256)與 /20(4,096)之間,具體而言是 2^10 = 1,024。

快速對照:CIDR 前綴對應區塊大小

下表列出最常見 CIDR 前綴的區塊大小與可用主機數。區塊大小遵循標準規則 2^(32 − 前綴);可用主機 = 總數 − 2,適用於 /30 之前的前綴。對於 /31 與 /32,標準公式並不適用,因此計算機套用 RFC 3021 與單一主機規則。

CIDR子網路遮罩區塊大小可用主機
/16255.255.0.065,53665,534
/17255.255.128.032,76832,766
/18255.255.192.016,38416,382
/19255.255.224.08,1928,190
/20255.255.240.04,0964,094
/21255.255.248.02,0482,046
/22255.255.252.01,0241,022
/23255.255.254.0512510
/24255.255.255.0256254
/25255.255.255.128128126
/26255.255.255.1926462
/27255.255.255.2243230
/28255.255.255.2401614
/29255.255.255.24886
/30255.255.255.25242
/31255.255.255.25422 (RFC 3021)
/32255.255.255.25511

使用子網路計算機計算子網路區塊大小

透過子網路計算機跳過手動運算。輸入一個 IPv4 位址以及 CIDR 前綴或點分遮罩,工具會在同一列回傳區塊大小以及所有相關數值,全程使用 32 位元無符號位元運算在本地進行,因此資料不會離開您的裝置。

  1. 在位址欄位中輸入一個 IPv4 位址,例如 192.168.1.10。
  2. 選擇一個 CIDR 前綴(例如 /24),或切換至子網路遮罩並輸入類似 255.255.255.0 的值。
  3. 讀取結果表格:網路與廣播位址、第一個與最後一個可用主機、可用與總主機數、子網路遮罩與通訊埠、IP 類別以及 RFC 1918 私有狀態會即時更新。

使用相同的流程來驗證您已規劃好的區塊,或反向推導一個陌生的前綴——貼上位址、輸入您心中的前綴,計算機就會回傳該前綴的完整數值組合。

區塊大小、可用主機與通訊埠——有何不同

區塊大小、可用主機、子網路遮罩以及通訊埠是同一個前綴的四種觀察角度,經常被混淆。區塊大小是子網路中位址的總數,包含網路位址與廣播位址。可用主機是區塊大小減去兩個保留位址(適用於 /30 之前的前綴),這才是您實際分配給介面的數量。子網路遮罩是前綴的點分十進位形式,用於路由協定與主機設定中需要經典 A.B.C.D 格式之處。通訊埠遮罩是子網路遮罩的位元反向,用於 Cisco ACL 與 OSPF 網路陳述式中,其中 1 位元代表「此處為任意值」,0 位元代表「必須相符」。

常被稱為「256 個位址」的 /24 LAN,實際意義是 256 個總數、254 個可用、遮罩 255.255.255.0、通訊埠 0.0.0.255。子網路計算機會將這四項並列顯示,因此在設定路由器、防火牆規則或 DHCP 範圍時,您無需在腦中來回切換。

特殊情況:/31 與 /32 打破規則

有兩個前綴不符合「區塊減二」的規律。根據 RFC 3021,/31 保留給點對點連結使用:它只有兩個位址,且兩者都是可用主機,沒有獨立的網路或廣播位址。子網路計算機反映了這點,並回報 2 個可用主機而非 0 個,這正是您在設定不需要子網路記帳的路由器對路由器串列連結時所需要的結果。

/32 描述的是單一主機——網路、廣播與主機都是同一個位址。Loopback 介面(127.0.0.1/32)以及單一主機防火牆規則使用這個前綴,計算機會回報 1 個可用主機。從 /30 一路到 /0,標準規則皆適用:區塊大小 = 2^(32 − 前綴),可用主機 = 區塊大小 − 2。

在規劃區塊時,RFC 1918 私有範圍同樣重要:10.0.0.0/8、172.16.0.0/12 以及 192.168.0.0/16 保留給 NAT 後方的內部使用,絕不會在公開網際網路上路由。計算機會將這些範圍內的任何位址標記為 RFC 1918 私有,因此您能知道該位址上的服務是否可以直接暴露,或必須置於閘道器之後。

如需深入了解,請參閱 將 HTML 表格轉換為 JSON 以供 Power Automate 使用。