Okojyo Soft子網路計算機

IPv4·IPv6 子網路計算機

CIDR、子網路遮罩、萬用字元遮罩、位址範圍,用哪一種寫法輸入都可以,邊輸入邊顯示結果。每個值都能一鍵複製。

  • 全部在瀏覽器中計算
  • 無廣告、無 Cookie、免註冊
  • 特殊用途位址依據 IANA 登錄表
  • IPv4·IPv6
也可輸入 192.168.1.10 255.255.255.0 或 10.0.0.5 - 10.0.0.90
範例
可用主機數
位址總數
可用範圍
網路位元主機位元邊界點一下任一位元,就能把邊界移到那裡。

位址

類別

表示法

名稱解析

切分

把區塊切開,直接看清楚。

以上方的結果為起點。可以把任一區塊對半切開,也能把兩半重新合併,一眼看清位址空間的分配。網頁版最多 64 個區塊。

起始區塊
#區塊可用範圍主機數名稱操作

在這裡填寫的名稱,關閉分頁後就會消失。在 SubnetDeck 中,每個據點的規劃(網段名稱、大小與 VLSM 分配)都依客戶或專案保存在資料夾裡。

認識 SubnetDeck

對照表

子網路遮罩對照表

列出所有 IPv4 前綴的遮罩、萬用字元遮罩與主機數,以及實務上常見的 IPv6 大小。點一下任一列,就會用該值計算。

IPv4 的 /8 至 /32。可用主機數為扣除網路位址與廣播位址後的數量(/31、/32 除外)。
前綴子網路遮罩萬用字元遮罩位址數可用主機數與 /24 的關係典型用途
/00.0.0.0255.255.255.2554,294,967,2964,294,967,294/24 × 16,777,216
/1128.0.0.0127.255.255.2552,147,483,6482,147,483,646/24 × 8,388,608
/2192.0.0.063.255.255.2551,073,741,8241,073,741,822/24 × 4,194,304
/3224.0.0.031.255.255.255536,870,912536,870,910/24 × 2,097,152
/4240.0.0.015.255.255.255268,435,456268,435,454/24 × 1,048,576
/5248.0.0.07.255.255.255134,217,728134,217,726/24 × 524,288
/6252.0.0.03.255.255.25567,108,86467,108,862/24 × 262,144
/7254.0.0.01.255.255.25533,554,43233,554,430/24 × 131,072
/8255.0.0.00.255.255.25516,777,21616,777,214/24 × 65,53610.0.0.0/8 私有位址空間
/9255.128.0.00.127.255.2558,388,6088,388,606/24 × 32,768
/10255.192.0.00.63.255.2554,194,3044,194,302/24 × 16,384
/11255.224.0.00.31.255.2552,097,1522,097,150/24 × 8,192
/12255.240.0.00.15.255.2551,048,5761,048,574/24 × 4,096172.16.0.0/12 私有位址空間
/13255.248.0.00.7.255.255524,288524,286/24 × 2,048
/14255.252.0.00.3.255.255262,144262,142/24 × 1,024
/15255.254.0.00.1.255.255131,072131,070/24 × 512
/16255.255.0.00.0.255.25565,53665,534/24 × 256校園或大型據點;192.168.0.0/16
/17255.255.128.00.0.127.25532,76832,766/24 × 128
/18255.255.192.00.0.63.25516,38416,382/24 × 64
/19255.255.224.00.0.31.2558,1928,190/24 × 32大型據點或雲端網路
/20255.255.240.00.0.15.2554,0964,094/24 × 16大型據點或雲端網路
/21255.255.248.00.0.7.2552,0482,046/24 × 8
/22255.255.252.00.0.3.2551,0241,022/24 × 4中型辦公室(有線+無線)
/23255.255.254.00.0.1.255512510/24 × 2裝置較多的無線網路
/24255.255.255.00.0.0.255256254/24 可容納 1 個標準 LAN 網段
/25255.255.255.1280.0.0.127128126/24 可容納 2 個/24 的一半
/26255.255.255.1920.0.0.636462/24 可容納 4 個伺服器或設備管理(最多 62 台)
/27255.255.255.2240.0.0.313230/24 可容納 8 個印表機等小型網段
/28255.255.255.2400.0.0.151614/24 可容納 16 個小型 DMZ
/29255.255.255.2480.0.0.786/24 可容納 32 個路由器或防火牆之間
/30255.255.255.2520.0.0.342/24 可容納 64 個點對點連結(傳統做法)
/31255.255.255.2540.0.0.122/24 可容納 128 個點對點連結(RFC 3021)
/32255.255.255.2550.0.0.011/24 可容納 256 個單一主機、迴路位址

IPv4 的 /8 至 /32。可用主機數為扣除網路位址與廣播位址後的數量(/31、/32 除外)。

講解

為什麼會得出這個數。

SubnetDeck「講解」頁 11 篇中的 10 篇,全文呈現。講的不是要背的規則,而是背後的原理。

01

遮罩與前綴長度同一邊界的兩種寫法

子網路遮罩與前綴長度是同一邊界的兩種寫法。255.255.255.0 與 /24 指的是同一件事。這個邊界區分的是什麼、又為何只能以整數表示,回到32位元的排列就能明白。

子網路遮罩與前綴長度是同一邊界的兩種寫法。255.255.255.0 與 /24 指的是同一件事。這個邊界區分的是什麼、又為何只能以整數表示,回到32位元的排列就能明白。

IPv4位址是一個32位元的數值。這32位元中,哪些代表網路、哪些代表其中的設備,位址本身並沒有寫明。另外指出邊界位置的,就是子網路遮罩。

子網路遮罩與位址一樣是32位元的排列,網路部分的位元為1,主機部分的位元為0。把 255.255.255.0 寫成二進位,就是24個1之後接著8個0。以一個數值表示這「24個1」的,就是前綴長度,寫作 /24。兩者是同一邊界的不同記法,所指的位置並無不同。

遮罩中的1必須從左邊起連續排列。RFC 1812(1995年6月)將此訂為要求,中間夾著0的排列在現今的路由中無法處理。原因在於比對的方式。判斷某個目的位址是否屬於該網路,只需進行一次比較:高位的n個位元是否一致。只要1是連續的,邊界就能以n這一個數值表示,比較也只是前綴比對。若1不連續,就必須另外傳遞要比對哪些位元;多條路由同時符合時無法決定採用哪一條,也無法把多個範圍合併為一個。

因此,前綴長度是0到32之間的整數,邊界不能落在某個位元的中間。主機部分剩下的位元數,由32減去前綴長度決定。

重點

  • 255.255.255.0 與 /24 是同一邊界的不同寫法。不論以哪種形式輸入,得到的網路都相同。
  • 萬用字元遮罩是0與1的作用和子網路遮罩相反的排列。值為0的位元表示必須一致的位置,值為1的位元表示不論值為何的位置。它與子網路遮罩並不相同。
  • IPv6沒有以點分隔的遮罩寫法,邊界只以前綴長度表示。
  • 僅憑前綴長度無法確定網路。/24 這個寫法只表示邊界的位置,究竟是哪個網路要與位址一起才能確定。
02

網路位址與廣播位址為何要扣除這兩個

每個子網路中都有兩個不能分配給設備的位址:網路位址與廣播位址。由於這兩個被排除在外,可用主機數比位址總數少2。為什麼偏偏是這兩個,看看主機部分的位元排列就能明白。

每個子網路中都有兩個不能分配給設備的位址:網路位址與廣播位址。由於這兩個被排除在外,可用主機數比位址總數少2。為什麼偏偏是這兩個,看看主機部分的位元排列就能明白。

子網路中有兩個位址不分配給設備:主機部分的位元全為0的位址與全為1的位址。

主機部分全為0的位址稱為網路位址,用來作為指稱該子網路本身的識別。路由表中寫的 192.168.10.0/24 這類寫法,就是這種形式。假如把這個位址分配給一台設備,指稱整個網路的排列與指稱其中一台設備的排列就會完全相同。由於無法區分兩者,它被排除在分配的對象之外。

主機部分全為1的位址稱為廣播位址,用來把該子網路上的所有設備指定為目的地。RFC 919 與 RFC 922(皆為1984年10月)規定了這個格式。這種排列是為了同時送達多個對象,因此不能分配給某一台特定的設備。

排除這兩個之後,可用主機數就是位址總數減去2。/24 為 256 − 2,即254;/26 為 64 − 2,即62。

此外,「最小位址與最大位址」這種記憶方式,只是把結果換個說法。定義在於主機部分的位元排列,數值上的大小是由此推導出來的。

重點

  • 網路位址與廣播位址取決於主機部分的位元是全0還是全1。數值上的最小、最大,是由此產生的結果。
  • 同一個位址,前綴長度一變,角色也隨之改變。192.168.10.64 在 /26 中是網路位址,在 /24 中則是可以分配給設備的位址。
  • IPv6沒有廣播。傳送給所有節點的通訊是以群播進行,因此不需要扣除最後的位址。
  • 對於 /31 與 /32,這個減法不能直接套用。直接相減的話,/31 得0,/32 得負數,與實際的處理不符。
03

/31 與 /32減法不成立的原因

子網路的可用主機數,是從全部位址中減去網路位址與廣播位址這兩個求得的。把這個計算直接套用到 /31,結果為0;套用到 /32,則為負數。但實際上 /31 是以2處理,/32 是以1處理。這是因為在 /31 與 /32 上,減法的前提並不成立。

子網路的可用主機數,是從全部位址中減去網路位址與廣播位址這兩個求得的。把這個計算直接套用到 /31,結果為0;套用到 /32,則為負數。但實際上 /31 是以2處理,/32 是以1處理。這是因為在 /31 與 /32 上,減法的前提並不成立。

主機數之所以能用「全部位址 − 2」求得,是因為主機部分全為0的位址指稱網路位址,全為1的位址則保留作為廣播位址。這兩個位址不分配給特定的設備。

在 /30 中,4個位址有2個用於上述用途,其餘2個分配給主機。以 /30 表示點對點鏈路(只有兩台設備彼此相對的區段)時,該區段占用4個位址,其中分配給設備的是2個。

RFC 3021(2000年12月)規定,僅在以 /31 表示這種區段時,不套用這個減法。在點對點鏈路上,一端送出的封包總是由另一端接收。既然不需要把目的地指定為「該子網路內的所有成員」,也就沒有設置廣播位址的理由。主機部分全為0的位址,過去也曾作為舊式的廣播目的地使用,現在已不具這個作用。RFC 3021 規定這兩個位址都解釋為主機位址。結果,/31 的2個位址都分配給主機,可用主機數為2。其目的在於減少位址空間的消耗。

另外,能否解讀 /31 依實作而異。RFC 中有所規定,與所有設備都支援,是兩回事。

/32 的原因則不同。它只有1個位址寬,要分成網路位址與廣播位址,被劃分的對象本身就不存在。這1個位址用來表示只指向單一位址的路由(主機路由),或沒有實體連接埠的迴環介面。可用主機數為1。

重點

  • /31 的可用主機數為2,是因為點對點鏈路上沒有需要廣播位址的場合。並不是因為有2個位址就算作2。
  • /32 的1不是減法的結果。由於沒有可劃分的對象,規則根本沒有用上,於是剩下1個。
  • 有些子網路計算工具會把 /31 與 /32 都顯示為0。這是因為它們把從全部位址減去2的規則一律套用到所有長度上。
  • RFC 3021 針對的是點對點鏈路。連接三台以上設備的區段不在其範圍之內。
04

私有位址與保留範圍已確定用途的範圍

在32位元的位址空間中,有若干範圍的用途是預先確定的。可在組織內部自由使用的私有位址就是其中之一,其路由不會在網際網路上通告。規定這些範圍的文件不只一份,範圍之間也可能相互巢狀包含。

在32位元的位址空間中,有若干範圍的用途是預先確定的。可在組織內部自由使用的私有位址就是其中之一,其路由不會在網際網路上通告。規定這些範圍的文件不只一份,範圍之間也可能相互巢狀包含。

IPv4位址空間中,有一些範圍不參與一般的分配,因為其用途已預先確定。其中具代表性的就是私有位址。

RFC 1918(1996年2月)把 10.0.0.0/8、172.16.0.0/12、192.168.0.0/16 這3個範圍劃給組織內部使用。這些範圍不會在網際網路上進行路由通告。因此,即使不同組織同時使用相同的位址,彼此也互不影響。反過來說,把不同組織的網路直接相連時,兩側可能出現相同的位址。

用途已確定的範圍還有其他幾個。127.0.0.0/8 是指向自身的回送,169.254.0.0/16 是用於位址自動設定的連結本地,192.0.2.0/24、198.51.100.0/24、203.0.113.0/24 專用於文件中的範例,100.64.0.0/10 則用於在電信業者一側共用位址。整理這些範圍的架構,由 RFC 6890(2013年4月)規定。

範圍可能相互巢狀包含。240.0.0.0/4 是為將來使用而保留的大範圍,但位於其內部的 255.255.255.255/32 另行規定為受限廣播。判斷某個位址屬於哪個範圍時,要在符合的範圍中選取前綴長度最長的那一個。若一找到較短的範圍就立即認定,結果就會不同。

重點

  • RFC 1918 的3個範圍大小不同。10.0.0.0/8 含16,777,216個位址,172.16.0.0/12 含1,048,576個,192.168.0.0/16 含65,536個。
  • 172.16.0.0/12 所指的範圍是從 172.16.0.0 到 172.31.255.255。172.32.0.0 不在這個範圍內。
  • 169.254.0.0/16 的位址,可能是自動取得失敗的設備自行設定的。它不一定是透過設定所給予的。
  • 規定用途的範圍可能會增加。100.64.0.0/10 是2012年由 RFC 6598 加入的範圍。
05

網域外可達性與路由器轉送特殊用途位址的兩個屬性

用途已確定的位址範圍,除了名稱與依據的文件之外,還登記了表示處理方式的屬性。能否到達網際網路?路由器能否轉送?這兩個屬性的組合因範圍而異,無法從名稱推斷。

用途已確定的位址範圍,除了名稱與依據的文件之外,還登記了表示處理方式的屬性。能否到達網際網路?路由器能否轉送?這兩個屬性的組合因範圍而異,無法從名稱推斷。

IANA 把用途已確定的位址範圍彙整在「特殊用途位址登記簿」中。每個範圍除了名稱與依據的 RFC 之外,還附有能否作為來源位址、能否作為目的位址等5個屬性。屬性的架構由 RFC 6890 訂定,並由 RFC 8190(2017年6月)修訂。其中直接用於設計與維運判斷的,是路由器轉送與網域外可達性。

路由器轉送表示路由器能否把以該範圍為目的地的封包,從一個介面轉交到另一個介面。169.254.0.0/16 的連結本地為「不轉送」,不會離開同一網段。以這個範圍的位址能夠通訊的對象,僅限於同一網段之內。

網域外可達性表示封包能否跨越組織管理範圍(管理網域)的邊界。RFC 1918 的3個範圍,轉送為「可以轉送」,可達性為「不可達」。在組織內部可以納入路由,但要送往外部就需要位址轉換。100.64.0.0/10 也是相同的組合,即使不屬於 RFC 1918,處理方式也一樣。

組合無法由名稱決定。有些範圍雖屬特殊用途,卻可以到達網域外。192.31.196.0/24(AS112)在網際網路上使用,用來接收私有位址等的反向解析查詢。若在邊界一律丟棄特殊用途的範圍,就連這類範圍也會被擋下。也有像 2002::/16(6to4)這樣,可達性登記簿未規定的範圍。

重點

  • 這兩個屬性表示該範圍作為目的位址時的處理方式。能否作為來源位址,則登記為另一個屬性。
  • 「不可達」並不是指在組織內部不能使用。RFC 1918 的範圍在組織內部可以轉送。
  • 決定在邊界丟棄哪些範圍時,要看的不是範圍的名稱,而是網域外可達性的值。這樣就不會誤擋可以到達外部的範圍。
  • 屬性會隨著範圍的新增或調整而更新。將其作為判斷依據時,要確認登記簿的最後更新日期。
06

CIDR與彙總邊界可以自由設定所帶來的結果

過去,IPv4位址的邊界位置由開頭的位元決定,可用的劃分只有3種。CIDR取消了這種固定方式,改為以前綴長度明確指出邊界。其結果是,把多個範圍合而為一的彙總得以成立。

過去,IPv4位址的邊界位置由開頭的位元決定,可用的劃分只有3種。CIDR取消了這種固定方式,改為以前綴長度明確指出邊界。其結果是,把多個範圍合而為一的彙總得以成立。

1993年以前,IPv4位址是在類別這個架構下處理的。看位址開頭的位元就能知道它屬於哪個類別,類別一旦確定,邊界的位置也就確定了。面向網際網路分配的單位,僅限於網路部分為8位元、16位元、24位元其中之一。

這種方式下,分配的粒度很粗。對於想容納500台設備的組織,含256個位址的範圍不夠,下一個選項就是含65,536個位址的範圍。此外,由於每個組織分到各自的範圍,路由表的項目數會隨分配數量成比例增加。

RFC 1518 與 RFC 1519(皆為1993年9月)規定的CIDR,取消了由類別固定邊界的做法,改為明確指出前綴長度的方式。邊界可以設在0到32之間的任何位置。

邊界變得自由之後,多個範圍就能合併為一個寫法。這就是彙總。192.168.0.0/24 與 192.168.1.0/24 合起來可以寫成 192.168.0.0/23。不過有條件:要合併的範圍必須連續,合併後的大小必須是2的冪,而且開頭的位址必須是合併後大小的倍數。192.168.1.0/24 與 192.168.2.0/24 雖然相鄰,但 192.168.1.0 不在 /23 的邊界上,因此不能合併為一個。

重點

  • 能否彙總,不只取決於範圍是否相鄰。開頭的位址必須落在合併後大小的邊界上。
  • 路由表中有多個項目符合同一目的地時,會選擇前綴長度最長的那一個。因此,彙總後的範圍與指向其中一部分的項目可以並存。
  • 類別的說法還留在文件中,但已不用於決定邊界。把 /24 稱為C類,只是大小一致的對應關係而已。
  • 彙總是合併寫法的操作,位址的數量不變。2個 /24 是512個,/23 也是512個。
07

重疊的5種分類為何不會只重疊一半

兩個CIDR位址區塊之間的關係,必定屬於以下5種之一:相同、包含、被包含、相鄰、分離。只重疊一半的狀態不會出現。這是由位址區塊的構成方式決定的,並不是為了方便判斷而省略。

兩個CIDR位址區塊之間的關係,必定屬於以下5種之一:相同、包含、被包含、相鄰、分離。只重疊一半的狀態不會出現。這是由位址區塊的構成方式決定的,並不是為了方便判斷而省略。

CIDR位址區塊有兩個限制:大小是2的冪,以及開頭的位址是自身大小的倍數。不在這種邊界上的範圍,根本無法以前綴寫法寫出來。

這些限制侷限了兩個位址區塊之間的關係。大小相同時,範圍不是完全一致,就是完全不相交。再看大小不同的情況。設較大的為A,較小的為B。A從自身大小的倍數開始,而且A的大小能被B的大小整除,因為兩者都是2的冪,且B比A小。因此,A的內部可以整齊地分成與B同樣大小的若干部分。B也落在邊界上,所以B不是與A內部的某一部分完全一致,就是位於A之外。它不可能處在超出邊界的位置。

結果,可能的關係就是以下5種。範圍完全相同,就是相同。一方完全包含另一方,就是包含或被包含。不相交且一方的末尾與另一方的開頭相接,就是相鄰。連相接都沒有,就是分離。

要形成只重疊一半的狀態,就必須把其中一方的開頭從邊界上錯開。錯開後的範圍無法以前綴寫法表示,因此不會以CIDR位址區塊的形式存在。

重點

  • 相鄰是不相交的關係之一。與分離的差別僅在於:一方最後位址的下一個位址,是否就是另一方的開頭位址。
  • 即使相鄰,也不一定能合併為一個。只有兩者合起來的大小是2的冪,並且開頭落在新的邊界上時才可以。
  • 前綴長度相同的兩個位址區塊,不是一致,就是不相交。兩者之間不會出現包含關係。
  • 這5種分類在IPv6中同樣適用。因為限制來自大小與邊界的性質,與位址的長度無關。
08

VLSM與FLSM等長劃分,還是依需劃分

把一個範圍分成多個時,有兩種方法:全部切成相同大小,或依所需的大小加以變化。前者稱為FLSM,後者稱為VLSM。兩者的差別不在於工作量,而在於劃分之後剩下什麼。

把一個範圍分成多個時,有兩種方法:全部切成相同大小,或依所需的大小加以變化。前者稱為FLSM,後者稱為VLSM。兩者的差別不在於工作量,而在於劃分之後剩下什麼。

FLSM是把原範圍分成相等大小的方法。前綴長度每增加1位元,部分的數量就加倍,因此劃分數僅限於2、4、8這樣的2的冪。由於所有部分大小相同,大小由需要位址最多的那個部分決定。其他部分也分配同樣的大小。

VLSM是每個部分使用不同前綴長度的方法。把各部分所需的設備數加上網路位址與廣播位址這2個,再分別無條件進位到2的冪。依從大到小的順序沿著邊界排列,各部分的開頭總是落在自身大小的倍數上,中間就不會產生無法使用的空隙。如果先放小的部分,為了讓後放的較大部分落在邊界上,其前面可能會空出一段。

VLSM要成立,路由資訊中必須包含前綴長度。因為各部分的長度不同,只傳遞位址無法還原邊界。不傳遞長度的路由方式,無法在一個範圍內部混用不同的長度。

劃分之後剩下的東西不同。FLSM中,需求較小的部分會有剩餘。VLSM不容易出現剩餘,但各部分邊界的位置各不相同。

重點

  • FLSM的劃分數僅限於2的冪。想分成3份時,就分成4份,其中1份不用。
  • VLSM中依從大到小的順序放置,是為了不留空隙地落在邊界上。如果需求的大小都一樣,改變順序結果也不變。
  • 分配的大小,要把所需設備數加2之後再無條件進位到2的冪來決定。100台則102進位為含128個位址的部分,130台則132進位為含256個位址的部分。
  • 即使部分的大小已經確定,其中能容納的設備數也比位址數少2。因為要扣除網路位址與廣播位址。
09

雲端的保留位址運作機制

在虛擬網路中建立子網路時,可用主機數可能比一般的計算結果少。這是因為平台為了自身的功能保留了一部分位址。被扣除的數量與可建立的最小大小是連動的。

在虛擬網路中建立子網路時,可用主機數可能比一般的計算結果少。這是因為平台為了自身的功能保留了一部分位址。被扣除的數量與可建立的最小大小是連動的。

在實體網路中,被扣除的是網路位址與廣播位址這兩個。在虛擬網路中,除此之外還會保留平台自身使用的位址。

被保留的通常是子網路開頭連續的幾個位址與最後的1個位址。開頭的部分是平台所提供功能的位址,例如該子網路的預設閘道,以及接收名稱解析查詢的位址。也有一部分是為了日後新增功能而空出來的。最後的1個位址因位於相當於廣播位址的位置而被保留。不論虛擬網路內部是否真的會傳送廣播,它都不在分配的對象之內。

由於保留的數量固定,子網路的大小便有了下限。例如,若包含網路位址與最後的1個在內共保留5個,則含16個位址的子網路還剩11個,而含8個位址的子網路只剩3個。子網路越小,保留部分所占的比例就越大。平台會在剩餘數量不敷實際使用之前,訂出可建立的最小大小。

上限也有規定。與下限不同,上限的規定與保留的數量無關。

保留的數量、最小大小與最大大小因平台而異。

重點

  • 即使扣除的數量相同,子網路越小,影響越大。扣除5個時,在含256個位址的子網路中不到2%,而在含16個位址的子網路中超過30%。
  • 被保留的位址集中在開頭與最後。通常不會在子網路中間出現空缺。
  • 可建立的最小大小不一定由保留數量機械式地決定。有時會訂在讓剩餘位址數保有餘裕的位置。
  • 從虛擬網路外部看到的位址空間,不會因是否保留而改變。減少的是可分配的位址,而非範圍本身。
10

IPv6的思維減法消失了

IPv6並不只是把位址長度擴展到128位元。廣播這個機制本身不存在了,求可用主機數的減法也隨之消失。計數方式與寫法也隨著位數的規模而改變。

IPv6並不只是把位址長度擴展到128位元。廣播這個機制本身不存在了,求可用主機數的減法也隨之消失。計數方式與寫法也隨著位數的規模而改變。

IPv6位址為128位元,寫成8個由4位十六進位數組成的組(每組16位元),並以冒號分隔。各組開頭的0可以省略,連續的全0組可以用雙冒號合併省略。不過,雙冒號只能使用1處。如果用在2處,就無法還原每處各代表幾個組。

IPv6中不存在廣播位址。想送達所有節點時,以該用途的群播位址為目的地。在群播中,只有決定接收該位址的節點才會處理,因此可以依用途縮小傳送對象。由於這項變化,已不再有保留子網路最後位址的理由。

相當於網路位址的排列,也不需要為了廣播而空出來。在IPv4中理所當然的「減2」,在IPv6中不再進行。不過,介面ID全為0的位址,被 RFC 4291(2006年2月)保留,用來指稱該子網路的路由器。

位址數的位數也改變了。一個 /64 子網路就含有18,446,744,073,709,551,616個位址。與IPv4整體約43億相比,就能看出數量級的差別。這個值比無號64位元整數能表示的最大值還多1,因此處理時必須選擇不會溢位的表示方式。

各用途的範圍也有規定。fe80::/10 是僅在同一連結內有效的連結本地,fc00::/7 用於組織內部,2001:db8::/32 專用於文件中的範例。實際分配給組織內部使用的,是 fc00::/7 中 fd00::/8 那一半。

重點

  • 雙冒號只能使用1處。若有2處,就無法還原被省略的組數,與其他位址無法區分。
  • IPv6中不進行為了廣播而做的減法。不過,介面ID全為0的位址被保留,用來指稱子網路的路由器。
  • /64 含有的位址數為18,446,744,073,709,551,616。由於它比無號64位元整數能表示的最大值多1,需要不會溢位的表示方式。
  • 廣播不存在了,取而代之的是傳送給所有節點的群播位址。用途得到延續,改變的只是機制。

在 App 中,包括依平台介紹雲端服務保留位址的那一篇在內,11 篇全部可以免費離線閱讀。講解中的範例值可以直接在計算頁開啟。 認識 SubnetDeck

方案庫

IP 位址規劃方案

依常見情境整理的位址分配方法,共 9 類 69 個方案。其中 13 個免費方案可在此閱讀全文。

如何在 10/8、172.16/12、192.168/16 之間取捨,以及從何處切分

10/8 的最上層依什麼劃分
10.0.0.0/8
免費

情境

現在要從零開始規劃公司內部的位址空間。共有 150 個據點和 16 座工廠,雲端的虛擬網路也放在同一空間中。事業部每隔幾年就會重組,據點所屬的區域也會調整。目前正處於先決定 10/8 哪裡要放什麼的階段。

前提

可以在公司內自由切割 10/8。目前不必考慮將來整合時與其他公司的位址空間混在一起的可能。之後可以再增加用途的種類。能夠計算參照邊界的過濾規則行數。

分配

網段主機數區塊
資料中心的伺服器3,000
全公司的管理與監控1,000
遠端存取的位址池1,000
邊界與交接500
全公司共用的備用250

理由

在 10/8 中首先要決定的,是第二個八位元組代表什麼意義。候選有三種:依用途劃分、依組織劃分、依地理劃分。

結論是依用途劃分。組織和地理會變,用途卻不會變。事業部每隔幾年就會重組,負責區域也會調換。相對地,工廠不會變成辦公據點,測試環境也不會變成正式環境。

如果依組織劃分,每次重組都只能二選一:移動邊界,或讓名稱與實際不符的狀態繼續存在。幾乎總是選擇後者,幾年後,業務的區塊裡就會出現別的部門。到那時,設計文件上的劃分與設備上的實際內容就對不起來了。

最上層的邊界無法移動。因為過濾規則是以 10.16.0.0/12 屬於工廠為前提寫的,邊界一旦移動,所有參照它的行都要重新檢查。有 150 個據點、16 座工廠和雲端,就是數百行;而且若不同時切換,就會出現只有單向通訊能通過的時段。

所以一開始決定的東西越少越好。將 10/8 以 /12 劃分,可分配給用途的位址區塊有 16 個。先從四種用途開始,不夠時再增加一個區塊。區塊只會增加,既有的邊界不會移動。16 個區塊只用 4 個看似浪費,但不必移動任何東西更有價值。

擴充空間

/12 的位址區塊共有 16 個。全公司共用、據點、工廠、雲端這四種用途佔用 4 個,剩下 12 個空著。增加用途時,分配一個像 10.64.0.0/12 這樣的空區塊,不動既有邊界。測試、IoT 等之後出現的用途,也不切割既有區塊,而是取用新區塊。下一個要分配哪個區塊,到需要時再決定。

常見陷阱

  • 依組織劃分第二個八位元組。組織每隔幾年就會重組,邊界卻無法移動,名稱與實際就會一直對不起來。應依用途劃分。
  • 一開始就把用途分得很細。不只閒置的區塊會變多,每來一個新需求都要判斷它屬於哪種用途。先從四種左右開始,需要時再增加。
  • 為了不夠用的用途,借用相鄰區塊的一部分。區塊中間會出現邊界,此後只有這個區塊混著兩種用途。不夠時就分配一個完整的區塊。
  • 只留下劃分的結果,不留下理由。接手的人看得出每個區塊的用途,卻看不出為何依用途劃分,於是依組織重新劃分的提議會定期出現。
  • 最後才分配全公司共用的範圍。好用的區塊先被分出去,全公司共用的部分就散落在相距很遠的區塊。全公司共用應放在第一個區塊。
192.168/16 不只屬於自家公司
192.168.0.0/16
免費

情境

一家約 100 人的公司,把現場設備和測試設備放在 192.168 網段。每當要與合作夥伴或委外廠商打通據點之間的連線,就會與對方場所的位址衝突,需要協調。遠端工作的連線有時也會與員工自備的無線路由器衝突。

前提

不一定能事先問到對方場所使用的位址。能把與外部有路由互通的設備和沒有互通的設備分開。事後變更設備位址需要到場會同與重新設定。10/8 也可以使用。

分配

網段主機數區塊
現場設備(不與外部路由互通)200
測試中與交付前的設備200
個別的測試台100
備用(使用中那一半的內側)250

理由

192.168.0.0/16 不只屬於自家公司。家用設備、員工自備的無線路由器、合作夥伴與委外廠商的場所,都在使用同一個空間。預設值集中在 192.168.0 和 192.168.1 是眾所周知的,但問題不只如此。小型設備的預設值也分散在 192.168.10、192.168.100 等處,而對方用的是什麼,通常無法事先問到。

如果採取逐一避開衝突區塊的做法,避開的紀錄會不斷增加。運作十年,避開的區塊就會有幾十個,每出現一個新合作對象,都要與清單比對。比對靠人來做,就會有遺漏。

所以反過來做。用高位元固定使用範圍,只把第三個八位元組為 128 以上的那一半當作自家公司的。這樣會捨棄一半空間,但判斷只需一次。約 100 人的規模用到的區塊不到 10 個,128 個綽綽有餘。

放進去的東西也要限定。這個空間只能放與其他公司、其他據點沒有路由互通的設備。既然知道這個空間的衝突無法避免,就只放發生衝突也無妨的東西。凡是能從據點間連線的另一端看到的、或會出現在互連中的,都從 10.0.0.0/8 取位址。

擴充空間

自家公司只使用第三個八位元組為 128 以上的那一半,在這 128 個區塊中使用 4 個。另一半 192.168.0.0/17 保持空著,即使合作對象增加也不逐塊比對。判斷只需一次:第三個八位元組是否為 128 以上。出現需要與外部路由互通的東西時,不放進這個空間,而是從 10.0.0.0/8 取位址。即使設備增加,使用中的那一半也足夠。

常見陷阱

  • 以整個 192.168 都屬於自家公司為前提來切割。每次互連都會衝突,每次都靠避開區塊來處理,避開的紀錄四處分散。應以高位元固定使用範圍。
  • 列出衝突區塊的清單來避開。每增加一個合作對象都要比對,而比對靠人來做,就會有遺漏。應讓判斷只需檢查一次高位元。
  • 把從外部看得到的設備放進這個空間。與對方場所衝突時,能讓步的只有自己這一邊,結果得變更設備的位址。凡是要出到外部的,都從 10.0.0.0/8 取位址。
  • 覺得捨棄一半可惜,就開始使用不用的那一半。開始使用的區塊收不回來,什麼也得不到,只會失去判斷的簡單性。約 100 人的規模,128 個區塊綽綽有餘。

從 SOHO 到大型辦公,單一據點的位址設計

約100人的單一據點辦公室
10.20.0.0/22
免費

情境

員工約100人、使用一到兩層樓的總公司或分公司。同時使用有線與無線,並在公司內部設置檔案伺服器與NAS,是最典型的架構。

前提

至少有一台第三層交換器或支援VLAN的路由器。DHCP由網路設備或伺服器提供皆可。預估未來3年內人員可能增加到1.5倍。

分配

網段主機數區塊
用戶端(有線)150
伺服器20
網路設備管理30
印表機、多功能事務機15
無線用戶端200
第二階段用(保留給未來擴充)200

理由

在100人規模時,最先猶豫的是「一個 /24 夠不夠」。答案是:只算有線的話夠用,但不能只用一個 /24 來切割。僅有線用戶端的話,一個 /24 就放得下。然而把公司配發的智慧型手機與筆記型電腦的無線連線算進來,每人實際上有2到3台終端,/24 的254個位址很快就會用完。

因此要保留一個 /22,內部以 /24 與 /26 切割。有線用戶端與無線各自使用獨立的 /24,是為了不讓一個DHCP位址池耗盡時波及另一方。伺服器與管理只用 /26,是因為在這個規模下幾乎不會超過60台,切得太大反而會失去第三個八位元組的可讀性。

讓第三個八位元組帶有意義也是刻意的。以0=有線、1=固定IP設備、2=無線、3=第二階段用來對應,看到封包擷取或日誌的瞬間就能知道是哪個網段。這種可讀性直接影響故障處理的速度。

擴充空間

由於整個 10.20.3.0/24 都空著,即使人員增加到1.5倍,也能把無線擴大到 /23,或新增一個依部門劃分的網段。若伺服器的 /26 不敷使用,可把 10.20.1.128/27 的印表機移到 10.20.1.192/27,再把設備管理移到空出來的 10.20.1.128/26,伺服器就能以 10.20.1.0/25 擴大一倍。要再增加據點時,依序使用 10.21.0.0/22、10.22.0.0/22,並彙總為 10.20.0.0/14。

常見陷阱

  • 在企業內網中使用 192.168.1.0/24 或 192.168.0.0/24。它們與家用路由器的預設值衝突,在家工作以VPN連線時路由會出問題。從 10/8 中切出比較穩妥。
  • 把無線與有線用戶端放在同一個網段。之後想增加訪客SSID時,就得從位址規劃開始重來。一開始就分開幾乎沒有成本。
  • 把網路設備的管理位址混入用戶端網段。無法再用ACL單獨限制管理存取,稽核時必定會被指出。
  • 因為「空著」就把備用的 /24 拿去做眼前的用途。備用的價值就在於不被使用,把名稱定為「第二階段用」而非「備用」,比較容易守住。
到班人數難以預測的共享座位據點
10.16.8.0/21
免費

情境

不固定座位、約100個座位的據點。在職人數120人,到班率每天在40%到80%之間變動。所有人都隨身攜帶筆記型電腦,有線連接埠只留在會議室與部分固定座位。派遣人員、駐點外包人員等短期駐點人員經常有10人左右。

前提

無線涵蓋整個據點,員工只靠無線就能用終端完成工作。能依網段設定不同的DHCP租期。能事後從門禁進出紀錄等取得每天的實際到班人數。前提是未採用座位預約制度。

分配

網段主機數區塊
員工終端的無線位址池300
併入位址池用的保留(擴充時併入無線位址池)400
有線(會議室、固定座位)50
短期駐點人員與訪客的終端40
伺服器、共用設備20
印表機、多功能事務機12
網路設備管理12
增加第二層樓時的保留200

理由

決定位址池大小時,最先出現的數字是100個座位與120名在職人數。首先排除座位數。接著要考慮的是到班高峰時的終端數:到班率80%時是96人,每人帶一台筆記型電腦與一支公司配發的智慧型手機,共192台。到這裡為止,/24 的254個位址還放得下。

問題出在之後。在共享座位下,今天誰會來是不確定的。若租期設為24小時,昨天來、今天沒來的人的終端位址仍然有效。到班率在40%與80%之間變動,代表有些日子連續兩天都來的人很少。若40%(48人)的隔天是80%(96人),而兩天的人幾乎不重疊,兩天內來過的人就接近120名在職人數,有效租約最多達到240台。這是 /24 的254個位址的94%,只剩14個。耗盡不是發生在人最多的那天,而是發生在人員替換的那天。該計算的不是到班高峰,而是一個租期內可能來的人數,也就是接近在職人數的數字。

那麼縮短租期可以嗎?租期有下限。午休與下午開會時闔上筆記型電腦,會有3到4小時沒有通訊,若租期設為2小時,就會有終端在回來時取得另一個位址。租期的上限由位址池大小決定,下限由工作方式決定。要同時滿足兩者,只能為位址池分配 /23。有510個位址的話,即使240台也還剩53%。

一旦採用 /23,第三個八位元組與網段的對應就會被打破,但在這個據點,避免耗盡優先於可讀性。另外,若要把一邊持續移動一邊通訊的終端放進同一個位址池,需要另外判斷。

擴充空間

相鄰的 10.16.10.0/23 空著不是為了將來,而是為了讓位址池作為一個子網路擴大。位址池無法分塊追加,因此要把 /23 擴成 /22,相鄰的 /23 必須整個空著。判斷點定在在職人數210人,是因為若兩天內幾乎所有人都來,就是420台,達到 /23 的510個位址的82%。屆時把相鄰的位址區塊合併為 10.16.8.0/22,租期維持不變。由於這個限制,有線與伺服器都被擠到 10.16.12.0/24。若不事先訂好可以釋出的條件,這塊空間一定會被挪作他用。

常見陷阱

  • 依座位數決定位址池。因為有100個座位就切一個 /25,一旦算入每人2台終端與短期駐點人員就不夠用,開始運作的第一週就會耗盡。要數的是終端,不是座位。
  • 為了避免耗盡而縮短租期、加快周轉。午休或會議後回來的終端取得另一個位址,連線因此中斷,但由於只在回來的瞬間中斷,無法重現,也沒有人回報。
  • 把短期駐點人員的終端和員工放進同一個位址池。依在職人數估算的台數與實際持續偏離,每次增員時都說不清到底缺了多少個位址。能預測的和不能預測的要分開。
  • 保留為有線連接埠配發固定IP的做法。在共享座位下,同一個連接埠每天坐著不同的人,位址與使用者的對應很快就會亂掉,只剩下位址登記簿。有線也用DHCP配發。

據點編號與位址的對應,並以路由彙總為前提分配

讓路由彙總生效的150個據點編號方式
10.0.0.0/8
免費

情境

總部1個、區域樞紐8個、營業據點與倉庫141個,共150個據點。各據點經由區域樞紐連到總部,路由在區域樞紐彙總後往上游傳遞。據點編號已用於資產管理與報表單據,依開設順序編排。每年有幾個據點開設,也有幾個關閉。

前提

區域樞紐能把下屬據點彙總成1條路由通告。據點編號體系已經存在,不能因位址規劃的需要而重新編號。每個據點的終端不超過1000台。據點屬於哪個區域,幾年之內不會改變。

分配

網段主機數區塊
代表據點(區域3、據點12)有線用戶端200
代表據點 無線用戶端250
代表據點 伺服器、多功能事務機50
代表據點 網路設備管理60
代表據點 據點內備用250
據點間鏈路與迴環(所有據點共用的位址區塊)250

理由

之所以彙總,是為了不讓150個據點以150條路由的形式傳到上游。但彙總需要的是位址區塊連續,而不是據點編號連續。弄錯這一點,整個設計就白費了。

據點編號已經存在。它們用於資產管理與報表單據,依開設順序編排,與區域沒有對應關係。若把編號直接對應到第二個八位元組,區域3的樞紐下屬的就會是據點3、17、42、88這樣零散的集合。零散的位址區塊無法彙總成1條,傳到上游的路由仍是150條。也不能為了彙總而重新編號,因為編號已寫進報表單據與日常稱呼裡。

所以要把順序倒過來。先把位址區塊分配給彙總單位,也就是區域樞紐,再在這個位址區塊內部把據點編號當作識別碼發放。8個區域各占一個第二個八位元組,每個據點各占一個 /22 位址區塊。1個區域最多容納64個據點。150個據點中,最大的區域也只有24個,完全放得下,傳到上游的路由為8條。即使據點倍增到300個,仍是8條。

代價是從位址上讀不出據點編號。要讓它可讀,就得放棄區域內的連續性。故障處理需要的不是編號規則,而是一張據點編號與位址區塊的對照表。

擴充空間

區域位址區塊使用第二個八位元組的1到8,0用於全公司共用。9到15這7個位址區塊空著,用於增設區域,以及發給超過64個據點的區域作為第二個區域位址區塊。這些編號不連續,要查對照表。10.16.0.0/12 以上不動,留給收購與接納其他事業。

常見陷阱

  • 把據點編號直接對應到位址。編號依開設順序決定,與區域不對應,同一樞紐下屬的據點就會零散分布,傳到上游的路由仍與據點數一樣多。編號要在區域位址區塊內部發放。
  • 從本據點的位址區塊中取據點間鏈路的位址。對端若是其他區域的據點,本區域位址區塊的位址就會落在其他區域,由此往上游傳出更細的路由。鏈路要從據點位址區塊之外的共用位址區塊中取。
  • 在據點內跨越據點位址區塊的邊界追加網段。超出的部分不在彙總範圍內,只有該據點會往上游傳出更細的路由。只在位址區塊內部追加,超出後發放第二個位址區塊。
  • 把能從位址讀出據點編號當作要求。要讓它可讀就得放棄區域內的連續性,彙總便無法成立。需要的不是編號規則,而是對照表。
  • 因地理上的方便,把某1個據點接入其他區域樞紐。位址仍在原區域的位址區塊內,上游就會並列出現區域位址區塊與只屬於該據點的路由。要改接入位置,就連位址一起遷移。

/30、/31 鏈路與 /32 回送位址的位址池設計

點對點鏈路用 /30 還是 /31
10.161.0.0/16
免費

情境

在擁有300條以上點對點鏈路的網路中,決定鏈路的前綴長度。設備世代混雜,舊設備、專用設備與虛擬設備並存。有人以節省位址為由,提議統一改用 /31。

前提

能列出每條鏈路兩端設備的型號與世代。能事先確認設備是否支援 /31。分配集中在一處進行。事後更改鏈路位址需要改寫設備設定與監控。

分配

網段主機數區塊
以 /30 切分的鏈路範圍(預設)2,000
以 /31 切分的鏈路範圍(已確認支援的區段)250
迴環250
鏈路備用2,000

理由

/30 的4個位址中只有2個可用,/31 的2個位址都能用。所需位址數減半。

但作為節省,這毫無意義。有352條鏈路時,/30 占用1408個位址,/31 占用704個。相差的704個,只占為鏈路預留的 /16 位址區塊的約1%。這麼小的差額,不足以改變判斷。

決定因素是設備能否全部支援。並非所有設備都能處理 /31。舊設備、專用設備、虛擬設備中,可能有某台不支援。每條鏈路兩端各有一台設備,只要其中一台不支援,這條鏈路就只能用 /30。

混用會改變分配流程。位址池中混有兩種大小,每次分配都要檢查兩端兩台設備是否支援。每月10條,一年就是120次。節省的704個位址,不值得每年120次檢查。

所以要統一。全部設備都支援就用 /31,只要還剩一台不支援就全部用 /30。如果非混用不可,就分開範圍,免得每次分配都要檢查。

還有一點。一旦以 /30 切出的鏈路,即使設備更換了也不會改為 /31。改用就要更改位址,設備設定與監控中的名稱都會被改寫。不要以日後遷移為前提。

擴充空間

預設用 /30,只有確認支援的區段才從 /31 範圍中切出。分開範圍,是為了分配時不必檢查設備是否支援。只有在兩端設備已更換並確認支援時,才把該區段加入 /31 範圍。增量從 10.161.16.0/21 中取。即使全部設備都已更換,現有的 /30 鏈路也不改;只有新建的鏈路才以 /31 切出。

常見陷阱

  • 以節省位址為由選擇 /31。能節省的只是鏈路位址區塊的約1%,不足以改變判斷。決定因素是設備能否全部支援。
  • 把兩種大小混在同一範圍內。每次分配都要檢查兩端兩台設備是否支援,每月10條的話,一年要多做120次檢查。要混用就分開範圍。
  • 明明有一台設備不支援,卻以 /31 為預設,只把該區段當作 /30 的例外。每次更換設備都要確認是否支援,只要忘一次,那條鏈路就無法使用。預設用 /30,/31 只從已確認支援的區段的範圍中切出。
  • 以日後遷移到 /31 為前提選擇 /30。遷移就要更改位址,設備設定與監控中的名稱都會被改寫。應以不遷移為前提來決定。

DMZ、伺服器、用戶端、管理、語音與訪客無線

訪客用無線與企業內網互不共用
172.30.0.0/16
免費

情境

一家約100人的公司要準備訪客用無線。平時訪客終端約20台,但在說明會或展覽的日子,會一下子來400台。往企業內網的通訊已由過濾規則阻擋,但名稱解析和位址分配仍與企業內網使用同一套設備。

前提

能把訪客用無線作為與內部無線分開的範圍提供。能為訪客準備一個對外出口。能為訪客另設名稱解析和位址分配的設備。172.16/12 中有可用的位置。

分配

網段主機數區塊
訪客終端400
訪客用出口與位址分配設備10
訪客用名稱解析(只查詢外部)5
活動時的擴充位址區塊800

理由

一般認為,訪客用無線只要與企業內網隔開就好:用過濾規則阻擋往企業內網的通訊,事情就解決了。這還不夠。

訪客範圍在過濾規則之外,也與企業內網共用著東西。如果讓訪客透過內部設備做名稱解析,訪客終端就能查詢內部伺服器的名稱。即使不回傳答案,從查詢的回應也看得出哪些名稱存在。如果位址分配與企業內網用同一套設備,那麼在100人的公司迎來400台終端的活動當天,內部的位址分配也會一起塞住。如果讓訪客與企業內網同步時間,就得開一條通往內部時間伺服器的路由。

所以,訪客範圍與企業內網什麼都不共用。它不持有通往任何內部網段的路由,出口只有一個對外出口。名稱解析和位址分配也只為訪客另行準備。不是用過濾規則去擋,而是讓需要擋的路由根本不存在。擋住的路由一行設定就能打開,不存在的路由卻無從打開。

位址的選法也有理由。多數訪客終端會向自己公司建立連線。如果對方公司內部使用 10/8,而訪客範圍也在 10/8 中,位址就會在對方那一側衝突,訪客便連不上自己的公司。訪客範圍要從 172.16/12 中較少被使用的位置取。

擴充空間

訪客範圍在企業內網中沒有任何路由,出口只有一個對外出口。名稱解析和位址分配也另為訪客準備。活動帶來的終端增加時,加上 172.30.4.0/22 來承接,加上的部分也從同一個出口出去。不增加通往企業內網的路由。範圍取在 172.16/12 中,不與訪客公司很可能在用的 10/8 重疊。

常見陷阱

  • 用過濾規則阻擋往企業內網的通訊就算了事。如果名稱解析或位址分配與企業內網共用,內部資訊會在過濾規則之外外洩,負載也會傳過來。什麼都不共用。
  • 讓訪客終端使用內部的名稱解析。即使不回傳答案,從查詢的回應也看得出哪些名稱存在。要為訪客另行準備。
  • 用與企業內網相同的設備為訪客分配位址。活動當天訪客暴增時,內部的位址分配也會塞住。位址分配要為訪客另外分開。
  • 從 10/8 中取訪客範圍。訪客向自己公司建立連線時,位址會與對方的內網衝突,連線失敗。要從 172.16/12 中較少被使用的位置取。
DMZ 放什麼、怎麼分
10.170.0.0/16
免費

情境

一家約500人的公司,放在 DMZ 中的設備逐年增加。對外公開的Web伺服器、與合作夥伴交換檔案的伺服器、接收外部郵件的設備、只呼叫外部服務的伺服器、向外發送監控告警的設備,都擠在同一個範圍裡。

前提

能區分接收由外部發起之連線的設備和只往外送出的設備。能確定與合作夥伴連線的對方。能依對方分別提供 DMZ 的範圍。能在邊界阻擋範圍之間的通訊。

分配

網段主機數區塊
對外公開(誰都能來)20
面向合作夥伴(對方確定)20
接收外部郵件的設備(從對外公開中分出的範圍)10
DMZ 備用100

理由

DMZ 放什麼,標準只有一個:接收由外部發起之連線的設備。

沒有標準,凡是與外部通訊的東西都會進去:只從內部往外送出的設備、只呼叫外部服務的伺服器、向外發送監控告警的設備。這些都不接收由外部發起的連線,沒有理由放進 DMZ。放進去,DMZ 就會膨脹,其中任何一台被攻破,旁邊的所有設備都會被觸及。

決定了放什麼,接下來依接收誰的連線來分。對外公開的和面向合作夥伴的不放在同一個範圍。對外公開的誰都能來,因此要以會被攻破為前提來考量。面向合作夥伴的對方是確定的,放行規則要窄得多。如果放在同一個範圍,對外公開的伺服器被攻破時,與合作夥伴交換的檔案就會被旁邊的伺服器觸及。限定對方也就失去了意義。

分開的範圍之間不放行任何通訊。從對外公開的一側到面向合作夥伴的一側,在業務上一個理由都沒有。

出現新的接收外部連線的設備、又不清楚它接收誰的連線時,放進對外公開的範圍。把無法限定對方的設備放進面向合作夥伴的範圍,會破壞這個範圍的前提。

擴充空間

DMZ 依接收誰的連線來分,對外公開的和面向合作夥伴的放在不同的範圍。範圍之間不放行任何通訊。出現新的接收外部連線的設備時,依它接收誰的連線決定範圍,決定不了就放進對外公開的範圍。範圍不夠時,從 10.170.1.0/24 中切出。只往外送出的設備,即使增加也不放進 DMZ。

常見陷阱

  • 把與外部通訊的東西都放進 DMZ。連只往外送出的設備也放進去,DMZ 就會膨脹,一台被攻破就會觸及旁邊的所有設備。只放接收由外部發起之連線的設備。
  • 把對外公開的和面向合作夥伴的放在同一個範圍。對外公開的一側被攻破時,與合作夥伴交換的檔案就會被旁邊觸及。要依接收誰的連線分開範圍。
  • 以防萬一,放行分開的範圍之間的通訊。沒有業務理由的放行,只會成為入侵時的通道。範圍之間什麼都不放行。
  • 把對方不明確的設備放進面向合作夥伴的範圍。這個範圍是以對方確定為前提才收窄放行規則的,這個前提就會被破壞。拿不準時放進對外公開的範圍。

在平台保留位址的前提下切分子網路

雲上的子網路要少算5個位址
10.216.0.0/16
免費

情境

在雲上的虛擬網路中,要按故障域各建一個放10台設備的小子網路。按企業內網的習慣,認為切一個 /28 應該能放14台。同一個虛擬網路中還計畫放一個約200台的應用子網路。

前提

知道所用的服務商會預先佔用子網路中的若干位址。能確認服務商佔用的數量和可建立的最小子網路大小。子網路建立後不能再改變大小。虛擬網路中還有空餘。

分配

網段主機數區塊
放10台設備的子網路(扣除保留後可用27個)10
同一用途的另一個故障域10
應用子網路(保留所佔比例小)200
備用子網路100

理由

在雲上建子網路時,服務商會預先佔用其中的若干位址。因服務商而異,但常見的是佔用開頭4個和末尾1個,共5個。企業內網中不能用的只有開頭和末尾2個,如果不瞭解這個差別就去切分,位址就會不夠。

子網路越小,這個差別影響越大。/24 是256個中的5個,不到百分之2。/26 是64個中的5個,佔百分之8。在可建立的最小的 /28 中,16個裡有5個被佔用,約佔三成。能用的只有11個。

按企業內網的感覺切一個 /28,本以為能放14台,實際只能放11台。放10台設備的話,餘量只有1個位址,再加2台那天就會溢出。子網路建立後不能改變大小,溢出了就只能重建。

所以切小子網路時,要用扣除保留後的數量去和台數比較。10台的話,不取 /28,而取 /27。/27 是32個減去5個,有27個可用。切得越小,損失的比例越大,所以小子網路原則上要比企業內網大一檔來切。

保留的數量因服務商而異,可建立的最小大小也不同。在「計算」標籤頁中選擇保留設定檔,就能當場看到可用的數量。估算就在那裡確認。

擴充空間

小子網路要先減去5個保留位址,再和台數比較。10台的話,不取 /28,而取 /27。按故障域以相同大小排列,故障域有幾個就建幾個。需要更多子網路時,從 10.216.2.0/24 切出。估算拿不準時,在「計算」標籤頁中選擇保留設定檔,確認可用的數量。

常見陷阱

  • 按企業內網的感覺計算可用數量。只減去開頭和末尾2個,會漏掉服務商佔用的另外3個,預計的台數放不下。要用扣除保留後的數量來比較。
  • 把可建立的最小的 /28 作為標準。16個中有5個被佔用,可用的只有11個。只加幾台就會溢出。10台左右的規模要取 /27。
  • 以為子網路以後擴大就行。建立後不能改變大小,溢出了就得重建。一開始就要把保留算進去估算。
  • 以為所有服務商保留的數量都一樣。不同服務商佔用的數量和可建立的最小大小都不同。要用所用服務商的設定檔來確認。

避免位址重疊、VPN 互連,以及合併時的重新編址

用位址轉換避開重疊時,同時定下期限
172.18.0.0/15
免費

情境

要把收購來的公司的網路與自家公司的網路連通。雙方都在用 10/8,多個範圍相互重疊。基於業務需要,下個月就必須連通,沒有時間對任何一方重新編址。有人提議在邊界上轉換位址來連通。

前提

能在兩家公司的網路之間設置一處可以轉換位址的邊界。轉換後的位址能從雙方位址空間都沒有用到的地方取得。能把期限寫進轉換規則。能不等經營層的判斷就決定由哪一方重新編址。

分配

網段主機數區塊
從自家查看對方網路用的轉換後範圍3,000
向對方呈現自家網路用的轉換後範圍800
轉換設備與管理20
轉換備用(到期限為止的增加部分)400

理由

連通兩個重疊的網路有兩種方法:對其中一方重新編址,或是在邊界上轉換位址。轉換一個晚上就能上線,重新編址要花好幾個月。整合初期選擇轉換是正確的。

問題在於轉換會變成永久的。轉換讓通訊能夠打通,重新編址的理由也就消失了。三年後,轉換規則層層堆積,沒有人能說清全貌。每次發生故障,都要確認日誌裡的位址是轉換前的還是轉換後的。

所以,在導入轉換的當天,要同時決定兩件事:期限,以及由哪一方重新編址。期限要定成具體日期,並直接寫進轉換規則裡。重新編址的一方當天就定下來,把轉換期間當作重新編址的準備期。沒有決定由哪一方重新編址的轉換,到期時只能延長。

轉換後的位址,要從不屬於任何一方的地方取得。如果自家公司和對方都用 10/8 並在那裡重疊,轉換後的位址就從 172.16/12 取。如果用任何一方 10/8 裡的空閒部分,下次再接納別的公司時又會重疊。

也有可以永久維持的轉換。像照搬同一套設定建成的生產線那樣,同樣的位址並排重複出現是設計的前提時,永久轉換是正確的。整合中的重疊不是前提而是事故,對事故的應急處理不能變成永久的。

擴充空間

轉換後的範圍從 172.16/12 中取,並把用來查看對方網路的範圍與向對方呈現自家網路的範圍分開。轉換規則裡寫明期限,在期限之前,對導入轉換當天定下的一方重新編址。到期限為止增加的部分從 172.18.24.0/22 中切出。過期的轉換不延長;如果需要延長,就從決定由哪一方重新編址重新開始。

常見陷阱

  • 導入轉換時不定期限。通訊已經打通,重新編址的理由便消失,轉換規則不斷堆積,最後沒有人能說清。
  • 沒有決定由哪一方重新編址就導入轉換。到期時,討論又要從動哪一方開始,只能延長。要在導入轉換的同一天決定。
  • 從自家公司 10/8 的空閒部分取轉換後的位址。下次再接納別的公司時,又會重疊。要從不屬於任何一方的地方取。
  • 按單台主機逐條撰寫轉換規則。期限也得逐台管理,沒人知道還剩哪些規則。要按範圍撰寫。

控制側的固定 IP 慣例、OT/IT 隔離與擴充

橫向複製同構生產線的製造單元設計
172.20.0.0/16
免費

情境

工廠有多條設備構成相同的生產線,今後也計畫繼續增加。設備供應商交付的控制設備出廠時已寫死固定 IP,目前各生產線之間有相同位址重複的情況,設計從這個狀態出發。

前提

各生產線控制設備的位址無法變更,或變更需要設備供應商重新驗收。生產線之間不需要直接通訊,只需與上層的採集系統通訊。能在生產線邊界放置第三層設備或可做 NAT 的設備。

分配

網段主機數區塊
1 號線(從外部看到的位址)200
2 號線(從外部看到的位址)200
3 號線(從外部看到的位址)200
採集與監控伺服器30
維護終端(外部帶入的電腦用)10
生產線擴充用保留(4~7 號線)1,000

理由

OT 網路與 IT 的決定性差異,在於位址不能自由決定。設備供應商把同樣的構成交付給許多客戶,因此控制設備的位址在出廠時就已固定,同一個 192.168.0.10 在 2 號線和 3 號線上都存在。若用 IT 的慣性思維「重疊了就重新編址」,話題就會轉到設備保固與重新驗收,現場隨之停產。

所以不重新編址。生產線內部的位址維持設備供應商的設定不動,在生產線邊界的設備上做 1:1 位址轉換,只把從外部看到的位址依線號區分。1 號線的控制設備從外部看是 172.20.1.x,2 號線的同一台設備則是 172.20.2.x。訂下「第三個八位元組=線號」的規則後,查看採集系統日誌的人即使不知道設備名稱,也能立刻判斷是哪一條線。

這個設計的本質,是以轉換這一層,把設備供應商的限制與 IT 的可管理性隔開。生產線內部是「設備供應商的世界」,邊界以上是「資訊部門的世界」,界線分明。最大的好處是每次增加生產線都不必重做設計,只要把編號加一並複製同樣的設定。

擴充空間

為近期擴充保留了 172.20.4.0/22(4~7 號線)。由於基準位址區塊是 /16,以第三個八位元組作線號的規則可以一路用到 255 號線(0 不作線號,留給共用的採集與維護),8 號線以後可以自然地接著使用 172.20.8.0/21、172.20.16.0/20。工廠增加時,把第二個八位元組當作工廠編號,將 172.21.0.0/16 分配給下一座工廠,兩者以 172.20.0.0/15 彙總。一條線的 /24 不夠用,只會發生在線內控制設備超過 250 台時,而到了那種規模,把生產線從邏輯上拆分會更容易維運。

常見陷阱

  • 「以防萬一」放行生產線之間的通訊。一條線感染惡意軟體時,構成相同的所有生產線會同時停下。生產線之間原則上阻擋,必要的通訊經由採集系統。
  • 不為維護終端準備網段,讓外部帶入的電腦直接插進控制網段。這是 OT 資安事件最常見的入口,而且不留紀錄。應設專用網段,只允許從那裡進入控制側。
  • 位址轉換的對照表只存在設備設定裡。負責設定的人一調職,就沒人說得清哪個外部位址對應哪台設備。對照表應作為原始依據保存在設計文件中。
  • 工廠位址使用 192.168 範圍。容易與維護服務商帶來的路由器或行動路由器衝突,而且衝突只有在現場才會浮現。應從 172.16/12 或 10/8 切分。
  • 每次擴充時以空著的編號填補,藉此決定線號與位址的對應。7 號線拆除後若有別的設備進駐,編號就與實物錯開,沒有人再相信這套編號。編號不重複使用。
分隔工廠 IT 網路與控制網路的邊界區
10.60.0.0/20
免費

情境

廠區內有辦公大樓與生產大樓,一直以來作為單一網路運作,員工約 300 人。生產管理系統對設備下達指令、從設備採集實績的需求今後仍然存在,但希望消除辦公電腦能直接連到控制設備的狀態。這個階段不動生產線內部的設計,先只重新劃定生產線上下方的邊界。

前提

能在辦公側與工廠側之間放置至少一台第三層設備。跨越兩側的通訊,至少能以交接伺服器為單位列出對端與方向。這次不變更控制設備的位址,生產線內部的重新設計另外進行。需求中包含邊界設備停機期間生產仍能持續。

分配

網段主機數區塊
辦公用戶端(有線、無線)300
生產管理與資訊系統伺服器40
交接伺服器(兩側都會連入的中介)12
維護終端出借用10
邊界設備與監控的管理6
邊界第二階段用(外部資料串接、遠端維護中介)50
控制網路共用服務(時間同步、名稱解析、生產線外設備)100
控制網路的無線(搬運設備、手持終端)200
各生產線區的保留(1~4 號線)1,000

理由

沒有人反對分隔。定不下來的是放在邊界上的區要取多大。

邊界取 /24 一定會失敗。在這個規模下,真正需要與兩側通訊的只有交接伺服器,十幾台而已。剩下的 240 多個位址會成為空地,而空地一定會被佔用。半年後進來一台資訊系統的檔案伺服器,隔年又進來一台加入辦公側認證系統的跳板機。到那時邊界已名存實亡,但位址表上什麼都沒變,所以沒有人察覺。

所以交接只給一個 /28,不多給。只有 14 個位址,想放第 15 台的人就一定得先找人商量。目的是讓大小本身發揮維運規則的作用。成長的餘地放在旁邊,換個名稱作為第二階段用,交接區本身不擴大。

把 /20 分成 0~3(IT)、4~7(邊界)、8~15(控制)三個領域也是刻意的。邊界設備的過濾規則用 10.60.0.0/22、10.60.4.0/22、10.60.8.0/21 三行就能寫完,增加網段時這三行也不變。每次增加都要改過濾規則的設計,遲早會改錯而導致停產。

把控制網路的共用服務區(/25)放在控制側,是為了可用性。邊界設備停機期間生產仍持續。若時間同步與名稱解析依賴辦公側,邊界一停,控制側也會跟著停。

擴充空間

邊界處留出 10.60.4.64/26 作為第二階段用。它不是用來擴大交接區,而是日後增加外部資料串接與遠端維護中介的位置。控制側留出 10.60.12.0/22 作為各生產線的區,各生產線的設計放在這裡。無線的 /24 不夠用時,再追加 10.60.10.0/23。工廠增加時,將 10.60.16.0/20 分配給下一座工廠,以 10.60.0.0/16 彙總。三個領域的分界都對齊在 /22 的邊界上,因此每座工廠的三行過濾規則形式都相同。

常見陷阱

  • 在邊界放一台跳板機,並讓它加入辦公側的認證系統。這會形成一條認證資訊從辦公側流入的路徑,邊界就失去意義。若要放跳板機,認證應在邊界內部封閉完成。
  • 控制設備的時間同步來源仍設為辦公側的伺服器。邊界設備一停,控制側的時間就開始漂移,事後追查故障時日誌對不起來。時間同步應放在控制側。
  • 把分隔的需求只定義為「不能從辦公側進入控制網路」。從控制側往辦公側的通訊無人管控,混入設備之中的終端仍保有對外的通道。兩個方向都要訂規則。
  • 讓交接伺服器兼做採集與檔案存放。受到不能停機那一側的牽制而無法更新,幾年後就成了沒人敢碰的伺服器。應依職能拆分,在 /28 之內管理台數。

從 /48 中分配 /64,並依需求擴充

IPv6 不必節省,依十六進位數位劃分
2001:db8:100::/48
免費

情境

一家有 10 個據點的公司,從電信業者那裡取得了 IPv6 的 /48。過去在 IPv4 中,會依台數調整子網路大小,並留意備用的位置與碎片化。現在正打算以同樣的思維開始分配 IPv6。

前提

已從電信業者取得 /48。公司內的設備能使用 IPv6 的位址自動設定。據點數與用途數預計都在 15 以內。位址的用途是讓人閱讀並從中讀出含意。

分配

網段主機數區塊
據點 1 用戶端200
據點 1 伺服器50
據點 1 管理30
據點 2 用戶端(其他用途也依同樣形式排列)200

理由

取得一個 /48,其中就有 65,536 個 /64。在 IPv4 累積起來的思維,很多在這裡正好相反。

IPv4 依台數決定子網路大小:10 台用 /28,200 台用 /24。IPv6 不這樣做。子網路與台數無關,一律是 /64。終端自行決定自身位址的機制,是以 /64 為前提設計的。切得比 /64 小,這個機制就無法運作。

也不需要節省。幾乎沒有組織會用完 65,536 個 /64。在 IPv4 中費盡心思的問題,例如備用要放哪裡、如何防止碎片化,幾乎都不復存在。

剩下要決定的只有一件事:第4組(16位元)的 16 位元怎麼劃分。這裡給據點 4 位元、用途 4 位元、序號 8 位元。讓含意的分界與十六進位數位的分界重合,看一眼位址就能讀懂。例如 2001:db8:100:1200::/64,就是據點 1 伺服器的第一個子網路。

劃分要對齊十六進位數位。在一個十六進位數位的中間劃分,每次讀位址都得換算成二進位,可讀的好處也就沒了。若據點可能超過 15 個,一開始就給據點 8 位元,用途與序號各 4 位元。

擴充空間

第4組的第一個十六進位數位是據點,從 1 開始用,0 留給全公司共用。第二位是用途,後兩位是序號。子網路一律是 /64,台數增加也不擴大。網段表中的 /64 相對台數顯得很大,是因為協定要求 /64,並不是預留了餘裕。據點超過 15 個時,不改變劃分,再取得第二個 /48。

常見陷阱

  • 依台數決定子網路大小,切得比 /64 小。終端自行決定位址的機制以 /64 為前提,會因此無法運作。子網路一律用 /64。
  • 像 IPv4 那樣顧慮備用與碎片化,切得很緊。65,536 個 /64 幾乎不可能用完,切緊也得不到什麼。應以可讀性為優先。
  • 在十六進位數位的中間劃分第4組。每次讀位址都得換算成二進位,無法從位址讀出含意。應依十六進位數位劃分。
  • 據點的十六進位數位從 0 開始編號。全公司共用的部分沒有位置可放,日後只能硬插進來。0 應留給全公司共用。
其餘 56 個方案可在 SubnetDeck 中透過高級版閱讀全文。認識 SubnetDeck

iPhone·iPad App SubnetDeck

常用的計算機,現在記得住了。

這個頁面關掉就什麼都不留。SubnetDeck 會把每個據點的設計規劃依客戶或專案保存在資料夾裡,而且完全不連網。

  • 依各據點、客戶、專案分資料夾,可用位址搜尋
  • 依所需主機數進行 VLSM 分配,並偵測重疊
  • 等分、路由彙總、重疊檢查等工具
  • 規劃匯出為 .xlsx、CSV 或 Markdown
  • 69 個方案與 11 篇講解,離線也能讀
SubnetDeck 設計頁,每個據點一個資料夾

用 iPhone 掃描即可開啟 App Store。

網頁與 App 的差異

本網站SubnetDeck App
IPv4·IPv6 子網路計算✓✓(離線)
特殊用途位址辨識(IANA)✓✓
切分區塊可試用(不保存)等分與 VLSM,保存在規劃中(高級版)
依各據點或客戶保存規劃—高級版
匯出 .xlsx、CSV、Markdown—高級版
方案庫免費 13 個免費 13 個,高級版 69 個
講解10 篇11 篇
沒有網路時使用—✓

常見問題

常見問題

輸入的內容會被傳送到什麼地方嗎?

不會。所有計算都由瀏覽器中的 JavaScript 完成。本頁不顯示廣告,也不使用 Cookie。輸入的位址只會出現在本頁網址的「#」之後,而這一段瀏覽器不會傳送給伺服器。

為什麼 /31 的可用主機數是 2?

/31 用於點對點連結,這種連結不需要廣播位址,因此兩個位址都能分配(RFC 3021)。/32 是單一主機。講解「/31 與 /32」說明了一般的減法為什麼在這裡不成立。

可以用遮罩或萬用字元遮罩代替前綴輸入嗎?

可以。「192.168.1.0 255.255.255.0」「192.168.1.0 0.0.0.255」「192.168.1.0/255.255.255.0」都能計算。只輸入遮罩或萬用字元遮罩時,會顯示對應的前綴長度與主機數。輸入「10.0.0.5 - 10.0.0.90」這樣的範圍時,會列出剛好涵蓋它的 CIDR 區塊。

IPv6 為什麼沒有廣播位址?

IPv6 沒有廣播機制,由多點傳送擔任這個角色。因此 IPv6 區塊中的所有位址都算作可用。全零位址是子網路路由器任播位址,但不扣除(RFC 4291)。

特殊用途位址的類別是怎麼判定的?

依據 IANA 的 IPv4 與 IPv6 特殊用途位址登錄表,以最長比對判定。最近一次與登錄表核對是在 2026-09-23。