首先了解一下:
IP地址使用規則
網絡號全為0的地址保留,不能作為標識網絡使用;
主機號全為0的地址保留,作為表示網絡地址;
網絡號全為1,節點號全為0的地址表示子網掩碼;
主機號全為1的地址為廣播地址,如172.16.255.255,稱為直接廣播或定向廣播,表示對172.16.0.0中的所有主機進行廣播,這類廣播可以跨越路由器。
地址0.0.0.0表示默認路由;只有在啟動過程中才可以使用全0的網絡地址,這樣做是為了允許計算機在不知道自己地址的情況下發送數據報。即啟動時的源站地址
地址全為1,地址255.255.255.255表示本地廣播,即受限廣播,這種廣播在缺省情況下不能跨越路由器。
子網掩碼(Subnet Mask)概述
子網掩碼用於區別某個IP地址中哪部分為網絡部分,哪部分為主機部分。子網掩 碼由1和0組成,長32位,從前向后連續全為1的位代表網絡部分。
默認子網掩碼 ,不是所有的網絡都需要子網:
A類IP地址的默認子網掩碼為255.0.0.0;
B類IP地址的為255.255.0.0;
C類的為255.255.255.0。
子網掩碼使用與IP地址相同的編址格式,子網掩碼為1的部分對應網絡(及子網)部分,子網掩碼為0的部分對應主機部分。
如:一個IP地址為10.2.45.1,子網掩碼為255.255.252.0,“與”運算得到:10.2.44.0,則網絡設備認為該IP地址的網絡號與子網號為10.2.44.0,屬於10.2.44.0/22網絡,其中/22表示子網掩碼長度為22位,即從前向后連續的22個1。
00001010.00000010.00101101.00000001(10.2.45.1)
與:
11111111.11111111.11111100.00000000(255.255.252.0)
—————————————————————————————————————
00001010.00000010.00101100.00000000(10.2.44.0)
子網划分(subnetting)的好處
減少網絡流量
提高網絡性能
提高安全性
為了提高IP地址的使用效率,一個網絡可以划分為多個子網。采用借位的方式,從主機最高位開始借位變為新的子網位,剩余部分仍為主機位。這使得IP地址的結構分為三部分:網絡位、子網位和主機位。
划分子網后,子網號為全0或全1的子網原則上不可使用。
默認情況下,192.168.0.0屬於C類地址,子網掩碼為24位。此時:
11000000.10101000.00000000.00000000
|---------網絡位--------------------------|--主機位--|
如要將192.168.0.0/24划分子網,從原來的主機部分取三位作為新的
子網位。
11000000.10101000.00000000.00000000
|---------網絡位-------------------------|-----|--------|
新的主機部分
新的子網部分
可划分出000、001、010、011、100、101、110、111共8個子網。此時,網絡部分為24+3=27位,子網掩碼為/27,表示為十進制為255.255.255.224,主機部分為5位
看例題:
如:欲將B類IP地址168.195.0.0划分成27個子網。(方法一、利用子網數來計算)
公式:2n(2的n次方)-2≥x,其中x為所需的子網數,n為所需借的子網位數。
168.195.00000000.00000000
從原來的主機部分開始,從前向后借子網位。
該例中需27個子網,按公式,需借5位,可划分出如下子網:
168.195.00000 000.00000000
168.195.00001 000.00000000
168.195.00010 000.00000000
......
168.195.11110 000.00000000
168.195.11111 000.00000000
共25=32個子網,其中有效子網30個,掩碼均為/21。
如:需將200.0.0.0/24划分子網,分配給ABCD四個部門。
方法如下:
在未划分前,主機位為8位。現在需划分子網,則從主機位入手。可將將8位主機部分視為一個新的IP地址,8位中,前若干位為網絡部分,后若干位為主機部分,如下所示。
200. 0. 0. 00000000
主機部分
因為需要將子網分配給四個部門,則需要4個子網。又因為子網號為全0和全1的子網不能用,則至少需要6個子網。
按公司2n-2 ≥所需子網數,此時n=3,可划分出8個子網。
網絡號 主機地址范圍 廣播地址
000 子網號全為0,不使用
001 200.0.0.32/27 001 00001~001 11110 001 11111
010 200.0.0.64/27 010 00001~010 11110 001 11111
011 200.0.0.96/27 011 00001~011 11110 001 11111
100 200.0.0.128/27 100 00001~100 11110 001 11111
101 200.0.0.160/27 101 00001~101 11110 001 11111
110 200.0.0.192/27 110 00001~110 11110 001 11111
111 子網號全為0,不使用
注意到每個子網的主機地址范圍都是00001~11110,廣播地址都是11111,那么有了每個子網的網絡號后,每個子網的地址范圍就很容易推出。如100子網,網絡地址為200.0.0.128/27,則該子網中第一個主機(host)IP為128+1=129,即100 00001,用二進制的10000000(網絡部分)+00000001(主機部分);最后一個主機IP為128+30=158,即100 11110,用二進制的10000000(網絡部分)+00011110(主機部分);廣播地址為128+31=159,即100 11111,用二進制的10000000(網絡部分)+00011111(主機部分全為1的地址是廣播地址)。另外,如果用廣播地址加1,則成為下一個子網的網絡地址。
另一種思維方法: 要將200.0.0/24划分子網給四個部門使用,這就需
要將該網絡划分為8個子網。而且每個子網的大小相等,這意味着將
200.0.0/24網絡中原有的256個IP地址八等分。
如下圖:
看一個例題: 如需將某C類地址划分20個子網,問第三個有效子網的網絡地址、主機地址范圍和廣播地址?
解決步驟:
1、需20個子網,則需子網位為5,剩余主機位為3,子網的大小為8。
2、8*3=24,則第三個有效子網的地址為24/29。(第一問)這個29=24+5
3、24+8=32,下一個子網的地址為32/29。
4、廣播地址為后一個子網的網絡地址減1,為31。(第三問)
5、主機地址范圍為25至30。