什麼是 VLSM 計算機?
可變長度子網路遮罩(Variable Length Subnet Masking,簡稱 VLSM)能讓網路工程師把同一個 IP 區塊切割成大小不同的子網路,依照每個子網路實際的主機數量量身分配。如此一來,就能避免傳統「固定長度子網路切割」常見的 IP 位址浪費。本計算機只要輸入一組基礎網路位址與各子網路所需的主機數量清單,就會由大到小、連續地配置子網路。
使用方式
先輸入起始的網路位址(例如 192.168.1.0),再以逗號分隔列出每個子網路需要支援的主機數量(例如 50, 20, 10, 2)。工具會把需求由大排到小,接著為每一項分配剛好容納得下的最小子網路,並一段接一段緊密排列,讓 IP 位址空間零浪費。
公式說明
對每一個主機需求 \(h\) 而言,除了 \(h\) 台主機外,還必須各保留一個網路位址與一個廣播位址,因此總共需要 \(h + 2\) 個位址。前綴長度為
$$\text{Prefix} = 32 - \left\lceil \log_{2}\!\left( \text{Hosts} + 2 \right) \right\rceil$$區塊大小則為 \(2^{\,32 - \text{Prefix}}\)。
$$\begin{gathered} \text{Prefix} = 32 - \left\lceil \log_{2}\!\left( \text{Hosts} + 2 \right) \right\rceil \\[1.5em] \text{where}\quad \left\{ \begin{aligned} \text{Block Size} &= 2^{\,32 - \text{Prefix}} \\ \text{Usable} &= \text{Block Size} - 2 \\ \text{Start} &= \text{Base Network} \end{aligned} \right. \end{gathered}$$舉例來說,50 台主機需要 52 個位址;\(\lceil \log_{2}(52) \rceil = 6\),所以前綴為 /26,區塊含 64 個位址、可用主機 62 台。
實例演算
以基礎網路 192.168.1.0、需求 50、20、10、2 為例:/26(64 個位址)分配給需要 50 台主機的區網,起始於 192.168.1.0;/27(32 個位址)供 20 台主機使用,起始於 192.168.1.64;/28(16 個位址)供 10 台主機使用,起始於 192.168.1.96;而供 2 台主機點對點連線使用的 /30(4 個位址)則起始於 192.168.1.112。合計共使用 116 個位址。
常見問題
為什麼要 +2 台主機?每一個 IPv4 子網路都會保留一個位址作為網路 ID、另一個作為廣播位址,因此可用主機數等於區塊大小減二。
為什麼要由大到小排序?先配置最大的子網路,能讓各區塊對齊到天然的邊界,避免位址空間碎裂。
實務上最小的子網路是多大?/30 可提供 2 台可用主機,最適合路由器對路由器的連線;/31 有時也會用於不需廣播的點對點連線。