6 子網掩碼
6.1 為什么要有子網掩碼
隨著互聯網的飛速發展,我們消耗 IP 的速度越來越快,IP 地址漸漸的又不夠用了,因此,在 1993 年,引入了一種新的方法,稱為無類別域間路由(Classless Inter-Domain Routing)簡稱 CIDR,
無類域間路由(Classless Inter-Domain Routing,CIDR)可以將路由集中起來,在路由表中更靈活地定義地址,
它不區分 A 類、B 類、C 類地址,而是使用 CIDR 前綴的值指定地址中作為網路 ID 的位數,
6.2 子網掩碼的兩種表示方式
wiki解釋
“子網掩碼”(subnet mask),它是一種用來指明一個IP地址的哪些位標識的是主機所在的網路地址以及哪些位標識的是主機地址的位掩碼,
6.2.1 與IPV4相同的表示方法1
通常情況下,子網掩碼的表示方法和地址本身的表示方法是一樣的,在IPv4中,就是點分十進制四組表示法,如圖,255.255.0.0 就是 172.16.3.4 的子網掩碼,

所以ABC三類的子網掩碼為:

6.2.2 無類別域間路由表示方法2
另一種更為簡短的形式叫做無類別域間路由(CIDR)表示法,它給出的是一個地址加上一個斜杠以及網路掩碼的二進制表示法中“1”的位數(即網路號中和網路掩碼相關的是哪些位),例如,172.16.3.4/16表示的是一個前16位被用作網路號的IP地址(和255.255.0.0的意思一樣),
使用CIDR表示,忘記掉該網路是第幾類

子網掩碼的好處就是:不管網路有沒有劃分子網,只要把子網掩碼和IP地址進行逐位的“與”運算(AND)即得出網路地址來,這樣在路由器處理到來的分組時就可以采用同樣的方法,
6.2 子網劃分
把基于每類的IP網路進一步分成更小的網路,每個子網由路由器界定并分配一個新的子網網路地址,子網地址是借用基于每類的網路地址的主機部分創建的,劃分子網后,通過使用掩碼,把子網隱藏起來,使得從外部看網路沒有變化,這就是子網掩碼,
子網劃分例子
上節知識我們計算了網路號的個數和主機數,下圖大家計算一下,該網路屬是幾類網路,有多少主機,

網路類:
172 = 1010 1100?
10開頭說明為B類
結點個數:
0.0 - 255.255個
2的16次方個
65536個
大家思考一下,一個局域網網路中有65536個,是不是太多了,一個辦公室根本不需要這么多,所以我們進行子網劃分

經過劃分之后,我們有了256個子網,每個子網有256個結點,合理多了!
6.3 CIDR 記錄法

問:
為什么網段 A 中的設備無法通過路由器與網段 B 進行通信?
答:
問題的重點在中間路由器所在的網段,通過 172.16.2.0/30 得知,前30位都是掩碼,因此只留下 2 位允許劃分空間,根據 2 的 2 次方=4 可以確定該網段之劃分了 4 個 IP 地址 172.16.2.0~172.16.2.3,右側的路由器 IP 為 172.16.2.20,很明顯不在正確范圍內,
問題
如果,我們擁有一個 B 類地址,172.16.0.0,子網掩碼為 255.255.0.0,我們使用子網劃分將子網掩碼設定為 255.255.240.0,請問:
問:我們此時擁有多少個子網空間?
答:16 個,172.16.0.0 打開了八位位組的前 16 位,而【255.255.240.0】打開了八位位組的前 20 位,20-16=4 位,這是子網的另外 4 位,因此 2 的 4 次方=16,因此,我們此時擁有16個子網空間,分別為:
172.16.0.0
172.16.16.0
172.16.32.0
172.16.48.0
172.16.64.0
172.16.80.0
172.16.96.0
172.16.112.0
172.16.128.0
172.16.144.0
172.16.160.0
172.16.176.0
172.16.192.0
172.16.208.0
172.16.224.0
172.16.240.0
問:每個子網空間可以劃分多少 IP 地址?【例如:176.16.0.1 ~176.16.15.255】
答:每個子網有 16 * 256 = 4096 個 IP 地址,
參考
Network Direction
子網-wiki
小白也能看懂的網路基礎 04 | IP地址是如何作業的
相關文章
【計算機網路】基礎概念總結1-網路概念
【計算機網路】基礎概念總結2-初識以太網協議
【計算機網路】基礎概念總結3-網路尋址
【計算機網路】基礎概念總結4-OSI模型
【計算機網路】基礎概念總結5-IP地址作業方式
【計算機網路】基礎概念總結6-子網掩碼
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/280349.html
標籤:其他
上一篇:HR小姐姐都能學會的2021最新最全云計算運維學習專欄
下一篇:C語言之函式進擊
