無類別域間路由(CIDR)
/ SY-der or SID-er /
CIDR 是切分 IP 位址的現代方式,讓我們能發配出大小剛剛好的位址區塊、同時維持路由表的精簡。想像電話區碼:CIDR 不強迫每個城市硬塞進三種僵硬尺寸之一,而是讓你把邊界畫在任何地方,於是一個小鎮和一座大城各自拿到合身的區塊。原本的 IPv4 方案(有類別定址)只有三種固定的網路尺寸——A 類(/8)、B 類(/16)、C 類(/24)——這浪費了大量位址:一個需要 300 台主機的組織,卻得整塊拿走有 65,534 個位址的 B 類。
CIDR 以一個用斜線記法寫出的彈性前綴長度,取代了固定的類別:一個位址區塊寫成「位址+斜線+數字」,例如 203.0.113.0/24,那個數字說明前面多少個位元是固定的網路部分。所以 /24 表示前 24 位元是網路、其餘 8 位元(256 個位址)給主機;/20 表示前 20 位元是網路,留下 12 位元(4096 個位址)。任何前綴長度都允許,所以區塊可以是任意粒度的 2 的次方大小。
CIDR 也促成了路由聚合(supernetting):一個擁有 200.0.0.0/16 的供應商,可以向網際網路其餘部分宣告這一個前綴,而不必宣告 256 條獨立的 /24 路由,這正是全球路由表沒有爆炸的主因。它的另一面——最長前綴匹配——則是當多個前綴重疊時,路由器如何挑出最明確的那個。CIDR 正是你幾乎再也不會聽到位址類別的原因——它們從 1990 年代起就已淘汰。
需要容納約 1000 台主機?一個 /22 提供 2^(32-22) = 2^10 = 1024 個位址——遠比舊的 B 類(/16,65,536 個)不浪費。前綴 198.51.100.0/22 涵蓋 198.51.100.0 到 198.51.103.255。
斜線後的數字是固定網路位元的數量;數字越小,區塊越大。
斜線數字越小=區塊越大(/8 很大,/30 很小)。主機數是 2^(32 − 前綴),但其中兩個(全零的網路位址與全一的廣播位址)在一般子網路上通常不能指派給主機。