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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

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

natmask就是子網掩碼,與ip進行與的運算,得到一個網域。

ip 由4段構成,例 172.25.45.10 每段由8位二進制組成?

即 11111111.11111111.11111111.11111111這個代表的是255.255.255.255

同理 子網掩碼也是由8位二進制組成。它又分為網絡位和主機位。

172.25.45.10/24 表示有24個1 組成網絡位 ?剩余 8位組成主機位。

一般情況最常見到的子網掩碼是 8 即8個1 即 255.0.0.0 16個1 255.255.0.0 24個1 255.255.255.0

32個1 是廣播地址 255.255.255.255?

這個的計算就是二進制想十進制的轉化。

明白了這個一般情況,來談談不一樣的。舉個例子由于慣性思維當我們看到?

172.25.42.10/21 和 172.25.47.100/21 這兩個ip是感覺就是不在一個網域,因為第三段的不想同 42和47 不一樣。但事實它們在一個網段。

我們以第三段為例。 它們各自的網域應該這樣計算。

21-16=5就是所有的1的數減去前兩段的16個1的數就是第三段的1的個數。第三段的掩碼相當于為5?

42轉化為8位二進制為 00101010 與 第三網段的子網掩碼5個1 即 11111000 對應位置與的運算

00101010 對應十進制數是42

11111000 子網掩碼?

00101000 對應位與的運算得到的 網域

同理

00101111 對應十進制數是47

11111000 子網掩碼 00101000?對應位與的運算得到的 網域

一個網域的判斷是看它的網絡位 所以在不在一個網域在這個例子中和第四段沒有關系??

可以看到172.25.42.10/21 和 172.25.47.100/21 是在一個網域的。


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

那如何快速的根據netmask來判斷ip是否在一個網域?

172.25.42.10/21 和 172.25.47.100/21?

第三段的網絡位 為 21-16=5 那主機位 位 8-5=3

根據位權值得計算方法可得?

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

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

3個主機位即是 4+2+1=7 5個網絡位就是 128+64+32+16+8=248?

由于子網掩碼是 11111000 與ip進行與的運算 要想運算后在同一個網域 也就是說 ip 的前5個1 也就是網絡位要一樣 ,那么網絡位一樣的前提下, 主機位之間 的變化就是 小于等于7.


  • ①? 所以 當看到一個ip和它的子網掩碼時,先計算出它的關鍵段的?主機位的變化,

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

9 ? 11111111 10000000 00000000 0000000

17 ?11111111 11111111 10000000 0000000


它們的關鍵段主機位是 127 ?關鍵段就是可以判斷是否在一個網域的關鍵段 子網掩碼 0到8 就是第一段 8到16 就是第二段 16到24 就是第三段 24到32就是第四段


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


③ 如果小于 7 則可能在一個網域。

0-7

8-15

16-23

24-31

32-39

.

.

.

248-255

可以發現規律

主機位是0到7 是8個一循環

所以 在 小于等于7 的前提下 ?可以 用關鍵段的 ip/8 看他們的商是否相同 相同則在一個網域 反之不在一個網域。

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


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

轉載于:https://blog.51cto.com/19941018/1917333

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。