子網掩碼與劃分管理論文

時間:2022-07-14 08:31:00

導語:子網掩碼與劃分管理論文一文來源于網友上傳,不代表本站觀點,若需要原創文章可咨詢客服老師,歡迎參考。

子網掩碼與劃分管理論文

[摘要]子網掩碼是一個32位地址,用于屏蔽IP地址的一部分以區別網絡地址和主機地址。子網劃分時,子網掩碼設置的不同,所得到的子網不同,每個子網能容納的主機數目不同,若設置錯誤,可能導致數據傳輸錯誤。

[關鍵詞]子網掩碼;網絡地址;主機地址

Internet組織機構定義了五種IP地址,用于主機的有A、B、C三類地址。其中A類網絡有126個,每個A類網絡可能有16,777,214臺主機,它們處于同一廣播域。而在同一廣播域中有這么多結點是不可能的,網絡會因為廣播通信而飽和,結果造成16,777,214個地址大部分沒有分配出去,形成了浪費。而另一方面,隨著互連網應用的不斷擴大,IP地址資源越來越少。為了實現更小的廣播域并更好地利用主機地址中的每一位,可以把基于類的IP網絡進一步分成更小的網絡,每個子網由路由器界定并分配一個新的子網網絡地址,子網地址是借用基于類的網絡地址的主機部分創建的。劃分子網后,通過使用掩碼,把子網隱藏起來,使得從外部看網絡沒有變化,這就是子網掩碼。

1子網掩碼

RFC950定義了子網掩碼的使用,子網掩碼是一個32位的2進制數,其對應網絡地址的所有位都置為1,對應于主機地址的所有位都置為0。由此可知,A類網絡的缺省的子網掩碼是255.0.0.0,B類網絡的缺省的子網掩碼是255.255.0.0,C類網絡的缺省的子網掩碼是255.255.255.0。將子網掩碼和IP地址按位進行邏輯“與”運算,得到IP地址的網絡地址,剩下的部分就是主機地址,從而區分出任意IP地址中的網絡地址和主機地址。子網掩碼常用點分十進制表示,我們還可以用網絡前綴法表示子網掩碼,即“/<網絡地址位數>”。如138.96.0.0/16表示B類網絡138.96.0.0的子網掩碼為255.255.0.0。

子網掩碼告知路由器,地址的哪一部分是網絡地址,哪一部分是主機地址,使路由器正確判斷任意IP地址是否是本網段的,從而正確地進行路由。例如,有兩臺主機,主機一的IP地址為222.21.160.6,子網掩碼為255.255.255.192,主機二的IP地址為222.21.160.73,子網掩碼為255.255.255.192。現在主機一要給主機二發送數據,先要判斷兩個主機是否在同一網段。

主機一

222.21.160.6即:11011110.00010101.10100000.00000110

255.255.255.192即:11111111.11111111.11111111.11000000

按位邏輯與運算結果為:11011110.00010101.10100000.00000000

主機二

222.21.160.73即:11011110.00010101.10100000.01001001

255.255.255.192即:11111111.11111111.11111111.11000000

按位邏輯與運算結果為:11011110.00010101.10100000.01000000

兩個結果不同,也就是說,兩臺主機不在同一網絡,數據需先發送給默認網關,然后再發送給主機二所在網絡。那么,假如主機二的子網掩碼誤設為255.255.255.128,會發生什么情況呢?

讓我們將主機二的IP地址與錯誤的子網掩碼相“與”:

222.21.160.73即:11011110.00010101.10100000.01001001

255.255.255.128即:11111111.11111111.11111111.10000000

結果為11011110.00010101.10100000.00000000

這個結果與主機的網絡地址相同,主機與主機二將被認為處于同一網絡中,數據不再發送給默認網關,而是直接在本網內傳送。由于兩臺主機實際并不在同一網絡中,數據包將在本子網內循環,直到超時并拋棄。數據不能正確到達目的機,導致網絡傳輸錯誤。

反過來,如果兩臺主機的子網掩碼原來都是255.255.255.128,誤將主機二的設為255.255.255.192,主機一向主機二發送數據時,由于IP地址與錯誤的子網掩碼相與,誤認兩臺主機處于不同網絡,則會將本來屬于同一子網內的機器之間的通信當作是跨網傳輸,數據包都交給缺省網關處理,這樣勢必增加缺省網關的負擔,造成網絡效率下降。所以,子網掩碼不能任意設置,子網掩碼的設置關系到子網的劃分。

2子網劃分與掩碼的設置

子網劃分是通過借用IP地址的若干位主機位來充當子網地址從而將原網絡劃分為若干子網而實現的。劃分子網時,隨著子網地址借用主機位數的增多,子網的數目隨之增加,而每個子網中的可用主機數逐漸減少。以C類網絡為例,原有8位主機位,28即256個主機地址,默認子網掩碼255.255.255.0。借用1位主機位,產生21個子網,每個子網有27個主機地址;借用2位主機位,產生22個子網,每個子網有26個主機地址……根據子網ID借用的主機位數,我們可以計算出劃分的子網數、掩碼、每個子網主機數,列表如下:

劃分子網數

子網位數

子網掩碼(二進制)

子網掩碼(十進制)

每個子網主機數

1~2

1

11111111.11111111.11111111.10000000

255.255.255.128

128

3~4

2

11111111.11111111.11111111.11000000

255.255.255.192

64

5~8

3

11111111.11111111.11111111.11100000

255.255.255.224

32

9~16

4

11111111.11111111.11111111.11110000

255.255.255.240

16

17~32

5

11111111.11111111.11111111.11111000

255.255.255.248

8

33~64

6

11111111.11111111.11111111.11111100

255.255.255.252

4

如上表所示的C類網絡中,若子網占用7位主機位時,主機位只剩一位,無論設為0還是1,都意味著主機位是全1或全1。由于主機位全0表示本網絡,全1留作廣播地址,這時子網實際沒有可用主機地址,所以主機位至少應保留2位。

從上表可總結出子網劃分的步驟或者說子網掩碼的計算步驟:

2.1確定要劃分的子網數目以及每個子網的主機數目。

2.2求出子網數目對應二進制數的位數N及主機數目對應二進制數的位數M。

2.3對該IP地址的原子網掩碼,將其主機地址部分的前N位置1或后M位置0即得出該IP地址劃分子網后的子網掩碼。

例如,對B類網絡135.41.0.0/16需要劃分為20個能容納200臺主機的網絡。因為16<20<32,即24<20<25,所以,子網位只須占用5位主機位就可劃分成32個子網,可以滿足劃分成20個子網的要求。B類網絡的默認子網掩碼是255.255.0.0,轉換為二進制為11111111.11111111.00000000.00000000。現在子網又占用了5位主機位,根據子網掩碼的定義,劃分子網后的子網掩碼應該為11111111.11111111.11111000.00000000,轉換為十進制應該為255.255.248.0。現在我們再來看一看每個子網的主機數。子網中可用主機位還有11位,211=2048,去掉主機位全0和全1的情況,還有2046個主機ID可以分配,而子網能容納200臺主機就能滿足需求,按照上述方式劃分子網,每個子網能容納的子網數目遠大于需求的主機數目,造成了IP地址資源的浪費。為了更有效地利用資源,我們也可以根據子網所需主機數來劃分子網。還以上例來說,128<200<256,即27<200<28,也就是說,在B類網絡的16位主機位中,保留8位主機位,其它的16-8=8位當成子網位,可以將B類網絡138.96.0.0劃分成256(28)個能容納256-1-1-1=253臺(去掉全0全1情況和留給路由器的地址)主機的子網。此時的子網掩碼為11111111.11111111.11111111.00000000,轉換為十進制為255.255.255.0。

在上例中,我們分別根據子網數和主機數劃分了子網,得到了兩種不同的結果,都能滿足要求,實際上,子網占用5~8位主機位時所得到的子網都能滿足上述要求,那么,在實際工作中,應按照什么原則來決定占用幾位主機位呢?

在劃分子網時,不僅要考慮目前需要,還應了解將來需要多少子網和主機。對子網掩碼使用比需要更多的主機位,可以得到更多的子網,節約了IP地址資源,若將來需要更多子網時,不用再重新分配IP地址,但每個子網的主機數量有限;反之,子網掩碼使用較少的主機位,每個子網的主機數量允許有更大的增長,但可用子網數量有限。一般來說,一個網絡中的節點數太多,網絡會因為廣播通信而飽和,所以,網絡中的主機數量的增長是有限的,也就是說,在條件允許的情況下,會將更多的主機位用于子網位。

綜上所述,子網掩碼的設置關系到子網的劃分。子網掩碼設置的不同,所得到的子網不同,每個子網能容納的主機數目不同。若設置錯誤,可能導致數據傳輸錯誤。

[參考文獻]

[1]VitoAmato.思科網絡技術學院教程(上冊)[M].北京:人民郵電出版社,2000.

[2]方程.操作系統——Windows2000[M].北京:高等教育出版社,2003.