Internet組織機構定義了五種IP地址,用于主機的有A、B、C三類地址。其中A類網絡有126個,每個A類網絡可能有16,777,214臺主機,它們處于同一廣播域。而在同一廣播域中有這么多結點是不可能的,網絡會因為廣播通信而飽和,結果造成16,777,214個地址大部分沒有分配出去,形成了浪費。而另一方面,隨著互連網應用的不斷擴大,IP地址資源越來越少。為了實現(xiàn)更小的廣播域并更好地利用主機地址中的每一位,可以把基于類的IP網絡進一步分成更小的網絡,每個子網由路由器界定并分配一個新的子網網絡地址,子網地址是借用基于類的網絡地址的主機部分創(chuàng)建的。劃分子網后,通過使用掩碼,把子網隱藏起來,使得從外部看網絡沒有變化,這就是子網掩碼。
1. 子網掩碼
RFC 950定義了子網掩碼的使用,子網掩碼是一個32位的2進制數(shù),其對應網絡地址的所有位都置為1,對應于主機地址的所有位都置為0。由此可知,A類網絡的缺省的子網掩碼是255.0.0.0,B類網絡的缺省的子網掩碼是255.255.0.0,C類網絡的缺省的子網掩碼是255.255.255.0。將子網掩碼和IP地址按位進行邏輯“與”運算,得到IP地址的網絡地址,剩下的部分就是主機地址,從而區(qū)分出任意IP地址中的網絡地址和主機地址。子網掩碼常用點分十進制表示,我們還可以用網絡前綴法表示子網掩碼,即“/<網絡地址位數(shù)>”。如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,F(xiàn)在主機一要給主機二發(fā)送數(shù)據(jù),先要判斷兩個主機是否在同一網段。
主機一
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
兩個結果不同,也就是說,兩臺主機不在同一網絡,數(shù)據(jù)需先發(fā)送給默認網關,
然后再發(fā)送給主機二所在網絡。那么,假如主機二的
子網掩碼誤設為255.255.255.128,會發(fā)生什么情況呢?
讓我們將主機二的IP地址與錯誤的子網掩碼相“與”:
222.21.160.73 即:11011110.00010101.10100000.01001001
255.255.255.128即:11111111.11111111.11111111.10000000
結果為 11011110.00010101.10100000.00000000
這個結果與主機的網絡地址相同,主機與主機二將被認為處于同一網絡中,數(shù)據(jù)不再發(fā)送給默認網關,而是直接在本網內傳送。由于兩臺主機實際并不在同一網絡中,數(shù)據(jù)包將在本子網內循環(huán),直到超時并拋棄。數(shù)據(jù)不能正確到達目的機,導致網絡傳輸錯誤。反過來,如果兩臺主機的子網掩碼原來都是255.255.255.128,誤將主機二的設為255.255.255.192,主機一向主機二發(fā)送數(shù)據(jù)時,由于IP地址與錯誤的子網掩碼相與,誤認兩臺主機處于不同網絡,則會將本來屬于同一子網內的機器之間的通信當作是跨網傳輸,數(shù)據(jù)包都交給缺省網關處理,這樣勢必增加缺省網關的負擔,造成網絡效率下降。所以,子網掩碼不能任意設置,子網掩碼的設置關系到子網的劃分。
相關推薦:2010年軟件水平考試程序員考試備考資料北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |