子網路遮罩 (IPv4) 與字首 (IPv6)

子網路遮罩 (IPv4) 和字首長度 (IPv6) 可識別同一網路中的一系列 IP 位址。

IPv4 子網路遮罩

所有 IP 位址都分為幾個部分。其中一個部分識別網路(網路編號),另一部分則識別該網路中特定的機器或主機(主機編號)。子網路遮罩 (IPv4) 和字首 (IPv6) 可識別構成子網路的 IP 位址範圍,或同一網路中的一組 IP 位址。例如,可以使用子網路來識別某建築物、部門、地理位置或同一區域網路 (LAN) 中所有的機器。

透過將組織的網路劃分成幾個子網路,就可以讓該網路採用單一個共用的網址來連線至網際網路。當主機嘗試與其他系統通訊時,就會使用子網路遮罩及字首。如果該系統位於同一網路或子網路上,該主機就會嘗試在本端鏈路上尋找該位址。如果該系統在其他網路上,則該主機會將封包傳送至閘道,進而遞送至正確的 IP 位址。這稱為「無類別內部網域遞送 (CIDR)」。

在 IPv4 中,子網路遮罩 255.255.255.0 是 32 個位元,而且是由四個 8 位元的八位元組所組成。子網路遮罩為 255.255.255.0 的位址 10.10.10.0 表示該子網路是 10.10.10.0 到 10.10.10.255 的一系列 IP 位址。

IPv6 中的字首長度相當於 IPv4 中的子網路遮罩。不過,字首是以 1 與 128 之間的整數表示,而不是像 IPv4 那樣以 4 個八位元組來表示。例如:2001:db8:abcd:0012::0/64 指定一個子網路,其中包含從 2001:db8:abcd:0012:0000:0000:0000:0000 到 2001:db8:abcd:0012:ffff:ffff:ffff:ffff 的一系列 IP 位址。粗體部分稱為 IP 位址的網路部分,即字首。非粗體部分稱為 IP 位址的主機部分,因為它識別網路上的個別主機。

IPv6 位址

IPv6 位址是由八組數字所組成:
  • 網址 - 子網路遮罩中的前三組數字(前 48 個位元)
  • 子網路位址 - 子網路遮罩中的第四組數字(第 49 個位元到第 64 個位元)
  • 裝置位址 - 子網路遮罩中的後四組數字(最後 64 個位元)

例如,在 IPv6 位址 2001:db8:abcd:0012:0000:0000:0000:0000 中,網址為 2001:db8:abcd,子網路位址則為 12(使用短格式表示法,並刪除前導零)。這兩個分組共同構成 IPv6 的字首。此範例中的裝置位址為 0000:0000:0000:0000。

網路中的每台裝置都有唯一的裝置位址,但其 IPv6 位址中,網址及子網路位址部分均相同。因此,在每一個 IPv6 位址中,前四組數字保持不變,後四組數字依每台裝置而改變。可以使用字首長度代替 IPv6 位址的裝置位址部分,從而簡化裝置清單。字首-長度指定一系列裝置。它表示為斜線 (/),後隨 1 與 128 之間的整數。例如,字首-長度 /64 指定為 2001:db8:abcd:0012::/64,其指示系統將網路劃分為 64 個子網路。每一個子網路中包含 1/64 的網路裝置。表 1 顯示 IPv6 位址的字首長度所產生的網路範圍。
表 1. IPv6 位址字首長度的網路範圍
範圍的開始 IPv6 位址的擴增表示法 IPv6 位址(壓縮表示法) 含字首長度的 IPv6 位址 子網路中的裝置範圍
2001:0DB8:ABCD:0012:0000:0000:0000:0000 2001:DB8:ABCD:12:: 2001:db8:abcd:0012::0/64 2001:0DB8:ABCD:0012:0000:0000:0000:0000 -
2001:0DB8:ABCD:0012:FFFF:FFFF:FFFF:FFFF
2001:0DB8:ABCD:0012:0000:0000:0000:0000 2001:DB8:ABCD:12:: 2001:db8:abcd:0012::0/80 2001:0DB8:ABCD:0012:0000:0000:0000:0000 -
2001:0DB8:ABCD:0012:0000:FFFF:FFFF:FFFF
2001:0DB8:ABCD:0012:0000:0000:0000:0000 2001:DB8:ABCD:12:: 2001:db8:abcd:0012::0/96 2001:0DB8:ABCD:0012:0000:0000:0000:0000 -
2001:0DB8:ABCD:0012:0000:0000:FFFF:FFFF
2001:0DB8:ABCD:0012:0000:0000:0000:0000 2001:DB8:ABCD:12:: 2001:db8:abcd:0012::0/112 2001:0DB8:ABCD:0012:0000:0000:0000:0000 -
2001:0DB8:ABCD:0012:0000:0000:0000:FFFF
2001:0DB8:ABCD:0012:0000:0000:0000:0000 2001:DB8:ABCD:12:: 2001:db8:abcd:0012::0/128 2001:0DB8:ABCD:0012:0000:0000:0000:0000 -
2001:0DB8:ABCD:0012:0000:0000:0000:0000