如何实现IP分配、子网划分、和子网掩码计算
生活随笔
收集整理的這篇文章主要介紹了
如何实现IP分配、子网划分、和子网掩码计算
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
最近再看java網絡編程精解,書中提到了一些過去很模糊的概念。在這里做一些記錄,下面的內容是在百度知道里面查到的。
一個IP地址必然屬于某一個網絡,或者叫子網。子網掩碼就是用來指定某個IP地址的網絡地址的,換一句話說,就是用來劃分子網的。
例如,一個A類網絡可以容納16777214臺主機。但是在實際運用中,不可能把一個A類網絡只用于一個子網,因為那樣管理起來很不方便,也會出現廣播風暴等種種問題,所以需要根據實際需求把它劃分為若干個較小的子網。一個B類網絡可以容納65534臺主機,往往也是需要劃分子網的。即便一個小型企業內部,為了部門之間的職能的需要,配置那些電腦可以互相訪問,哪些不能互相訪問,就需要通過劃分子網的方法來實現。
子網劃分的問題看起來很復雜,其實也不是很復雜。只要把IP地址的位數、網絡位數、主機位數、子網掩碼的位數這幾個概念搞清楚,就覺得很簡單了。
IP地址位數=網絡位數+主機位數=32位。子網掩碼的位數就是網絡的位數。
A類網絡的網絡位數是8位,子網掩碼就是11111111.00000000.00000000.00000000,換算成二進制表示為255.0.0.0。
B類網絡的網絡位數是16位,子網掩碼就是11111111.11111111.00000000.00000000,換算成十進制表示為255.255.0.0。
C類網絡的網絡位數是24位,子網掩碼就是11111111.11111111.11111111.00000000,換算成十進制表示為255.255.255.0。
A類網絡加長子網掩碼到16位就把一個A類網絡劃分為256個B類網絡同樣大小的網絡,再加長到24位就又把每個B類大小的子網劃分為256個C類網絡大小的子網。就是這個道理。一個大的網絡,通過把子網掩碼加長,使網絡位多了,也就是網絡數目多了,子網就多了。
當然你也可以不劃分為256個子網,而劃分為128個,64個,32個,16個,8個,4個,2個。
一個B類網絡的默認子網掩碼為255.255.0.0,你如果想把它劃分為2個子網,網絡位數就成立17位,也就是說子網掩碼就變成了255.255.128.0;想劃分為16個子網,因為16是2的4次方,所以網絡位數加4變成了20位,也就是說子網掩碼加長,成了20位,就是255.255.240.0。依此類推。
一個C類網絡的默認子網掩碼為24位的,那么主機位=32-24=8位,2的8次方等于256,所以一個C類網絡的IP地址數量(包括網絡地址和廣播地址)為256個。
但是你仍然可以通過加長子網掩碼的手段,把一個C類子網劃分為更多的子網。劃分的子網數必定是2的n次方個,每個子網的IP數量必定是2的(8- n)次方個。
子網掩碼加長1位,劃分2個子網;加長2位,劃分4個子網,加長6位,劃分2的6次方個,也就是64個子網。
子網掩碼的1的個數表示網絡位的個數,簡單地來說,網絡位是不屬于你控制的,是上級主管給你的,給你多少就是多少。但是主機位是你可以控制的,你可以把它縮短,把縮短出來的位數加到網絡位中,這樣網絡位就長了,子網數就多了,相應地每個子網的IP數量就少了。
記住下面的公式,遇到再復雜的子網劃分問題也難不倒你了。
IP地址位數=32
網絡位+主機位=32
子網掩碼加長n位,則在當前子網基礎上劃分為2的n次方個子網。每個子網的IP地址數量=2^(32-劃分前子網掩碼位數-n)
二、如何根據子網劃分的目標計算子網掩碼
簡單來說,子網掩碼就是網絡地址的位數。
一個IP地址一共有32位,其中靠前的某些位表示網絡地址,后面的某些位表示主機位。
網絡位數+主機位數=IP地址位數=32
知道了這個道理,計算子網掩碼的方法就是:已知子網內IP數的多少,求出主機位的位數,用32減去主機位數就等于網絡位數,也就是子網掩碼。
舉最簡單的例子。一個C類網絡,包括256個主機位置,256是2 的8次方,所以主機位是8,那么網絡位就是32-8=24,也就是說子網掩碼是24位,用二進制表示就是11111111.11111111.11111111.00000000,換算成十進制就是255.255.255.0
再比如一個C類網絡劃分的子網,每個網絡主機IP數是32, 而32是2的5次方,所以主機位是5,那么網絡位就是32-5=27,也就是說子網掩碼是27位,用二進制表示就是11111111.11111111.11111111.11100000,換算成十進制就是255.255.255.224
再比如一個B類網絡劃分的子網,每個網絡主機IP數是1024, 而1024是2的10次方,所以主機位是10,那么網絡位就是32-10=22,也就是說子網掩碼是22位,用二進制表示就是11111111.11111111.11111100.00000000,換算成十進制就是255.255.252.0
子網劃分是通過改變子網掩碼的位數來實現的。比如一個C類IP地址,默認子網掩碼是24位的,二進制表示是11111111.11111111.11111111.0000000,換算成10進制的就是255.255.255.0。
如果是這樣的子網掩碼,后面的8位都可以用來做為主機的位置,2 的8次方等于256,一共有256個IP位置,因為有2個不能用,所以可用的主機位置為254個。
但是你要把這樣一個地址劃分成2個子網,就要從主機位里拿出一位來作為網絡地址,網絡地址就成了25位了。相應地主機位就成了7位了,2 的7次方等于128,一共有126個地址可用。
這是從正向來說的,就是已知要劃分的子網數,求每個子網的主機數。但是在實際工作中往往是先知道每個子網的主機數,讓你劃分子網。其實也很簡單。
首先你算一下主機數更接近于2 的幾次方,那么主機位數就是幾位。32減去主機位就是網絡位。
舉例說明。假如給你一個C類IP地址192.168.0.0。假如你想劃分2個子網,一個里面有100臺電腦,另一個有50臺電腦。
100大于2的6次方,小于2的7次方,所以主機位數取7位。那么網絡位數就是32-7=25位。25位的子網掩碼11111111.11111111.11111111.10000000 換算成10進制的就是
255. 255. 255. 128,這就是第一個子網的子網掩碼,網絡號為192.168.0.0/25,網絡地址192.168.0.0,主機地址192.168.0.1~192.168.0.126,廣播地址192.168.0.127
50大于2的5次方,小于2的6次方,所以主機位數取6位。那么網絡位數就是32-6=26位。26位的子網掩碼11111111.11111111.11111111.11000000 換算成10進制的就是
255. 255. 255. 192,這就是第二個子網的子網掩碼,網絡號為192.168.0.128/26,網絡地址192.168.0.128,主機地址192.168.0.129~192.168.0.190,廣播地址192.168.0.191
總結
以上是生活随笔為你收集整理的如何实现IP分配、子网划分、和子网掩码计算的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 请不要让程序员在黑暗中摸索
- 下一篇: android 定时器倒计时,Andro