在網際網路 TCP/IP 通訊協定中,如何區隔電腦在那一個子網路呢?以 IPv4 來看通訊協定的設定,如下圖,可以發現,其是給予一個「子網路遮罩」,然後將 IP 位址和子網路遮罩進行 AND 運算,根據其結果,可以判定兩部電腦是否位於相同的子網路。

老師如果要設計一個藉由子網路遮罩算出子網路的 Excel 試算表來驗證結果,該如何處理呢?

在下圖中,假設 A 位址為 192.168.2.133/21,其子網路遮罩為 255.255.248.0(其有 21 個位元為 1)。將這個 IP 位址執行 AND 運算,可以得到子網路。

儲存格B4:=RIGHT("00000000"&DEC2BIN(B1),8)

利用 DEC2BIN 函數將 10 進制數轉換為 2 進制數,再利用 RIGHT 函數來將 2 進制數的位元數補足 8 位。

儲存格B5:=RIGHT("00000000"&DEC2BIN(B2),8)

儲存格B6:=RIGHT("00000000"&DEC2BIN(BITAND(B1,B2)),8)

BITAND(B1,B2):將兩個位址的每個位元執行 AND 運算。

下圖中的A和B運算出來的子網路是相同的。

下圖中的A和B運算出來的子網路是不同的。

arrow
arrow
    全站熱搜

    vincent 發表在 痞客邦 留言(0) 人氣()