摘要:IP地址是怎么划分的呢?划分的依據是什么呢?本節小課將帶你一起學習IP地址划分、子網划分、子網掩碼、CIDR等網絡基礎概念,了解IP地址划分背后的那些故事。
首先,回憶一下,前面小課中我們有提到IP地址的分類,那么IP地址到底是怎么划分的呢?划分的依據是什么呢?這就不得不提到IP地址划分背后的那些故事了。
IP地址划分
最初32位的IP地址是由{<網絡地址/網絡號><主機地址/主機號>}組成,被划分為五大類,一般使用最多比較常見是A類、B類和C類。
IP地址編碼規范中規定:網絡地址和主機地址全0為本地地址,表示本地網絡或主機;網絡地址和主機地址為全1為廣播地址,表示所有網站都可接收發出的信息,通常這兩種IP地址不能作為互聯網中的主機IP地址。因此,每類IP地址中除去這兩個,可計算出ABC三類IP地址的網絡地址數以及每個網絡地址中所能容納的主機數量:
- A類IP地址:126(2^7-2)個網絡地址,可容納主機 16777214(2^24-2)台
- B類IP地址:16382(2^14-2)個網絡地址,可容納主機 65534(2^16-2)台
- C類IP地址:2097150(2^21-2)個網絡地址,可容納主機 254(2^8-2)台
上述的IP地址表示方式稱為兩級IP地址。不難發現,在實際應用中,分配一個B類網絡地址太多,C類又太少,這樣對IP地址空間的利用率會偏低,也不夠靈活。於是,就出現了子網划分的概念。
子網划分
子網划分就是將原來的兩級IP地址進一步划分為三級IP地址,即:{<網絡地址/網絡號>,<子網地址/子網號>,<主機地址/主機號>}。參考如下圖,將C類的兩級IP地址划分為三級IP地址。
其中子網地址就是從主機地址中借走幾位,所以子網划分實際上就是減少了主機數,分配到不同的子網,每個子網包含一定的主機數。子網就可以理解為,把一個大的網絡從內部分成幾個小的子網。但對於該網絡的外層來看,還是一個大的網絡,只有該網絡內部才可以看到其進行了子網划分。
比如說:某個高校被分配了一個大的網段,學校可以采用三級IP地址划分方式分給對應的學院使用。對於互聯網來說,學校的網絡地址依舊是那個網絡地址,只有高校知道自己內部還進行了子網划分。
但是有個問題,互聯網中的網絡設備向學校內的主機發送數據時,在IP數據包到達學校網絡時,路由器是如何機智的識別到這個數據應該發送給哪個子網呢?子網掩碼在這里就發揮了很大的作用。
子網掩碼
子網掩碼將某個IP地址划分成網絡地址和主機地址兩部分,可以用來判斷任意兩台主機的IP地址是否屬於同一子網絡。具體來說就是兩台計算機各自的IP地址與子網掩碼進行“與”運算后,如果得出的結果是相同的,則說明這兩台計算機是處於同一個子網絡上的,可以進行直接的通信。
例如:192.168.1.1>11000000.10101000.00000001 00000001
子網掩碼255.255.255.240 >11111111.11111111.11111111.11110000
相“與”得到:11000000 10101000 00000001 00000000
網絡地址為:192.168.1.0
主機地址為:0.0.0.1
在實際應用中,我們會遇到這樣的IP地址:
- IP地址:192.168.1.1 子網掩碼:255.255.255.0
- IP地址:192.168.1.2 子網掩碼:255.255.255.0
可以直接判斷出,他們網絡地址都為192.168.1.0,屬於同一子網網段。
那么如果是下面這樣的呢?
- IP地址:192.168.1.1 子網掩碼:255.255.255.0
- IP地址:192.168.1.2 子網掩碼:255.255.0.0
根據“與”運算,你發現,雖然長得比較像,但他們可不是“一家人”哦
第一個網絡地址為192.168.1.0,而第二個網絡地址為192.168.0.0,不在同一子網網段。
CIDR
子網的划分有效地減少了網絡中浪費的IP地址,但是仍然存在一些問題。
比如某公司需要2000個地址,分配一個B類IP地址,那可就太浪費了,分配一個C類IP地址,又不夠用。那這個問題要怎么解決呢?
這就產生了無分類域間路由選擇(Classless Inter-Domain Routing,CIDR),也就是無分類編址。它消除了傳統ABC類及子網划分的概念。使網段的划分更加靈活。采用CIDR記法(斜線記法)表示IP地址:{<網絡前綴><主機地址/主機號>}/網絡前綴占位數。
在上述公司案例中,需要8個C類地址,這8個C類地址可以構成一個地址塊,分配這個CIDR地址塊給該公司。只需要11位表示主機地址,21位表示網絡前綴。則子網掩碼表示為11111111.11111111.11111000.00000000
比如分配192.168開頭的,8個C類的地址塊:
11000000.10101000.11111xxx.xxxxxxxx
網絡地址的后三位為變量,那么加上后八位主機地址,可以容納(2^8)*(2^3)=2048個主機地址。
該網絡前綴為11000000.10101000.11111(192.168.248),比如某主機號192.168.248.15,采用CIDR記法則為192.168.248.15/21。
課堂練習
講了IP划分的由來及背后涉及的這些基礎概念知識,不妨建立一個虛擬私有雲試試吧~
虛擬私有雲VPC,為雲服務器、雲容器、雲數據庫等資源構建隔離的、用戶自主配置和管理的虛擬網絡環境,提升用戶雲上資源的安全性,簡化用戶的網絡部署。
您可以在VPC中定義IP地址段,每個虛擬私有雲VPC都包含一個私網網段和至少一個子網。當您選定網段后,頁面自動顯示子網網段可用IP數,便於您的網絡規划哦~
私網網段:在創建虛擬私有雲VPC時,需要指定虛擬私有雲VPC使用的私網網段。當前虛擬私有雲VPC支持的網段有10.0.0.0/8~24、172.16.0.0/12~24和192.168.0.0/16~24。
子網:雲資源(例如雲服務器、雲數據庫等)必須部署在子網內。所以,虛擬私有雲VPC創建完成后,您需要為虛擬私有雲VPC划分一個或多個子網,子網網段必須在私網網段內。
了解更多虛擬私有雲信息,戳這里。
本文分享自華為雲社區《IP地址划分的背后.....》,原文作者:雲小萌 。