IP Address
如果您要組建一個單一的 IP 網路,那麼您得分配相同的 Net ID 給所有主機,而各主機的 Host ID 卻必須是唯一的,也就是說沒有任何兩個 Host ID 會是一樣的。您的網路還要連上 internet 或其它網路的話,那麼您使用的 Net ID 也必須是唯一的,也就是必需經過註冊才能獲得否則就會造成衝突了。下面的圖示大致可以說明 Net ID & Host ID 的概念。
IP Address 的範圍大致可以分成 A、B、C 三個Class
‧A Class 的 IP 使用最前面一組數字來做 Net ID,其餘三組做 Host ID
‧B Class 的 IP 使用前面兩組數字來做 Net ID,另兩組做 Host ID
‧C Class 的 IP 使用前面三組數字來做 Net ID,剩下的一組做 Host ID
Net Mask
| 等級 | 開首 | 網路數目 | 主機數目 | 使用範圍 |
| A | 0 | 127 | 16,777,214 | 1.x.x.x 到 126.x.x.x |
| B | 10 | 16,384 | 16,382 | 128.x.x.x 到 191.x.x.x |
| C | 110 | 2,097,152 | 256 | 192.x.x.x 到 223.x.x.x |
| D | 1110 | - | - | 224.- 到 239.- |
| E | 1111 | - | - | 240.- 到 255.- |
在我們進行 IP 位址劃分的時候,IP 和 Net Mask 都必須一對使用的,兩者缺一不可,Net Mask 的作用是來判斷彼此的 IP Address 是否在於同一網段。
‧A Class 的 Net Mask 是 255.0.0.0
‧B Class 的 Net Mask 是 255.255.0.0
‧C Class 的 Net Mask 是 255.255.255.0
| 例如:139.175.152.254/16 是一個 B Class IP,Net Mask 是255.255.0.0。 IP Address 換成二進位是: 10001011.10101111.10011000.11111110 其 Net Mask 是 255.255.0.0 ,換成二進位: 11111111.11111111.00000000.00000000 然後將 IP 和 mask 加以 AND 運算: 10001011.10101111.10011000.11111110 AND 11111111.11111111.00000000.00000000 得出: 10001011.10101111.00000000.00000000 換成十進位就是 139.175.0.0 ,這個就是 Net ID了。 那麼,怎麼求 Host ID 呢?也很簡單: 先將 Net Mask 做一個 NOT 運算,可以得出: 00000000.00000000.11111111.11111111 然後再和 IP 做一次 AND 運算,就可以得到 Host ID: 00000000.00000000.10011000.11111110 , 換成十進位就成了:0.0.152.254。 |
然而,由於 Internet 的爆炸性成長,IP 的位址買少見少,而且在很多機構裡,也不是所有機器都有必要使用註冊的 IP 位址。於是,我們就在 A、B、C 這三個層級裡面,各劃出一些位址範圍保留給私有位址所用,它們分別是:
‧10.0.0.0 - 10.255.255.255
‧172.16.0.0 - 172.31.255.255
‧192.168.0.0 - 192.168.255.255
CIDR (Classless Inter-Domain Routing)
原來 IP 位址的分配依功能、應用及範圍的不同,有A、B、C、D、E 五種等級的區分,但也因此導致許多 IP 位址的浪費,因此 IETF (Internet Engineering Task Force) 提出 CIDR (Classless Inter-Domain Routing) 的架構,打破以往等級分類的藩籬,網路規劃完全依照網路遮罩進行定義,使得原來A、B、C等級網路固定長度區塊的劃分,成為變動長度區塊的架構 (超網路,Supernet),讓網路位址的的運用更有彈性。
參考文件:
http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#IPv4_CIDR_blocks
http://www.pcnet.idv.tw/pcnet/network/network_ip_addr.htm


