子网划分

Why Subnetting

  • 分散網路 traffic, 避免不必要的 packet 在 LAN 裡頭流動
  • 如果全世界的機器都在同一 subnet, 那麼這個網路將會非常的擁擠
  • 分 subnet 之後, 每部機器只會看到和自己同一 subnet 機器的相關 packet, 與自己 subnet 內無關的 packet 不會跑進來

Netid與subnet

  • 每部機器的 IP 都可分成
  • 當兩部機器的 netid 相同時, 我們說這兩部機器在同一個 subnet
  • 那如何決定一個 IP 的 netid 是多少呢?
    • by IP class (default)
    • by NetMask


由 IP class 計算 Netid


  • 120.1.1.2 與 120.2.2.2 算同一 subnet
    140.1.1.2 與 140.2.2.2 算不同 subnet
    140.1.1.2 與 140.1.2.2 算同一 subnet
    192.1.1.2 與 192.1.2.2 算不同 subnet
    192.1.1.2 與 192.1.1.3 算同一 subnet


由 Netmask 計算 Netid

在 IP Class A, hostid 有 24 bit, 就是說在一個 Class A的 net 中, 同時最多可以有 2 24部機器, 這個網路太大了, 一樣會有 traffic 過重的情形, 此時我們便會希望將網路切小一點. 同樣的情形也會發生在 Class B 的網路.

  • Netmask 為一連串 bit 1 接著 一連串 0 , 總長度為 32 bit


    255.255.255.0
    (11111111.11111111.1111111.00000000)

    255.255.255.224
    (11111111.11111111.1111111.11100000)

  • 利用 Netmask 與 IP 作位元相乘, 所得出的部份便是 netid
  • 通常是利用 Netmask 來把 IP 中的 netid 欄位變長, 也就是將網路切細一點


Netid 計算

  • netid by IP class


    140.116.72.219 netid=140.116.0.0
    140.116.32.55 netid=140.116.0.0
    => 同一 subnet

  • netid by netmask 255.255.255.0


    140.116.72.219 netid=140.116.72.0
    140.116.32.55 netid=140.116.32.0
    => 不同 subnet


分割 Subnet 步驟

  1. 先決定每個 subnet 上想要多少部機器
  2. 根據 step 1 選定一個 netmask
  3. 現有的 net 在經過 subnet 後, 第 0 個與最後一個subnet 不能被使用
  4. 對每個 subnet 而言,
    第 0 個 IP address 要保留做為網路代表位址
    最後一個 IP address 保留作為網路廣播位址
    這兩者不能拿來當做機器的 IP 位址
  5. 對每個 subnet 而言, 在可用的 IP 位址中要選出一個當作 Gateway address
範例

假設我們分到一個 Subnet , IP range 是140.116.49.xxx, 現在我我們要將其細分為數個約 20 部電腦的 subnet

  1. 20 部
  2. 20 < 25, =>hostid 5 bit, netid = 32-5 bit, 所以定 netmask 為 255.255.255.224(11111111.11111111.11111111.11100000)
  3. 我們得到 8 個 subnet

Subnet 的另一用途

subnet 到 c class 大小時, 通常不會再往下細切, 因為如果是考量要降低廣播封包以提高網路效能, 一般會利用 switch 作為網路骨幹來解決這個問題. C class subnet 會再往下細切, 一般都是發生在要節省 IP 使用的場合

IP 在授權時, 一般都是以一個子網路為單位, 而由於目前 IP 位址漸漸有不足的情形, 因此很多時候 IP 授權單位會將 subnet 縮小再發給下層單位, 原因就是為了節省 IP 位址的使用量(不用一次發那麼多出去)

你可能感兴趣的:(子网划分)