無類別域間路由
| 無類別域間路由 | |
|---|---|
| 中文名 | 無類別域間路由 |
| 英文名 | Classless Inter-Domain Routing |
| 簡稱 | CIDR |
| 提出時間 | 1993年 |
| 標準化機構 | IETF |
| 核心標準 | RFC 1518、RFC 1519、RFC 4632 |
| 核心技術 | 可變長子網掩碼(VLSM)、路由聚合 |
| 主要功能 | 改進IPv4地址分配、抑制路由表增長、支持無類路由 |
無類別域間路由(Classless Inter-Domain Routing,CIDR) 是IETF於1993年提出的一項IPv4地址分配與路由優化技術方案,其設計目的在於提升IPv4地址空間的利用效率,並抑制因分類網絡體系導致的全局路由表快速增長[1][2]。CIDR的核心是通過可變長子網掩碼實現任意長度的網絡前綴分配,並用斜線記法(如192.0.2.0/24)表示前綴長度,取代了傳統分類網絡中A、B、C類的固定掩碼體系。CIDR同時支持將多個連續的地址塊聚合成一個超網(supernet)條目對外通告,從而顯著減少核心路由器的路由表規模。該技術是現代互聯網路由體系的基礎性技術之一,IPv6協議也延續並採納了CIDR的地址表示和管理機制。
歷史背景
在CIDR被提出之前,IPv4地址採用分類網絡(Classful Network)體系。IPv4地址的32位按8位一組劃分為四個字節,其中網絡前綴的長度固定為8位(A類)、16位(B類)或24位(C類),分別對應16777216、65536和256個主機地址容量[3]。至20世紀90年代初,分類網絡的局限性日益凸顯:A類和B類網絡對於絕大多數組織而言地址容量過大,大量地址被分配後閒置而無法回收;C類網絡雖然容量較小(僅254個可用主機地址),但其地址塊數量龐大,且在地域分布上高度分散,難以進行有效的路由聚合。這一雙重困境導致兩方面問題:一是IPv4地址空間面臨快速耗盡的危機,二是互聯網核心路由器的路由表條目呈爆炸式增長,對路由設備的處理能力和網絡可擴展性構成嚴重威脅[1][4]。
分類網絡中的B類地址數量有限,僅有16384個。隨着接入互聯網的組織數量持續增長,B類地址消耗速度遠超預期[5]。為應對上述問題,IETF在1993年9月發布了一系列標準文檔,正式引入CIDR。其中RFC 1517闡述了CIDR的適用性聲明,RFC 1518提出了基於CIDR的IP地址分配架構,RFC 1519詳細規定了地址分配與聚合策略的具體實施方案[1][6][7]。2006年,RFC 4632替代並更新了RFC 1519,在對CIDR概念進行進一步澄清的基礎上,總結了該技術實際部署十餘年的實踐經驗[4]。
核心技術
可變長子網掩碼
CIDR的基礎是可變長子網掩碼技術。VLSM允許網絡工程師根據子網的實際主機數量需求,靈活設定子網掩碼的長度,而非被固定為A、B、C類掩碼中的三者之一[8]。在CIDR框架中,IP地址被劃分為網絡前綴和主機號兩部分,網絡前綴的長度用「/」後跟0至32之間的整數表示[9]。例如,192.168.1.0/24表示前24位為網絡前綴,後8位為主機號,該地址塊包含256個IP地址。前綴長度越短,地址塊包含的IP地址數量越多;前綴長度越長,地址塊劃分越精細,地址利用率越高。
VLSM與分類網絡中的子網劃分在方向上是相反的:子網劃分是將一個固定的分類網絡進一步細分為更小的子網;而CIDR則是允許網絡前綴以任意長度而非預先規定的三種長度之一存在[10]。
路由聚合
路由聚合是CIDR的另一項核心技術。其基本原理是:如果多個較小的地址塊在二進制表示下前綴相同,則可以將它們合併為一個較大的CIDR地址塊,並在路由表中以一條聚合條目代表原來分散的多條路由記錄[5]。這一操作也被稱為超網。[5]。路由聚合不僅減少了路由器本地路由表的條目數量,更重要的是,通過向外通告聚合後的地址塊而不是逐一宣告各子網的方式,顯著降低了全局路由表的規模及其增長速度[2]。
路由聚合的有效性依賴於合理的地址分配規劃。當同一機構或同一地理區域的地址塊在地址空間上連續時,聚合效果最佳;當地址分配策略缺乏層次性時,聚合的效率則會大打折扣。
CIDR表示法
CIDR表示法也稱斜線記法,其標準格式為「IPv4地址/前綴長度」[9]。其中,IPv4地址部分可以是該地址塊內的任一合法IP地址;前綴長度是從0到32之間的十進制整數,表示網絡前綴所占的二進制位數。前綴長度決定子網掩碼:將前N位置1、後32-N位置0即得到對應的子網掩碼。
以下為CIDR表示法示例:
- 192.168.0.0/16:前16位為網絡前綴,對應子網掩碼255.255.0.0,包含65536個IPv4地址。
- 10.0.0.0/8:前8位為網絡前綴,對應子網掩碼255.0.0.0,包含16777216個IPv4地址。
- 203.0.113.0/27:前27位為網絡前綴,對應子網掩碼255.255.255.224,包含32個IPv4地址,其中30個可用主機地址。
- 0.0.0.0/0:前綴長度為0,匹配所有IPv4地址,通常作為默認路由使用。
地址分配與管理
CIDR將IPv4地址分配從以網絡類別為依據的模式轉變為以實際需求為依據的模式。在CIDR框架下,IANA將大塊的CIDR地址塊分配給各區域互聯網註冊管理機構(RIRs),RIRs再根據下級機構(如國家級註冊機構和ISP)的實際需求,將地址塊切分為更小的CIDR塊進行逐級分配[4]。
這一層級化分配體系與路由聚合的要求相呼應:ISP從RIR獲得一個較大的CIDR地址塊後,可將其子塊分配給下屬客戶。所有客戶的路由信息在ISP邊界進行聚合,以單一聚合路由對外通告,從而使上游路由器無需維護大量細粒度路由條目[1]。
協議支持
CIDR需要在路由協議層面獲得相應支持才能正常工作。支持CIDR的路由協議被統稱為「無類路由協議」[11],它們在路由更新中攜帶子網掩碼信息,從而具備識別任意長度網絡前綴的能力。常見的無類路由協議包括:
- 內部網關協議:RIPv2、OSPF、IS-IS(集成版本)、EIGRP
- 外部網關協議:BGP-4
不攜帶掩碼信息的舊版路由協議——如RIPv1、BGP-3、EGP和IGRP——不具備CIDR支持能力[12]。
局限性與後續發展
CIDR雖然有效緩解了IPv4地址消耗速度並抑制了路由表的增長,但其設計的根本前提仍然是32位IPv4地址空間的有限性。地址空間的總量並未因CIDR的引入而增加,CIDR並不能從根本上阻止IPv4地址的最終耗盡[13]。為應對CIDR無法解決的地址短缺問題,網絡地址轉換技術在後續幾年中被廣泛部署,作為另一項延長IPv4存續期的過渡方案[13]。從長期來看,從IPv4向IPv6的徹底遷移才是解決地址匱乏問題的最終手段。IPv6協議在設計上全面採納了CIDR的地址表示與路由聚合機制,IPv6地址的書寫標準格式即為「IPv6地址/前綴長度」的CIDR記法。
參考文獻
- ↑ 1.0 1.1 1.2 1.3 Fuller, V., Li, T., Yu, J., Varadhan, K., "Classless Inter-Domain Routing (CIDR): an Address Assignment and Aggregation Strategy", RFC 1519, September 1993.
- ↑ 2.0 2.1 CIDR FAQ, RIPE NCC, November 1995.
- ↑ 無類別域間路由,科普中國,2021.
- ↑ 4.0 4.1 4.2 Fuller, V., Li, T., "Classless Inter-domain Routing (CIDR): The Internet Address Assignment and Aggregation Plan", RFC 4632, BCP 122, August 2006.
- ↑ 5.0 5.1 5.2 超網,百度百科.
- ↑ Internet Engineering Steering Group, Hinden, R., "Applicability Statement for the Implementation of Classless Inter-Domain Routing (CIDR)", RFC 1517, September 1993.
- ↑ Rekhter, Y., Li, T., "An Architecture for IP Address Allocation with CIDR", RFC 1518, September 1993.
- ↑ CIDR與NAT的分身術逆襲,至頂網,2014.
- ↑ 9.0 9.1 無類別域間路由,百度百科.
- ↑ 無類域間路由CIDR,至頂網,2010.
- ↑ 無類路由,百度百科.
- ↑ Rekhter, Y., "CIDR and Classful Routing", RFC 1817, August 1995.
- ↑ 13.0 13.1 CIDR與NAT的分身術逆襲,至頂網,2014.