一、子網掩碼
子網掩碼是一種用來指明一個 IP 地址的哪些標識是主機所在的子網,以及哪些位標識的是主機的位掩碼。
子網掩碼只有一個作用,就是將某個 IP 地址劃分成網絡地址和主機地址兩部分。
子網掩碼書寫規則:與二進制 IP 地址相同,子網掩碼由1和0組成,且1和0分別連續。子網掩碼的長度也是32位,左邊是網絡位,用二進制數字“1”表示,1的數目等于網絡位的長度;右邊是主機位,用二進制數字“0”表示,0的數目等于主機位的長度。
C 類網絡(192.0.0.0~233.255.255.255)的組成結構是24+8,即前24位表示網絡地址,后8位表示主機地址,此時的主機數是:2^8-2=254(因為主機號全為1時表示該網絡廣播地址,全為0時表示該網絡的網絡號,這是兩個特殊地址)。
C 類網絡默認掩碼是24位:255.255.255.0(/24),寫成二進制就是(111111111.11111111.111111111.00000000)。
示例一
比如說我們公司的辦公電腦,其 IP 都是192.168.12.xxx。這些 IP 全都是在一個網段內,沒有劃分子網,那么我們這些 IP 的掩碼就是24位。
現在有一個需求:我們公司有6個部門,要求這些部門分別屬于一個子網。
那么我們需要有6(23﹥6)個子網,這時候需要從主機地址的的高位借3位作為子網地址,這樣可以得到8個子網絡(多出的2個可以留作備用),子網 ID 是:000、001、010、011、100、101、110、111;此時我們的子網掩碼就變成了255.255.255.224,寫成二進制就是(11111111.1111111111.11111111.11100000)。此時每個子網就只有主機數2^5-2=30個。
計算
題:將 B 類網絡130.1.0.0/16劃分為32個子網,劃分后的每個子網包含的可用主機數地址為多少?寫出第1個子網(從小到大的順序)的子網掩碼和可用主機地址范圍。
注意:B類網絡的 IP 地址是16+16的結構,即前16位表示網絡地址,后16位表示主機地址。
分析:
1、要劃分出32個子網,需要從主機位借5位作為新的子網位。每個子網的主機位是16-5=11位。每個子網支持的可用主機地址數是:2^11-2=2046。
2、子網劃分如下:
130.1.00000 000.0劃分的32個子網如下:
130.1.00000 000.0
130.1.00001 000.0
130.1.00010 000.0
130.1.***** 000.0
130.1.11111 000.0
主機號全為0的地址就是網絡地址。這里后面11位是主機號,全部置為0,前面21位的組合就是網絡地址。
每個子網的網絡號為16+5=21,子網掩碼為:
- 11111111 11111111 11111000 00000000 ---二進制寫法
- 255.255.248.0 --- 點分十進制寫法
- /21 --- 前綴法
從小到大順序,第1個子網為:
130.1.00000 000.0/21
這個子網最小可用 IP 地址為:130.1.00000 000.00000001
即:130.1.0.1
全 0 IP 不可用。
這個子網最大可用 IP 地址為:130.1.00000 111.11111110
即:130.1.7.254
全 1 IP 不可用。
二、可變長子網掩碼
上面示例一劃分子網的方式,會有一個問題,就是每一個子網所支持的主機數都是一樣的,即每一個子網都支持有30個。但是如果我們的部門有一個部門需要40臺主機,一個部門只需要10臺主機。該如何解決這個問題呢?此時就需要可變長子網掩碼。
下面舉一個示例說明這個問題:
示例二
某單位 IP 地址需求數如下表所示,給定地址192.168.1.0/24,按照可變長子網掩碼的設計思想,部門3的子網掩碼為()。
A、255.255.255.128
B、255.255.255.192
C、255.255.255.224
D、255.255.255.240
二級單位名稱 | IP 地址需求數 |
---|---|
部門1 | 100 |
部門2 | 50 |
部門3 | 30 |
部門4 | 10 |
部門5 | 10 |
分析:
題中一共有5個部門,如果是常規的劃分子網的方法,需要向主機位借3位,這樣可以劃分的子網數為23個。
主機位還剩5位,此時每一個子網支持的 IP 數為2^5-2=30。顯然是不符合部門1和部門2的需求的。所以我們需要使用可變長子網掩碼的方法劃分子網。
部門1:
只需要從主機位借1位,此時主機位還剩7位,滿足的 IP 數是2^7-2=124。這樣就滿足了部門1。
部門2:
需要50個 IP 地址,那么主機數至少是6位(2^6-2=62>50),所以需要從主機位借2位做網絡位。
部門3:
需要30個 IP 地址,那么主機數至少是5位(2^5-2=30),所以需要從主機位借3位作為網絡位。
部門4和部門5:
需要 從主機位借4位。
從以上分析可以看出,部門3需要借3位,此時網絡位就是24+3=27位,即掩碼位就是27位。寫成點分十進制就是255.255.255.224。
?
?
三、無類域間路由(CIDR)技術
CIDR 技術的應用:
- 構建超網
- 路由聚合
構建超網
示例三
題:已知某高校申請了4個連續的 C 類網絡,分別是200.24.16.0~200.24.19.0,若希望學校的整個網絡在路由表中聚合成一條,可以將此聚合成多少?
分析:
假設4個 iP 地址的分配如下,我們先將這些 IP 地址寫成對應的二進制形式:
計算系:200.24.16.0 11001000 00011000 00010000 00000000
自動系:200.24.17.0 11001000 00011000 00010001 00000000
電子系:200.24.18.0 11001000 00011000 00010010 00000000
物理系:200.24.19.0 11001000 00011000 00010011 00000000
這4個 IP 地址前22位都是相同的,可以將其看成22位的網絡地址相同。
聚合后的地址為:200.24.16.0/22
舉一個網工的真題進一步解釋:
題1:CIDR 技術解決了路由縮放問題,例如2048個 C 類網絡組成一個地址塊,網絡號從192.24.0.0~192.31.255.0這樣的超網號應為-----,其地址掩碼應為-----。
分析:
我們想要將多個 IP 地址聚合成一個超網,我們就需要知道這些 IP 地址相同位數是多少位,將相同位數寫成點分十進制,后面的全部置為0(即主機號為0),即為超網號。同時掩碼地址也就出來了。
網絡號不管有多少個,只要知道最小和最大的,他們相同的部分也就是所有網絡號相同的部分。
題目中說2048個網絡號,我們寫出最小和最大的網絡號的二進制形式:
點分十進制 | 二進制 |
---|---|
192.24.0.0 | 192.00011 000.0.0 |
192.31.255.0 | 192.00011 111.0.0 |
因為第一的字節(8位)的192是一定相同的,所以這里沒有寫成00000000.
從二進制能夠看出來這些 IP 相同的位有13位。后面還有21位全部置為0,就是超網號。
所以超網號是:192.24.0.0
掩碼地址是:255.248.0.0
聚合成一個 IP 可以寫成:192.24.0.0/13
示例四
題2:某公司網絡的地址是192.168.192.0/20,要把該網絡分成32個子網。則對應的子網掩碼應該是(),每個子網可分配的主機數是()。
分析:
IP 地址分為 ABCDE 五類,但是沒有一類的網絡號是20位,但是題目中的網絡號位數(即掩碼)是20位,顯然這是一個分類以后的無類 IP(不屬于五類中的某一類)。
步驟:
1、IP 地址一共32位,這里網絡號是20位,那么主機號就是12位;
2、現在需要將該網絡分成32個子網,那么就需要從主機位借5位,此時主機位就只有7位,所以每個子網可分配的主機數就是2^7-2=126。
3、此時網絡號就是20+5=25位,即掩碼就是25位,寫成二進制就是:
11111111 11111111 11111111 1 0000000
改寫成點分十進制就是:255.255.255.128。