iT邦幫忙

2026 iThome 鐵人賽

DAY 4
0

從零搞懂 IPv4 位址與子網路切分(Subnetting)

在電腦網路世界中,IP 位址(Internet Protocol Address) 是設備在網路層(OSI 第 3 層)進行尋址與通訊的核心基礎。與燒錄在網路卡(NIC)上的實體 MAC 位址(第 2 層)不同,IP 位址是由網路管理者或 DHCP 伺服器動態分配的邏輯位址

IPv4 核心特性與階層架構

IPv4 是目前網際網路廣泛採用的無連接協定(Connectionless Protocol),具備以下核心機制:

  • 獨立封包傳輸:每個封包獨立路由,可能因負載平衡或路由協定指標(如 OSPF 的頻寬、RIP 的跳數 Hop Count)而走不同路徑抵達目的地。
  • 盡力而為傳輸(Best-Effort Delivery):協定本身不提供資料復原機制;可靠傳輸依賴傳輸層(Layer 4)的 TCP 三方交握(Three-way Handshake)與重傳機制實現。
  • 階層式架構(Hierarchical Addressing):每個 IP 位址均劃分為兩個部分:
  • 網路識別碼(Network ID):標識設備所在的特定子網路,路由器藉由維護路由表將封包轉發至對應網路。
  • 主機識別碼(Host ID):標識該子網路中的特定端點設備(如 PC、伺服器、印表機、手機等)。

傳統網路類別(Classful Addressing)

早期 IPv4 依據開頭位元將位址分為五大類(現今已被無類別域間路由 CIDR 取代;IPv6 則完全不採用分類機制):

類別 預設遮罩 首字節範圍 用途 / 傳輸模式
Class A 255.0.0.0 (/8) 1 – 126 單播(Unicast),適用於超大型網路
Class B 255.255.0.0 (/16) 128 – 191 單播(Unicast),適用於中型企業網路
Class C 255.255.255.0 (/24) 192 – 223 單播(Unicast),適用於小型區域網路
Class D 無遮罩 224 – 239 多播(Multicast)群組通訊
Class E 無遮罩 240 – 255 保留供實驗與研究用途

特殊與保留位址

1. 環回位址(Loopback Address)

  • 範圍127.0.0.0/8(最典型範例為 127.0.0.1)。
  • 功能:允許系統將封包發送給自己,用以驗證本機作業系統的 TCP/IP 協定堆疊是否正常運作。
  • 註:路由器的 Loopback 介面為虛擬邏輯介面,與本機自我測試用的 127.0.0.1 概念不同。

2. 本地廣播位址(Local Broadcast)

  • 位址255.255.255.255(二進位全為 1)。
  • 功能:向本地網段內的所有設備廣播封包(例如設備開機時發出的 DHCP Discover 請求)。路由器預設不會轉發此封包。

3. 定向廣播位址(Directed Broadcast)

  • 特徵:特定網路中主機位元全為 1 的位址(例如網路 172.31.0.0/16 的定向廣播為 172.31.255.255)。
  • 安全考量:路由器具備轉發定向廣播的能力,但基於防範放大式 DDoS 攻擊(如 Smurf Attack),現代路由器預設皆禁用此功能

4. 私有位址範圍(Private IP, RFC 1918)

不可直接在公網(Internet)上路由,需透過 NAT 技術轉換為公網 IP:

  • Class A10.0.0.0 ~ 10.255.255.255(共 1 個 /8 網段)
  • Class B172.16.0.0 ~ 172.31.255.255(共 16 個 /16 網段)
  • Class C192.168.0.0 ~ 192.168.255.255(共 256 個 /24 網段)

5. 鏈路本地位址(IPv4 Link-Local / APIPA)

當設備設定為自動取得 IP(DHCP),卻在時限內找不到 DHCP 伺服器時,作業系統會自動啟動 APIPA(Automatic Private IP Addressing) 機制:

  • 固定範圍169.254.0.0/16(子網路遮罩固定為 255.255.0.0)。
  • 衝突檢測:指派前會先在區網發送 ARP 請求確認無人佔用;若有衝突則重新挑選。
  • 非可路由:路由器不會轉發此網段封包,僅能與同一個區域網路交換器下的設備進行臨時通訊。

四、子網路遮罩(Subnet Mask)運算與路由判斷

子網路遮罩由一串連續的二進位 10 組成:

  • 遮罩為 1 的位元:對應 Network ID
  • 遮罩為 0 的位元:對應 Host ID

設備透過將目的地位址與自身的子網路遮罩進行逐位元 AND 邏輯運算,判斷目標是本地還是遠端:

  • 本地主機(Local):計算出的 Network ID 與自身相同,直接透過 Layer 2(ARP + MAC)在區網內交付。
  • 遠端主機(Remote):Network ID 不同,必須將封包送往預設閘道(Default Gateway)轉發。

子網路切分(Subnetting)計算實戰

核心公式

  • 可劃分子網路數
    $$2^n$$

($n$ 為向主機位元借用的子網路位元數)

  • 每個子網路可用主機數
    $$2^h - 2$$

($h$ 為剩餘的主機位元數;減去 2 是扣除 網路位址廣播位址

項目 位元填法說明
網路位址 (Subnet) 主機位元(Host Bits)全部填 0
第一個可用主機 主機位元全部填 0,最後一位填 1
最後一個可用主機 主機位元全部填 1,最後一位填 0
廣播位址 (Bcast) 主機位元(Host Bits)全部填 1

實戰範例 1:標準 C 類切分(/24)

  • 主機 IP192.168.1.18/24
  • 遮罩255.255.255.0(前 24 位元為網路,後 8 位元為主機)
主機位元(最後 8 bit):00010010 (18)

- 子網路位址 (Network)   : 192.168.1.00000000 -> 192.168.1.0
- 第一個可用主機 (1st)    : 192.168.1.00000001 -> 192.168.1.1
- 最後一個可用主機 (Last) : 192.168.1.11111110 -> 192.168.1.254
- 廣播位址 (Broadcast)   : 192.168.1.11111111 -> 192.168.1.255

實戰範例 2:跨 Byte 切分(/20)

  • 主機 IP172.16.35.123/20
  • 遮罩255.255.240.0(前 20 位元為網路,後 12 位元為主機)
第 3 個 Octet (35) 拆解:00100011
前 4 bits (0010) 屬於網路部分;後 4 bits (0011) 屬於主機部分。

IP 結構拆解:
[ 172 . 16 . 0010 ] [ 0011 . 01111011 ]
└── 網路部分 (20 bits) ──┘ └── 主機部分 (12 bits) ──┘

- 子網路位址 (Network)   : 172.16.00100000.00000000 -> 172.16.32.0
- 第一個可用主機 (1st)    : 172.16.00100000.00000001 -> 172.16.32.1
- 最後一個可用主機 (Last) : 172.16.00101111.11111110 -> 172.16.47.254
- 廣播位址 (Broadcast)   : 172.16.00101111.11111111 -> 172.16.47.255

上一篇
AI Data Center 速查表
下一篇
NVUE - AAA
系列文
ToR 的復仇-頂架也能跑馬拉松6
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言