iT邦幫忙

2021 iThome 鐵人賽

DAY 17
0
自我挑戰組

網路通訊輕鬆聊系列 第 17

理解網際網路協定(三):何謂「子網路遮罩」,什麼又是「預設閘道」?

你是否有在電腦上做過網路設定呢?在常見網路問題 - 檢查 Router 設定中有簡單提到過 DHCP 和 Static(或 Manually,手動)兩種類型,都能取得到一組 IP 位置。在電腦上與在 Router 上情況一樣,取得到 IP 位置的方法大致也是這兩種。

差別是在 Static 下你需要填入自己這台電腦的 IP 位置、子網路遮罩,以及預設閘道,而 DHCP 會自動幫你填好。

在 Mac 上手動設定 IP Address
*在 Mac 上手動設定 IP Address

今天就來聊聊子網路遮罩級預設閘道,這些使用電腦上網可能會需要的知識吧。

Subnet Mask 子網路遮罩

什麼是子網路遮罩,好奇怪的名字?子網路我可以理解,但為什麼是遮罩呢?這邊就來詳細聊聊。

首先,子網路故名思義就是某網路底下的部分網路,就有點像是台北市底下信義區這樣,而子網路遮罩的功能就是決定哪些 IP 位置是屬於同一個子網路用的,而在理解「遮罩」之前,我們有必要先講一講計算機中的某些運算。

AND 運算

我們普通世界常用的運算有加減乘除,在計算機的世界中雖然也有,但是並非基礎運算,也相較沒那麼容易直接實做出來。由於計算機處理的資料是二進制的,在硬體的設計上,最基本的運算用符合二進制的運算可以讓成本更低、速度更快。

例如一個輸入值從 0 變 1,或是從 1 變 0,就稱做 NOT 運算,這在計算機中所做的事就是把低電位(0)轉換成高電位(1)。

而把兩個輸入值做運算,例如 0 和 1 輸出成 0,1 和 1 輸出成 1,如下圖,就稱之為 AND 運算。

AND 運算
*AND 運算

在計算機處理哪些 IP 位置屬於同一子網路時,用的就是這種運算。

回到子網路「遮罩」

那究竟要如何判斷子網路的 IP 位置呢?我們就用子網路遮罩,把給定的 IP 位置做上面提到的 AND 運算,再看得出來的結果,是否一樣就可以了。如果一樣,代表這些 IP 位置屬於同一個子網路,反之則屬於不同的子網路。

先看一下常見的子網路遮罩:255.255.255.0,長的很怪對吧?但轉換成二進制就比較好理解了,會變成:11111111 11111111 11111111 00000000,我們接下來試著用某些 IP 位置,對這個遮罩做做 AND 運算看看。

  • 192.168.1.1
  • 192.168.1.123
  • 192.168.2.1

首先先將其轉換成二進制的表示

二進制的 IP 位置轉換
*二進制的 IP 位置轉換

然後將三個 IP 位置分別對子網路遮罩做 AND 運算

IP 位置與子網路遮罩 AND 運算
*IP 位置與子網路遮罩 AND 運算

得到的結果為,前兩個 IP 位置都是同一個結果:192.168.1.0,第三個 IP 位置得到:192.168.2.0。也就是說前兩個 IP 位置屬於同一個子網路,而第三個則屬於其它子網路。

這樣做 AND 運算的過程,是否很像把一個 IP 位置丟到遮罩裡面呢?因為只要遮罩的數字是二進位的 1,結果就保持不變:如果是二進位的 0,就會被 AND 運算遮成 0。

Default Gateway 預設閘道

了解完稍微複雜些的子網路遮罩,最後來看看比較容易理解的設定:預設閘道。

預設閘道是由 Default Gateway 翻譯過來的,其實就是當你要連上網路時,封包要往哪裡丟的預設目的地而已。

而這個目的地通常就是 Router,所以像是我在 Mac 裡面做設定時,乾脆就把 Default Gateway 這個名稱拿掉,改成 Router。

小結:子網路

有了子網路遮罩及預設閘道,其實就可以表示成一個獨立的子網路囉。例如你的預設閘道是 192.168.1.1,而子網路遮罩是 255.255.255.0,這就意味著只要是 192.168.1 開頭的就屬於同一個子網路。

由於子網路遮罩都是在二進位都是由 1 開頭的,我們通常會計算前面總共有幾個 1,例如 255.255.255.0 在二進位有 24 個 1,配合上預設閘道是 192.168.1.1,我們就可以把這個子網路表示成 192.168.1.0/24

再舉一個例子,我們能否從子網路 10.1.0.0/16 判斷哪些 IP 位置在其之中呢?子網路遮罩前 16 個都是 1,就代表這個子網路的前 16 位都會是一樣的,換成十進位,就是 10.1 開頭的都屬於同一個子網路。


上一篇
理解網際網路協定(二):浮動 IP、固定 IP、虛擬 IP,這麼多種 IP 都是什麼?
下一篇
理解網際網路協定(四):從 IPv4 到 IPv6,為何新技術遲遲不普及?淺談 NAT 及 IPv6
系列文
網路通訊輕鬆聊30

尚未有邦友留言

立即登入留言