1. 程式人生 > >給一個IP地址,如何劃分為幾個子網?

給一個IP地址,如何劃分為幾個子網?

1、 基本知識介紹

1.1網路中的每一個主機或路由器至少有一個IP地址;

在Internet中不允許有兩個裝置具有同樣的IP地址;

1.2IP地址採用分層結構;

IP地址是由網路號(net ID)與主機號(host ID)兩部分組成的。

 

13  IP地址的分類

IP地址長度為32位,點分十進位制(dotted decimal)地址;

採用x.x.x.x的格式來表示,每個x為8位,每個x的值為0~255(例如 202.113.29.119);

根據不同的取值範圍,IP地址可以分為五類;

IP地址中的前5位用於標識IP地址的類別:

     A類地址的第一位為0;

     B類地址的前兩位為10;

     C類地址的前三位為110;

     D類地址的前四位為1110;

     E類地址的前五位為11110。

 

2、一個C類地址劃分為幾個子網

一個C類地址是由24位的網路號與8位的主機號組成。如果一個單位得到一個C類IP地址,那麼它可以在一個單獨的網路中為254個主機與路由器分配IP地址。但是,如果該組織希望有更多的子網,那麼他們同樣需要進行子網地址劃分的工作。

例如:一個機關網路的管理者從網路管理中心獲得一個C類IP地址:212.26.220.0,該機關網路是由5個子網組成。

該網路需要有5個子網,如果考慮到2個作為保留的特殊地址,那麼需要子網號的總數為7。顯然,選擇子網號位長為3即可滿足使用者要求。

劃分子網後的地址結構如下面所示。我們選擇使用子網掩碼255.255.255.224,那麼子網劃分後的IP地址的子網號為3位,主機號為5位,其結構應該為:3位的子網號表示該機關網路允許有6個子網,5位的主機號表示每個子網上可以有30臺主機。

子網掩碼:255.255.255.0

C類地址:

←              netid                →

←        hostid      →

11111111

11111111

11111111

00000000

(a)未劃分子網

子網掩碼:255.255.255.224

C類掩址:

←           netid                 →

←subnetid→

←hostid→

11111111

11111111

11111111

11100000

(b)劃分子網

使用在以上子網劃分的方案中,該機關網路可用的IP地址為:

子網1:212.26.220.33~212.26.220.62

子網2:212.26.220.65~212.26.220.94

子網3:212.26.220.97~212.26.220.126

子網4:212.26.220.129~212.26.220.158

子網5:212.26.220.161~212.26.220.190

子網6:212.26.220.193~212.26.220.222

理解:子網id的變化為:001 010 011 100 101 110 六種(除去000 和 111) 

      子網主機id的變化為: 00001 00010 00011 00100 00101 00110 00111 01000 ... 11110 30種 (除去 00000 和 11111)

那麼:各子網的範圍是 子網id + 子網主機id最小值 ---- 子網id + 子網主機id最大值。

3、如何根據主機的IP地址判斷是否屬於同一個子網

在很多情況下需要根據兩個主機的IP地址判斷是否屬於同一個子網。判斷兩臺主機是不是在同一個子網中,其標準是看它們的子網地址是不是相同。在比較中需要將它們的地址用二進位制形式表示。

例如,主機1與主機2的IP地址分別為156.26.27.71、156.26.27.110的主機,子網掩碼為255.255.255.192判斷它們是不是在同一個子網上。

解決的方法是:首先用二進位制方式寫出它們的IP地址:

主機1:10010010.00011010.00011011.01000111

主機2:10010010.00011010.00011011.01101110

在一個子網中,所有的主機都具有相同的子網掩碼。當我們知道子網中一臺主機的IP地址與子網掩碼,將IP地址與子網掩碼按位做與(AND)運算,其結果即為為該主機所在子網的子網號。可以將主機1的IP地址與子網掩碼按位做與運算:

主機1的IP地址:

10010010.00011010.00011011.01000111

子網掩碼:

11111111.11111111.11111111.11000000

與運算結果:

10010010.00011010.00011011.01000000

同樣,我們也可以對主機2的IP地址156.26.27.110與子網掩碼的二進位制數,按位做與運算:

主機2的IP地址:

10010010.00011010.00011011.01101110

子網掩碼:

11111111.11111111.11111111.11000000

與運算結果:

10010010.00011010.00011011.01000000

從與運算的結果看,它的子網也是0001101101。這就說明:主機1與主機2的網路號與子網號都相同,因此它們屬於同一個子網。

但是,也不是所有IP地址在表面很相近的主機一定是屬於同一個子網的。

例如:主機3與主機4的IP地址分別為156.26.101.88、156.26.101.132,使用子網掩碼也是255.255.255.192。首先用二進位制方式寫出它們的IP地址:

主機3:10010010.00011010.01100101.01011000

主機4:10010010.00011010.01100101.10101110

根據以上方法進行比較,發現主機3的子網地址為0110010101,而主機4的子網地址為0110010110。那麼,儘管二者的網路號相同,但是由於子網號不同,可以判斷兩臺主機不在同一個子網中。

相同的子網掩碼,不一定是一個子網。

4、可變長度子網掩碼

在某種情況下,需要我們在子網劃分時,子網號的長度是不同的。IP協議允許使用變長子網的劃分。

例如某個公司申請了一個整個C類202.60.31.0的IP地址空間。該公司有100名員工在銷售部門工作,50名員工在財務部門工作,50名員工在設計部門工作。要求我們為銷售部門、財務部門與設計部門分別組建子網。

針對這種情況,我們可以通過可變長度子網掩碼(VLSM)技術,將一個C類IP地址分為3個部分,其中子網1的地址空間是子網2與子網3的地址空間的兩倍。那麼,我們首先可以使用子網掩碼為255.255.255.128將一個C類IP地址劃分為兩半。在二進位制計算中,運算過程是:

主機的IP地址:

11001010.00111100.00011111.00000000

202.60.31.0

子網掩碼:

11111111.11111111.11111111.10000000

255.255.255.128

與運算結果:

11001010.00111100.00011111.00000000

202.60.31.0

運算結果表明:我們可以將202.60.31.1~202.60.31.126作為了網1的IP地址,而將餘下的部分進一步劃分為兩半。由於202.60.31.127第4個位元組是全1,被保留作為廣播地址,不能使用權用,子網1與子網2、子網3的地址空間交界點在202.60.31.128,可以使用子網掩碼255.255.255.192。子網2與子網3的地址空間的計算過程為:

主機的IP地址:

11001010.00111100.00011111.10000000

202.60.31.128

子網掩碼:

11111111.11111111.11111111.11000000

255.255.255.192

與運算結果:

11001010.00111100.00011111.10000000

202.60.31.128

現在我欠可以將平分後的兩個較小的地址空間分配給子網2與子網3。對於子網2來說,第一個可用的地址是202.60.31.129,最後的一個可用的地址 202.60.31.190。子網2的第一個可用的地址是202.60.31.129到202.60.31.190。

因為下一個地址202.60.31.191中191是全1的地址,需要留做廣播地址。接下來的一個地址是202.60.31.192,它是子網3的第一個地址。那麼,子網3的IP地址應該是從202.60.31.193到202.60.31.254。所以,採用變長子網的劃分的三個子網的IP地址分別為:

子網1:202.60.31.1 ~ 202.60.31.126;

子網2:202.60.31.129 ~ 202.60.31.190;

子網3:202.60.31.193 ~ 202.60.31.254。

其中:子網1使用的子網掩碼為255.255.255.128,允許使用的IP地址數為126個;子網2與子網3的子網掩碼為255.255.255.129(兩個子網相同的掩碼,它們可以使用的IP地址數分別為61個。該方案可以滿足公司的要求。

5、無類域間路由的超網掩碼

1、為什麼在研究無類域間路由技術?

A、IP地址的有效利用率問題。

即使我們在劃分子網地址空間,IP地址的有效利用率問題總是存在的,並且我們會發現B類IP地址空間無效消耗問題比較突出。

B、路由器工作交率問題。

希望IP地址空間的利用率能夠接近50%。一種拒絕任何申請B類IP地址空間的要求,除非它的主機數量已經接近6萬臺。

另外一種方法是為它分配多個C類IP地址。這種方法帶來一個新的問題,那就是如果分配給它一個B類IP地址的話,那麼在主幹路由表中只需要儲存1條該網路的路由紀錄;如果分配給這個網路16個C類IP地址,那麼即使它們的路徑相同,在主幹路由表中也需要儲存16條該路由紀錄。這將給主幹路由器帶來額外負荷。

因此,無類域間路由技術需要在提高IP地址利用率與減少主幹路由器負荷兩個方面取得平衡。無類域間路由技術也稱超網技術

2、無類域間路由技術支援多個C類IP地址在邏輯上歸併到單一的網路中,並且在路由表中使用一項來標識這些C類的IP地址。

例如:一個公司需要為254個以上的主機或路由由器分配地址。那麼他們就需要申請兩個完整的C類IP地址如215.60.30.0與215.60.31.0,選擇255.255.254.0作為子網掩碼,這樣就可以將兩個C類IP地址空間合併起來使用

在通常的子網劃分過程中,我們是借用IP地址中的主機號位,作為子網的子網號,而在無類域間路由的地址空間分配中,採用與其相反的思路,我們是借用了IP地址中的網路號位,通過選擇合適的超網掩碼,使得多個C類IP空間在邏輯上屬於同一個網路。下圖給出了子網掩碼與超網掩碼的區別。同時,我們也可以看出:借用網路號位數的多少取決於需要將多少個C類IP地址合併在一個超網中

←              netid                →

←        hostid      →

11111111

11111111

11111111

00000000

←            netid              →

←subnettid→

←hostid→

11111111

11111111

11111111

11

000000

(a)    劃分子網

←              netid                →

←        hostid      →

11111111

11111111

11111111

00000000

←              netid           →

←  hostid    →

11111111

11111111

111111 00

00000000

(b)構成超網

我們可以用例子中兩個C類IP地址215.60.30.0與215.60.31.0與子網掩碼255.255.254.0的運算過程來說明這個問題。

已知第1個C類IP地址空間為215.60.30.0,子網掩碼255.255.254.0,求它的網路地址:

主機的IP地址:

11010111.00111100.00011110.00000000

215.60.30.0

子網掩碼:

11111111.11111111.11111110.10000000

255.255.254.0

與運算結果:

11010111.00111100.00011110.00000000

215.60.30.0

已知第2個C類IP地址空間為215.60.31.0,子網掩碼255.255.254.0,求它的網路地址:

主機的IP地址:

11010111.00111100.00011111.00000000

215.60.31.0

子網掩碼:

11111111.11111111.11111110.10000000

255.255.254.0

與運算結果:

11010111.00111100.00011110.00000000

215.60.30.0

計算結果,兩個子網的網路地址都是215.60.30.0,說明它們同屬於一個邏輯的網路。

 IP地址/ 數字” 是什麼意思?

答:數字是子網掩碼位(數),例如 192.168.5.12 / 21  ,說明子網掩碼由21個1組成,即 子網掩碼是:

11111111 11111111 11111000 00000000  ,也就是255.255.248.0.