77. 給定網域 192.168.0.0 的遮罩(Netmask)為 255.255.48.192,請問該網段的廣播位址為何?
(A) 192.168.0.0
(B) 192.168.48.254
(C) 192.168.12.64
(D) 192.168.15.63
統計: A(5), B(23), C(2), D(8), E(0) #3466910
詳解 (共 2 筆)
核心觀念:非連續子網路遮罩(Non-contiguous Subnet Mask)
老師好!這題是資訊科技教甄中非常經典的「魔鬼細節題」。
在標準的網路實務(如 CIDR)中,子網路遮罩的二進制必須是連續的 1 後面接連續的 0。然而,在教甄或高難度資科試題(如高中職教甄、聯招)中,命題委員為了徹底鑑別考生是否真正理解「子網路遮罩的底層位元運算」,常會刻意設計這種「非連續性遮罩(Non-contiguous Mask)」。
解這類題目的不二法門,就是不能依賴常規速算法,必須直接回歸最根本的二進制位元邏輯運算。
詳細解題步驟
步驟一:掌握萬用定義公式
底層邏輯對於網路位址與廣播位址的通用運算定義如下:
-
網路位址(Network Address) = $\text{IP} \text{ AND } \text{Netmask}$
-
廣播位址(Broadcast Address) = $\text{Network Address} \text{ OR } (\text{NOT Netmask})$
? 觀念提點:$\text{NOT Netmask}$ 在網路學上常被稱為「反向遮罩(Wildcard Mask)」,也就是將遮罩的位元進行反轉(0 變 1,1 變 0)。計算廣播位址的本質,就是**「保留遮罩中對應為 1 的網路位元,並將遮罩中對應為 0 的主機位元全部填滿成 1」**。
步驟二:將資料轉換為二進制(Binary)
我們將題目給定的網域 IP 192.168.0.0 與遮罩 255.255.48.192 拆解為 32 位的二進制:
-
網域 IP (192.168.0.0)
-
192 = 11000000
-
168 = 10101000
-
0 = 00000000
-
0 = 00000000
-
二進制表示:11000000.10101000.00000000.00000000
-
-
子網路遮罩 Netmask (255.255.48.192)
-
255 = 11111111
-
255 = 11111111
-
48 = 00110000 (即 $32 + 16$)
-
192 = 11000000 (即 $128 + 64$)
-
二進制表示:11111111.11111111.00110000.11000000
-
步驟三:計算反向遮罩(NOT Netmask)
將遮罩進行位元反轉(0 變 1,1 變 0),在十進制中相當於直接用 255 減掉該欄位的數值:
-
第 1 欄:$255 - 255 = 0$ $\rightarrow$ 00000000
-
第 2 欄:$255 - 255 = 0$ $\rightarrow$ 00000000
-
第 3 欄:$255 - 48 = 207$ $\rightarrow$ 11001111
-
第 4 欄:$255 - 192 = 63$ $\rightarrow$ 00111111
-
反向遮罩二進制:00000000.00000000.11001111.00111111
步驟四:進行位元或運算(OR)求出廣播位址
因為題目給定的 192.168.0.0 經遮罩 AND 運算後本身即為該網段的網路起點(Network Address),我們可以直接將 網域 IP 與 反向遮罩 進行 OR 位元運算(只要兩者有任一為 1 則結果即為 1):
步驟五:將二進制結果轉回十進制
-
第 1 欄:11000000 = 192
-
第 2 欄:10101000 = 168
-
第 3 欄:11001111 = $128 + 64 + 8 + 4 + 2 + 1 =$ 207
-
第 4 欄:00111111 = $32 + 16 + 8 + 4 + 2 + 1 =$ 63
? 本題答案
該網段的廣播位址為:192.168.207.63
? 延伸考古題範例說明
這類刻意使用 255.255.48.192 非連續遮罩的題目,在 105 年度復興高中資訊科教師甄試 中就曾以選擇題型態粉墨登場:
【教甄試題回顧】
假設網域 140.12.0.0 的遮罩(Netmask)為 255.255.48.192,下列何者屬於不同的子網域?
(A) 140.12.23.71 (B) 140.12.26.72 (C) 140.12.48.96 (D) 140.12.80.80
【解析】
同樣必須將各選項 IP 的第 3、4 碼與遮罩做 AND 運算:
(A) 的 23 (00010111) AND 48 (00110000) = 16;71 AND 192 = 64 $\rightarrow$ 網路位址為 140.12.16.64
(B) 的 26 (00011010) AND 48 (00110000) = 16;72 AND 192 = 64 $\rightarrow$ 網路位址為 140.12.16.64
(D) 的 80 (01010000) AND 48 (00110000) = 16;80 AND 192 = 64 $\rightarrow$ 網路位址為 140.12.16.64
唯獨 (C) 的 48 AND 48 = 48 $\rightarrow$ 網路位址為 140.12.48.64(故選 C)。
這類群組遮罩(Bitmasking)題目旨在提醒我們,在準備教甄申論題時,務必寫出「二進制橫式拆解」與「位元邏輯運算步驟」,這樣一來不論出題委員遮罩數字出得再怎麼刁鑽,閱卷老師都一定會給滿分!