子網路遮罩和IP位址的相關知識是網路管理人員一定要了解的常識,這項知識能讓管理人員更有效地規劃企業內部主機的IP,而在套用路由協定的同時,也才能夠了解哪一種路由協定適用於企業內部的網路架構與規劃。
除了必須了解子網路遮罩和IP位址外,路由匯總也是相當重要的觀念,路由匯總有其好處,但如果了解不夠而導致設計不佳的話,反而會造成許多可怕的問題,因此本文將介紹這幾項重要的網路知識。
網路遮罩與子網路相關介紹
在開始介紹多變長度子網路遮罩之前,先介紹基本的網路遮罩與子網路相關的知識,當然也順道介紹一下這些知識與IP分配的關係。如果這些都不了解的話,應該很難了解多變長度子網路遮罩。
網路遮罩表示法
首先,必須先了解一般對網路遮罩的寫法,例如:
很多讀者應該會常常看到上面這樣的表示法,如果到現在為止,常常看到這樣的表示法卻還不了解的話,就要好好研讀一下!上面這樣的表示法代表網路位址是172.16.0.0,而後面的16則代表「網路遮罩的二進位表示法中,前面16個數字為1」(編按:上句原本誤寫為「最後16個數字為0」現已更正),因此以上的表示法是用來敘述這樣一個子網路環境。而如果把網路遮罩用二進位來表示,就是相當於下面這樣的表示方式:
前面16個都是1(編按:上句原本誤寫為「最後16個都是0」現已更正),若把這樣的網路遮罩轉換成10進位,也就是說,網路遮罩為255.255.0.0,因此16所代表的是網路遮罩。
網路位址與主機位址
還有另一個要注意的基本知識,就是網路位址(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數量
網路遮罩到底有什麼用途呢?它能表示這個網路或子網路之中可以使用的IP位址有多少,這是最基本的用途。從上面這個例子來看,由於網路遮罩是255.255.0.0,從二進位來看,它就是:
代表在分配IP位址時,前面16個數字不能變動,只有後面16個數字能夠變動,而前面不能變動的之處就是使用網路位址的部分。現在,讓來看網路位址,上面的範例中網路位址是172.16.0.0,轉成二進位就是:
而能夠分配的IP位址為:
轉成十進位的話,就代表可使用的IP位址範圍為172.16.0.1到172.16.255.254。
所以這個子網路中可以使用的IP數量為2的16次方減2,也就是216-2=65534個IP位址。減去兩個的部分分別是172.16.0.0和172.16.255.255這兩個IP位址,為什麼這兩個要減去呢?因為172.16.0.0已經被拿來使用成這個子網路的網路位址,而172.16.255.255則是廣播位址,不能被拿來分配成一般IP位址使用。現在讀者對於IP位址分配應該已經有初步的概念了。
為什麼要有多變長度子網路遮罩?
一般而言,在切割子網路的時候,子網路遮罩都是切成類似255.255.255.0或255.255.0.0的數字。不過,這樣切割的話,雖然很容易使用,但是可能會造成IP的浪費,因為不見得每個子網路中的IP使用量都是相同的。就拿上面的範例來說,可以看到上面的子網路可以分配出6,5534個IP位址,這也太多了吧?就算說使用255.255.255.0這樣的網路遮罩,那子網路中的IP位址個數也有254個,也是不少。
假設若有一個公司要為行政部門分配出20個IP位址,而要為開發部門分配出100個IP位址,則此時變成會使用兩個子網路來使用,而每個子網路的網路遮罩都是255.255.255.0,也就是每個子網路都可以分配254個IP位址,這樣的話,就已經浪費掉(254-20)+(254-100)個IP位址了。如果大家都這樣使用的話,IP根本不夠用。就因為如此,才有多變長度子網路遮罩的出現。而接下來說明何謂多變長度子網路遮罩。(更多精彩內容請見《善用路由匯總 提升路徑比對速度》﹚