李英華(山西省靈石縣第一職業高級中學)
?
子網掩碼應用探究
李英華
(山西省靈石縣第一職業高級中學)
隨著企業網絡規模的不斷擴大,IP地址在規劃和管理中的地位越來越重要,IP地址空間的分配要與網絡層次結構相適應,既要有效利用地址空間,又要體現出網絡的可擴展性和靈活性,同時能滿足路由協議的要求,提高路由算法的效率,加快路由變化的收斂速度,通過對IP地址的管理使網絡管理與維護更加方便。與IP地址關系最密切的就是子網掩碼。
所謂子網掩碼又叫網絡掩碼、地址掩碼,它是一種用來指明一個IP地址的哪些位標識的是主機所在的子網,以及哪些位標識的是主機的位掩碼。子網掩碼不能單獨存在,它必須結合IP地址一起使用。子網掩碼只有一個作用,就是將某個IP地址劃分成網絡地址和主機地址兩部分。
子網掩碼通常有兩種格式的表示方法:一是用與IP地址格式相同的點分十進制表示;二是在IP地址后面加上“/”符號以及1-32的數字,其中數字表示子網掩碼中標識位的長度,也就是“1”的個數。
子網掩碼一共分為兩類。一類是缺省(自動生成)子網掩碼,一類是自定義子網掩碼。缺省子網掩碼即未劃分子網,對應的網絡號的位都置1,主機號都置0。
A.類網絡缺省子網掩碼:255.0.0.0
B.類網絡缺省子網掩碼:255.255.0.0
C.類網絡缺省子網掩碼:255.255.255.0
自定義子網掩碼是將一個網絡劃分為幾個子網,需要每一段使用不同的網絡號或子網號,實際上我們可以認為是將主機號分為兩個部分:子網號、子網主機號。形式如下:
未做子網劃分的IP地址:網絡號+主機號
做子網劃分后的IP地址:網絡號+子網號+子網主機號
也就是說IP地址在劃分子網后,以前的主機號位置的一部分給了子網號,余下的是子網主機號。子網掩碼是32位二進制數,它的子網主機標識用部分為全“0”。利用子網掩碼可以判斷兩臺主機是否在同一子網中。若兩臺主機的IP地址分別與它們的子網掩碼相“與”后的結果相同,則說明這兩臺主機在同一子網中。
首先,針對缺省子網掩碼做幾點說明,在缺省掩碼下的IP地址中,網絡地址和廣播地址的計算很簡單,雖然按照計算方法需要進制轉換和與運算,但是在實際使用當中,我們已經可以快速寫出結果。網絡地址的計算就是子網掩碼中“0”對應的地方變“0”,“255”對應的地方不變即可;而廣播地址則是子網掩碼中“0”對應的地方變“255”,“255”對應的地方不變。其實就廣播地址和網絡地址的計算可以在實際使用的時候衍生出很多題型,判斷同一網絡,同一廣播地址等常見題型,但是現在以缺省掩碼為考察的題型已經很少出現。
例:192.168.3.5255.255.255.0網絡地址為192.168.3.0,廣播地址為192.168.3.255。
其次,自定義子網掩碼(變長子網掩碼)的計算比較多,如果按照定義去利用“與”運算計算結果的話,對于我們中職學生來說是談“制”色變,更別說要對應位進行“與”運算。筆者在多年的從教過程中,總結了一種既可以快速計算,又可以避開進制轉換的方法,今天與大家分享。
現在我們設置三個變量,M代表子網掩碼中既不是0,也不是255的字節上的數;N代表256-M的值;X代表IP地址對應子網掩碼(不是0也不是255)的字節上的數字除以N的商的整數部分;例如IP地址為192.168.1.93 255.255.255.224,那么M=224,N= 256-M=32,X=INT(93/N)=2。三個參數確定以后,計算網絡地址和廣播地址就比較簡單了,掩碼中255對應的字節上的數不變,0對應的部分變0(網絡地址)或255(廣播地址),既不是0也不是255的部分按如下規則變換,網絡地址是N*X,廣播地址是N*(X+1)-1。那么對應IP地址的網絡地址為:192.168.1.(N*X)即192.168.1.64;廣播地址為192.168.1.N*(X+1)-1即192.168.1.95。
我們進一步看例題,例:172.16.59.12255.255.224.0,試計算其網絡地址與廣播地址。按照上面的規則,M=224,N=256-224=32,X=INT(59/N)=1。所以該IP地址的網絡地址為:172.16.32.0廣播地址為:172.16.63.255。
如果遇到是按掩碼中“1”的個數來表示的IP地址掩碼,我們需要首先將其轉換成點分十進制的子網掩碼。按照長度,每有8個“1”轉換一個十進制的“255”,每有8個“0”轉換一個十進制的“0”,當“1”的個數不足8位時,我讓學生記住“1”的個數與掩碼的轉換關系,這樣就解決了學生進制轉換的問題。不足8位的“1”的個數的長度與掩碼的關系如下:1(128),2(192),3(224),4(240),5(248),6 (252),7(254),8(255)。
例1.192.168.3.20/27,轉換成點分十進制的子網掩碼時應該這樣計算,首先,24個“1”可以轉換成3個“255”,剩下的3個“1”轉換成”224”,這樣子網掩碼的結果是:255.255.255.224。
例2.172.16.20.55/21,首先,16個“1”可以轉換成2個“255”,剩下5個“1”轉換成“248”,最后一個字節全為“0”轉換成“0”,那么子網掩碼結果是:255.255.248.0。
現在關于子網掩碼展開的運算可以說在各類考試中均有體現,在我們中職對口升學考試中也是必考知識點,每年的網工考試中也是大量出現,這里就不一一列舉,總之這個運算技巧的發現能夠提高我們中職學生答題的準確率跟速度,在近幾年的考試中已經展示出這種算法的優越性,同時也深受中職生的喜愛。在這里提出這種算法也是想跟同行交流,希望能夠為中職教學提供一些幫助。
參考文獻:
王晶晶,周波.探究IP子網劃分的原理[J].中國管理信息化,2012(10).
作者介簡:李英華,男,34歲,本科,就職于山西省靈石縣第一職業高級中學,技術職稱:講師,從事教學9年。
·編輯董慧紅