要明白VLSM與CIDR是什麼,首先要清楚IP地址的格式與結構組成。
IP地址格式
IP地址由32位組成,每一個IP地址都是由網絡號跟主機號組成的。網絡號就好像是每臺設備所在區域的一個標識,網絡號相同的設備位於同一個子網中。主機號就是在本網段中不同設備的不同標識。
國際組織把IP地址劃分成五類,如右圖所示:
A類地址:0.0.0.0~127.255.255.255,前8位爲網絡號,後24位爲主機號,主要用於大型網絡(127.0.0.0也屬於A類地址,不過它被用於LOOP BACK迴環路徑,用作測試用的,所以不能分配給主機)。Internet有126個A類地址,其中每個地址能容納16777214個主機;
B類地址:128.0.0.0~191.255.255.255,前16位爲網絡號,後16位爲主機號,主要用於中型網絡。Internet有16382個B類地址,其中每個地址能容納64534個主機;
C類地址:192.0.0.0~223.255.255.255,前24位爲網絡號,後8位爲主機號,主要用於小型網絡。Internet有2097150個C類地址,其中每個地址能容納254個主機;
D類地址:224.0.0.0~239.255.255.255,D類地址沒有反映網絡大小,他只是用於組播,用來指定接收組播信號的設備的IP地址;
E類地址:240.0.0.0~255.255.255.254,用作試驗。
但是,這個IP的制定方式是及其不合理的。假設一家企業擁有20000臺電腦,需要申請一個B類地址。但是B類地址最多是能容納64534個主機的,因此就會出現40000多個IP地址空餘出來,沒有分配到任何一臺主機上面,造成IP地址的嚴重浪費。
當初在制定IP地址規格的時候,是沒有考慮過互聯網會發展到今天如此大的規模,結果造成IP地址資源的嚴重不夠,每個IP地址沒有充分利用。在當時IPV6(128位地址,號稱地球每粒沙子都能分配一個IPv6地址)還沒出現的時候,爲了能夠最大限度地利用IP地址,VLSM出現了。
VLSM(可變長子網掩碼)
VLSM(可變長子網掩碼)是一種劃分子網的技術,它可以對A、B、C類地址再進行子網劃分,以達到充分利用IP地址的目的。
假設一家企業有100臺電腦,按照以前的辦法,只能分配一個C類地址給它。但VLSM可以在一個C類地址上劃分出多個子網地址,再分配其中一個容納主機數量與稍大於企業需求數量的IP地址給企業。這樣做可以實現IP地址的不浪費。
劃分子網,一句話,其實就是網絡號向主機號借位。例如:
在208.208.208.0這個C類地址中,需要劃分出一個容納100臺電腦的子網。2的7次方是128,可以計算出能容納100臺電腦的子網主機號最少需要7位,因此網絡號長度爲32-7=25位。網絡位向主機位借1位,子網掩碼爲255.255.255.128。
208.208.208.0 =11010000.11010000.11010000.00000000
255.255.255.128=11111111.11111111.11111111.10000000
以上二進制地址做與運算,可以得出新的子網地址爲208.208.208.0/25。
因此208.208.208.0/24可以劃分成208.208.208.0/25和208.208.208.128/25兩個子網地址,每個子網地址可以容納126臺主機。公司只需要其中一個子網地址就能達到需求,另外一個地址可以留作其他公司使用,達到充分利用IP地址的,不浪費地址資源的目的。
CIDR(無類別域間路由)
CIDR主要有兩個作用:
把多個地址塊聚合到一起,生成一個能容納更多主機的網絡;
彙總路由表IP地址,分擔路由表壓力。
其實VLSM跟CIDR從功能角度來講是有一定區別的,但爲什麼人們都還是經常把這兩種技術放在一起講呢?我覺得其實是因爲他們技術所實現的方法很類似。
VLSM是網絡號向主機號借位,目的是把一個標準的網絡劃分成幾個子網,減少子網主機數量;
CIDR是主機號向網絡號借位,目的是把幾個網絡彙總成一個大的網絡,增加子網主機數量。
就像208.208.208.0/25和208.208.208.128/25兩個子網地址,可以彙總成208.208.208.0/24,而208.208.208.0/24也可以與208.208.208.1/24彙總成208.208.208.2/23。CIDR匯聚網絡的方法跟VLSM劃分子網的方法相類似。
CIDR也可以用來做IP地址彙總(超網)。由於在Internet環境中,運營商的路由器所擁有的路由條目是異常龐大的。但在採用CIDR後,就可以將連續的地址空間總結成一條路由條目,路由表不再需要對外宣稱所有網段的信息,這樣做可以大大地減少路由表中的條目數量。