王偉
摘要:子網(wǎng)掩碼用來區(qū)分IP地址中的網(wǎng)絡號和主機號并將網(wǎng)絡劃分為幾個更小的子網(wǎng)。用子網(wǎng)掩碼劃分子網(wǎng)可提高地址的利用率,提高傳輸率并防止數(shù)據(jù)傳輸錯誤。該文對子網(wǎng)掩碼的計算和子網(wǎng)劃分的方法進行了分析探討。
關鍵詞:局域網(wǎng);子網(wǎng)掩碼;劃分研究
中圖分類號:TP393文獻標識碼:A文章編號:1009-3044(2012)01-0024-02
互聯(lián)網(wǎng)地址中的A、B、C三類用于表示Host。A類總計有126個A類網(wǎng)絡,每個網(wǎng)絡有254臺Host,且這些Host都在同一廣播域。眾多Host位于同一廣播域時的相互干擾很嚴重,大量數(shù)據(jù)包會使得通信能力飽和甚至導致網(wǎng)絡癱瘓,造成多數(shù)IP由于不能分配出去而浪費。Internet的迅猛發(fā)展使得IP資源趨向枯竭,為有效利用IP并將廣播范圍變小,同時充分利用Host地址中的每一位,通常把基于A、B、C類的IP網(wǎng)絡細分成更多子網(wǎng)。每個子網(wǎng)由Router進行分段并給定劃分后該子網(wǎng)的新IP,子網(wǎng)掩碼是使用大類的網(wǎng)絡地址的Host位計算得出的。劃分子網(wǎng)后,用子網(wǎng)掩碼將各子網(wǎng)分開,通信時各子網(wǎng)好像真實獨立運行的網(wǎng)絡一樣,這就是子網(wǎng)
掩碼的作用[1]。
1子網(wǎng)掩碼
1.1子網(wǎng)掩碼
RFC950對子網(wǎng)掩碼的定義:它是一個用于TCP/IP Network的32位二進制值,它可以辨別IP地址的網(wǎng)絡地址部分和主機地址部分。子網(wǎng)掩碼由32位的2進制數(shù)組成,長度與IP地址相同。子網(wǎng)掩碼對應的網(wǎng)絡部分的所有2進制位均設為1,其對應Host的所有位均設為0。A、B和C類網(wǎng)絡的缺省子網(wǎng)掩碼分別是255.0.0.0、255.255.0.0、255.255.255.0[1]。
1.2子網(wǎng)掩碼的應用
1.2.1計算主機號和網(wǎng)絡號
Subnet mask和IP Address結(jié)合在一起才能有效使用,可辨別IP地址的網(wǎng)絡號和主機號。例如一個C類地址193.176.136.13,其子網(wǎng)掩碼為255.255.255.0,則其網(wǎng)絡號和主機號可這樣計算:將IP地址和子網(wǎng)掩碼均轉(zhuǎn)換成二進制數(shù)表達,將這兩個二進制數(shù)進行AND運算,其結(jié)果再轉(zhuǎn)換成十進制數(shù)為193.176.136.0,即知該IP的網(wǎng)絡號是193.176.136。再將子網(wǎng)掩碼按位取反后同這個IP地址進行AND運算,得0.0.0.13,即知該IP地址的主機號為13。
1.2.2判斷IP地址的網(wǎng)段歸屬。
子網(wǎng)掩碼可區(qū)分任意的主機是否在同一個網(wǎng)絡中。將兩臺主機的IP和子網(wǎng)掩碼首先轉(zhuǎn)換成二進制數(shù)表示,然后將IP和子網(wǎng)掩碼進行AND計算。計算得到的網(wǎng)絡號相同,則說明這兩臺主機屬于同一網(wǎng)段,可直接進行通信。例如兩臺主機的IP分別為196.138.160.32和196.138.160.108,子網(wǎng)掩碼都為255.255.255.0,按照上面方法進行運算,結(jié)果均為196.138.160.0,即網(wǎng)絡號為196.138.160,說明兩臺主機處于同一網(wǎng)段。
1.3子網(wǎng)掩碼設置錯誤的負面影響
Router可根據(jù)Subnet mask來區(qū)分IP Address中的網(wǎng)絡地址部分和主機地址部分,使Router準確區(qū)分IP是否屬于某個網(wǎng)段。以兩個IP通信為例,Router根據(jù)IP和Subnet mask進行AND運算后得到的Network Address來判斷數(shù)據(jù)包的去向。假如Subnet mask計算或者設置有誤將會產(chǎn)生如下負面作用[2]:1)子網(wǎng)掩碼設置錯誤,導致處于不同子網(wǎng)的兩臺主機的IP與該錯誤子網(wǎng)掩碼計算出的網(wǎng)絡地址表明兩者在同一子網(wǎng)中,則數(shù)據(jù)將在本網(wǎng)內(nèi)傳遞。因兩臺主機的IP地址并不在同一子網(wǎng),所以數(shù)據(jù)包會在本地網(wǎng)內(nèi)往復傳送,最終超時丟棄。數(shù)據(jù)包無法傳輸?shù)侥繕薍ost,造成數(shù)據(jù)傳輸錯誤并耗費帶寬。2)IP地址與有誤的Subnet mask進行運算,導致本在同一子網(wǎng)的兩臺主機被判斷為位于不同子網(wǎng),則數(shù)據(jù)包會發(fā)送給默認網(wǎng)關處理,進行跨網(wǎng)傳送,最后數(shù)據(jù)不能到達目標HOST,且導致網(wǎng)關負載加重和網(wǎng)絡傳輸性能受影響。。
2子網(wǎng)的劃分方法
2.1子網(wǎng)劃分的方法
子網(wǎng)劃分是將IP地址主機位中的一些位用來表示子網(wǎng),余下部分仍用于表示主機,則IP地址經(jīng)過劃分后由網(wǎng)絡號、子網(wǎng)號和主機號三部分組成。用于子網(wǎng)的Host位越多,則子網(wǎng)數(shù)也越多,子網(wǎng)中的Host數(shù)就越少。網(wǎng)絡位全0的網(wǎng)絡表示本地網(wǎng)絡,因此劃分后的子網(wǎng)號部分不能全0,全0表示本地子網(wǎng);網(wǎng)絡位全為1的網(wǎng)絡號表示廣播地址,所以子網(wǎng)號也不能全1,全1地址用于子網(wǎng)的廣播。另外,Host位全0表明本網(wǎng)絡,全1表明廣播地址,此時子網(wǎng)沒有實際可用的Host IP,因此Host位最少是2位。
在子網(wǎng)劃分中,將子網(wǎng)掩碼和IP地址按位進行AND計算是獲得子網(wǎng)地址的主要方法。通常子網(wǎng)劃分的方法是[2]:⑴據(jù)實際情況確定需要劃分的子網(wǎng)數(shù)和每個子網(wǎng)容納的Host數(shù);⑵計算出子網(wǎng)數(shù)所需要的二進制位數(shù)n以及主機數(shù)所需要的二進制位數(shù)m;⑶最后對IP基于類的子網(wǎng)掩碼的主機地址的前n位設為1,余下的m位設為0,所得為該IP劃分子網(wǎng)所需的子網(wǎng)掩碼。最后,根據(jù)子網(wǎng)掩碼進行網(wǎng)絡劃分即可。
2.2子網(wǎng)劃分應用舉例
這里舉例介紹如何使用擴展的子網(wǎng)掩碼來進行子網(wǎng)劃分。例如,某公司有5個位于不同地點的部門,業(yè)務需要每個部門都要建立自己的子網(wǎng)。各部門依次為甲、乙、丙、丁、戊,各部門Host數(shù)量分別為20、28、36、48、52?,F(xiàn)公司申請一個C類IP地址192.168.58.0,請根據(jù)各部門情況為其設置子網(wǎng)掩碼。分析:C類IP地址的默認子網(wǎng)掩碼是255.255.255.0,利用192.168.58.0產(chǎn)生出其他IP地址,關鍵在于如何利用好第4個字節(jié)。要劃分5個子網(wǎng),子網(wǎng)的網(wǎng)絡標識位至少要能表達5種可用的子網(wǎng)。若標識位有3位,除過全為0和全為1的形式,還余23-2=6種即能劃分為6個子網(wǎng);其余5位表示主機位,各個子網(wǎng)容納的Host最多為25-2=30臺。若將原來的主機位拿出3位來劃分子網(wǎng),部門甲、乙的子網(wǎng)掩碼就設為11111111.11111111.11111111 11100000,即255.255.255.224,從劃分的6個子網(wǎng)中任選2個子網(wǎng)分配給部門甲、乙就可滿足要求。對于部門丙、丁、戊其主機數(shù)大于30,只有增加主機的位數(shù)才能滿足其要求。如果用后6位表示主機位,最多可有26-2=62臺主機,完全滿足需要。此時可以表示的子網(wǎng)數(shù)只有22-2=2個,只能滿足2個部門的需要。我們這里先將其分配給部門丙、丁,丙、丁的子網(wǎng)掩碼即為:11111111.11111111.11111111.11000000即十進制255.255.255.192。具體分配如下,丙的子網(wǎng)192.168.58.65-192.168.58.126;丁的子網(wǎng):192.168.58.129-192.168.58.190。對于部門戊可以再申請一個C類IP地址??偨Y(jié):如果分別為5個部門申請5個C類IP,不僅會造成IP地址的浪費,而且也會增加公司的經(jīng)濟開銷。利用擴展子網(wǎng)掩碼就可以派生出更多子網(wǎng)解決此類問題。
3 Subnet mask計算結(jié)果的選擇與Subnet劃分
依前述劃分方法,可利用Subnet數(shù)或Host數(shù)計算子網(wǎng)掩碼,方法不同則結(jié)果不同,依據(jù)子網(wǎng)掩碼劃分后的子網(wǎng)數(shù)和每個子網(wǎng)的Host數(shù)也不同,應用效果也不同,這里對這個問題進行探討。
3.1根據(jù)子網(wǎng)數(shù)來計算子網(wǎng)掩碼[3]
在求子網(wǎng)掩碼之前應先明確需要的Subnet數(shù)及每個子網(wǎng)內(nèi)的Host數(shù)。用子網(wǎng)數(shù)計算子網(wǎng)掩碼的步驟:①將子網(wǎng)數(shù)轉(zhuǎn)化為二進制表示;②取得該二進制數(shù)的位數(shù),為n;③取得該IP地址的類子網(wǎng)掩碼,將其主機地址部分的前n位置1即得到該IP劃分子網(wǎng)時的子網(wǎng)掩碼。舉例說明:若給定B類網(wǎng)絡191.63.0.0/16要劃分為9個最大能容納180臺主機的子網(wǎng)。由于8<9<16,即23<9<24,故子網(wǎng)號位借用4位主機號的二進制即可得到16個Subnet,滿足劃分9個Subnet的需求。B類默認子網(wǎng)掩碼為255.255.0.0,即1111111.11111111.00000000.00000000,則將Subnet mask后16位0的前4位置為1,即得劃分子網(wǎng)后的子網(wǎng)掩碼應該為11111111.11111111.11110000.00000000,即255.255.240.0。余下的主機位有12位,即得到212-2=4096個主機地址,完全滿足最大主機數(shù)180,顯然地址浪費嚴重。
3.2根據(jù)主機數(shù)來計算子網(wǎng)掩碼[3]
步驟:①將Host數(shù)轉(zhuǎn)化為二進制表示;②若Host數(shù)<=254(去掉IP全0和全1的),則取得該Host的二進制位數(shù)為m, m<8,若>=254,則m>8,即Host地址將占不止8位;③使用255.255.255.255來將該類IP的Host Address位全置1,然后從后向前地將m位全置為0,即得子網(wǎng)掩碼。繼續(xù)前例研究,128<180<256,即27<200<28,即可知從16位的主機位中取出8位即可滿足要求,其余8位可作為子網(wǎng)位,此時有28-2=254個子網(wǎng),也能滿足子網(wǎng)數(shù)要求,即知Subnet mask為255.255.255.0。
上面分別使用子網(wǎng)數(shù)和Host數(shù)進行子網(wǎng)劃分得到了兩種不同結(jié)果,均符合要求。在實際子網(wǎng)劃分時要考慮需要的子網(wǎng)數(shù)以及每個子網(wǎng)容納的Host數(shù);另外,不僅要著眼當前還要預測未來。若子網(wǎng)掩碼占用較多Host位,可獲得較多子網(wǎng)數(shù)并節(jié)約了IP,未來再要子網(wǎng)則不必重新分配IP,但子網(wǎng)內(nèi)的Host會較少;若Subnet mask占用較少的Host位,單個子網(wǎng)中Host會很多,子網(wǎng)數(shù)則有限。通常網(wǎng)絡中Host太多會因為廣播通信多而飽和,因此Host增加是有限的,應將較多的Host位用于子網(wǎng)[4]。
子網(wǎng)掩碼不能隨意設定。若Subnet mask過大,子網(wǎng)的地址范圍會很大,據(jù)尋徑規(guī)則,源Host可能將與其不在同一子網(wǎng)的目的Host誤判為在同一子網(wǎng)中,將數(shù)據(jù)在本子網(wǎng)內(nèi)往復傳送直至超時被棄,數(shù)據(jù)不能送達目的Host。若Subnet mask較小,則子網(wǎng)內(nèi)Host會較少,此時本應在同一網(wǎng)段的數(shù)據(jù)通信會被誤判為在不同網(wǎng)段間的傳輸,數(shù)據(jù)都發(fā)到默認網(wǎng)關處理,網(wǎng)關負載會很重并導致傳輸效率降低。因此,子網(wǎng)掩碼的選擇和子網(wǎng)劃分應綜合考慮網(wǎng)絡的規(guī)模和應用效果來決定而不只依靠計算的結(jié)果。
4結(jié)束語
綜上,子網(wǎng)掩碼決定劃分的子網(wǎng)數(shù)和每個子網(wǎng)中的Host數(shù)。若子網(wǎng)掩碼設置不當,數(shù)據(jù)傳輸就會出錯,網(wǎng)絡傳輸性能下降且導致IP地址浪費。只有根據(jù)具體問題,確定合理的子網(wǎng)數(shù)和Host數(shù)才能計算選擇出合適的子網(wǎng)掩碼并進行合理的子網(wǎng)劃分。
參考文獻:
[1]龍根炳.IP地址的設計與應用[J].銅仁職業(yè)技術學院學報,2007(3).
[2]羅東.解析IP地址原理及應用[J].重慶文理學院學報(自然科學版),2007(4).
[3]周麗娟.淺談子網(wǎng)掩碼與子網(wǎng)劃分[J].山西財經(jīng)大學學報,2007(1).