IP地址大致上分為兩部分:Network portion同Host portion,而邊份打邊份取決於Subnet mask(子網絡遮罩)
Network portion即係個IP地址屬於邊一個Network:呢部分由IANA分配,原則如下:
Class A - 1.x.x.x 到 127.x.x.x (首位元為0),首一部分(8位元)係Network portion
Class B - 128.x.x.x 到 191.x.x.x (首位元為10),首兩部分(16位元)係Network portion
Class C - 192.x.x.x 到 223.x.x.x (首位元為110),首三部分(24位元)係Network portion
Class D - 224.x.x.x 到 239.x.x.x (首位元為1110),Multi-cast address
Class E - 240.x.x.x 到 255.x.x.x (首位元為1111),Experimental address
A、B、C各有一個Private network,分別係
10.0.0.0/8172.16.0.0/16192.168.0.0/16 - 注意係/16唔係/24
例如192.168.0.0,預設頭兩節係Network portion,即係喺同一個Router下,所有192.168.x.x為IP嘅裝置都係同一個Network
不過,如果只係得1個Network address(即係Host portion全部位元係0時),但係要分開幾個Sub-network(譬如唔同Department或者老師同學生電腦兩個LAN),就要喺Host portion「借」頭若干個bit,改大個Subnet mask啦(視需要嘅network數量 或 / 和個別network大小,可以有唔同Subnet mask設定,不過同一個subnet嘅subnet mask要一致)
所謂Subnet mask,就係Mask出個IP幾大Part係Network portion,Subnet mask一定要係一堆1位元開頭,跟住其餘0位元做尾
255.255.255.0 - 二進制表示係11111111.11111111.11111111.00000000,咁就好清楚,頭24位元都係Network portion啦。喺呢種Network下嘅IP都可以咁寫去包括Subnet mark:x.x.x.x/24
又或者
255.255.224.0 - 二進制表示11111111.11111111.11100000.00000000,即係頭19位元係Network portion
例如,172.16.0.0,預設頭兩節係Network portion,不過喺佢下面我哋想分四個一樣大嘅Network,兩個Sub network個Subnet mask就係255.255.192.0。192即係11000000,表示第三節頭兩位元都係Network portion,咁就有四個Subnet:
172.16.0.0至172.16.63.255(也可以寫成如172.16.2.3/18,即係IP地址頭18 bit係Network portion)
172.16.64.0至172.16.127.255(又如172.16.88.211/18、172.16.122.1/18等)
如此類推,每個Network就可以有16382個device啦(16384個IP,不過Host portion全部0 bit係network address、全1 bit係boardcast address)
Subnet mask一定唔好細過IANA分配嗰個Network嘅Mask,即係如果係Class C
address,就唔好用255.255.0.0咁樣做Subnet mask(除咗192.168.0.0 IANA指明咗例外),如果唔係會同其他Network撞IP啦。
2010-04-19 23:08:41 補充:
漏咗解Host portion,不過應該唔需多解:即係表示Host嘅部分。由Network administrator / DHCP server分配。
2010-04-19 23:15:29 補充:
Private network嘅謬誤:
172.16.0.0/12 → 172.16.0.0/16
以172.16.0.0作Network IP嘅例子→172.16.0.0/16
IP address space registry 可以喺IANA查閱:
http://www.iana.org/assignments/ipv4-address-space/ipv4-address-space.xml#note3
2010-04-19 23:15:56 補充:
172.16.0.0/16 → 172.16.0.0/12 不是 172.16.0.0/12 → 172.16.0.0/16
參考: Cisco Networking Academy - Network Fundamentals – Chapter 6 : Addressing the Network – IPv4