今天來看下ip位址和子網掩碼。
子網掩碼是每個網路工程師必須要掌握的基礎知識,只有掌握它,才能夠真正理解tcp/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 企業組織
隨著互連網應用的不斷擴大,原先的ipv4的弊端也逐漸暴露出來,即網路號佔位太多,而主機號位太少,所以其能提供的主機位址也越來越稀缺,目前除了使用nat在企業內部利用保留位址自行分配以外,通常都對乙個高類別的ip位址進行再劃分,以形成多個子網,提供給不同規模的使用者群使用。
二、什麼是子網掩碼
子網掩碼(subnet mask)又叫網路掩碼、位址掩碼、子網路遮罩,它是一種用來指明乙個ip位址的哪些位標識的是主機所在的子網,以及哪些位標識的是主機的位掩碼。
子網掩碼不能單獨存在,它必須結合ip位址一起使用。子網掩碼只有乙個作用,就是將某個ip位址劃分成網路位址和主機位址兩部分。
子網掩碼是標誌兩個ip位址是否同屬於乙個子網的,也是32位二進位制位址,其每乙個為1代表該位是網路位,為0代表主機位。它和ip位址一樣也是使用點式十進位制來表示的。如果兩個ip位址在子網掩碼的按位與的計算下所得結果相同,即表明它們共屬於同一子網中。
在計算子網掩碼時,我們要注意ip位址中的保留位址,即「 0」位址和廣播位址,它們是指主機位址或網路位址全為「 0」或「 1」時的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位址劃分子網的子網掩碼。
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,即為子網掩碼值。
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的子網掩碼。
五、舉例
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+1+1+1=13
256-16=240
所以該子網掩碼為255.255.255.240。
IPv4位址和網路位址
小插曲 次方 次方是我們學習進製轉換的必備良藥,在這裡,我為數學不好的同學稍微科普一下次方的基本概念 次方最基本的定義是 設a為某數,n為正整數,a的n次方表示為a 表示n個a連乘所得之結果,如2 2 2 2 2 16。次方的定義還可以擴充套件到0次方和負數次方等等。乙個數的零次方 任何非零數的0次...
ipv4的私有位址
本文出自 ipv4的位址,有4個8位二進位制數表示,為了表示方便,常常用十進位制數表示,8位的二進位制的範圍是0 255。這樣一共可以有4gb的定址範圍。a 10.0.0.0 10.255.255.255 8 b 172.16.0.0 172.31.255.255 12 c 192.168.0.0 ...
IPV4的私有位址
a類位址 1 a類位址第1位元組為網路位址,其它3個位元組為主機位址。10.x.x.x是私有位址 所謂的私有位址就是在網際網路上不使用,而被用在區域網路中的位址 範圍 10.0.0.0 10.255.255.255 127.x.x.x是保留位址,用做迴圈測試用的。2.b類位址 1 b類位址第1位元組...