無等級的 IP 位址
但隨著個人電腦與網路技術的快速普及, 各種大小的網路如雨後春筍般冒出, 對於 IP 位址的需求也迅速增加。3 種等級的 IP 位址分配方式, 很快便產生了一些問題。
這其中最嚴重的便是 Class B 的 IP 位址面臨缺貨的危機;但是相對地,Class C 使用的數量則僅是緩慢成長。
為了解決這個問題, 便產生了 Classless Inter-Domain Routing(CIDR), 亦即無等級(Classless)的 IP 位址劃分方式。
CIDR 原理
其實, Class B 那麼快被耗盡, 有很多位址空間是浪費掉了。怎麼說呢?舉例而言, 假設 B 企業需要 1500 個 IP 位址, 由於 Class C 位址只能供 256 個 IP 位址, 因此必須分配 Class B 的網路位址給此 B 企業。不過, Class B 其實可提供 65536 個 IP 位址, 遠超過 B 企業的需求, 這些多出來的 IP 位址無法再分配給其他企業使用, 因此實際上都浪費掉了。
既然 Class B 嚴重不足, 而 Class C 還很充裕, 更重要的是 Class B 實際上有很多 IP 位址是浪費掉了, 那麼要解決這些問題, 自然地便會想到是否可以將數個 Class C 的 IP 位址『合併』起來, 分配給原先要求申請 Class B 的企業。
以前例而言, 我們只要分配 6 至 7 個 Class C 的 IP 位址給 B 企業, 便可符合其需求, 因而節省下 1 個 Class B 的位址空間。
那麼, 要如何才能合併數個 Class C 的 IP 位址呢?答案便是使用子網路遮罩來定義較具彈性的網路位址。讀者可能會覺得很訝異, 這不是與子網路切割的原理相同嗎?沒錯, CIDR 又稱為超網路(Supernet), 與子網路可算是一體的兩面, 兩者其實都是使用相同的觀念與技術, 只是在應用上略有不同, 其觀念差異如下:
子網路(Subnet)
利用子網路遮罩重新定義較長的網路位址, 以便將現有的網路加以切割成 2、4、8、16 等 2 冪方數的子網路。
超網路(Supernet)
利用子網路遮罩重新定義較短的網路位址, 以便將現有 2、4、8、16 等 2 冪方數的網路, 『合併』成為一個網路
回到 B 企業的例子, 由於 B 企業所須的 1500 個 IP 位址, 數量介於 Class B(可提供 65535 個 IP 位址)與 Class C (可提供 255 個 IP 位址)的範圍之間。藉由 CIDR 的方式, 我們可以分配一個長度為 21 Bits 的網路位址給 B 企業, 那麼B 企業可供運用的主機位址將會有 32 - 21 = 11 Bits, 總共可產生 211 = 2048 個 IP 位址, 與 B 企業所需的 1500 個 IP 位址相近。
與直接分配 Class B 相比, 節省下許多 IP 位址空間。
上述方式其實便是將 8 個 Class C 的 IP 位址合併, 再分配給 B 企業。由於合併是透過變更網路位址長度來進行, 因此會有以下的限制:
● 用來合併的 Class C 的網路位址必然是連續的。
● 用來合併的 Class C 的網路位址數目必然是 2 的冪方數。
因此, B 企業實際上分配到的可能是如下的 8 個連續 Class C 位址空間:
這 8 個連續的 Class C 位址可以利用下列方式來表示:
表示由 203.74.200.0 開始到 203.74.207.0 共 8 個 Class C 位址空間要合併。或是使用更簡潔的方式來表示:
雖然 CIDR 原先是為了合併 Class C 位址所設計, 但在實作上可適用於任何的 IP 位址範圍, 例如:ISP 可分配長度為 30 Bits 的網路位址給一些只有兩部電腦的個人公司。
由於 CIDR 讓 IP 位址在分配時更具彈性與效率, 因此, 目前皆是以 CIDR 的方式來劃分 IP 位址範圍
沒有留言:
張貼留言