跳至主要內容

什麼是子網路?解析網路分割的奧秘

想像一下,如果你的大學校園裡數萬台裝置,從電腦到手機、印表機,全都擠在同一條數位高速公路上,爭奪頻寬和注意力,那會是多麼混亂的景象?

子網路的誕生:為何我們需要它?

當一個網路變得越來越大,管理所有連接的裝置和它們的IP位址就成了一個巨大的挑戰。早期,所有的裝置都可能屬於一個單一的、廣闊的網路。這不僅造成了嚴重的廣播風暴(每當有裝置需要通訊,它都可能向所有裝置發送訊息,佔用寶貴的頻寬),也使得安全性難以維護,並且IP位址的分配效率低下。

為了解決這些問題,工程師們提出了一個巧妙的解決方案:將一個大型網路邏輯上分割成幾個更小、更易於管理的區塊。這些較小的區塊,我們稱之為「子網路」(Subnet)。子網路就像是將一條繁忙的高速公路分成了許多條較小的車道,每條車道服務特定的目的地或車輛類型,從而提高了整體交通效率和安全性。

什麼是子網路遮罩?網路邊界的守門員

要理解子網路,我們首先需要了解IP位址的基本結構。每個IP位址(以我們熟悉的IPv4為例)由32個位元組成,通常表示為四組數字,每組數字介於0到255之間,並由點分隔,例如192.168.1.100。這個32位元的位址實際上包含兩個關鍵資訊:網路部分和主機部分。

  • 網路部分 (Network ID):識別裝置所屬的網路。網路上的所有裝置都共享相同的網路部分。
  • 主機部分 (Host ID):識別網路中的特定裝置。在同一網路中,每個裝置的主機部分都必須是唯一的。

那麼,裝置如何知道IP位址的哪一部分是網路ID,哪一部分是主機ID呢?這就是「子網路遮罩」(Subnet Mask)發揮作用的地方。子網路遮罩是一個與IP位址格式相同的32位元數字,它透過設定連續的“1”來標示網路部分,以及連續的“0”來標示主機部分。

當IP位址和子網路遮罩進行位元邏輯「AND」運算時,結果就是該裝置的網路ID。這就像一個篩子,篩掉了主機部分的資訊,只留下網路資訊。

讓我們用一個常見的例子來看看:

  • IP 位址: 192.168.1.100 (二進位: 11000000.10101000.00000001.01100100)
  • 子網路遮罩: 255.255.255.0 (二進位: 11111111.11111111.11111111.00000000)

進行「AND」運算後,網路ID就是 192.168.1.0。這表示所有以 192.168.1 開頭的裝置都在同一個子網路中。

以下圖表簡單說明了IP位址與子網路遮罩如何協同工作來定義網路ID:

IP位址

位元AND運算

子網路遮罩

網路ID

主機ID

CIDR 記號:更靈活的網路劃分

在子網路遮罩出現的早期,網路位址被分成固定的類別:A類、B類和C類,每類網路都有預設的子網路遮罩,例如C類網路總是使用255.255.255.0。這種「類別化」的定址方式導致了嚴重的IP位址浪費和分配效率低下。例如,一個組織如果只需要100個IP位址,但它獲得了一個B類網路(可容納超過65,000個主機),那麼絕大多數的位址都會被閒置。

為了應對網際網路的快速成長和IPv4位址日益短缺的問題,1993年的RFC 1519引入了「無類別域間路由」(Classless Inter-Domain Routing, 簡稱 CIDR)技術。CIDR 徹底改變了IP位址的分配方式,它摒棄了傳統的A、B、C類網路概念,允許網路管理員根據實際需求,以更精確的方式劃分子網路。

CIDR 引入了一種簡潔的記號,直接在IP位址後面加上一個斜線 / 和一個數字,例如 192.168.1.0/24。這個數字代表了子網路遮罩中連續「1」的位元數量。例如,/24 表示子網路遮罩有24個連續的1,其二進位是11111111.11111111.11111111.00000000,轉換成十進位就是255.255.255.0

這讓子網路的劃分變得極其靈活。你不再受限於固定的類別邊界,可以根據實際需要,創建任意大小的子網路,從只有兩個主機的小網路到成千上萬主機的大網路。這極大地提升了IP位址的利用率,延長了IPv4的生命週期,並有助於簡化路由表。如果你想了解更多關於IPv4的挑戰和解決方案,可以參考我們關於IPv4與IPv6的文章。

實用範例:劃分子網路

讓我們透過一個實例來看看子網路是如何運作的。

假設你獲得了一個IP位址範圍 192.168.10.0/24,這表示你的網路是 192.168.10.0,子網路遮罩是 255.255.255.0。這個網路可以容納 2^(32-24) - 2 = 2^8 - 2 = 256 - 2 = 254 個可用主機位址(減去網路位址和廣播位址)。

現在,你決定將這個網路進一步分割成更小的子網路,例如,為不同的部門或樓層創建獨立的子網路。假設你希望每個子網路可以容納大約30個裝置。

  1. 計算所需主機位元: 要容納30個主機,需要至少多少個位元?

    • 2^4 = 16 (不夠)
    • 2^5 = 32 (足夠,可以容納32個位址,但實際可用是30個) 所以你需要5個主機位元。
  2. 確定新的子網路遮罩: 總共32個位元,其中5個用於主機,那麼網路部分就是 32 - 5 = 27 個位元。

    • 新的CIDR記號是 /27
    • 子網路遮罩的二進位是 11111111.11111111.11111111.11100000
    • 轉換成十進位是 255.255.255.224
  3. 劃分新的子網路: 透過使用 /27,你可以從 192.168.10.0/24 這個大網路中劃分出多個小網路:

    • 子網路 1: 192.168.10.0/27 (主機範圍: 192.168.10.1 - 192.168.10.30, 廣播位址: 192.168.10.31)
    • 子網路 2: 192.168.10.32/27 (主機範圍: 192.168.10.33 - 192.168.10.62, 廣播位址: 192.168.10.63)
    • 子網路 3: 192.168.10.64/27 (主機範圍: 192.168.10.65 - 192.168.10.94, 廣播位址: 192.168.10.95)
    • …以此類推,直到用完 192.168.10.255

這樣,你有效地將一個大型網路分割成8個獨立的子網路,每個子網路最多可連接30台裝置。

為何子網路如此重要?

子網路不僅僅是一個技術細節,它是現代網路設計和運作的基石,提供多方面的優勢:

1. 提升效率與擴展性

如同RFC 950(1985年定義子網路標準)所預期的那樣,子網路允許我們更有效地利用有限的IPv4位址空間。透過精確劃分網路大小,我們可以避免不必要的位址浪費。它也讓網路更容易擴展;當你需要添加更多裝置或部門時,可以為它們創建新的子網路,而不必重新設計整個網路。

2. 增強網路安全性

子網路為實施網路安全策略提供了強大的基礎。你可以將敏感伺服器、員工電腦、訪客網路或物聯網裝置分別放置在不同的子網路中。這樣,就可以在子網路之間部署防火牆(如 /en/blog/security/what-is-a-firewall 中所述),精確控制流量。例如,你可以阻止訪客網路的裝置直接存取公司的財務伺服器子網路,即使攻擊者侵入了訪客網路,也難以橫向移動到其他受保護的區域。

3. 改善網路效能

每個子網路都有其獨立的廣播域。這意味著,當一個裝置發送廣播訊息時,該訊息只會傳播到其所在的子網路內,而不會影響到整個大型網路。這顯著減少了不必要的網路流量,降低了網路擁塞,從而提升了整體網路的效能和響應速度。

4. 簡化管理與故障排除

將大型網路分割成數個邏輯區塊,使網路管理員能夠更容易地組織和監控網路資源。當一個子網路出現問題時,管理員可以迅速隔離問題區域,而不影響其他部分的正常運作。這對於排查問題和進行維護來說是極大的便利。例如,你可以為不同的部門設定不同的IP位址範圍,讓管理更加直觀。

常見子網路遮罩與CIDR前綴

以下是一些您可能會遇到的常見子網路遮罩和它們對應的CIDR前綴及可容納的主機數量:

CIDR 前綴子網路遮罩 (十進位)可用主機數量
/30255.255.255.2522
/29255.255.255.2486
/28255.255.255.24014
/27255.255.255.22430
/26255.255.255.19262
/25255.255.255.128126
/24255.255.255.0254
/23255.255.254.0510
/22255.255.252.01022
/16255.255.0.065534

請注意,可用主機數量總是 2^(32-N) - 2,其中 N 是CIDR前綴的數字。減去2是因為每個子網路的網路位址(第一個位址)和廣播位址(最後一個位址)是保留的,不能分配給單個主機。這也適用於私有IP位址,例如192.168.x.x,您可以在我們的公共與私有IP位址文章中找到更多資訊。

子網路的真實世界應用

子網路的概念無處不在,從你家裡的Wi-Fi路由器到世界上最大的資料中心:

  • 家庭網路: 即使是你的家用路由器,也會創建一個私有子網路,通常是 192.168.1.0/24192.168.0.0/24,將所有連線到路由器的裝置(手機、電腦、智慧家電)放在這個子網路中。
  • 公司網路: 大型企業會將不同的部門(例如銷售、研發、財務)分配到不同的子網路,或者將不同的樓層、訪客網路、伺服器區域劃分開來,以提高安全性和管理效率。
  • 資料中心: 在雲端環境和大型資料中心,子網路被廣泛用於隔離不同的應用程式、客戶服務或虛擬機器,確保它們之間不會相互干擾,並實施細緻的安全策略。

總結

子網路技術是網路世界中的一項基本且不可或缺的技術。它讓我們能夠將龐大的網路空間精細化管理,不僅有效利用了珍貴的IPv4位址資源,也為網路的安全性、效能和可擴展性奠定了堅實的基礎。下次當你看到一個IP位址後面跟著 /24/27 時,你會知道這不僅僅是一串數字,它更是精心規劃網路架構的智慧結晶。