子網路(英語:Subnetwork)這個詞有兩個相關的含義:其中一個較老的、一般的含義是網際網路中的一個物理網路;在網際網路協定(Internet Protocol,IP)中,子網路指的是從分類網路中劃分出來的一部分。本文敘述其第二種含義。

將包含 256 個位址的 200.100.10.0/24 IPv4 位址空間使用子網路分割為兩個各包含 128 個位址的位址空間 (200.100.10.0/25 和 200.100.10.128/25)

具有相同的前半部分位址的一組IP位址,可以利用位址的前半部分劃分組。在一個IP網路中劃分子網路使我們能將一個至少從邏輯上看上去單一的大型網路分成若干個較小的網路。在最初引入這個概念的時候,IPv4還未引入分類網路這個概念。而引入劃分子網路這個概念的目的是為了允許一個單一的站點能擁有多個區域網路。即使在引入了分類網路號之後,這個概念仍然有它的用處,因為它減少了網際網路路由表中的表項數量(通過隱藏一個站點內部所有獨立子網路的相關資訊)。此外它還帶來了一個好處,那就是減少了網路開銷,因為它將接收IP廣播的區域劃分成了若干部分。

網路遮罩

「網路遮罩」又叫「子網掩碼」、「位址遮罩」、「子網路路遮罩」(subnet mask),它是一種用來指明一個IP位址的哪些位標識的是主機所在的網路位址以及哪些位標識的是主機位址的位遮罩

通常情況下,子網路遮罩的表示方法和位址本身的表示方法是一樣的。在IPv4中,就是點分十進制四組表示法(四個取值從0到255的數字由點隔開,比如255.128.0.0)或表示為一個八位十六進制數(如FF.80.00.00,它等同於255.128.0.0),後者用得較少。

另一種更為簡短的形式叫做無類別域間路由(CIDR)表示法,它給出的是一個位址加上一個斜槓以及網路遮罩的二進制表示法中「1」的位數(即網路號中和網路遮罩相關的是哪些位)。例如,192.0.2.96/28表示的是一個前28位元被用作網路號的IP位址(和255.255.255.240的意思一樣)。

子網路遮罩的好處就是:不管網路有沒有劃分子網路,只要把子網路遮罩和IP位址進行逐位的「與」運算(AND)即得出網路位址來。這樣在路由器處理到來的分組時就可以採用同樣的方法。[1]

IPv4子網路劃分

IPv4位址被分為三部分:網路部分(network)、子網路部分(subnetwork,常被認為是網路部分的一部分)和主機(host)部分。共有三IP位址,它們分別指定了各部分占多少位。

類別 起始位 開始 結束 點分十進制遮罩
A 0 0.0.0.0 127.0.0.0 255.0.0.0
B 10 128.0.0.0 191.255.0.0 255.255.0.0
C 110 192.0.0.0 223.255.255.0 255.255.255.0

子網路的劃分是一個將主機部分的若干位分配到網路部分的過程。例如,對於一個給定的A類網路:10.0.0.0,子網路遮罩:255.0.0.0可以將其劃分為256個子網路(從10.0.0.0到10.255.0.0)——第一個八位位組表示網路位址,第二個表示子網路號,而最後兩個表示主機部分。用子網路遮罩對主機位址進行位與操作,就能夠提取出完整的子網路位址(參見下面的例子)。

子網路遮罩並不局限於整數個八位位組的情況。例如,255.254.0.0(或「/15」)同樣是一個有效的遮罩。如果將它應用到A類位址上,就會產生128個間隔為2的子網路(例如1.2.0.1~1.3.255.254,1.4.0.1~1.5.255.254等等)。這情況我們可以說是Class A的network向host「借」了7個bits,也可以說是host向Class B的network「借」了1個bits,後者又稱為超級線路網英語Supernetting

非標準子網路

子網路0

儘管從技術角度來說子網路0是無效的,但它仍是可用的。例如以255.255.0.0為子網路遮罩的子網路:1.0.0.0。這個子網路有一個問題,就是它對應的單播位址和該A類網路整體對應的單播位址是一樣的。

交錯子網路

參考文獻

參照

  1. ^ 謝希仁. 计算机网络. 電子工業出版社. 2008: 131. 

書目

  • MarkA.dye Rick McDonald Antoon W.RUFI 著 2009 思科網路技術學院教程 PP 318

外部連結