1. 程式人生 > >不背公式快速計算IP地址掩碼---遊碼法

不背公式快速計算IP地址掩碼---遊碼法

pro 完整 5.1 專註 之前 分別是 bwt itl 二維碼

專註網絡運維,只發實用幹貨

掃描二維碼關註公眾

技術分享圖片

不背公式快速計算IP地址掩碼---遊碼法

網工老張 網工大雜燴

這個方法來自於大學時期某位已經被我忘記名字的老師(老師對不起了),思路是將2^n次方(n=0-7)當作8個重量不等的砝碼,放在天平秤上做平衡,以此稱量出掩碼,最後得出想要的子網範圍。ps:看本文之前請預習IP地址基礎知識,這裏只講算法;

首先請記住下面這張表,至少看一分鐘:

技術分享圖片

表格中間的八個數就是我們的砝碼,如果是真的堅持看了一分鐘的同學,首先佩服你的耐心,其實不需要看那麽久,然而你是否發現了規律?

每個數的二進制中的 “1” 剛好對應IP地址格式1/4區間8bit的其中一位,也可以說是每個砝碼對應8bit掩碼中的一個bit位,八個砝碼相加二進制正好是全1,十進制是255;

描述有點繞口,請看下圖示例:

技術分享圖片

現在我們把掩碼往前挪一位,變成了下圖所示:

技術分享圖片

最後當8個bit位全部變為0,掩碼就變成了255.255.255.0,也就是/24位。

技術分享圖片

這個過程是否像是一桿天平秤的兩端,分別是掩碼位數和砝碼,為了要保持平衡,掩碼往前挪一位,就要拿掉一個對應位置的砝碼。那麽如何用砝碼來確定掩碼呢?我們通過兩個題目來說明:

題目1,假設需要35個主機IP,從192.168.1.0/24這個C類網段中劃分合適的子網;

step 1:從小到大加砝碼,加到≧35為止;

2^0+ 2^1 + 2^2 + 2^3 + 2^4 + 2^5 = 1 + 2 + 4+ 8 + 16 + 32 = 63 ≧35

step 2:確定掩碼;

數一數我們拿掉了六個砝碼才滿足需求的主機數量,剩下128和64兩個砝碼,那麽現在的掩碼應該是1100 0000<==>192,完整的掩碼就是255.255.255.192,也就是/26位。

step 3:劃分IP地址塊;

用step 1拿掉的砝碼總重量+1,或者256減去剩下的砝碼(128+64),就是IP地址塊的大小,這裏=64,IP子網的網絡號就是0-256區間內64的整數倍,這裏是0、64、128、192,完整的寫出就是:

192.168.1.0/26、

192.168.1.64/26、

192.168.1.128/26、

192.168.1.192/26 四個子網。

題目2,已知某個IP地址和掩碼,假設IP為192.168.1.56/27,求所屬子網;

step 1:快速算出十進制掩碼;

/27位掩碼相當於/24位掩碼bit位往後挪3位,快速得出以下計算過程:

掩碼 /27 ==> 255.255.255.(1110 0000) ==>255.255.255.(128+64+32 前三個1bit對應的砝碼相加) ==>255.255.255.224;

step 2:計算地址塊大小和可用子網:

地址塊為256-224=32,可用子網為0-256區間內地址塊大小的整數倍,這裏是0、32、64、96、128、160、192、224八個子網,其實不用算完,我們已經知道了192.168.1.56/27屬於192.168.1.32/27子網,去掉網絡號和廣播號,可用IP為33-62;

不論IP和掩碼是A B C D E類多少位,都可以用此方法,我們只需要計算掩碼位有變化的那個8bit區間就可以了,後面的全部補0;

砝碼心中留,IP在我手;此方法開始可能記不住砝碼大小和對應的掩碼位,但是熟悉之後絕對比公式計算快N倍;如果文中有錯誤或者疑問的,請給我留言;

專註網絡運維,只發實用幹貨

掃描二維碼關註公眾

技術分享圖片

不背公式快速計算IP地址掩碼---遊碼法