漲知識:如何判斷兩個IP地址是否在同一個網段?

對於網絡相關的IP地址知識,我們前面通過多次文章,大家都有一定的瞭解。今天和

北京長城寬帶一起再來詳細瞭解下這方面的內容。


一、什麼是子網掩碼?

在瞭解ip地址的網段之前,我們先來了解子網掩碼,很多對網絡瞭解不深的朋友都對子網掩碼有些迷惑, 不瞭解它是用來幹什麼的?

子網掩碼不能單獨存在,它必須結合IP地址一起使用。子網掩碼只有一個作用,就是將某個IP地址劃分成網絡地址和主機地址兩部分。

說的通俗的話,就是用來分割子網和區分那些ip是同一個網段的,那些不是同一網段的。

例如,兩個人都叫張三,但一個張三是張家村的,另一個張三是張村的,那麼如何區分這兩個張三分別是屬於那個村的呢?得讓村長來區分,就可以準確的把各自的張三領回村,那麼子網掩碼就相當於村長,它就是用來區分ip該ip地址是屬於那個網段的。

漲知識:如何判斷兩個IP地址是否在同一個網段?

在實際項目中,我們通常會遇到這樣的ip地址。

ip地址:192.168.1.1 子網掩碼:255.255.255.0

ip地址:192.168.1.2 子網掩碼:255.255.255.0

我們可以直接的判斷,他們是同屬於一個網段的ip地址。


那麼對於下面這樣的呢?

ip地址:192.168.1.1 子網掩碼:255.255.255.0

ip地址:192.168.1.2 子網掩碼:255.255.0.0

這兩個ip地址雖然在不看掩碼的情況下,比較像,但他們並不是同一個網段內的。


這個可以從子網掩碼來判斷,

192.168.1.1 255.255.255.0是屬於192.168.1.0網段的。

而192.168.1.2 255.255.0.0是屬於192.168.0.0網段。


二、如何根據掩碼來確定ip地址網段

上面我們已經舉例瞭解了子網掩碼的作用,接下來我們再來了解如何確定子網掩碼和判斷ip地址的網段。

通常我們在劃分vlan的時候會使用以下例子:

例1:

創建vlan1:ip地址:192.168.1.1 子網掩碼:255.255.255.0

創建vlan2: ip地址:192.168.2.1 子網掩碼:255.255.255.0

那麼他們是不是在同一個網段呢?

平時配置ip地址較多的朋友,可以直觀的判斷,他們並不是屬於同一個網段,那麼如何計算呢?要想判斷兩個ip地址是不是在同一個網段,只需將ip地址與子網掩碼做與運算,如果得出的結果一樣,則這兩個ip地址是同一個子網當中。


詳細計算

將ip地址192.168.1.1轉換為二進制

11000000 10101000 00000001 00000001

將子網掩碼255.255.255.0轉換成二進制

11111111.11111111.11111111.00000000

然後將兩者相“與(and)"運算:

11000000 10101000 00000001 00000001

11111111.11111111.11111111.00000000

然後得到:

11000000 10101000 00000001 00000000

轉換成網絡號就是:192.168.1.0


將ip地址192.168.2.1轉換為二進制

11000000 10101000 00000010 00000001

將子網掩碼255.255.255.0轉換成二進制

11111111.11111111.11111111.00000000

然後將兩者相“與(and)"運算:

11000000 10101000 00000010 00000001

11111111.11111111.11111111.00000000

然後得到:

11000000 10101000 00000010 00000000

轉換成網絡號就是:192.168.2.0

很明顯,二者的結果是不一樣的,一個是網段192.168.1.0,一個是網段192.168.2.0,所以不是一個網段。


例2

ip地址1:192.168.1.1 子網掩碼:255.255.252.0

ip地址2:192.168.2.1 子網掩碼:255.255.252.0

很明顯,我們這個和上面例1的ip地址是一樣的,只是子網掩碼不一樣,如果不看子網掩碼,首先可能就判斷他們不是同一個網段。

這裡面和上面例1中唯一變化就是子網掩碼從255.255.255.0換成了255.255.252.0了,那我們來看下,他們是否屬於同一個網段。


詳細計算

將ip地址192.168.1.1轉換為二進制

11000000 10101000 00000001 00000001

將子網掩碼255.255.252.0轉換成二進制

11111111.11111111.11111100.00000000

然後將兩者相“與(and)"運算:

11000000 10101000 00000001 00000001

11111111.11111111.11111100.00000000

然後得到:

11000000 10101000 00000000 00000000

轉換成網絡號就是:192.168.0.0


將ip地址192.168.2.1轉換為二進制

11000000 10101000 00000010 00000001

將子網掩碼255.255.252.0轉換成二進制

11111111.11111111.11111100.00000000

然後將兩者相“與(and)"運算:

11000000 10101000 00000010 00000001

11111111.11111111.11111100.00000000

然後得到:

11000000 10101000 00000000 00000000

轉換成網絡號就是:192.168.0.0

很明顯,二者的結果是一樣的,都是屬於192.168.0.0網段,所以他們是同屬於一個網段。


當然,如果對子網較熟了就不需要經過這些運算了,大部分的網段可以通過分析子網掩碼與ip地址就可以判斷出來是否屬於網一網段,但前提是你需要熟悉網段的原理與運算的方法。

在實際項目中,與網絡接觸較多的人不需要通過一系列的換算,直接可以通過簡單的判斷估算出來這個大網段的子網掩碼,因此,今天我們是講原理,方便大家理解,所以所有的換算都是通過運算出來的哦。


分享到:


相關文章: