日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

根据netmask快速判断是否在一个网域

發(fā)布時(shí)間:2025/3/15 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 根据netmask快速判断是否在一个网域 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

natmask就是子網(wǎng)掩碼,與ip進(jìn)行與的運(yùn)算,得到一個(gè)網(wǎng)域。

ip 由4段構(gòu)成,例 172.25.45.10 每段由8位二進(jìn)制組成?

即 11111111.11111111.11111111.11111111這個(gè)代表的是255.255.255.255

同理 子網(wǎng)掩碼也是由8位二進(jìn)制組成。它又分為網(wǎng)絡(luò)位和主機(jī)位。

172.25.45.10/24 表示有24個(gè)1 組成網(wǎng)絡(luò)位 ?剩余 8位組成主機(jī)位。

一般情況最常見到的子網(wǎng)掩碼是 8 即8個(gè)1 即 255.0.0.0 16個(gè)1 255.255.0.0 24個(gè)1 255.255.255.0

32個(gè)1 是廣播地址 255.255.255.255?

這個(gè)的計(jì)算就是二進(jìn)制想十進(jìn)制的轉(zhuǎn)化。

明白了這個(gè)一般情況,來談?wù)劜灰粯拥?。舉個(gè)例子由于慣性思維當(dāng)我們看到?

172.25.42.10/21 和 172.25.47.100/21 這兩個(gè)ip是感覺就是不在一個(gè)網(wǎng)域,因?yàn)榈谌蔚牟幌胪?42和47 不一樣。但事實(shí)它們在一個(gè)網(wǎng)段。

我們以第三段為例。 它們各自的網(wǎng)域應(yīng)該這樣計(jì)算。

21-16=5就是所有的1的數(shù)減去前兩段的16個(gè)1的數(shù)就是第三段的1的個(gè)數(shù)。第三段的掩碼相當(dāng)于為5?

42轉(zhuǎn)化為8位二進(jìn)制為 00101010 與 第三網(wǎng)段的子網(wǎng)掩碼5個(gè)1 即 11111000 對應(yīng)位置與的運(yùn)算

00101010 對應(yīng)十進(jìn)制數(shù)是42

11111000 子網(wǎng)掩碼?

00101000 對應(yīng)位與的運(yùn)算得到的 網(wǎng)域

同理

00101111 對應(yīng)十進(jìn)制數(shù)是47

11111000 子網(wǎng)掩碼 00101000?對應(yīng)位與的運(yùn)算得到的 網(wǎng)域

一個(gè)網(wǎng)域的判斷是看它的網(wǎng)絡(luò)位 所以在不在一個(gè)網(wǎng)域在這個(gè)例子中和第四段沒有關(guān)系??

可以看到172.25.42.10/21 和 172.25.47.100/21 是在一個(gè)網(wǎng)域的。


****************************************************

那如何快速的根據(jù)netmask來判斷ip是否在一個(gè)網(wǎng)域?

172.25.42.10/21 和 172.25.47.100/21?

第三段的網(wǎng)絡(luò)位 為 21-16=5 那主機(jī)位 位 8-5=3

根據(jù)位權(quán)值得計(jì)算方法可得?

1 ?1 ?1 ?1 ?1 ?1 ?1 ?1

128 64 32 16 ? 8 ?4 ?2 ?1

3個(gè)主機(jī)位即是 4+2+1=7 5個(gè)網(wǎng)絡(luò)位就是 128+64+32+16+8=248?

由于子網(wǎng)掩碼是 11111000 與ip進(jìn)行與的運(yùn)算 要想運(yùn)算后在同一個(gè)網(wǎng)域 也就是說 ip 的前5個(gè)1 也就是網(wǎng)絡(luò)位要一樣 ,那么網(wǎng)絡(luò)位一樣的前提下, 主機(jī)位之間 的變化就是 小于等于7.


  • ①? 所以 當(dāng)看到一個(gè)ip和它的子網(wǎng)掩碼時(shí),先計(jì)算出它的關(guān)鍵段的?主機(jī)位的變化,

例 9和17 10和18 11和19 它們分別在第一段和第二段 但他們的主機(jī)位是一致的?

9 ? 11111111 10000000 00000000 0000000

17 ?11111111 11111111 10000000 0000000


它們的關(guān)鍵段主機(jī)位是 127 ?關(guān)鍵段就是可以判斷是否在一個(gè)網(wǎng)域的關(guān)鍵段 子網(wǎng)掩碼 0到8 就是第一段 8到16 就是第二段 16到24 就是第三段 24到32就是第四段


②?計(jì)算出關(guān)鍵段的主機(jī)位 例 172.25.42.10/21 和 172.25.47.100/21 它們的關(guān)鍵段是第三段 主機(jī)位是 7 ?那么 首先判斷 關(guān)鍵段的ip 是否小于 主機(jī)位 ,在例子中 42和47 相差位5小于 7 所以有可能在一個(gè)網(wǎng)段。 如果大于 7 則肯定 不在一個(gè)網(wǎng)域。


③ 如果小于 7 則可能在一個(gè)網(wǎng)域。

0-7

8-15

16-23

24-31

32-39

.

.

.

248-255

可以發(fā)現(xiàn)規(guī)律

主機(jī)位是0到7 是8個(gè)一循環(huán)

所以 在 小于等于7 的前提下 ?可以 用關(guān)鍵段的 ip/8 看他們的商是否相同 相同則在一個(gè)網(wǎng)域 反之不在一個(gè)網(wǎng)域。

例 42/8=5 47/8=5 求商即可 ?都是5 所以在一起 ?那 42和48 就不在一個(gè)網(wǎng)域。


這樣可以用算術(shù)的方法來快速的判斷。?

轉(zhuǎn)載于:https://blog.51cto.com/19941018/1917333

總結(jié)

以上是生活随笔為你收集整理的根据netmask快速判断是否在一个网域的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。