CIDR無類別編址
1992年引入了CIDR,它意味着在路由表層次的網絡“類”的概念已經被取消,代之以“網絡前綴”的概念。Internet中的CIDR(Classless Inter-Domain Routing, 無類別域間路由)的基本思想是取消地址的分類結構,取而代之的是允許以可變長分界的方式分配網絡數。它支持路由聚合,可限制Internet主幹路由器中必要路由信息的增長。
IP地址中A類已經分配完畢,B類也已經差不多了, 剩下的C類地址已經成爲大家瓜分的目標。顯然,對於一個國家、地區、組織來說分配到的地址最好是連續的, 那麼如何來保證這一點呢? 於是提出了CIDR的概念。CIDR是Classless Inter Domain Routing 的縮寫, 意爲無類別的域間路由。
“無類型”是指現在的選路決策是基於整個32位IP地址的掩碼*作。而不管其IP地址是A類、B類或是C類,都沒有什麼區別。
它的思想是: 把許多C類地址合起來作B類地址分配。採用這種分配多個IP地址的方式,使其能夠將路由表中的許多表項歸併(summarization)成更少的數目。
要使用這種歸併,必須滿足以下三種特性。
爲進行選路要對多個IP地址進行歸併時,這些IP地址必須具有相同的高位地址比特。
路由表和選路算法必須擴展成根據32位IP地址和32位掩碼做出選路決策的算法。
必須擴展選路協議使其除了32位地址外,還要有32位掩碼。OSPF和RIP-2都能夠攜帶第4版BGP所提出的32位掩碼。
根據RFC1466[Gerich 1993]建議,整個世界被分爲四個地區,每個地區分配一段連續的C類地址:
歐洲: 194.0.0.0 ~ 195.255.255.255
北美: 198.0.0.0 ~ 199.255.255.255
中南美: 200.0.0.0 ~ 201.255.255.255
亞太地區: 202.0.0.0 ~ 203.255.255.255
通過這種方式,每個地區擁有約3200萬的地址,另有約3200萬的地址204.0.0.0 ~ 223.255.255.255保留備用。
這種分配方式的優點是很明顯的:
1. 地址的分配是連續的
2. CIDR使路由表的設置更容易
因此,我們在做IP規劃的時候,刻意將子網作成2n模式,目的便是爲了儘量支持路由歸併,以減少路由表規模。此外,2n子網規劃模式也是爲了保證IP地址劃分的規範性。
通過以上幾種方法,一方面可以在一段時間內保障IP地址的耗盡,另一方面可以使路由表更加簡潔查找更加高效。
3、子網掩碼計算的小竅門
首先看個例子:
一個主機的IP地址是202.112.14.37,掩碼是255.255.255.240,計算這個主機所在網絡的網絡地址和廣播地址。
常規辦法是把這兩個都換算成二進制,然後相與,就可得到網絡地址。其實:掩碼爲255.255.255.240,可以知道這個掩碼所容納的 IP 地址有 256 - 240 = 16個(包括網絡地址和廣播地址),那麼具有這種掩碼的網絡地址一定是16的倍數。
而網絡地址是子網 IP地址的開始,廣播地址是結束,可使用的IP地址在這個範圍內,因此比37剛剛小的,又是16的倍數的數只有32,所以得出網絡地址爲 202.112.14.32。而廣播地址就是下一個網絡的網絡地址減一。而下一個16的倍數是48,因此可以得到廣播地址爲202.112.14.47。
那麼,如果給定一IP地址範圍,根據每個網絡的主機數量,要進行IP地址規劃,可以按照同樣原則進行計算。比如一個子網有13臺主機,那麼對於這個子網就需要22+1+1+1=25個IP地址。(注意加的第一個1是指這個網絡連接時所需的網關地址,接着的兩個1分別是指網絡地址和主機地址。)那麼大於或等於25,又是2^n的數目是32,因此子網部分掩碼只有256-32=224,最後得到掩碼255.255.255.224。
子網掩碼(Subnet Mask)和CIDR(Classless Inter-Domain Routing)是在IP地址中用於確定網絡和主機部分的參數。雖然這兩個概念有些不同,但它們在IP地址的分配和路由方面都扮演着重要的角色。
子網掩碼是一個32位二進制數,用於將一個IP地址劃分爲網絡部分和主機部分。它是由連續的1和0組成的,其中1表示網絡部分0表示主機部分。例如,一個常見的子網掩碼是255.255.255.0,它對應於32位二進制數11111111.111111111111111100000000。在這個子網掩碼中,前24位是網絡部分後8位是主機部分。
子網掩碼的作用是通過與目標IP地址按位與運算,判斷目標IP地址是否在同一個網絡中。如果與運算的結果等於網絡部分的地址,那麼目標IP地址與當前主機在同一個網絡中。這樣,網絡中的主機就可以通過路由表進行轉發將數據包發送到目標主機。
CIDR是一種用於表示IP地址範圍的方法,它將網絡地址和子網掩碼組合在一起表示爲x.x/y的形式。其中,x.x是網絡地址,y表示網絡地址的長度(即網絡部分和主機部分的分界線)。例如,192.16800/24表示網絡地址爲192.16800,子網掩碼爲255.2552550,意味着前24位爲網絡部分後8位爲主機部分。
CIDR的出現主要是爲了解決IPv4地址空間不足的問題。通過使用不同的子網掩碼長度,可以將一個IP地址空間劃分爲多個子網從而更有效地利用可用的IP地址資源。
CIDR還可以簡化路由表的規模,減少網絡設備的負擔和存儲需求。 在CIDR中,子網掩碼的長度對應於IP地址中網絡部分的位數。長度越長,可用的主機地址就越少但網絡的數量也越多。例如,/24表示有256個IP地址可用,/16表示有65536個IP地址可用。
子網掩碼和CIDR是在IP地址中用於確定網絡和主機部分的參數。子網掩碼通過與目標IP地址按位與運算,判斷目標IP地址是否在同一個網絡中。CIDR則是一種表示IP地址範圍的方法,通過指定子網掩碼的長度來實現網絡劃分和地址分配。它們的使用可以幫助網絡管理員有效地管理IP地址資源,提高網絡的可擴展性和性能。
什麼是 CIDR?
無類別域間路由 (CIDR) 是一種 IP 地址分配方法,可提高互聯網上的數據路由效率。每臺連接到互聯網的計算機、服務器和最終用戶設備都有一個與之關聯的唯一編號,稱爲 IP 地址。設備通過使用這些 IP 地址相互查找和通信。組織使用 CIDR 在其網絡中靈活高效地分配 IP 地址。
有哪些不同的 IP 地址格式?
IP 地址由兩部分組成:
網絡地址,這是一連串指向網絡唯一標識符的數字
主機地址,這是一連串數字,表示網絡上的主機或單個設備標識符
在 20 世紀 90 年代初之前,IP 地址都是使用有類尋址系統分配的。地址的總長度是固定的,分配給網絡和主機部分的位數也是固定的。
有類地址
一個 IPv4 地址由 32 位組成。用句點分隔的每串數字由 8 位組成,以 0 到 255 的數字形式表示。組織可以購買三類 IPv4 地址。
-
A 類:A 類 IPv4 地址有 8 個網絡前綴位。例如,以 44.0.0.1 爲例,其中 44 是網絡地址,0.0.1 是主機地址。
-
B 類:B 類 IPv4 地址有 16 個網絡前綴位。例如,以 128.16.0.2 爲例,其中 128.16 是網絡地址,0.2 是主機地址。
-
C 類:C 類 IPv4 地址有 24 個網絡前綴位。例如,以 192.168.1.100 爲例,其中 192.168.1 是網絡地址,100 是主機地址。
無類地址
無類或無類別域間路由 (CIDR) 地址使用可變長度子網掩碼 (VLSM) 來改變 IP 地址中網絡地址位和主機地址位之間的比率。子網掩碼是一組標識符,通過將主機地址變爲零,從 IP 地址返回網絡地址的值。
VLSM 序列允許網絡管理員將 IP 地址空間分解爲不同大小的子網。每個子網可以有靈活的主機數量和有限的 IP 地址數量。CIDR IP 地址在普通 IP 地址的基礎上附加了一個後綴值,說明網絡地址前綴位數。
例如,192.0.2.0/24 是一個 IPv4 CIDR 地址,其中前 24 位(即 192.0.2)是網絡地址。
CIDR 克服了有類 IP 尋址的哪些侷限性?
在無類別域間路由 (CIDR) 出現之前,IP 地址是有類的,並且效率低下。接下來我們來討論這類地址的一些缺點。
IP 尋址不靈活
在有類尋址系統中,每個類都支持固定數量的設備:
- A 類支持 16777214 臺主機
- B 類支持 65534 臺主機
- C 類支持 254 臺主機
在分配 IP 地址時,有類安排效率低下,並會導致 IP 地址空間的浪費。
例如,擁有 300 臺設備的組織無法使用 C 類 IP 地址,該類只允許連接 254 臺設備。因此,該組織不得不申請 B 類 IP 地址,該類提供 65534 個唯一的主機地址。但是,只需要連接 300 臺設備,這就會剩下 65234 個未使用的 IP 地址空間。
網絡設計的侷限性
有類 IP 限制了您根據需要合併網絡的能力。例如,以下 IP 地址屬於有類架構中的不同 C 類網絡:
- 192.168.1.0
- 192.168.0.0
作爲網絡管理員,您無法合併兩個網絡,因爲 C 類子網掩碼固定爲 255.255.255.0。
CIDR 有哪些優勢?
藉助無類別域間路由 (CIDR),您的組織可以更靈活地在設備之間分配 IP 地址和路由數據。
減少 IP 地址浪費
CIDR 讓您可以靈活地確定 IP 地址上的網絡和主機標識符分配。您可以使用 CIDR 爲特定網絡預置所需數量的 IP 地址並減少浪費。此外,CIDR 減少了路由表條目,並簡化了數據包路由。
快速傳輸數據
CIDR 允許路由器更有效地將 IP 地址組織成多個子網。子網是存在於網絡中的較小網絡。例如,連接到路由器的所有設備都在同一個子網上,並且具有相同的 IP 地址前綴。
您的組織可以使用 CIDR 創建和整合多個子網。這使數據無需經由不必要的路徑即可到達目標地址。
創建虛擬私有云
虛擬私有云 (VPC) 是託管在雲中的私有數字空間。它允許您的組織在隔離且安全的環境中配置工作負載。VPC 使用 CIDR IP 地址在連接的設備之間傳輸數據包。
靈活創建超網
超網是一組具有相似網絡前綴的子網。CIDR 允許靈活創建超網,這在傳統的掩碼架構中是不可能的。例如,您的組織可以使用如下表示法將 IP 地址合併爲單個網絡數據塊:
- 192.168.1 /23
- 192.168.0 /23
此表示法將 255.255.254.0 的子網掩碼應用於 IP 地址,該 IP 地址將返回前 23 位作爲網絡地址。路由器只需要一個路由表條目即可管理子網設備之間的數據包。
CIDR 的工作原理是什麼?
無類別域間路由 (CIDR) 允許網絡路由器根據指定的子網將數據包路由到相應的設備。路由器不是根據類別對 IP 地址進行分類,而是檢索 CIDR 後綴指定的網絡和主機地址。
瞭解 CIDR 數據塊和 CIDR 表示法對於瞭解 CIDR 的工作原理非常重要。
CIDR 塊
CIDR 數據塊是共享相同網絡前綴和位數的 IP 地址的集合。一個大數據塊由更多 IP 地址和一個小後綴組成。
互聯網號碼分配機構 (IANA) 向區域互聯網註冊管理機構 (RIR) 分配大型 CIDR 數據塊。然後,RIR 將較小的數據塊分配給本地互聯網註冊管理機構 (LIR),然後由本地互聯網註冊管理機構 (LIR) 將其分配給組織。同時,私人用戶向其互聯網服務提供商申請 CIDR 數據塊。
CIDR 表示法
CIDR 表示法代表 IP 地址和表示指定格式的網絡標識符位的後綴。例如,您可以將帶有 22 位網絡標識符的 192.168.1.0 表示爲 192.168.1.0/22。
IPv6 中如何使用 CIDR?
IPv6 是一種旨在取代 IPv4 的網絡尋址系統。IPv6 使用 128 位的唯一標識符,這使它能夠容納比 IPv4 多 1028 倍的 IP 地址。
IPv6 地址由 8 個以冒號分隔的十六進制值組成。IPv6 具有更大的地址空間,可容納如今越來越多連接到互聯網的設備。
在無類別域間路由 (CIDR) 下,IPv6 地址可以與任意位長度的前綴聚合,這一點與 IPv4 地址類似。例如,2001:0db8:/32 是一個 IPv6 CIDR 地址,以前 32 位或 2001:db8 作爲網絡地址。
參考資料