IP地址及子網劃分

來源:互聯網
上載者:User
 

什麼是IP地址

  我們知道互連網是全世界範圍內的電腦聯為一體而構成的通訊網路的總稱。聯在某個網路上的兩台電腦之間在相互連信時,在它們所 傳送的資料包裡都會含有某些附加資訊,這些附加資訊就是發送資料的電腦的地址(源IP)和接受資料的電腦的地址(目的IP)。

    人們為了通訊的方便給每一台電腦都事先分配一個類似我們日常生活中的電話號碼一樣的標識地址,該標識地址就是我們今天所說的I P地址。根據TCP/IP協議規定,IP地址是由32位位元組成,而且在INTERNET範圍內是唯一的。例如,某台聯在因 特網上的電腦的IP地址為:

  

  11010010 01001001 1000110000000010   

很明顯,這些數字對於人來說不太好記憶。人們為了方便記憶,就將組成電腦的IP地址的32位二進位分成四段(目前是IPV4,用不了多久後就是IPV6了,對了我在上面註明了不提IPV6的 ^_^),每段8位,中間用小數點隔開,然後將每八位二進位轉換成十進位數,這樣上述電腦的IP地址就變成了:210.73.140.2。

IP地址的分類

    我們說過網際網路是把全世界的無數個網路連接起來的一 個龐大的網間網,每個網路中的電腦通過其自身的IP地址而被唯一標識的,據此我們也可以設想,在INTERNET上這個龐大的網間網中,每個網路也有自己的標識符。這與我們日常生活中的電話號碼很相像, 例如有一個電話號碼為0515163,這個號碼中的前四位表示該電話是屬於哪個地區的,後面的數字表示該地區的某個電話號碼。與 上面的例子類似,我們把電腦的IP地址也分成兩部分,分別為網路標識和主機標識。同一個物理網路上的所有主機都用同一個網路標識,網路上的一個主機(包括網路上工作站、伺服器和路由器等)都有一個主機標識與其對應。

  IP地址的4個位元組劃分為2個部分,一部分用以標明具體的網路段,即網路標識;另一部分用以標明具體的節點,即主機標識,也就是說某個網路中的特定的電腦號碼。例如 ,鹽城市資訊網路中心的伺服器的IP地址為210.73.140.2,對於該IP地址,我們可以把它分成網路標識和主機標識兩部 分,這樣上述的IP地址就可以寫成:

  

  網路標識:210.73.140.0

  

  主機標識: 2

  

  合起來寫:210.73.140.2

  

  由於網路中包含的電腦有可能不一樣多,有的網路可能含有較多的電腦,也有的網路包含較少的電腦,於是人們按照網路規模 的大小,把32位地址資訊設成五種定位的劃分方式,這五種最常用到的是A類、B類、C類,而還有D類、E類呢?D類稱為多播定址,作為備用,用作多目的資訊的傳輸,分配給不同子網上的一個或者多個網路介面使用,E類稱為保留地址,僅作為INTERNET的實驗和開發使用,下面我們還是具體的來理解下前三類IP地址。

  

  1):A類IP地址

  

  一個A類IP地址是指,在IP地址的四段號碼中,第一段號碼為網路編號,剩下的三段號碼為本機電腦的號碼。如果用二進位表 示IP地址的話,A類IP地址就由1位元組的網路地址和3位元組主機地址組成,網路地址的最高位必須是“0”。A類IP地址中網路的 標識長度為7位,主機標識的長度為24位,A類網路地址數量較少,可以用於主機數達1600多萬台的大型網路。

  

  2):B類IP地址

  

  一個B類IP地址是指,在IP地址的四段號碼中,前兩段號碼為網路編號,B類IP地址就由2位元組的網路地址和2位元組主機地址 組成,網路地址的最高位必須是“10”。B類IP地址中網路的標識長度為14位,主機標識的長度為16位,B類網路地址適用於中 等規模規模的網路,每個網路所能容納的電腦數為6萬多台。

  

  3):C類IP地址

  

  一個C類IP地址是指,在IP地址的四段號碼中,前三段號碼為網路編號,剩下的一段號碼為本機電腦的號碼。如果用二進位表 示IP地址的話,C類IP地址就由3位元組的網路地址和1位元組主機地址組成,網路地址的最高位必須是“110”。C類IP地址中網 絡的標識長度為21位,主機標識的長度為8位,C類網路地址數量較多,適用於小規模的區域網路絡,每個網路最多隻能包含254台計 算機。

  

  在上面三種類型的IP地址內,還有幾種特殊類型的IP地址,TCP/IP協議規定,凡IP地址中的第一個位元組以“1111 0”開始的地址都叫多點廣播位址。因此,任何第一個位元組大於223小於240的IP地址是多點廣播位址;IP地址中的每一個位元組 都為0的地址(“0.0.0.0”)對應於當前主機;IP地址中的每一個位元組都為1的IP地址(“255.255.255.25 5”)是當前子網的廣播位址;IP地址中凡是以“11110”的地址都留著將來作為特殊用途使用;IP地址中不能以十進位“12 7”作為開頭,127.1.1.1用於迴路測試,同時網路ID的第一個8位組也不能全置為“0”,全“0”表示本網。

IP地址的定址規則

  1.網路定址規則

   A、 網路地址必須唯一。

  

   B、 網路標識不能以數字127開頭。在A類地址中,數字127保留給內部回送函數。

  

   C、 網路標識的第一個位元組不能為255。數字255作為廣播位址。

  

   D、 網路標識的第一個位元組不能為“0”,“0”表示該地址是本地主機,不能傳送。

  

  2.主機定址規則

   A、主機標識在同一網路內必須是唯一的。

  

   B、主機標識的各個位不能都為“1”,如果所有位都為“1”,則該機地址是廣播位址,而非主機的地址。

  

   C、主機標識的各個位不能都為“0”,如果各個位都為“0”,則表示“只有這個網路”,而這個網路上沒有任何主機。 

 子網路遮罩的概念及作用

子網路遮罩是一個應用於TCP/IP網路的32位二進位值,它可以屏蔽掉ip地址中的一部分,從而分離出ip地址中的網路部分與主機部分,基於子網路遮罩,管理員可以將網路進一步劃分為若干子網。為什麼需要使用子網路遮罩

雖然我們說子網路遮罩可以分離出ip地址中的網路部分與主機部分,可大家還是會有疑問,比如為什麼要區分網路地址與主機地址?區分以後又怎樣呢?那麼好,讓我們再詳細的講一下吧!

在使用TCP/IP協議的兩台電腦之間進行通訊時,我們通過將原生子網路遮罩與接受方主機的ip地址進行'與'運算,即可得到目標主機所在的網路號,又由於每台主機在配置TCP/IP協議時都設定了一個本機ip地址與子網路遮罩,所以可以知道本機所在的網路號。

通過比較這兩個網路號,就可以知道接受方主機是否在本網路上。如果網路號相同,表明接受方在本網路上,那麼可以通過相關的協議把資料包直接發送到目標主機;如果網路號不同,表明目標主機在遠程網路上,那麼資料包將會發送給本網路上的路由器,由路由器將資料包發送到其他網路,直至到達目的地。在這個過程中你可以看到,子網路遮罩是不可或缺的!

如何用子網路遮罩得到網路/主機地址

既然子網路遮罩這麼重要,那麼它是如何分離出ip地址中的網路地址和主機地址的呢?

過程如下:

1.將ip地址與子網路遮罩轉換成二進位;

2.將二進位形式的ip地址與子網路遮罩做'與'運算,將答案化為十進位便得到網路地址;

3.將二進位形式的子網路遮罩取'反';

4.將取'反'後的子網路遮罩與ip地址做'與'運算,將答案化為十進位便得到主機地址。

下面我們用一個例子給大家示範:

假設有一個I P 地址:192.168.0.1

子網路遮罩為:255.255.255.0

化為二進位為:I P 地址11000000.10101000.00000000.00000001

子網路遮罩11111111.11111111.11111111.00000000

將兩者做'與'運算得:11000000.10101000.00000000.00000000

將其化為十進位得:192.168.0.0

這便是上面ip的網路地址,主機地址以此類推。

小技巧:由於觀察到上面的子網路遮罩為C類地址的預設子網路遮罩(即未劃分子網),便可直接看出網路地址為ip地址的前三部分,即前三個位元組。

解惑:

什嗎?你還是不懂?問我為什麼要做'與'運算而不是別的?其實你仔細觀察一下上面的例子就應該能明白。

'1'在做'與'運算時,不影響結果,'0'在做'與'運算時,將得到0,利用'與'的這個特性,當管理員設定子網路遮罩時,即將子網路遮罩上與網路地址所對應的位都設為'1',其他位都設為'0',那麼當作'與'時,ip地址中的網路號將被保留到結果中,而主機號將被置0,這樣就解析出了網路號,解析主機號也一樣,只需先把子網路遮罩取'反',在做'與'。

子網路遮罩的分類

1)預設子網路遮罩:

即未劃分子網,對應的網路號的位都置1,主機號都置0。

A類網路預設子網路遮罩:255.0.0.0

B類網路預設子網路遮罩:255.255.0.0

C類網路預設子網路遮罩:255.255.255.0

2)自訂子網路遮罩:

將一個網路劃分為幾個子網,需要每一段使用不同的網路號或子網號,實際上我們可以認為是將主機號分為兩個部分:子網號、子網主機號。 形式如下:

未做子網劃分的ip地址:網路號+主機號

做子網劃分後的ip地址:網路號+子網號+子網主機號

也就是說ip地址在化分子網後,以前的主機號位置的一部分給了子網號,餘下的是子網主機號。

子網編址技術

前面幾點介紹了子網路遮罩的一些知識,下面我們來看看子網劃分,不要認為子網劃分與子網路遮罩沒有關係喲,子網劃分也是靠子網路遮罩來實現的。

子網是指一個ip地址上產生的邏輯網路,它可以讓一個網路地址跨越多個物理網路,即一個網路地址代表多個網路(很明顯這樣做可以節省ip地址)。呵呵,聽起來是不是很蹊蹺?一個網路就這樣被莫名其妙的劃分成了許多子網?那麼這樣做有什麼用呢?

我舉個例子來跟你說吧:比如你是某個學校的網管,你的學校有四個處於不同物理位置的網路教室,每個網路教室25台機器,你的任務是給這些機器配置ip地址和子網路遮罩。你可能會覺得這再簡單不過了,申請4個C類地址,每個教室一個,然後在一一配置不就搞定了。嗯,這樣做理論上沒錯,但你有沒有想到這樣做很浪費,你一共浪費了(254-25)*4=916個ip地址,如果所有的網管都像你這樣做,那麼internet上的ip地址將會在極短的時間內枯竭,顯然,你是不能這樣做,你應該做子網劃分。

子網劃分說白了是這樣一個事情:因為在劃分了子網後,ip地址的網路號是不變的,因此在區域網路外部看來,這裡仍然只存在一個網路,即網路號所代表的那個網路;但在網路內部卻是另外一個景象,因為我們每個子網的子網號是不同的,當用化分子網後的ip地址與子網路遮罩(注意,這裡指的子網路遮罩已經不是預設子網路遮罩了,而是自訂子網路遮罩,是管理員在經過計算後得出的)做'與'運算時,每個子網將得到不同的子網地址,從而實現了對網路的劃分(得到了不同的地址,當然就能區別出各個子網了,有趣吧)。

子網編址技術,即子網劃分將會有助於以下問題的解決:

 

1)巨大的網路地址管理耗費:如果你是一個A類網路的管理員,你一定會為管理數量龐大的主機而頭痛的;

2)路由器中的選路表的急劇膨脹:當路由器與其他路由器交換選路表時,互連網的負載是很高的,所需的計算量也很高;

3)IP地址空間有限並終將枯竭:這是一個至關重要的問題,高速發展的internet,使原來的編址方法不能適應,而一些ip地址卻不能被充分的利用,造成了浪費。

因此,在配置區域網路或其他網路時,根據需要劃分子網是很重要的,有時也是必要的。現在,子網編址技術已經被絕大多數區域網路所使用。

如何劃分子網及確定子網路遮罩

在動手劃分之前,一定要考慮網路目前的需求和將來的需求計劃。

劃分子網主要從以下方面考慮:

1.網路中物理段的數量(即要劃分的子網數量)

2.每個物理段的主機的數量

確定子網路遮罩的步驟:

第一步:確定物理網段的數量,並將其轉換為位元,並確定位元n。如:你需要6個子網,6的二進位值為110,共3位,即n=3;

第二步:按照你ip地址的類型寫出其預設子網路遮罩。如C類,則預設子網路遮罩為11111111.11111111.11111111.00000000;

第三步:將子網路遮罩中與主機號的前n位對應的位置置1,其餘位置置0。若n=3且為

C類地址:則得到子網路遮罩為11111111.11111111.11111111.11100000化為十進位得到255.255.255.224

B類地址:則得到子網路遮罩為11111111.11111111.11100000.00000000化為十進位得到255.255.224.0

A類地址:則得到子網路遮罩為11111111.11100000.00000000.00000000化為十進位得到255.224.0.0

另:由於網路被劃分為6個子網,佔用了主機號的前3位,若是C類地址,則主機號只能用5位來表示主機號,因此每個子網內的主機數量=(2的5次方)-2=30,6個子網總共所能標識的主機數將小於254,這點請大家注意!

解惑:

1.你可能有這樣的疑問,比如在上面的例子裡,6的二進位值為110,那麼為什麼要將子網路遮罩中與主機號的前n位對應的位置都置1,而不是用6的二進位110去替代前n位呢?

呵呵,這個問題提的很好,答案是這樣的:我們計運算元網掩碼的目的是什嗎?就是希望它在做'與'的時候能夠解析出網路號,也就是說它與網路號所對應的位置都應該是1(當然包括與子網號所對應的位置),那麼很顯然,你寫上110是不對的,如果你這麼寫,那麼它的意義是主機號的前兩位作為子網號,那麼這樣將最多劃分2個子網(不明白沒關係,下面有計運算元網數量的方法),與我們當初所要劃分的6個子網顯然是不一致的。這樣解釋你能明白馬?

2.細心的人可能會發現,劃分4個子網,5個子網和6個子網的子網路遮罩是一樣的,同為255.255.255.224,是不是錯了呢?三個子網路遮罩應該不同呀?呵呵,是這樣的,因為4,5,6的二進位值都是3為,因此在子網路遮罩中這三位都置1,劃分是沒有問題的,只是你的理解上有一點小小的問題,劃分為4個子網,其實可以理解為劃分為6個子網,但你只使用了其中的4個。比如你想劃分8個子網,與劃分14個子網所得到的子網路遮罩是一樣的,都佔用了4位作為子網號。

相關判斷方法

1)如何判斷是否做了子網劃分?

這個問題很簡單,如果它使用了預設子網路遮罩,那麼表示沒有作子網劃分;反之,則一定作了子網劃分。

2)如何計運算元網地址?

還是老辦法,將ip地址與子網路遮罩的二進位形式做'與',得到的結果即為子網地址。

3)如何計算主機地址?

這個也不用說了吧,先將子網路遮罩的二進位取'反',再與ip地址做'與'。

4)如何計運算元網數量?

這個問題大家會常常提到,還是從子網路遮罩入手,主要有兩個步驟:

1.觀察子網路遮罩的二進位形式,確定作為子網號的位元n;

2.子網數量為2的n次方-2。(為什麼減2,呵呵,往下看)

舉個例子來說,比如有這樣一個子網路遮罩:255.255.255.224其二進位為:

11111111.11111111.11111111.11100000可見n=3,2的3次方為8,說明子網地址可能有

如下8種情況:

000

001

010

011

100

101

110

111

但其中代表網路自身的000;代表廣播位址的111是被保留的,所以要減2,明白了嗎?

5)如何計算總主機數量,子網內主機數量?

總主機數量=子網數量×子網內主機數量

再用一個例子給大家說明,比如子網路遮罩為255.255.255.224

上面的討論知道它最多可以劃分6個子網,那麼每個子網內最多有多少個主機呢?其實上面我已經給大家算過了,由於網路被劃分為6個子網,佔用了主機號的前3位,且是C類地址,則主機號只能用5位來表示主機號,因此子網內的主機數量=(2的5次方)-2=30.

因此通過這個子網路遮罩我們可以算出這個網路最多可以標識6*30=180個主機(可見,在化分子網後,整個網路所能標識的主機數量將減少)。

6)計算ip位址範圍

通過一個自訂子網路遮罩,我們可以得到這個網路所有可能的ip位址範圍。

具體步驟:

1.寫出二進位子網地址;

2.將子網地址化為十進位;

3.計運算元網所能容納主機數;

4.得出ip範圍(起始地址:子網地址+1;終止地址:子網地址+主機數)

假設一個子網路遮罩為:255.255.255.224,可知其最多可以劃分6個子網,子網內主機數為30,那麼所有可能的ip地址及計算流程如下:

子網--子網地址(二進位)--------子網地址-----實際ip範圍

1號-11001010.01110000.00001010.00100000-202.112.10.32-202.112.10.33-202.112.10.62

2號-11001010.01110000.00001010.01000000-202.112.10.64-202.112.10.65-202.112.10.943號-11001010.01110000.00001010.01100000-202.112.10.96-202.112.10.97-202.112.10.126

 

4號-11001010.01110000.00001010.10000000-202.112.10.128-202.112.10.129-202.112.10.158

5號-11001010.01110000.00001010.10100000-202.112.10.160-202.112.10.161-202.112.10.190

6號-11001010.01110000.00001010.11000000-202.112.10.192-202.112.10.193-202.112.10.222

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.