1. 程式人生 > >關於子網劃分、子網聚合(超網)的研究

關於子網劃分、子網聚合(超網)的研究

一、子網劃分

子網劃分經常遇到,現在就以一個C類網路的網段來研究子網的劃分,以192.168.100.0/24為例,以最後八位來分割子網,假設用8個圈來表示最後8個位, 從左至右依次是第25位,第26位,直至第32位最後一位。如下所示:

子網劃分的竅門剖析 - 漠雨 - 沙漠裡de煙雨

 如上所示,不難看出,掩碼長度為25的,說明從C類網路地址中的主機位上借了一個地址位,其餘7位為主機位,也就是說將一個C類網路劃成了兩個子網,第25位的網路號有兩種情況,一種是0,一種是1,也就是一個是192.168.100.0/25,另一個是192.168.100.128/25。網路個數為2的1次方個,也就2個,因為這個位只有兩種情況,要麼為0,要麼為1.,那當然每個子網的主機數為:256/網路個數,然後減去子網號與廣播地址這兩個地址,所得數目就是主機數:(256/2)-2=126。

由此類推,若掩碼為192,剛說明劃分成了四個子網,即第25位和第26位兩位為網路位,則有四種情況,00,01,10,11,也即:192.168.100.0/26,192.168.100.64/26,192.168.100.128/26和192.168.100.192/26。

上圖是根據網路位與主機位的相互關係推算並畫出來的,下面就用公式來表達上圖的意思。

除去前8*3=24位不說,就從後8位(用0表示)說起,11111111  11111111  11111111  00000000,從左到右依次用1,2,3.。。8來表示其位,因為網路位是要向主機位借,所以方向也是從左到右的,這並不為奇。而在這8位中,第一位在這個段中的值為2的8-1次方,為128,第二位為2的8-2次方,為64,依此類推。。。,在此,假設其位數用n表示,則:

掩碼=2^(8-1)+2^(8-2)+2^(8-3)....+2^(8-n)      n=1至8

掩碼長度=24+n

子網個數=2^(n)

子網長度=256/子網個數     (或這樣計算)    子網長度=256-掩碼

[子網長度,即每個子網的總IP數,其中包括有效主機數,子網網路號與子網廣播地址]

子網主機數=子網長度-2

一般情況下,是告訴你掩碼,則可知其它五項,如掩碼為248,則:

子網長度=256-248=8       子網主機數=8-2=6

子網個數=256/子網長度=256/8=32

子網個數=2^(n)=32  則===>>n=5

掩碼長度=24+5=29

如果告訴你掩碼長度,如192.168.100.35/27,則:

n=27-24=3,知道了n,套用上面的公式,就都出來了,在此就不累述。

上面的方法是針對於“可變長子網掩碼(VLSM)”的劃分方法,下面就講講它的對立,不是子網,而是子網聚合成的超網(又名CIDR)的操作方法。

二、子網聚合(超網)(在路由表中叫路由聚合或路由彙總)

子網聚和與子網劃分的操作與意圖正好相反。

例:將下面五個子網聚和成一個超網

192.168.11.0/27

192.168.12.0/27

192.168.14.0/27

192.168.14.32/27

192.168.14.64/27

前面兩位暫且不談,且看後兩位,因為後兩位都各不相同,找出其相同處,就可以了將之聚合成一超網了,當然,如果你覺得不必這麼麻煩,直接將之聚合成192.168.0.0/16,理論上是可行,但如果增加了一個子網192.168.0.0/18,當路由器存在此網路的路由表項時,會將它也聚合進去,造成路由混亂,所以,儘量找到它的最小合集,方能找到最小的超網。

方法其實只有一個,就是將不同的用二進位制展開,上下對應,找出相同位置處的數字,若數字相同,則將超網的相同位上置與其位上相同的數字,即如果全為0,則置0,全為1,則置為1;如相同位置處的數字有不同,則在超網的相應位上為0。如下所示:

00001011   00000000    ==>11.0

00001100   00000000    ==>12.0

00001110   00000000    ==>14.0

00001110   00100000    ==>14.32

00001110   01000000    ==>14.64

----------------------------------------------------

00001000   00000000    ==> 8.0     且前面5位是相同的,所以,掩碼長度為16+5=21

故此超網為:192.168.8.0/21

三、按要求劃分子網

例:一公司要從母公司中抽調出254個員工去組建一家新的分公司,此分公司的網路還在籌劃中,假若你就是此公司的網路工程師,你深知,由於技術與業務上的分工合作,此分公司得用192.168.16.0/22之內的IP給這些主機分配IP地址,如果能節省IP(即不向網路位借2位做主機位,而是隻借1位做主機位,這樣的話,路由器更能精確地找到這些網路段,也能節省更多的IP地址)。經瞭解,公司人員分佈狀況如下:

市場部:86 (38)人

技術部:61 (2)人

工程部:50 (10)人

客服部:30 (13)人

研發部:21 (5)人

售後部:6   (3)人

其中,()裡頭的數字表示今後最多會增加的人數。且因為安全性問題,所以,各個部門不能相互訪問。

故在建此網路之前,應根據要求劃分好子網路。

解:實際人數=254,剛好是一個C類網路的主機數,如果不是因為今後還會增加人員,正好就用一個網段來處理,然而要求裡指明各部門不能互訪,所以就算不增加人員,也是不行的。

實驗人數:254人

將來最多人數:254+71=325人

又因為所設的IP地址為192.168.16.0/22網段內的地址,而325>254且325<2*254,所以,我們可以用兩個子網網段長度為254的C類網聚合成的超網來給這個分公司的各部門分配網段。這裡,又回來了本篇的第一部分。

所以,兩個C類網合併成超網,也就是192.168.16.0/23這個網段。為了便於閱讀,我把上面的那圖貼下來一份,如下所示:

子網劃分、子網聚合(超網)淺析 - 漠雨 - 沙漠裡de煙雨

 根據此圖中的“子網主機數”,我們幾乎可以直接將各部門的子網段寫出來:

市場部:62<86+38=124<126        ==>192.168.16.0/25

技術部:62<61+2 =63<126           ==>192.168.16.0/25

工程部:30<50+10=60<62            ==>192.168.16.0/26

客服部:30<30+13=43<62            ==>192.168.16.0/26

研發部:14<21+5=26<30              ==>192.168.16.0/27

售後部:6<6+3=9<14                    ==>192.168.16.0/28

 其實,

用下面的圖更能直觀的表示各部門網段所處的位置,如下所示:

子網劃分、子網聚合(超網)淺析 - 漠雨 - 沙漠裡de煙雨 由上圖我們可以清楚地看到,假如還要增加2個部門,每個部門“未來最多人數”均為31人(30<31<62),則還得增加兩個子網192.168.16.0/26,儘管總人數為325+62=387<2*254=508,但是如上圖我們可以很容易看出,用192.168.16.0/23是無法滿足這個公司的子網劃分的,因為在這個網路中,只能增加一個掩碼長度為26的網段。所以針對於這種情況,我們在選用網段前,是要計算一下的,在這裡,我提出一個由本人自己定義的演算法公式,用這個公式你就能大概算出你要向前借幾位了。 計算方法如下: 25(1/2) + 25(1/2)==24    {為方便,也可以這樣簡寫:25+25==24}   注意不是等於“=” 公式解釋:掩碼長度為25,說明對於掩碼長度為24的網路來說,可以劃分為兩個子網,一個為0子網(如192.168.0.0/25),另一個為1子網(如192.168.0.128/25),如下圖打了標記的地方: 子網劃分、子網聚合(超網)淺析 - 漠雨 - 沙漠裡de煙雨 所以,本例中,如果增加了2個部門,咱們就來算一算,到底能不能用192.168.16.0/23來劃分。如下:  

市場部:==>192.168.16.0/25

技術部:==>192.168.16.0/25

工程部:==>192.168.16.0/26

客服部:==>192.168.16.0/26

研發部:==>192.168.16.0/27

售後部:==>192.168.16.0/28

增加部1:==>192.168.16.0/26

增加部2:==>192.168.16.0/26 

25+25==24

26+26==25

27+28==26--28

26+26==25

總合N= 24+25+25+26--28==24+24+26--28==23+26--28     注意不是指“總和”。

由 值可知,掩碼長度為23的這個網路不足以放下所有的網段,應該再向前借一位,所以,N應該取22,即192.168.16.0/22為增加兩個部門後應選用的網段。

好了,關於子網劃分與子網聚合就研究到此。