Networking

在 IPv4 子網中 - a /23 - 我們如何知道要使用哪個範圍?

  • September 10, 2019

假設我不知道我的 IP 範圍或預設網關,但我知道我的 IP 地址是 192.168.5.38 並且我的 CIDR 範圍是 /23。

我怎麼知道我的 IP 範圍是多少?

是我的範圍

192.168.4.0-192.168.5.255

或者

192.168.5.0-192.168.6.255

如果我們知道預設網關,我們只能解決這個問題嗎?

請注意,我不是在問什麼工具可以提供這些資訊,這是一個思考練習。我試圖了解您在遇到這種情況時如何知道範圍。

謝謝!

回答:

感謝下方的@g_bor - 他們幫助我了解了您如何計算範圍。您可以通過對 IP 地址和子網遮罩的二進制輸出進行與運算來實現。

IP地址:192.168.5.38

二進制

11000000.10101000.00000101.00100110

子網遮罩:/23 (255.255.254.0)

二進制:

11000000.10101000.00000100.00000000

如果我們將它們與在一起 (1 AND 1 = 1, 0 AND 0 = 0, 1 AND 0 = 0) 我們得到

11000000.10101000.00000100.00000000

這是IP範圍:

192.168.4.0

192.168.5.38 為二進制:11000000.10101000.00000101.00100110。網路遮罩為:11111111.11111111.11111110.00000000。(以 23 1-s 開頭)該地址的網路部分是:11000000.10101000.00000100.00000000。這是:192.168.4.0,範圍內的第一個地址。最後一個是:192.168.5.255,因為我們必須將所有位置設置為 1,其中網路遮罩為 0-s。所以範圍是:192.168.4.0-192.168.5.255。

您甚至不需要預設網關,後一個範圍無效,就這麼簡單。有效的 /23 是 192.168.0.0/23、192.168.2.0/23、192.168.4.0/23、192.168.6.0/23 等。

引用自:https://serverfault.com/questions/982683