[轉]網絡基礎知識講座之二:理解子網和CIDR
http://m.shnenglu.com/jerysun0818/archive/2006/05/28/7782.html
歡迎光臨此網絡講座第二講。這一次,我們將學習有關子網和CIDR(無類域間路由)的知識。我們希望能夠以比某些圖書提供的更容易管理的方式學習這些知識。
讓我們先搞清楚一件事情:在子網中是沒有“類別”的。在以前,網絡分為A類、B類和C類。這些網絡只能分為相等的幾部分,因此現在我們引入了可變長度子網掩碼(VLSM)來解決這個問題。老類別的C類網絡是一個24位網絡地址,B類網絡是一個16位網絡地址,A類網絡是一個8位網絡地址(如果你不清楚這個含義,請參閱“理解IP地址”那一講)。這就是你需要了解的有關網絡類別的全部內容。這些網絡類別現在已經不存在了。
一個IP地址由一個主機部分和一個網絡部分組成。與子網掩碼配合使用,你可以確定這個地址中哪一個部分是網絡部分、這個網絡有多大和網絡開始的地方在哪里。操作系統需要知道這些信息,以便確定本地子網使用什么IP地址以及哪些地址屬于外網并需要一臺路由器來訪問那些地址。相鄰的路由器也需要知道這個子網有多大,以便這些路由器僅向這個方向發送合適的通信。一個網絡地址中主機部分與網絡部分的劃分完全是由子網掩碼確定的。
CIDR(發音為“cider”的網絡地址使用網絡/子網掩碼的風格。這個IP地址/子網掩碼的組合能告訴你很多信息:
網絡部分/主機部分
0000000000000000/0000000000000000
上述32位字符串代表一個16位網絡,因為這個地址中的16位被掩蓋了。
在本文中的例子(和現實世界)中,某些子網掩碼被反復提及。這些子網掩碼本身并不特殊。子網地址就是一個簡單的32位字符串,其中有任何位數被掩蓋(MASK)。不過,使用一個常用的子網掩碼(如24位網絡地址)開始研究對于記憶和理解關于子網的概念和劃分非常有利。
讓我們先看一下個標準的子網劃分表,這個表中也包括了一些有趣的其它信息:
子網掩碼位數
|
24位子網數量
|
一個子網的地址數量
|
對主機部分的位挪用
|
/24
|
1
|
256
|
0
|
/25
|
2
|
128
|
1
|
/26
|
4
|
64
|
2
|
/27
|
8
|
32
|
3
|
/28
|
16
|
16
|
4
|
/29
|
32
|
8
|
5
|
/30
|
64
|
4
|
6
|
/31
|
128
|
2
|
7
|
由于是二進制數字,這使一個31位網絡有兩個可用的IP地址。設想一下這個子網:2.2.2.0/31。如果我們以二進制來表達這個網絡地址,這個地址看起來是這樣的:
00000010.00000010.00000010.00000000 (2.2.2.0)
11111111.11111111.11111111.11111110 (31)
子網掩碼“掩蓋”被網絡部分使用的位數。這意味著被掩蓋的位數將用于網絡地址部分。可供主機地址使用的位數等于1。這個數字可以是一個0或者一個1。這就導致了兩個可用的IP地址,就像上面的表格顯示的一樣。另外,從上面的表格中可以看到,子網掩碼(從主機部分挪用的)位數每增加一,子網中可用的地址數量就被削減一半。
現在讓我們來分析“192.168.0.200/26”的廣播地址、網絡地址和掩碼。這個IP地址的掩碼很簡單:為255.255.255.192(26位子網掩碼的含義是主機用6位,2的6次方等于64,255減去64減1等于192)。你能夠在網絡上查到子網地址表。這個表還能為你列出所有的信息。但是,我們更感興趣地是教人們理解這里所發生的事情。這個子網掩碼可以告訴你,這個網絡地址中惟一需要我們關心的部分是最后一個字節:廣播地址和網絡地址的開頭都是192.168.0。
搞清楚這最后一個字節的含義很像是為一個劃分一個24位網絡。但是,如果這個提示對你沒有幫助,你甚至不需要考慮這個問題。每一個26位地址的網絡都有64臺主機。這個網絡的地址范圍是從.0至.63、從.64至.127,從.128至.191,以及從.192至.255。我們的地址192.168.0.200/26在.192至.255網段中。因此,這個網絡的地址是192.168.0.192/26。這個廣播地址就更簡單:192用二進制表示是11000000。取最后的6位數(這些字節被掩碼“關閉”了),把這些字節“打開”,你得到了什么?192.168.0.255。來看一下你是否已經理解了這一切,現在計算192.168.0.44/26的網絡地址和廣播地址。(網絡地址:192.168.0.0/26;廣播地址:192.168.0.63)。
一開始這些地址是很難一下子就看出來。這時制作一個表格會很有幫助。如果你計算出你要每一個子網有6臺主機(包括不能使用的網絡和廣播地址是8臺主機),你就可以制作下面這個表格。下面是2.2.2.0/29、2.2.2.8/29、2.2.2.16/29以及最后一個子網是2.2.2.249/29。
子網編號
|
網絡地址
|
第一個IP
|
最后一個IP
|
廣播地址
|
1
|
2.2.2.0
|
2.2.2.1
|
2.2.2.6
|
2.2.2.7
|
2
|
2.2.2.8
|
2.2.2.9
|
2.2.2.14
|
2.2.2.15
|
3
|
2.2.2.16
|
2.2.2.17
|
2.2.2.22
|
2.2.2.23
|
32
|
2.2.2.249
|
2.2.2.250
|
2.2.2.254
|
2.2.2.255
|
實際上,你很可能偶爾發現這樣的網絡。這種網絡劃分為三個26位網絡地址,并且最后一個26位網絡地址分為兩個27位網絡地址。如果你已經能夠制作上述表格將會更容易理解這個問題。
這就是你需要知道的全部東西。在16位網絡地址和24位網絡地址范圍內使用更大的子網是比較復雜的。但是,原則是一樣的。都是一個32位地址和一個子網掩碼。然而,一定要認識到子網的使用是受到某些限制的。我們不能分配以10.1.0.32開頭的26位網絡地址。如果我們把10.1.0.32/26的IP地址和子網掩碼發送給大多數操作系統,操作系統只會認為我們發送的起始地址是10.1.0.0/26。這是因為26位地址空間需要64個地址,而子網劃分會從這個位數的自然分界線開始。因些,如果在上述表格中,你把某子網從2.2.2.3/29開始?實際的結果卻是2.2.2.0/29。
這些復雜的問題確實需要一個簡明的例子。請記住,當你從這個網絡主機部分提取另一位以便創建一個更大的子網掩碼時,IP地址數量在一個子網內是如何被減少一半的。這個原則在相反的情況下也發揮作用。如果我們有一個擁有128臺主機的25位網絡地址,并且從網絡(掩碼)部分挪用一位,我們現在就有一個擁有256臺主機的24位網絡地址。使用搜索引擎Google在網絡上搜索“subnet table”(子網表),可以立即看到子網掩碼與網絡大小的關系。如果一個16位網絡地址擁有65535個地址,一個17位網絡地址擁有的網絡地址將減少一半,一個15位網絡地址擁有的網絡地址將提高一倍。這是非常令人激動的。實踐,實踐,再實踐。這是讓你理解這個原理的好方法。不要忘記,所有的問題都可以歸結到網絡的位數問題。
如果你要更多地了解子網,下一步應該是閱讀一些路由協議。我們將很快介紹一些路由協議。不過,在這個教程的下一講網絡中,我們先開始我們的OSI模型之旅。
小結
?CIDR IP地址有一個主機部分和一個網絡部分。而子網掩碼指定網絡部分使用的位數,地址中這些位將不會改變。
?子網是通過簡單地在32位數字中上下移動網絡與主機部分的分界來創建。
?如果你從已知的子網掩碼開始學習,復雜的地址是很容易理解的。一個17位網絡地址的數量是一個16位網絡地址的一半。16位網絡中有6.5萬個地址。
posted on 2006-05-28 20:02
Jerry Cat 閱讀(302)
評論(0) 編輯 收藏 引用