子網劃分與子網掩碼的計算

 

1、子網掩碼的計算        TCP/IP網間網技術產生於大型主流機環境中,它能發展到今天的規模是當初的設計者們始料未及的。網間網規模的迅速擴展對IP地址模式的威脅並非它不能保證主機地址的惟一性,而是會帶來兩方面的負擔:第一,巨大的網絡地址管理開銷;第二,網關尋徑急劇膨脹。其中第二點尤其突出,尋徑表的膨脹不只會下降網關尋徑效率(甚至可能使尋徑表溢出,從而形成尋徑故障),更重要的是將增長內外部路徑刷新時的開銷,從而加劇網絡負擔。        所以,迫切須要尋求新的技術,以應付網間網規模增加帶來的問題。仔細分析發現,網間網規模的增加在內部主要表現爲網絡地址的增減,所以解決問題的思路集中在:如何減小網絡地址。因而IP網絡地址的多重複用技術應運而生。經過複用技術,使若干物理網絡共享同一IP網絡地址,無疑將減小網絡地址數。子網編址(subnet addressing)技術,又叫子網尋徑(subnet routing),英文簡稱subnetting,是最普遍使用的IP網絡地址複用方式,目前已經標準化,併成爲IP地址模式的一部分。        32位的IP地址分爲兩部分,即網絡號和主機號,分別把他們叫作IP地址的「網間網部分」和「本地部分」。子網編址技術將「本地部分」進一步劃分爲「物理網絡」部分和「主機」兩部分,其中「物理網絡」部分用於標識同一IP網絡地址下的不一樣物理網絡,常稱爲「掩碼位」、「子網掩碼號」,或者「子網掩碼ID」,不一樣子網就是依據這個掩碼ID來識別的。        按IP協議的子網標準規定,每個使用子網的網點都選擇一個32位的位模式,若位模式中的某位置1,則對應IP地址中的某位爲網絡地址(包括網絡部分和子網掩碼號)中的一位;若位模式中的某位置0,則對應IP地址中的某位爲主機地址中的一位。例如二進制位模式:11111111  11111111  11111111 00000000中,前三個字節全1,表明對應IP地址中最高的三個字節爲網絡地址;後一個字節全0,表明對應IP地址中最後的一個字節爲主機地址。爲了使用的方便,經常使用「點分整數表示法」來表示一個IP地址和子網掩碼,例如B類地址子網掩碼(11111111  11111111  11111111  00000000)爲:255.255.25.0。        IP協議關於子網掩碼的定義提供必定的靈活性,容許子網掩碼中的「0」和「1」位不連續。可是,這樣的子網掩碼給分配主機地址和理解尋徑表都帶來必定困難,而且,極少的路由器支持在子網中使用低序或無序的位,所以在實際應用中一般各網點採用連續方式的子網掩碼。像255.255.255.64和255.255.255.160等一類的子網掩碼不推薦使用子網掩碼與IP地址結合使用,能夠區分出一個網絡地址的網絡號和主機號。例如:有一個C類地址爲:192.9.200.13,按其IP地址類型,它的缺省子網掩碼爲:255.255.255.0,則它的網絡號和主機號可按以下方法獲得:       第1步,將IP地址192.9.200.13轉換爲二進制11000000 00001001 11001000 00001101       第2步,將子網掩碼255.255.255.0轉換爲二進制11111111 11111111 11111111 00000000       第3步,將以上兩個二進制數邏輯進行與(AND)運算,得出的結果即爲網絡部分。「11000000 00001001 11001000 00001101」與「11111111 11111111 11111111 00000000」進行「與」運算後獲得「11000000 00001001 11001000 00000000」,即「192.9.200.0」,這就是這個IP地址的網絡號,或者稱「網絡地址」。第4步,將子網掩碼的二進制值取反後,再與IP地址進行與(AND)運算,獲得的結果即爲主機部分。如將「00000000 00000000 00000000 11111111(子網掩碼的取值)反」與「11000000 00001001 11001000 00001101」進行與運算後獲得「00000000 00000000 00000000 00001101」,即「0.0.0.13」,這就是這個IP地址主機號(可簡化爲「13」)。2、子網掩碼的劃分        若是要將一個網絡劃分紅多個子網,如何肯定這些子網的子網掩碼和IP地址中的網絡號和主機號呢?本節就要向你們介紹。子網劃分的步驟以下:第1步,將要劃分的子網數目轉換爲2的m次方。如要分8個子網,8=23。若是不是愉好是2的多少次方,則取大爲原則,如要劃分爲6個,則一樣要考慮23。第2步,將上一步肯定的冪m按高序佔用主機地址m位後,轉換爲十進制。如m爲3表示主機位中有3位被劃爲「網絡標識號」佔用,因網絡標識號應全爲「1」,因此主機號對應的字節段爲「11100000」。轉換成十進制後爲224,這就最終肯定的子網掩碼。若是是C類網,則子網掩碼爲255.255.255.224;若是是B類網,則子網掩碼爲255.255.224.0;若是是A類網,則子網掩碼爲255.224.0.0。在這裏,子網個數與佔用主機地址位數有以下等式成立:2m≥n。其中,m表示佔用主機地址的位數;n表示劃分的子網個數。根據這些原則,將一個C類網絡分紅4個子網。爲了說明問題,現再舉例。若咱們用的網絡號爲192.9.200,則該C類網內的主機IP地址就是192.9.200.1~192.9.200.254,現將網絡劃分爲4個子網,按照以上步驟:4=22,則表示要佔用主機地址的2個高序位,即爲11000000,轉換爲十進制爲192。這樣就可肯定該子網掩碼爲:192.9.200.192。4個子網的IP地址的劃分是根據被網絡號佔住的兩位排列進行的,這四個IP地址範圍分別爲: (1)第1個子網的IP地址是從「11000000 00001001 11001000 00000001」到「11000000 00001001 11001000 00111110」,注意它們的最後8位中被網絡號佔住的兩位都爲「00」,由於主機號不能全爲「0」和「1」,因此沒有11000000 00001001 11001000 00000000和11000000 00001001 11001000 00111111這兩個IP地址(下同)。注意實際上此時的主機號只有最後面的6位。對應的十進制IP地址範圍爲192.9.200.1~192.9.200.62。而這個子網的子網掩碼(或網絡地址)爲 11000000 00001001 11001000 00000000,爲192.9.200.0。(2)第2個子網的IP地址是從「11000000 00001001 11001000 01000001」到「11000000 00001001 11001000 01111110」 ,注意此時被網絡號所佔住的2位主機號爲「01」。對應的十進制IP地址範圍爲192.9.200.65~192.9.200.126。對應這個子網的子網掩碼(或網絡地址)爲 11000000 00001001 11001000 01000000,爲192.9.200.64。(3)第3個子網的IP地址是從「11000000 00001001 11001000 10000001」到「11000000 00001001 11001000 10111110」 ,注意此時被網絡號所佔住的2位主機號爲「10」。對應的十進制IP地址範圍爲192.9.200.129~192.9.200.190。對應這個子網的子網掩碼(或網絡地址)爲 11000000 00001001 11001000 10000000,爲192.9.200.128。(4)第4個子網的IP地址是從「11000000 00001001 11001000 11000001」到「11000000 00001001 11001000 11111110」 ,注意此時被網絡號所佔住的2位主機號爲「11」。對應的十進制IP地址範圍爲192.9.200.193~192.9.200.254。對應這個子網的子網掩碼(或網絡地址)爲 11000000 00001001 11001000 11000000,爲192.9.200.192。在此列出A、B、C三類網絡子網數目與子網掩碼的轉換表,如表5.1所示,供參考。表1     子網劃分與子網掩碼對應表A類網絡劃分子網數與對應的子網掩碼子網數目        佔用主機號位數        子網掩碼        子網中可容納的主機數2           1        255.128.0.0        83886064           2        255.192.0.0        41943028           3        255.224.0.0        209715016         4        255.240.0.0        104857432         5        255.258.0.0        52428664         6        255.253.0.0        262142128       7        255.254.0.0        131070256       8        255.255.0.0        65534B類網絡劃分子網數與對應的子網掩碼子網數目        佔用主機號位數        子網掩碼        子網中可容納的主機數2          1        255.255.128.0        327664          2        255.255.192.0        163828          3        255.255.224.0        819016        4        255.255.240.0        409432        5        255.255.248.0        204664        6        255.255.252.0        1022128      7        255.255.254.0        510256      8        255.255.255.0        254C類網絡劃分子網數與對應的子網掩碼子網數目        佔用主機號位數        子網掩碼        子網中可容納的主機數2        1        255.255.255.128        1264        2        255.255.255.192        628        3        255.255.255.224        3016       4        255.255.255.240        1432       5        255.255.255.248        664       6        255.255.255.252        23、快速計算子網掩碼的方法        最後介紹三種快速計算機子網掩碼的方法。1. 利用子網數來計算在求子網掩碼以前必須先搞清楚要劃分的子網數目,以及每一個子網內的所需主機數目。而後按如下基本步驟進行計算:第1步,將子網數目轉化爲二進制來表示;第2步,取得子網數二進制的位數(n);第3步,取得該IP地址類的子網掩碼,而後將其主機地址部分的的前n位置「1」,即得出該IP地址劃分子網的子網掩碼。爲了便於理解,現舉例說明以下:現假如要將一B類IP地址168.195.0.0劃分紅27個子網,則它的子網掩碼的計算機方法以下(對應以上各基本步驟):第1步,首先要劃分紅27個子網,「27」的二進制爲「11011」;第2步,該子網數二進制爲五位數,即n = 5;第3步,將該B類地址的子網掩碼255.255.0.0的主機號前5位所有置「1」,便可獲得 255.255.248.0,這就是劃分紅 27個子網的B類IP地址 168.195.0.0的子網掩碼。2. 利用主機數來計算        利用主機數來計算子網掩碼的方法與上相似,基本步驟以下:第1步,將子網中需容納的主機數轉化爲二進制;第2步,若是主機數小於或等於254(由於要去掉保留的兩個IP地址),則取得該主機的二進制位數,爲n,這裏確定 n8,這就是說主機地址將佔據不止8位。第3步,將255.255.255.255的主機地址位數所有置1,而後從後向前的將n位所有置爲 0,即爲子網掩碼值。        舉例以下。如要將一B類IP地址爲168.195.0.0的網絡劃分紅若干子網,要求每一個子網內有主機數爲700臺,則該子網掩碼的計算方法以下(也是對應以上各基本步驟):第1步,首先將子網中要求容納的主機數「700」轉換成二進制,獲得1010111100。第2步,計算出該二進制的位數爲10位,即n = 10第3步,將255.255.255.255從後向前的10位所有置「0」,獲得的二進制數爲「11111111.11111111.11111100.00000000」,轉換成十進制後即爲255.255.252.0,這就是該要劃分紅主機數爲700的B類IP地址 168.195.0.0的子網掩碼。3. 子網ID增量計算法         其基本計算步驟以下:第1步,將所需的子網數轉換爲二進制,如所需劃分的子網數爲「4」,則轉換成成二進制爲00000100; 第2步,取子網數的二進制中有效位數,即爲向缺省子網掩碼中加入的位數(既向主機ID中借用的位數)。如前面的00000100,有效位爲「100」,爲3位;第3步,決定子網掩碼。如IP地址爲B類1129.20.0.0網絡,則缺省子網掩碼爲:255.255.0.0,借用主機ID的3位之後變爲:255.255.224(11100000)0,即將所借的位全表示爲1,用做子網掩碼。 第4步,將所借位的主機ID的起始位段最右邊的「1」轉換爲十進制,即爲每一個子網ID之間的增量,如前面的借位的主機ID起始位段爲「11100000」,最右邊的「1」,轉換成十進制後爲25=32。 第5步,產生的子網ID數爲:2m-2 (m爲向缺省子網掩碼中加入的位數),如本例向子網掩碼中添加的位數爲3,則可用子網ID數爲:23-2=6個; 第6步,將上面產生的子網ID增量附在原網絡ID以後的第一個位段,便造成第一個子網網絡ID 129.20.32.0; 第7步,重複上步操做,在原子網ID基礎上加上一個子網ID增量,依次類推,直到子網ID中的最後位段爲缺省子網掩碼位用主機ID位以後的最後一個位段值,這樣就可獲得全部的子網網絡ID。如缺省子網掩碼位用主機ID位以後的子網ID爲255.255.224.0,其中的「224」爲借用主機ID後子網ID的最後一位段值,因此當子網ID經過以上增長增量的方法獲得129.20.224.0時便終止,不要再添加了。
相關文章
相關標籤/搜索