首先要知道的是,這個CIDR是用來解決什麼問題的。我們知道,剛開始IP是被劃分為5類的,並且能夠我們用的只要前三類,但是這三類的劃分有很大的問題。一個B類位址能容納6萬多的主機,而C類位址只能容納2百多台主機。這樣的分類就會造成很大問題,例如某企業有幾千號人,那麼C類網路肯定滿足不了需求,但B類對它來說又太浪費了。
所以呢? IP分類已經被淘汰不用了,取而代之的是CIDR(無分類目錄)。 CIDR的理解也非常簡單,它就是用一個子網路遮罩將一個IP一分為二,前面部分是網路位,後面部分是主機為。
下面我們來看什麼是子網路遮罩,子網路遮罩和IP位址一樣,由32位元組成,它是由前面連續的1和後面連續的0組成的。我們常用十進制的表示方法來顯示子網路遮罩,如下是一個子網路遮罩:
255.255.255.0
上面的子網路遮罩就是由連續的24位1和連續4位0組成的。除此之外,還有一種常見子網路遮罩的表示方式,我們稱之為斜槓發。如下
192.168.110.121/24
前面是IP位址,後面24表示子網路遮罩。即它是有連續的24位1和連續8位0組成的。
和子網路遮罩相配套的,還有其他幾個知識點,如計算網路號,廣播位址,網路最多能容納主機數。
將子網路遮罩與IP位址做與操作,就能取得網路號碼
該網路號碼的最後一個位址是廣播位址
可用位址數量和主機位數相關,例如主機位佔8位,那麼可用位址數量等於2的8次方再減去2(一個網路位址,一個廣播位址)
下面,我們來透過一個案例來鞏固下所學的知識,如下,給出IP位址和子網路掩碼,計算網路號碼等資訊。
172.16.1.196/20
我們知道以下的知識
1 & 1 = 1 0 & 1 = 0 1 & 0 = 0 0 & 0 = 0
那麼這個問題就簡單了,前面16位肯定是不變的,還是172.16,而後面8位肯定都是0。所以,我們只需要將第三個部分做下與操作即可得到答案。
10進位的1轉換為2進位結果為
00000001
計算00000001&11110000,可得值為00000000,轉換為10機制值為0。所以,得到網路號碼為
172.16.0.0
接下來計算可用位址數,主機位佔12位,那麼可用位址則是2的12次方減去2,即4094.
以上是無分類編址CIDR它是怎麼劃分網路的的詳細內容。更多資訊請關注PHP中文網其他相關文章!