天天看點

關于子網路遮罩計算

關于子網路遮罩計算

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)将子網數目轉化為二進制來表示

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的子網路遮罩。

二、利用主機數來計算

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。