一、什麼是子網掩碼?
在了解ip位址的網段之前,我們先來了解子網掩碼,很多對網路了解不深的朋友都對子網掩碼有些迷惑, 不了解它是用來幹什麼的?
子網掩碼不能單獨存在,它必須結合ip位址一起使用。子網掩碼只有乙個作用,就是將某個ip位址劃分成網路位址和主機位址兩部分。
說的通俗的話,就是用來分割子網和區分那些ip是同乙個網段的,那些不是同一網段的。
例如,兩個人都叫張三,但乙個張三是張家村的,另乙個張三是張村的,那麼如何區分這兩個張三分別是屬於那個村的呢?得讓村長來區分,就可以準確的把各自的張三領回村,那麼子網掩碼就相當於村長,它就是用來區分ip該ip位址是屬於那個網段的。
在實際專案中,我們通常會遇到這樣的ip位址。
我們可以直接的判斷,他們是同屬於乙個網段的ip位址。
那麼對於下面這樣的呢?
這兩個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:那麼他們是不是在同乙個網段呢?平時配置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
很明顯,我們這個和上面例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位址就可以判斷出來是否屬於網一網段,但前提是你需要熟悉網段的原理與運算的方法。
三、如何根據ip位址子網掩碼
確定ip位址子網掩碼
大部分的情況下,我們網路中只要不超過254臺主機的的話,子網掩碼都可以設定成255.255.255.0。那麼超過了254臺主機的話怎麼辦呢?
可以劃分vlan,也可以設定成乙個大網段,劃分vlan我們就不說了,上面有例子,設定成乙個大網段就有乙個難點,如何確定這個大網段裡面的子網掩碼呢?
例如假設監控網路中有600個點位,我們現在也不想把它劃分vlan(實際專案中大部分是會劃分vlan的),假設只想用乙個大網段把這600個點位分配ip位址,如何設定ip位址,如何確定子網掩碼?
可以使用
ip段一:192.168.0.1——192.168.0.254
ip段二:192.168.1.1——192.168.1.254
ip段三:192.168.2.1——192.168.2.254
每個網段有254個ip位址,完全夠600個點位用的。
那麼問題來了,如果要使這三個ip段在同乙個網段內,那麼這個大網段共同的子網掩碼是多少呢?
我們來分析下:
將ip位址192.168.0.1轉換為二進位制
11000000 10101000 00000000 00000001
將ip位址192.168.1.1轉換為二進位制
11000000 10101000 00000001 00000001
將ip位址192.168.2.1轉換為二進位制
11000000 10101000 00000010 00000001
轉換成了二進位制,可以看得出,三個ip段的二進位制前面22位的是不變的,那麼可以將他們表示成:
ip段一:192.168.0.1/22
ip段二:192.168.1.1/22
ip段三:192.168.2.1/22
也就是說他們共同的子網掩碼二進位制前面22個都是1。
11111111 11111111 11111100 00000000
轉換成十進位制,那就是255.255.252.0,所以他們共同的子網掩碼就是255.255.252.0。
怎麼樣判斷兩個IP位址是否在同乙個網段
怎麼樣判斷兩個ip位址是否在同乙個網段 方法1.通過自身的ip與自身掩碼算出網路位址x 2.通過目的ip與自身掩碼算出目的地的網路位址y 3.如果這兩個網路一樣 x y 則表示目的地與自身在乙個網路內 4.如果兩個網路不一樣 x不等於y 則表示目的地與自身不在乙個網路內 舉個例子1 a 192.16...
如何判斷兩個IP位址是不是在同乙個網段
如何判斷兩個ip位址是不是在同乙個網段 要判斷兩個ip位址是不是在同乙個網段,就將它們的ip位址分別與子網掩碼做與運算,得到的結果一網路號,如果網路號相同,就在同一子網,否則,不在同一子網。例 假定選擇了子網掩碼255.255.254.0,現在分別將上述兩個ip位址分別與掩碼做與運算,如下所示 ww...
如何判斷兩個IP屬於同乙個網路
ip位址 網路位址 主機位址 又稱 主機號和網路號組成 ip位址是乙個 4 8bit 1位元組 由 0 1 組成的數字串 ip4協議 子網掩碼又叫網路掩碼 位址掩碼 子網路遮罩,是乙個 4 8bit 1位元組 由 0 1 組成的數字串 它的作用是遮蔽 遮住 ip位址的一部分以劃分成網路位址和主機位址...