若 公 司 不 上 Internet , 那 一 定 不 會 煩 惱 IP Address 的 問 題 , 因 為 可 以 任 意 使 用 所 有 的 IP Address , 不 管 是 A Class 或 是 B Class , 這 個 時 候 不 會 想 到 要 用 SubNet , 但 若 是 上 Internet 那 IP Address 便 彌 足 珍 貴 了 , 目 前 全 球 一 陣 Internet 熱 , IP Address 已 經 愈 來 愈 少 了 , 而 所 申 請 的 IP Address 目 前 也 趨 保 守 , 而 且 只 有 經 申 請 的 IP Address 能 在 Internet 使 用 , 但 對 某 些 公 司 只 能 申 請 到 一 個 C CLass 的 IP Address , 但 又 有 多 個 點 需 要 使 用 , 那 這 時 便 需 要 使 用 到 Subnet , 這 篇 短 文 說 明 Subnet 的 原 理 及 如 何 規 劃 。
設 定 任 何 網 路 上 的 任 何 設 備 不 管 是 主 機 、 PC 、 Router 等 皆 需 要 設 定 IP Address , 而 跟 隨 著 IP Address 的 是 所 謂 的 Net Mask , 這 個 Net Mask 主 要 的 目 的 是 由 IP Address 中 也 能 獲 得 Network Number , 也 就 是 說 IP Address 和 Net Mask 作 AND 而 得 到 Network Number , 如 下 所 示
IP Address 192. 10. 10. 6 11000000.00001010.00001010.00000110 Net Mask 255.255.255. 0 11111111.11111111.11111111.00000000 AND ------------------ --------------------------------------------- Network Number 192.10.10.0 11000000.00001010.00001010.00000000
Net Mask 有 所 謂 的 預 設 值 , 如 下 所 示
Class IP Address 範 圍 Net Mask A 1.0.0.0-126.255.255.255 255.0.0.0 B 128.0.0.0-191.255.255.255 255.255.0.0 C 192.0.0.0-223.255.255.255 255.255.255.0
在 預 設 的 Net Mask 都 只 有 255 的 值 , 在 談 到 Subnet Mask 時 這 個 值 便 不 一 定 是 255 了 。
在 完 整 一 組 C Class 中 如 203.67.10.0-203.67.10.255 NetMask 255.255.255.0 , 203.67.10.0 稱 之 Network Number (將 IP Address 和 Netmask 作 AND) , 而 203.67.10.255 是 Broadcast 的 IP Address , 所 以 這� 兩 者 皆 不 能 使 用 ,實 際 只 能 使 用 203.67.10.1 -- 203.67.10.254 等 254 個 IP Address , 這 是 以 255.255.255.0 作 Net Mask 的 結 果 , 而 所 謂 Subnet Msk 尚 可 將 整 組 C Class 分 成 數 組 Network Number , 這 要 在 NEt Mask 作 手 腳 , 若 是 要 將 整 組 C CLass 分 成 2 個 Network Number 那 Net Mask 設 定 為 255.255.255.192 , 若 是 要 將 整 組 C CLass 分 成 8 組 Network Number 則 Net Mask 要 為 255.255.255.224 , 這 是 怎 麼 來 的 , 由 以 上 知 道 Network Number 是 由 IP Address 和 Net Mask 作 AND 而 來 的 , 而 且 將 Net Mask 以 二 進 位 表 示 法 知 道 是 1 的 會 保 留 , 而 為 0 的 去 掉
192.10.10.193 --11000000.00001010.00001010.10000001 255.255.255.0 --11111111.11111111.11111111.00000000 ---------------- ---------------------------------------------- 192.10.10.0 --11000000.00001010.00001010.00000000
以 上 是 以 255.255.255.0 為 Net Mask 的 結 果 , Network Number 是 192.10.10.0 , 若 是 使 用 255.255.255.224 作 Net Mask 結 果 便 有 所 不 同
192.10.10.193 --11000000.00001010.00001010.10000000 255.255.255.224 --11111111.11111111.11111111.11100000 ---------------- ---------------------------------------------- 192.10.10.192 --11000000.00001010.00001010.10000000
此 時 Network Number 變 成 了 192.10.10.192 , 這 便 是 Subnet 。
那 要 如 何 決 定 所 使 用 的 Net Mask , 255.255.255.224 以 二 進 位 表 示 法 為 11111111.11111111.11111111.11100000 , 變 化 是 在 最 後 一 組 , 11100000 便 是 224 , 以 三 個 Bit 可 表 示 2 的 3 次 方 便 是 8 個 Network Number
Net Mask 二進位表示法 可分幾個 Network 255.255.255.0 11111111.11111111.11111111.00000000 1 255.255.255.128 11111111.11111111.11111111.10000000 2 255.255.255.192 11111111.11111111.11111111.11000000 4 255.255.255.224 11111111.11111111.11111111.11100000 8 255.255.255.240 11111111.11111111.11111111.11110000 16 255.255.255.248 11111111.11111111.11111111.11111000 32 255.255.255.252 11111111.11111111.11111111.11111100 64
以 下 使 用 255.255.255.224 將 C Class 203.67.10.0 分 成 8 組 Network Number , 各 個 Network Number 及 其 Broadcast IP Address 及 可 使 用 之 IP Address
序號 Network Number Broadcast 可使用之 IP Address 1 203.67.10.0 203.67.10.31 203.67.10.1-203.67.10.30 2 203.67.10.32 203.67.10.63 203.67.10.33-203.67.10.62 3 203.67.10.64 203.67.10.95 203.67.10.65-203.67.10.94 4 203.67.10.96 203.67.10.127 203.67.10.97-203.67.10.126 5 203.67.10.128 203.67.10.159 203.67.10.129-203.67.10.158 6 203.67.10.160 203.67.10.191 203.67.10.161-203.67.10.190 7 203.67.10.192 203.67.10.223 203.67.10.193-203.67.10.222 8 203.67.10.224 203.67.10.255 203.67.10.225-203.67.10.254
可 驗 證 所 使 用 的 IP Address 是 否 如 上 表 所 示
203.67.10.115 --11001011.01000011.00001010.01110011 255.255.255.224 --11111111.11111111.11111111.11100000 ---------------- ---------------------------------------------- 203.67.10.96 --11001011.01000011.00001010.01100000
203.67.10.55 --11001011.01000011.00001010.00110111 255.255.255.224 --11111111.11111111.11111111.11100000 ---------------- ---------------------------------------------- 203.67.10.32 --11001011.01000011.00001010.00100000
其 他 的 Net Mask 所 分 成 的 Network Number 可 自 行 以 上 述 方 法 自 行 推 演 出 來 。
使 用 Subnet 是 要 解 決 只 有 一 組 C Class 但 需 要 數 個 Network Number 的 問 題 , 並 不 是 解 決 IP Address 不 夠 用 的 問 題 , 因 為 使 用 Subnet 反 而 能 使 用 的 IP Address 會 變 少 , Subnet 通 常 是 使 用 在 總 公 司 在 台 北 , 但 分 公 司 在 台 中 , 兩 者 之 間 使 用 Router 連 線 , 同 時 也 上 Internet , 但 只 申 請 到 一 組 C CLass IP Address , 過 Router 又 需 不 同 的 Network , 所 以 此 時 就 必 須 使 用 到 Subnet , 當 然 二 辦 公 司 間 可 以 Remote Bridge 連 接 , 那 便 沒 有 使 用 Subnet 的 問 題 , 這 點 在 此 不 討 論 , 所 以 在 以 上 情 況 下 的 網 路 連 線 架 構 及 IP Address 的 使 用
圖 一 中 Router 1 及 Router 2 所 在 的 Network Number 是 203.67.10.0 , 可 使 用 的 IP Address 是 203.67.10.1 -- 203.67.10.30 , Router 1 的 IP Address 是 203.67.10.30 , Router 2 的 IP Address 為 203.67.10.29 , 所 以 其 他 Hosts 可 用 的 IP Address 為 203.67.10.1 -- 203.67.10.28 , Router 3 所 在 的 Network Number 是 203.67.10.192 , 可 使 用 的 IP Address 是 203.67.10.193 -- 203.67.10.222 , Router 3 使 用 的 IP Address 為 203.67.10.222 , 所 以 其 他 的 Hosts 可 使 用 的 IP Address 為 203.67.10.193 -- 203.67.10.221 , 以 上 的 範 圍 可 參 考 上 表 之 資 料 。
上 圖 是 將 Subnet 運 用 在 WAN 的 環 境 , 若 在 LAN 也 需 要 數 個 Network Number 也 可 使 用
圖 二 是 LAN 環 境 中 使 用 Subnet , 其 中 Router 的 介 面 1 所 定 的 IP Address 為 203.67.10.158 , Net Mask 為 255.255.255.224 , 所 以 其 Network Number 為 203.67.10.128 , 所 以 在 這 個 LAN 上 Host 所 能 使 用 的 IP Address 為 203.67.10.129-203.67.10.157 , 連 同 Router 所 定 的 IP Address 總 共 有 30 個 IP Address 可 使 用。 其 他 的 介 面 也 是 一 樣 。
Subnet 可 使 用 於 WAN 又 可 使 用 於 LAN , 當 然 也 可 以 在 LAN 及 WAN 中 同 時 使 用。 又 將 一 個 C Class 以 Net Mask 255.255.255.224 分 成 8 個 Network , 每 個 Subnet 扣 掉 Network Number 及 Broadcast IP Address 則 只 能 使 用 30 個 IP Address , 但 是 在 實 際 運 用 上 可 能 是 一 個 Network 需 要 100 個 IP Address , 而 另 一 個 需 要 60 個 IP Address , 這 可 以 使 用 Router 的 Multi-IP-Address 的 功 能 , 也 就 是 在 Router 的 一 個 介 面 上 可 定 義 多 個 IP Address , 那 在 這 個 網 路 上 便 同 時 有 多 個 Network Number , 以 下 是 一 個 實 際 使 用 Subnet 的 範 例
圖 三 的 設 定 方 式 Router 1 介 面 1 的 Network Number 為 203.67.10.1 , Router 1 介 面 2 設 定 了 5 個 IP Address , 所 以 在 這 個 LAN 上 有 5 個 Network Number , 所 能 使 用 的 IP Address 共 有 5 x 30 = 150 個 IP Address , 這 樣 的 設 定 在 使 用 Subnet 時 IP Address 的 運 用 便 更 具 彈 性 , 而 Router 2 也 使 用 一 個 Network Number 203.67.10.192 , 這 是 一 個 實 際 在 使 用 的 案 例 , 運 作 正 常 。
在 不 使 用 Subnet 的 情 況 下 在 Router 的 Routing Table 的 Destination Network 皆 是 使 用 如 203.67.10.0 當 Network Number , 但 是 在 使 用 Subnet 時 , Network Number 可 能 是 203.67.10.32 或 203.67.10.128 , 這 要 視 使 用 何 種 Net Mask 而 定 , 這 在 前 面 已 經 說 明 過 了 , 所 以 Router 的 Routing Table 有 些 不 一 樣 , 以 下 列 了 圖 二 及 圖 三 Router 的 Routing Table 的 設 定
圖 二 Router 之 Routing Table
序號 Destination Network Net Mask Gateway Metric 1 203.67.10.128 255.255.255.224 203.67.10.158 0 2 203.67.10.0 255.255.255.224 203.67.10.30 0 3 203.67.10.160 255.255.255.224 203.67.10.190 0 4 Default 192.10.10.1 1
圖 三 Router 1 之 Routing Table
序號 Destination Network Net Mask Gateway Metric 1 203.67.10.0 255.255.255.224 203.67.10.30 0 2 203.67.10.32 255.255.255.224 203.67.10.62 0 3 203.67.10.64 255.255.255.224 203.67.10.94 0 4 203.67.10.96 255.255.255.224 203.67.10.126 0 5 203.67.10.128 255.255.255.224 203.67.10.158 0 6 203.67.10.160 255.255.255.224 203.67.10.190 0 7 203.67.10.192 255.255.255.224 155.10.10.1 1 8 Default 192.10.10.1 1
圖 三 Router 2 之 Routing Table
序號 Destination Network Net Mask Gateway Metric 1 203.67.10.192 255.255.255.224 203.67.10.222 0 2 Default 155.10.10.2 1