一、CIDR基礎知識
CIDR,即Classless Inter-Domain Routing(無類域間路由選擇),是一種用於路由選擇的IP地址編址方法。與傳統的IP地址劃分方案(基於網絡分類A、B、C)不同,在CIDR中,IP地址不在以網絡類別劃分,而是採用“子網掩碼+網絡地址”的方式,來表示IP地址所在的網絡。
CIDR使用一個32位掩碼(通常表示成一個“斜線”後面跟着一個數字),來表示一個IP地址中網絡部分和主機部分的劃分。例如:255.255.255.0的掩碼就表示地址後24位是主機地址,剩下8位是網絡地址。CIDR表達式的格式為:IP地址/網絡前綴長度,例如10.0.0.0/24表示網絡號為10.0.0.0,子網掩碼為255.255.255.0的網絡。
二、CIDR計算公式
對於一個CIDR格式的IP地址:xxx.xxx.xxx.xxx/n,其主機數量(Hosts)和子網掩碼(Netmask)可以通過下列公式計算得出:
Hosts = 2^(32-n)-2 Netmask = 2^32-2^(32-n)
其中n為網絡前綴的位數,^表示次方操作。例如,對於CIDR地址“192.168.1.0/24”,其主機數量為2^(32-24)-2=254,子網掩碼為255.255.255.0。
三、CIDR計算實例
下面通過實例演示如何進行CIDR計算:
例1:計算CIDR地址包含的主機數量和子網掩碼
對於CIDR地址:192.168.0.0/16,計算其主機數量和子網掩碼。
解題步驟如下:
第一步,找到網絡地址,即第一個被掩碼覆蓋的地址,其二進制為:11000000 10101000 00000000 00000000。
第二步,確定子網掩碼。由於CIDR地址中網絡前綴的長度為16,剩下的主機部分長度為16位,因此子網掩碼為:11111111 11111111 00000000 00000000,即255.255.0.0。
第三步,計算主機數量。由於剩下的主機部分長度為16位,主機數量為:2^(16)-2=65534。
因此,CIDR地址192.168.0.0/16的子網掩碼為255.255.0.0,可用主機數量為65534。
例2:計算給定主機數量最小的CIDR地址和子網掩碼
假設要將某個地址段劃分給255個子網使用,求最小的CIDR地址和子網掩碼。
解題步驟如下:
第一步,計算主機數量。由於劃分給每個子網調用128個IP地址(含網關和廣播地址),因此每個子網的主機數量為:128-2=126。
第二步,確定子網掩碼長度。最小掩碼長度滿足2^n > 126,n為最小掩碼長度,即2^7=128 > 126。因此,最小的CIDR地址需要至少使用7位二進制位。
第三步,確定CIDR地址。由於CIDR地址需要至少使用7位二進制位,顯然無法使用Class A或Class B的地址,應使用Class C地址。假設使用192.168.0.0作為網絡地址,第3個二進制位開始作為網絡前綴,則CIDR地址為:192.168.4.0/25。
第四步,確定子網掩碼。CIDR地址的網絡前綴長度為25位,因此子網掩碼為:11111111 11111111 11111111 10000000,即255.255.255.128。
因此,最小的CIDR地址為192.168.4.0/25,子網掩碼為255.255.255.128。
原創文章,作者:EHFR,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/137973.html