網路層:轉送與 IP

子網路遮罩(subnet mask)

子網路遮罩是一把簡單的尺,告訴主機或路由器:在一個 IP 位址裡,網路部分到哪裡結束、主機部分從哪裡開始。想像一張鏤空模板蓋在位址上:孔洞(那些 1)讓網路位元透出來,實心部分(那些 0)把主機位元遮住。它替每台機器回答一個很實際的問題:哪些位址在我的本地網路上,哪些必須送去給路由器?

遮罩本身是一個 32 位元的樣式,用同樣的點分十進位書寫,前面的位元全是 1(標出網路部分),其餘全是 0(主機部分)。所以 255.255.255.0 就是 24 個 1 後面接 8 個 0——等同於 /24 前綴的點分十進位寫法。要找出某個位址屬於哪個網路,裝置會把位址和遮罩做位元 AND:192.168.1.20 AND 255.255.255.0 = 192.168.1.0,即網路位址。當主機想送往 192.168.1.55 時,同樣的 AND 得到 192.168.1.0,是同一個網路,於是它直接遞送;送往 10.0.0.5 則得到不同的網路,於是它改為轉送給預設閘道。

遮罩與 CIDR 前綴長度是同一件事的兩種記法:/24 和 255.255.255.0 完全相同,/16 和 255.255.0.0 也一樣。老舊的設備與設定對話框常要求點分十進位的遮罩;路由表與現代文件則偏好斜線。實務上不連續的遮罩(1 和 0 交錯)是非法的——那些 1 必須在最前面排成一段不間斷的連續區。

主機 192.168.1.20、遮罩 255.255.255.0:192.168.1.20 AND 255.255.255.0 = 192.168.1.0。要送往 192.168.1.99,AND 同樣得到 192.168.1.0(同一網路)→ 直接遞送。要送往 8.8.8.8,AND 得到 8.8.8.0(不同網路)→ 送給閘道。

與遮罩做位元 AND,就顯出網路位址;同一網路就直接遞送。

子網路遮罩與 CIDR 前綴攜帶相同的資訊;/24 等於 255.255.255.0。遮罩必須是一段連續的、開頭的 1——像 255.0.255.0 這種遮罩是無效的。

又稱
netmasknetwork mask子網路遮罩網路遮罩