跳轉到內容

通訊與網路基礎:子網掩碼

來自華夏公益教科書,開放的書籍,為開放的世界

試卷 2 - ⇑ 通訊與網路基礎 ⇑

← IP 地址結構 子網掩碼 IP 標準 →


子網掩碼

[編輯 | 編輯原始碼]

IPv4 地址的結構是使用類別來區分網路地址和主機地址。隨著網路壓力越來越大,需要最大限度地利用地址,管理員將他們的網路細分為更小的子網(子網)。因此,8 位、16 位或 24 位邊界可能不是劃分的位置。

類似地,多個連續網路可以聚合在一起,看起來像一個超級網路(超級網),同樣,網路和主機欄位之間的邊界可能不是類別指示的位置。

因此,我們需要一種不同的方法來指示 IP 地址中的分割位置。我們無法更改當前結構,因此需要額外的引數。

子網掩碼

[編輯 | 編輯原始碼]

子網掩碼是一個 32 位二進位制數,其中二進位制 1 表示對應 IP 地址中的網路位,二進位制 0 表示主機位。因此,子網掩碼始終是一系列 1 後面跟著一系列 0。這些掩碼用於路由器和終端裝置,以指示分割位置,以便可以識別對應 IP 地址的網路部分。

路由器將學習或被配置為使用它們連線到的網路的子網掩碼。終端裝置將透過 DHCP 學習它們的子網掩碼,或者被配置為使用適當的值。

我們可以用二進位制或點分十進位制(就像 IP 地址一樣)來寫子網掩碼。


練習:子網掩碼
用點分十進位制表示子網掩碼 11111111 11100000 00000000 00000000 是什麼?

回答

255.224.0.0
子網掩碼 255.224.0.0 表示什麼?

回答

對應 IP 地址的前 11 位是網路位,其餘 21 位是主機位。

因此,我們可以寫出 A 類、B 類和 C 類網路的預設子網掩碼

類別 子網掩碼(二進位制) 子網掩碼(十進位制)
A 11111111 00000000 00000000 00000000 255.0.0.0
B 11111111 11111111 00000000 00000000 255.255.0.0
C 11111111 11111111 11111111 00000000 255.255.255.0

使用子網掩碼

[編輯 | 編輯原始碼]

當 IP 資料包到達路由器時,路由器會檢查目標地址以決定該怎麼做。路由器有一個內部表(路由表),其中儲存了它知道的所有網路以及通往該網路的關聯介面。因此,路由器需要知道資料包的目標網路,以便將其用作路由表中的查詢。

當資料包起源於終端裝置時,終端裝置將需要知道目標是在同一個本地網路上還是在另一個網路上。它透過檢查自己的本地地址來檢視它位於哪個網路,然後將此與資料包的目標網路進行比較。如果兩者匹配,則目標在其自己的區域網 (LAN) 上。否則,它位於另一個網路,資料包應該轉發到預設路由器(有時稱為閘道器)。

在上面的兩種情況下,我們都有一個 IP 地址和一個子網掩碼,並且必須找出網路地址。

該過程是對子網掩碼和 IP 地址中的對應位進行“按位與”運算。掩碼就像一個過濾器,允許網路位透過(掩碼中有 1 的地方)並阻止主機位(掩碼中有 0 的地方)。

按位與

結果
0 與 0 0
0 與 1 0
1 與 0 0
1 與 1 1

因此,給定一臺 IP 地址為 192.168.1.1、子網掩碼為 255.255.255.0 的裝置,計算該裝置的 IP 網路地址

欄位 點分十進位制 二進位制 點分十進位制
IP 地址 192.168.1.1 11000000 10101000 00000001 00000001
網路地址 255.255.255.0 11111111 11111111 11111111 00000000
11000000 10101000 00000001 00000000 192.168.1.0


因此,一個到達具有目標地址 192.168.1.1 的介面的 IP 資料包將與關聯掩碼 255.255.255.0 進行按位與運算。這告訴我們目標位於 192.168.1.0 網路上,裝置可以查詢該網路在哪裡。

練習:計算網路地址
如果關聯掩碼為 C 類,則 IP 地址為 130.16.31.11 的裝置的網路地址是什麼?

回答

儘管地址是 B 類地址,但要使用的掩碼是 C 類 (255.255.255.0)。因此,網路地址為 130.16.31.0
一臺 IP 地址為 42.11.16.28 的 PC 向 42.11.100.43 發出 ping 請求。該網路上的掩碼為 255.255.0.0。這兩臺裝置在同一個網路上嗎?

回答

是的。兩者都在同一個網路 42.11.0.0 上
擴充套件:子網劃分、VLSM 和 CIDR

上面的網路都使用了子網掩碼,其中分割位於 8 位邊界。情況並非總是如此。以擁有 200.41.11.0 C 類網路的組織為例。它在內部透過從主機欄位借用一位來將此網路劃分為兩個獨立的子網。因此,整個 C 類網路的子網掩碼為 255.255.255.0,現在兩個子網的子網掩碼為 255.255.255.128。計算兩個子網的網路地址。每個子網可用的 IP 地址範圍是多少?

一家 ISP 有四個客戶,分別使用以下 B 類 IP 網路。

  • 130.16.0.0
  • 130.17.0.0
  • 130.18.0.0
  • 130.19.0.0(每個都有預設子網掩碼 255.255.0.0)。

ISP 希望將這四個網路聚合成一個網路,以便向上游到核心進行廣播。可以使用哪些地址和掩碼來表示所有這四個網路?

華夏公益教科書