IP地址是32位的二進制數值,用於在TCP/IP通信協議中標記每臺計算機的地址。一般咱們使用點式十進制來表示,如192.168.0.5等等。
每一個IP地址又可分爲兩部分。即網絡號部分和主機號部分:網絡號表示其所屬的網絡段編號,主機號則表示該網段中該主機的地址編號。按照網絡規模的大 小,IP地址能夠分爲A、B、C、D、E五類,其中A、B、C類是三種主要的類型地址,D類專供多目傳送用的多目地址,E類用於擴展備用地址。A、B、C 三類IP地址有效範圍以下表:
類別 網絡號 /佔位數 主機號 /佔位數 用途
A 1~126 / 8 0~255 0~255 1~254 / 24 國家級
B 128~191 0~255 / 16 0~255 1~254 / 16 跨過組織
C 192~223 0~255 0~255 / 24 1~254 / 8 企業組織
隨着互連網應用的不斷擴大,原先的IPv4的弊端也逐漸暴露出來,即網絡號佔位太多,而主機號位太少,因此其能提供的主機地址也愈來愈稀缺,目前除了使用 NAT在企業內部利用保留地址自行分配之外,一般都對一個高類別的IP地址進行再劃分,以造成多個子網,提供給不一樣規模的用戶羣使用。
這裏主要是爲了在網絡分段狀況下有效地利用IP地址,經過對主機號的高位部分取做爲子網號,從一般的網絡位界限中擴展或壓縮子網掩碼,用來建立某類地址的更多子網。但建立更多的子網時,在每一個子網上的可用主機地址數目會比原先減小。
子網掩碼是標誌兩個IP地址是否同屬於一個子網的,也是32位二進制地址,其每個爲1表明該位是網絡位,爲0表明主機位。它和IP地址同樣也是使用點式十進制來表示的。若是兩個IP地址在子網掩碼的按位與的計算下所得結果相同,即代表它們共屬於同一子網中。
在計算子網掩碼時,咱們要注意IP地址中的保留地址,即「 0」地址和廣播地址,它們是指主機地址或網絡地址全爲「 0」或「 1」時的IP地址,它們表明着本網絡地址和廣播地址,通常是不能被計算在內的。
下面就來以實例來講明子網掩碼的算法:
對於無須再劃分紅子網的IP地址來講,其子網掩碼很是簡單,即按照其定義便可寫出:如某B類IP地址爲 10.12.3.0,無須再分割子網,則該IP地址的子網掩碼爲255.255.0.0。若是它是一個C類地址,則其子網掩碼爲 255.255.255.0。其它類推,再也不詳述。下面咱們關鍵要介紹的是一個IP地址,還須要將其高位主機位再做爲劃分出的子網網絡號,剩下的是每一個子 網的主機號,這時該如何進行每一個子網的掩碼計算。
1、利用子網數來計算
在求子網掩碼以前必須先搞清楚要劃分的子網數目,以及每一個子網內的所需主機數目。
1)將子網數目轉化爲二進制來表示
2)取得該二進制的位數,爲 N
3)取得該IP地址的類子網掩碼,將其主機地址部分的的前N位置 1 即得出該IP地址劃分子網的子網掩碼。
如欲將B類IP地址168.195.0.0劃分紅27個子網:
1)27=11011
2)該二進制爲五位數,N = 5
3)將B類地址的子網掩碼255.255.0.0的主機地址前5位置 1,獲得 255.255.248.0
即爲劃分紅 27個子網的B類IP地址 168.195.0.0的子網掩碼。
2、利用主機數來計算
1)將主機數目轉化爲二進制來表示
2)若是主機數小於或等於254(注意去掉保留的兩個IP地址),則取得該主機的二進制位數,爲 N,這裏確定 N<8。若是大於254,則 N>8,這就是說主機地址將佔據不止8位。
3)使用255.255.255.255來將該類IP地址的主機地址位數所有置1,而後從後向前的將N位所有置爲 0,即爲子網掩碼值。
如欲將B類IP地址168.195.0.0劃分紅若干子網,每一個子網內有主機700臺:
1) 700=1010111100
2)該二進制爲十位數,N = 10
3)將該B類地址的子網掩碼255.255.0.0的主機地址所有置 1,獲得255.255.255.255
而後再從後向前將後 10位置0,即爲: 11111111.11111111.11111100.00000000
即255.255.252.0。這就是該欲劃分紅主機爲700臺的B類IP地址 168.195.0.0的子網掩碼。
下面列出各種IP地址所能劃分出的全部子網,其劃分後的主機和子網佔位數,以及主機和子網的(最大)數目,注意要去掉保留的IP地址(即劃分後有主機位或子網位全爲「0」或全爲「1」的):
A類IP地址:
子網位 /主機位 子網掩碼 子網最大數 /主機最大數
2/22 255.192.0.0 2/4194302
3/21 255.224.0.0 6/2097150
4/20 255.240.0.0 14/1048574
5/19 255.248.0.0 30/524286
6/18 255.252.0.0 62/262142
7/17 255.254.0.0 126/131070
8/16 255.255.0.0 254/65536
9/15 255.255.128.0 510/32766
10/14 255.255.192.0 1022/16382
11/13 255.255.224.0 2046/8190
12/12 255.255.240.0 4094/4094
13/11 255.255.248.0 8190/2046
14/10 255.255.252.0 16382/1022
15/9 255.255.254.0 32766/510
16/8 255.255.255.0 65536/254
17/7 255.255.255.128 131070/126
18/6 255.255.255.192 262142/62
19/5 255.255.255.224 524286/30
20/4 255.255.255.240 1048574/14
21/3 255.255.255.248 2097150/6
22/2 255.255.255.252 4194302/2
B類IP地址:
子網位 /主機位 子網掩碼 子網最大數 /主機最大數
2/14 255.255.192.0 2/16382
3/13 255.255.224.0 6/8190
4/12 255.255.240.0 14/4094
5/11 255.255.248.0 30/2046
6/10 255.255.252.0 62/1022
7/9 255.255.254.0 126/510
8/8 255.255.255.0 254/254
9/7 255.255.255.128 510/126
10/6 255.255.255.192 1022/62
11/5 255.255.255.224 2046/30
12/4 255.255.255.240 4094/14
13/3 255.255.255.248 8190/6
14/2 255.255.255.252 16382/2
C類IP地址:
子網位 /主機位 子網掩碼 子網最大數 /主機最大數
2/6 255.255.255.192 2/62
3/5 255.255.255.224 6/30
4/4 255.255.255.240 14/14
5/3 255.255.255.248 30/6
6/2 255.255.255.252 62/2
再根據CCNA中會出現的題目給你們舉個例子:
首先,咱們看一個考試中常見的題型:一個主機的IP地址是202.112.14.137,掩碼是255.255.255.224,要求計算這個主機所在網絡的網絡地址和廣播地址。
常規辦法是把這個主機地址和子網掩碼都換算成二進制數,二者進行邏輯與運算後便可獲得網絡地址。其實你們只要仔細想一想,能夠獲得另外一個方 法:255.255.255.224的掩碼所容納的IP地址有256-224=32個(包括網絡地址和廣播地址),那麼具備這種掩碼的網絡地址必定是32 的倍數。而網絡地址是子網IP地址的開始,廣播地址是結束,可以使用的主機地址在這個範圍內,所以略小於137而又是32的倍數的只有128,因此得出網絡 地址是202.112.14.128。而廣播地址就是下一個網絡的網絡地址減1。而下一個32的倍數是160,所以能夠獲得廣播地址爲 202.112.14.159。可參照下表來理解本例。
子網絡 2進制子網絡域數 2進制主機域數的範圍 2進制主機域數的範圍
第1個子網絡 000 00000 thru 11111 .0 thru.31
第2個子網絡 001 00000 thru 11111 .32 thru.63
第3個子網絡 010 00000 thru 11111 .64 thru.95
第4個子網絡 011 00000 thru 11111 .96 thru.127
第5個子網絡 100 00000 thru 11111 .128 thru.159
第6個子網絡 101 00000 thru 11111 .160 thru.191
第7個子網絡 110 00000 thru 11111 .192 thru.223
第8個子網絡 111 00000 thru 11111 .124 thru.255
CCNA考試中,還有一種題型,要你根據每一個網絡的主機數量進行子網地址的規劃和計算子網掩碼。這也可按上述原則進行計算。好比一個子網有10臺主機,那麼對於這個子網須要的IP地址是:
10+1+1+1=13
注意:加的第一個1是指這個網絡鏈接時所需的網關地址,接着的兩個1分別是指網絡地址和廣播地址。由於13小於16(16等於2的4次方),因此主機位爲4位。而
256-16=240
因此該子網掩碼爲255.255.255.240。
若是一個子網有14臺主機,很多人常犯的錯誤是:依然分配具備16個地址空間的子網,而忘記了給網關分配地址。這樣就錯誤了,由於:
14+1+1+1=17
17大於16,因此咱們只能分配具備32個地址(32等於2的5次方)空間的子網。這時子網掩碼爲:255.255.255.224。
參考資料:
http://zhidao.baidu.com/question/5137270.html