【計算機網絡】第五章:[網絡層]IP地址和子網劃分(Part2.子網劃分)

子網劃分

子網劃分的原因:現在的IP地址比較緊張,32位二進制做IP地址在全球範圍內是遠遠不夠用的。既然公網地址不夠用就需要子網劃分來避免公網地址的浪費。
對於企業的Web,郵件服務器等,都需要用公網地址來供給網絡用戶訪問。一般而言ISP分配公網地址時,會給一個稍有富餘的區間,但是不會給一個足夠用的子網區間。
在這裏插入圖片描述
200臺計算對應212.2.3.0(子網掩碼255.255.255.0)也就說可以使用1-254總共254個地址,200臺電腦充分夠用且有一定的富餘,不算浪費。
但是如果400臺設備分配一個C類網絡不夠用,分配一個B類網絡(256x256-2)則浪費了56000餘個地址,就是極大浪費。
爲了能夠劃分一個比較匹配我需要的地址數的子網,則我們就需要子網劃分的技術了。

等長子網劃分

把一個大的子網劃分成等間距的小子網。子網劃分就是將現有網段的主機位做子網位,可以和前面的網絡位結合起來當做新的網絡位。從而分成多個小的子網。

子網劃分需要缺:子網掩碼的長度和子網中第一個以及最後一個可用地址。

C類網絡子網劃分

在這裏插入圖片描述
上圖中我們想把192.168.0.1中的200臺設備中的100臺設備接入另一個交換機,然後將這兩部分用路由器相連。那麼如果不用子網劃分,則需要再申請一個新的公網C類地址,實際上會有抵制浪費的情況發生(100/254=不足50%的使用率不高)。
所以我們希望通過等長子網劃分來節省地址空間。劃分方法如下:
在這裏插入圖片描述
將192.168.0.1的1用二進制展開。然後把展開的八位二進制的第一位劃出去,和網絡部分一起當做一個新的網絡部分。從而將一個C類地址分成了兩部分。這兩個等分的子網將他們視爲不在同一網段,因爲網絡地址不同。爲了讓計算機交換機路由器等設備區分出劃分後的子網,則需要對子網掩碼也進行修改——255.255.255.128。這樣修改後計算機就能夠判斷接收端是否和自己一個網段時,就能區分出來。子網掩碼往後移了一位就是子網掩碼多了一位。
那麼子網掩碼劃分後,我們要確認第一個和最後一個可用地址,那麼我們知道主機位全0和全1地址不可用,分別對應網段和廣播。所以127的二進制是0】111 1111是全1地址,對應A網段的廣播包不可用,所以實際A網段可用的地址是(1-126)而B網段同理可用的是(129-254)
等長子網劃分:
A子網:192.168.0.0 / 255.255.255.128 (網段/子網掩碼)
B子網:192.168.0.128 / 255.255.255.128

Ps)關於子網掩碼,對半等分後,不要認爲就有兩個子網掩碼(分別是255.255.255.0和255.255.255.128),這兩部分的子網掩碼都是255.255.255.128.爲什麼呢?類比之前的255.255.255.0時,對應192.168.1.x。其中x可以取(1~254)中的任一數值,並沒有因爲x變化而引起子網掩碼的變化。子網掩碼的0表示的是對應某一位是屬於網絡位還是主機位,因爲我們將255.255.255.0展開寫就是11111111 11111111 11111111 00000000.其中0的二進制是八位0而255的二進制是8位1,也就是說子網掩碼通過用1表示網絡位,0表示主機位的方式被定義。換言之,當子網掩碼後移一位,也就說最後一部分的第一個0變成了1,此時反應到十進制數就是128,所以此時的子網掩碼就是255.255.255.128。

在這裏插入圖片描述
那麼我們可以總結一個規律,那就是如果等分爲原來的一半,也就說對半分的情況下,子網掩碼後移一位。換言之如果說要分成四等分,則子網掩碼後移兩位。等分2n2^n份,子網掩碼就要後移n位。

下面我們來看把這個C類地址分爲四部分。
在這裏插入圖片描述
同理,子網掩碼後移兩位,變爲192。子網的長度四等分是64.然後我們確認每一個網段不可用的兩個端值。分別是(0/63,64/127,128/191,192/255)。換言之他們的取值區間分別是[1,62],[65,126],[129,190],[193,254]
ABCD的網段分別是192.168.0.(0,64,128,192)子網掩碼都是255.255.255.192

然後是八等分,道理相同,子網掩碼最後一部分變成224
在這裏插入圖片描述
我們可以發現,每當增加數軸上一個端點作爲網段劃分端點的點,每個端點就會出現2個數不再可被選用爲IP地址。對於四等分的64而言,它本身是全0的網段,-1則是上一個網段的廣播地址。同理對於八等分的32而言,它本身是一個網段而前一個數值則是上一個網段的廣播地址。所以我們不必再去一個個思考計算哪些端值不可用,直接就可以寫出他們的取值區間
[1,30],[33,62],[65,94],[97,126],[129,158],[161,190],[193,222],[225,254]
也就說
={[+1,2]255[+1,254]=255 最後一部分取值區間=\left\{ \begin{aligned} [初端值+1,末端值-2],& 末端值≠255 \\ [初端值+1,254],& 末端值=255 \end{aligned} \right.


B類網絡子網劃分

首先是B類網絡
在這裏插入圖片描述
道理相同,只不過B類網絡地址範圍更大了。
在這裏插入圖片描述
A子網的兩個端值是(131.107.0,0)和(131.107.127,255);B子網的端值是(131.107.128,0)和(131.107.255,255)去除之後,得到的取值範圍就是[(131.107.0,1),(131.107.127,254)]和[(131.107.128,1),(131.107.255,254)]。

由上圖我們可以發現,首先這些子網的最後一部分的取值範圍都是(1~254),這一部分是不變的(只要等長子網劃分數小於282^8個)。如果子網劃分大於128個時,則對於每個子網其實又回到了C類子網劃分的方式。在劃分數量小於128個時,第三部分可以初端點值可以取,末端點值仍然需要-1
={λ1.λ2.[,1].(1,254),255λ1.λ2.[,255].(1,254),=255 取值區間=\left\{ \begin{aligned} λ_1.λ_2.[初端值,末端值-1].(1,254),& 末端值≠255 \\ λ_1.λ_2.[初端值,255].(1,254),& 末端值=255 \end{aligned} \right.
上圖中λ1和λ2分別是131和107,
A子網初端值0,末端值128-1=127
B子網初端值128,末端值是255
按照公式,則他們可以取的最大值和最小值分別是對應上述端值中取同時取最大或最小時的值。
網段A:131.107.0.1~131.107.127.254

網段B:131.107.128.1~131.107.255.254

A類網絡子網劃分

在這裏插入圖片描述
首先得出子網掩碼是255.192.0.0。其次確定子網長度是256x256x64-2
然後確定端點值。
在這裏插入圖片描述
當子網劃分數小於64時,滿足:
={λ.[,1].(0,255).(1,254),255λ.[,255].(0,255).(1,254),=255 取值區間=\left\{ \begin{aligned} λ.[初端值,末端值-1].(0,255).(1,254),& 末端值≠255 \\ λ.[初端值,255].(0,255).(1,254),& 末端值=255 \end{aligned} \right.
可能這麼寫不太清楚,那麼我舉個例子說明一下。
比如就上面這個A類地址的子網,假設我要求劃分後C子網的兩個端值,那麼首先明確C子網是四部分中的第三部分,那麼他對應數軸上的端點應該是二分之一和四分之三點,對應數值分別就是128和192.接下來按照式子分析
第一位λ是定值42,
第二位的最小值是初端值128,最大值是末端值192-1=191
第三位的最小值是0,最大值是255
第四位的最小值是1,最大值是254
那麼上述四部分所有部分全取最小值,就是整體的最小值,也就是可以取的第一個數,那麼他的IP就是42.128.0.1;對應的,全取最大值,就是這個子網裏可以取的最後一個數,是42.191.255.254。然後我們比對一下圖片的C子網劃分的答案。正確。

變長子網劃分

在這裏插入圖片描述
如圖,上圖中計算機總數小於254臺,一個C類網絡充分夠分。但是區別在於每個網段的設備數不同,這時再用等長子網劃分會出現資源浪費的情況,那麼就要使用變長子網劃分。方法還是類似的,可以直接理解成多次進行等長子網劃分並選取合適的區間來選擇使用。不等長子網,每個子網的子網掩碼也不同。

20臺電腦,那麼區間長度爲32的子網去掉端值也充分夠用;同理50對於64,100對於128都是充足且不過多浪費的。這種情況下,我們將100臺設備放入二等分的子網區間,50臺放入4等分,20臺放入8等分。從而讓他們能夠使用較合理的空間且不浪費資源。此時他們的子網掩碼是不同的,分別對應C類網址的N等分子網掩碼。
在這個例子裏他們的子網掩碼分別是
A:192.168.255.224
B:192.168.255.192
C:192.168.255.128
他們可以使用的區間也同C類等長子網劃分。
A:λ123,[1,30]
B:λ123,[33,94]
C:λ123,[97,222]
當然,子網劃分的並沒有固定的順序要求,上面的區間劃分是默認從數軸左頂點開始的,按圖中劃分那麼範圍應該分別是[33,62],[65,126],[129,254]

下面我們來看點到點網絡的子網掩碼,也就是圖中的路由器之間的子網,網段D和E。經過上述說明,會發現還有32個長度的子網地址沒有被劃分
在這裏插入圖片描述
因爲點對點鏈路中,就兩個地址,所以他們使用的區間非常小,劃分到如圖所示的程度。因爲對於每一個網段保留廣播和網段地址都是必須的,所以長度爲4的區間剛好滿足去除兩個端值後還有2個有效地址的要求。所以這已經是最小最合適的劃分方法。

C類子網掩碼的長度是他們的2822=26\frac{2^8}{2^2}=2^6倍。也就說子網掩碼要向後移動6位,1111 1100即252。所以他們的子網掩碼是255.255.255.252。

這樣經過上面的一系列劃分,我們可以看到這一個C類地址中仍然有24位未被分配,其他的都已被分配且滿足需求,這樣能夠在滿足需求的情況下留有一定富餘的子網劃分方式就是合理的子網劃分方式。


練習題※:對於下圖C類地址
在這裏插入圖片描述
下面四個設備分別應該對應左邊哪一個IP地址?

子網劃分注意事項

在這裏插入圖片描述
子網劃分成兩個,一定是對半分,不能一個分成四分之三一個分成四分之一。那麼假設200臺設備,想要按照130/70的比例分,那麼除非再安排一個C類網絡,否則是無法滿足這個要求進行子網劃分的,因爲子網劃分的最大C類長度就是126個。同理如果分三個子網,不能均分爲三等分,而是均分爲二等分然後再將其中一半分爲一半,即四分之一。如果需要五個子網,就需要把4個子網中的一個子網再對半分,以此類推。

劃分子網,IP不能重疊,顧名思義,同一個IP不能表示兩臺設備。哪怕子網A內設備很少,有充足的空間也不能再A子網內配置一個新的子網。

VLAN 和 子網劃分

這是個看似比較相近的概念,需要一定程度的推敲和理解。一個L2一個L3其實差別蠻大的。

VLAN是作用在數據鏈路層 而網段(ip)是作用在網絡層。 VLAN分離可以理解成把若干人分到不同的房間,基本可以理解成物理上隔離 ;而子網劃分可以理解成把若干人放在相同的房間 但是分了不同的組, 他們的聲音沒有隔離(廣播),也可以通過一些手段讓他們相互通信(靜態路由)。

VLAN在第二層給不同的端口打上了不同的標記,標記着這個端口出去的數據是屬於VLAN幾,因爲廣播包也是作用在網絡的第二層,只有帶着相同標記的廣播包纔會在網絡上傳播。換言之網絡層在數據鏈路層之上,那麼數據鏈路層封裝的數據幀是已經由網絡層處理過的數據,而這些數據與廣播是沒有任何關係的。

一個子網可以包含多個VLAN ,如一公司的某個部門劃分一個子網後給一部分人規劃一個VLAN,另外一部分人再規劃一個VLAN,不同VLAN間工作性質和安全需求不同,處理財務的敏感數據肯定是不能被搞開發的人員看到的。而一個VLAN也可以包含多個子網,開發部門的設備數資源過剩,則劃分子網來節省資源。

子網劃分的目的是減少地址浪費而VLAN解決的是廣播風暴等安全性問題。

超網

CIDR

在這裏插入圖片描述
子網掩碼的縮寫是Subnet Masking,可變長子網掩碼VLSM

CIDR的子網掩碼錶示方法就是用1的個數來表示子網掩碼。來舉個例子,
192.168.1.113 255.255.255.0就可以寫成192.168.1.113/24。這裏的/後面加的數字是二進制數1的個數,被稱爲CIDR的值。
如果子網掩碼是255.255.0.0則可以寫成192.168.1.113/16
如果子網掩碼是255.0.0.0則可以寫成192.168.1.113/8
如果子網掩碼是255.255.255.192則可以寫成192.168.1.113/26
255.255.255.252就是192.168.1.113/30
這就是CIDR表示方法。

判斷IP的網段

IP地址主機位歸0就是地址所在的網段。IP地址的網段判斷一遍沒有劃分的子網是非常直觀的,就是x.x.x.0就是網段,但是劃分後的就需要做一個簡單運算了。用IP地址和子網掩碼做與運算,然後得到的結果就是它的網段。這裏主要的問題是不要想當然去判斷,運算還是很簡單的。
在這裏插入圖片描述
在這裏插入圖片描述

超網合併

超網和子網相反,超網是把多個網段合併成一個網段。

超網的背景:
當200臺設備組建的局域網與另一個200臺設備組建的局域網用集線器或交換機相連時,他們在物理上是一個網段,因爲他們直接相連。但是他們在邏輯上卻是不同網段,因爲一個C類網絡最多可容納254臺計算機,而這兩個網絡是一個C類網絡容納不下的,只能用兩個C類網絡。
在這裏插入圖片描述
如圖,這兩個網絡如果想要相互訪問,則需要通過路由器上的兩個端口來轉發。但是他們明明在物理上直接相連,用路由轉發有些多此一舉。所以就用到了超網——直接通信。讓他們判斷彼此是一個網段,此時需要讓他們的子網掩碼向前移,從而令地址的網絡部分一致。
在這裏插入圖片描述
子網掩碼往前移動一位,以後這兩個網段之間的互相訪問就不會被判定爲處於不同網段,因爲他們的網路部分相同是相同網段。超網可以合併連續的兩個網段,但不是任何連續網段都可以合併。(比如192.168.1.0 和192.168.2.0就是連續的網段,但是不可用合併,因爲他們的二進制不連續)
合併之後,192.168.0.255/23就可以給計算機使用了,因爲他的主機部分不是全1的,是0 11111111。那麼不可用的分別是192.168.0.0和192.168.1.255。
在這裏插入圖片描述
我們可以通過向前移動兩位來合併4個網段。CIDR=22。那麼如何判斷網段之間能否合併呢?
首先,明確網段想要合併必須是連續的,那麼就會存在23或34的兩種情況,其中,如果想要合併,我們要求二進制數前移一位後,網絡部分全部一致,也就說網絡部分只有一位不同,那麼若要連續必須滿足先0後1。因爲23是10和11,而34是11和100,可以明顯看到哪一組是隻有一位二進制不同的。總結一下就是二進制數0在前,二進制數1在後的連續數可以合併如(用一個數除以2,可以整除說明最後一位是0,否則是1)
也就說112和113是滿足先0後1的,可以合併;31和32是先1後0,不能合併。(奇數在前,偶數在後不能合併;偶數在前,奇數在後可以合併)
在這裏插入圖片描述
那麼判斷4位合併呢?同理從主機部分開始兩位是從00開始的連續 4位的數,滿足這一條件的數是除以4可以整除的。只要第一個網絡號可以整除4,則其末尾一定是00,則以它爲首的四個連續數字一定可以合併。

同理,我們就可以推出N個連續數合併,我們要求的條件是:第一個首部連續輸可以被N整除。然後左移動log2Nlog_2N位就可以得到新的子網掩碼。

判斷超網和子網

子網掩碼往前移,是超網;子網掩碼後移是子網。

192.168.0.0/16  這是B類網絡嗎?(子網掩碼255.255.0.0)
不是。B類網絡不通過子網掩碼判斷,而是通過第一部分的地址來劃分的。

我們對地址的歸類爲:
A:1~126
B:128~191
C:192~223

所以,這是一個C類地址,然而它的子網掩碼的CIDR是16。
也就說明他是一個超網,前移了8位,合併了256個網段。
92.168.0.0/16  是A類地址,是一個子網。向後移了8位,劃分了256個子網。
130.168.0.0/16 是B類地址,不是子網也不是超網。

所以我們判斷一個網絡是超網還是子網,需要確認它的地址類型。確認後根據他默認的子網掩碼來判斷是前移還是後移了,是合併了還是劃分了,然後就能確認出是超網還是子網。

習題答案

變長子網掩碼
在這裏插入圖片描述
L F0/0:12臺設備,那麼應該放入一個子網範圍能夠容納12的合理空間,我們立刻想到16。然後25616=24\frac{256}{16}=2^4,也就說後移4位,CIDR應該是28。
S F0/0:40臺設備,32容納不下,64可以,同理後移兩位,子網掩碼CIDR是 26。
In F0/0:24臺設備,32足以,後移三位,CIDR27。

這三個都好說,因爲只有一個子網掩碼符合條件。但是對於這點到點的鏈路In S0/1而言,點到點鏈路我們說了需要4位,也就說子網掩碼是30。但是這裏選項有2個30,怎麼選擇呢?
爲什麼我們需要留4位而不是兩位二進制,因爲全0和全1對應網段和廣播地址是計算機不可用的地址,那麼我們在算一下這兩個選項的最後一部分,分別是168和169,用他們除以4,一個是00一個是01,而00又不能做地址,所以應該選擇169。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章