天天看點

網絡基礎之IP位址和子網路遮罩

作者:pheenet菲尼特

今天來看下IP位址和子網路遮罩,子網路遮罩是每個網絡工程師必須要掌握的基礎知識,隻有掌握它,才能夠真正了解TCP/IP協定的設定。下邊我們一起來複習複習。

網絡基礎之IP位址和子網路遮罩

一、IP位址

IP是英文Internet Protocol的縮寫,意思是“網絡之間互連的協定”,也就是為計算機網絡互相連接配接進行通信而設計的協定。在網際網路中,它是能使連接配接到網上的所有計算機網絡實作互相通信的一套規則,規定了計算機在網際網路上進行通信時應當遵守的規則。任何廠家生産的計算機系統,隻要遵守IP協定就可以與網際網路互連互通。正是因為有了IP協定,網際網路才得以迅速發展成為世界上最大的、開放的計算機通信網絡。是以,IP協定也可以叫做“網際網路協定”。

網際網路是由許多小型網絡構成的,每個網絡上都有許多主機,這樣便構成了一個有層次的結構。IP位址在設計時就考慮到位址配置設定的層次特點,将每個IP位址都分割成網絡号和主機号兩部分,以便于IP位址的尋址操作。

IP位址是32位的二進制數值,用于在TCP/IP通訊協定中标記每台計算機的位址。通常我們使用點式十進制來表示,如192.168.1.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 企業組織

網絡基礎之IP位址和子網路遮罩

随着互連網應用的不斷擴大,原先的IPv4的弊端也逐漸暴露出來,即網絡号占位太多,而主機号位太少,是以其能提供的主機位址也越來越稀缺,目前除了使用NAT在企業内部利用保留位址自行配置設定以外,通常都對一個高類别的IP位址進行再劃分,以形成多個子網,提供給不同規模的使用者群使用。

二、什麼是子網路遮罩

子網路遮罩(subnet mask)又叫網絡掩碼、位址掩碼、子網絡遮罩,它是一種用來指明一個IP位址的哪些位辨別的是主機所在的子網,以及哪些位辨別的是主機的位掩碼。

子網路遮罩不能單獨存在,它必須結合IP位址一起使用。子網路遮罩隻有一個作用,就是将某個IP位址劃分成網絡位址和主機位址兩部分。

子網路遮罩是标志兩個IP位址是否同屬于一個子網的,也是32位二進制位址,其每一個為1代表該位是網絡位,為0代表主機位。它和IP位址一樣也是使用點式十進制來表示的。如果兩個IP位址在子網路遮罩的按位與的計算下所得結果相同,即表明它們共屬于同一子網中。

在計算子網路遮罩時,我們要注意IP位址中的保留位址,即“ 0”位址和廣播位址,它們是指主機位址或網絡位址全為“ 0”或“ 1”時的IP位址,它們代表着本網絡位址和廣播位址,一般是不能被計算在内的。

三、常用的子網路遮罩

網絡基礎之IP位址和子網路遮罩

子網路遮罩有數百種,這裡隻介紹最常用的兩種子網路遮罩,它們分别是“255.255.255.0”和“255.255.0.0”。

1. 子網路遮罩是“255.255.255.0”的網絡:

最後面一個數字可以在0~255範圍内任意變化,是以可以提供256個IP位址。但是實際可用的IP位址數量是256-2,即254個,因為主機号不能全是“0”或全是“1”。

2. 子網路遮罩是“255.255.0.0”的網絡:

後面兩個數字可以在0~255範圍内任意變化,可以提供65536個IP位址。但是實際可用的IP位址數量減2,即65534個。

IP位址的子網路遮罩設定不是任意的。如果将子網路遮罩設定過大,也就是說子網範圍擴大,那麼,根據子網尋徑規則,很可能發往和本地機不在同一子網内的目的機的資料,會因為錯誤的判斷而認為目的機是在同一子網内。

四、子網路遮罩的算法

對于無須再劃分成子網的IP位址來說,其子網路遮罩非常簡單,即按照其定義即可寫出:如某B類IP位址為 10.14.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”的):

網絡基礎之IP位址和子網路遮罩
網絡基礎之IP位址和子網路遮罩

五、舉例

1、一個主機的IP位址是211.112.18.137,掩碼是255.255.255.224,要求計算這個主機所在網絡的網絡位址和廣播位址。

正常辦法是:

把這個主機位址和子網路遮罩都換算成二進制數,兩者進行邏輯與運算後即可得到網絡位址。

另一種方法:

255.255.255.224的掩碼所容納的IP位址有256-224=32個(包括網絡位址和廣播位址),那麼具有這種掩碼的網絡位址一定是32的倍數。而網絡位址是子網IP位址的開始,廣播位址是結束,可使用的主機位址在這個範圍内,是以略小于137而又是32的倍數的隻有128,是以得出網絡位址是211.112.18.128。而廣播位址就是下一個網絡的網絡位址減1。而下一個32的倍數是160,是以可以得到廣播位址為211.112.18.159。

2、根據每個網絡的主機數量進行子網位址的規劃和計算子網路遮罩。

比如一個子網有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。

繼續閱讀