為了避免造成IP位址的大量浪費,於是出現了無類別區隔路由(CIDR)技術,本文將介紹CIDR類型的IP位址分配方式及相關的路由技術,並說明CIDR的多變長度子網路遮罩與路由匯總兩項重要技術。
網際網路通訊協定(IP)位址的分配是根據IP位址的32個位元,分成Class A、Class B以及Class C等網路區域,依據32個位元以每8個位元一組來區隔做不同的類別(Class),而每一個類別依據這樣的區隔有不一樣的IP容納數量。也因此,可以根據需求來決定要使用哪一種類別。但是這樣的方式過沒多久,就發現到類別之間的差距過大,而造成IP位址的大量浪費。
後來產生了所謂無類別區隔的路由方式,英文稱之為Classless Inter-Domain Routing,簡稱CIDR,這篇文章就是要介紹這種類型的IP位址分配方式以及相關的路由技術。
整篇文章有幾個大重點,也就是CIDR的重要技術,包括多變長度子網路遮罩與路由匯總技術。
IP位址的相關知識
在介紹CIDR相關技術之前,一定要先對IP位址有基本的了解,所以先介紹與IP相關的子網路、網路遮罩、網路位址以及主機位址等知識。
接著,再說明CIDR中一個很重要的知識:多變長度子網路遮罩。
IP位址和類別
大家都知道一個IP位址長得像是下面
這樣:
這是由32個位元、每8個位元用一個十?進位的數字來表示,所以一共有4個數字。一般來說,會依據位元組(8個位元)的個數來區隔成不同類型(Class)的網
路,不同類型的網路可以容納不同數量的IP位址
數目。
例如,若使用8個位元來變化,以便於容納IP位址的話,就可以容納28個IP位址,也就是256個。若使用兩個位元組(就是16個位元)來做變化,就可以容納216個,也就是65,536個IP位址。以這樣的基礎的定址與路由,都稱之為Classful,也就是以類別為基礎的方式。
不過,這種方式並不是這裡要講的主題,所以不會多加介紹。這篇文章要說的,是要打破這種以類別為基礎的定址與路由,所以稱之為Classless。
為什麼先講這些?因為想讓大家先知道CIDR要著重的範圍是什麼,這樣一來,再來看這篇文章的時候才知道在講些什麼。不過,在詳細介紹CIDR之前,必須要確實地了解何謂網路遮罩、子網路等等知識。
網路遮罩和IP位址表示方式
再次使用剛才的範例,IP位址就如同以下這般:
這是由32個位元、每8個位元用一個十?進位的數字來表示,所以一共有4個數字。如果再加上網路遮罩的資訊,一般的寫法就如下面所示:
很多人應該會常常看到上面這樣的表示法,如果到現在為止,經常看過上面這樣的表示法卻還不了解的話,就要好好研讀一下。
以上的表示法代表網路位址是172.16.0.0,而後面的16則表示「網路遮罩的二進位表示法中,最後16個數字為0」,因此上面的表示法是用來敘述這樣一個子網路環境。倘若將網路遮罩用二進位來表示,就相當於以下的表示方式:
最後16個都是0,若把這樣的網路遮罩轉換成十?進位,也就是說,網路遮罩將為255.255.0.0。
網路位址、主機位址與廣播位址
還有另一個要注意的基本知識是網路位址(Network Address)與主機位址(Host Address),就以剛剛的子網路為例:
假設有一個IP位址172.16.32.4是位於這個子網路內,則網路位址為172.16.0.0,而主機位址即為172.16.32.4,而廣播位址就是把後面主機位址的部分,在二進位的表示法中都為1,如果把172.16.0.0轉成二進位表示,則如下列所示:
因為知道遮罩數目為16,所以從後面數過來16個數字都是屬於主機位址可以分配的部分,因此這個網路的廣播位址就只要把這些主機位址可分配的部分都設定為1即可,也就是:
轉成十?進位就是172.16.255.255。可以從這裡發現到,這個廣播位址是不能被拿來當成主機位址,當然網路位址也不能拿來當作主機位址,所以一個子網路中到底可以用多少個IP位址來當作主機位址呢?再繼續往下看!