計算機網路之計運算元網數詳解
原文地址:https://www.cnblogs.com/qianggezhishen/p/7349501.html
儲存以備複習
計運算元網數詳解
概念普及
一、IP地址概念
IPv4
IPv4地址是一個32位的二進位制數,它由網路ID和主機ID兩部份組成,用來在網路中唯一的標識的一臺計算機。網路ID用來標識計算機所處的網段;主機ID用來標識計算機在網段中的位置。IP地址通常用4組3位十進位制數表示,中間用“.”分隔。比如,192.168.0.1。
IPv6
IPv6前面所講的32位IP地址稱之為IPv4,隨著資訊科技的發展,IPv4可用IP地址數目已經不能滿足人們日常的需要,據權威機構預測到2010年要充分應用資訊科技,每個人至少需要10個IP地址,比如:計算機、筆記本、手機和智慧化冰箱等。為了解決該問題開發了IPv6規範,IPv6用128位表示IP地址,其表示為8組4位16進位制數,中間為“:”分隔。比如,AB32:33ea:89dc:cc47:abcd:ef12:abcd:ef12。
二、IP地址分類
為了方便IP定址將IP地址劃分為A、B、C、D和E五類,每類IP地址對各個IP地址中用來表示網路ID和主機ID的位數作了明確的規定。當主機ID的位數確定之後,一個網路中是多能夠包含的計算機數目也就確定,使用者可根據企業需要靈活選擇一類IP地址構建網路結構。
A類
A類地址用IP地址前8位表示網路ID,用IP地址後24位表示主機ID。A類地址用來表示網路ID的第一位必須以0開始,其他7位可以是任意值,當其他7位全為0是網路ID最小,即為0;當其他7位全為1時網路ID最大,即為127。網路ID不能為0,它有特殊的用途,用來表示所有網段,所以網路ID最小為1;網路ID也不能為127;127用來作為網路迴路測試用。所以A類網路網路ID的有效範圍是1-126共126個網路,每個網路可以包含2^24-2臺主機。
B類
B類地址用IP地址前16位表示網路ID,用IP地址後16位表示主機ID。B類地址用來表示網路ID的前兩位必須以10開始,其他14位可以是任意值,當其他14位全為0是網路ID最小,即為128;當其他14位全為1時網路ID最大,第一個位元組數最大,即為191。B類IP地址第一個位元組的有效範圍為128-191,共16384個B類網路;每個B類網路可以包含2^16-2臺主機(即65534臺主機)。
C類
C類地址用IP地址前24位表示網路ID,用IP地址後8位表示主機ID。C類地址用來表示網路ID的前三位必須以110開始,其他22位可以是任意值,當其他22位全為0是網路ID最小,IP地址的第一個位元組為192;當其他22位全為1時網路ID最大,第一個位元組數最大,即為223。C類IP地址第一個位元組的有效範圍為192-223,共2097152個C類網路;每個C類網路可以包含2^8-2臺主機(即254臺主機)。
D類
D類地址用來多播使用,沒有網路ID和主機ID之分,D類IP地址的第一個位元組前四位必須以1110開始,其他28位可以是任何值,則D類IP地址的有效範圍為224.0.0.0到239.255.255.255。
E類
E類地址保留實驗用,沒有網路ID和主機ID之分,E類IP地址的第一位元組前四位必須以1111開始,其它28位可以是任何值,則E類IP地址的有效範圍為240.0.0.0至255.255.255.254。其中255.255.255.2555表示廣播地址。
在實際應用中,只有A、B和C三類IP地址能夠直接分配給主機,D類和E類不能直接分配給計算機。
三、網路ID、主機ID和子網掩碼
網路ID用來表示計算機屬於哪一個網路,網路ID相同的計算機不需要通過路由器連線就能夠直接通訊,我們把網路ID相同的計算機組成一個網路稱之為本地網路(網段);網路ID不相同的計算機之間通訊必須通過路由器連線,我們把網路ID不相同的計算機稱之為遠端計算機。
當為一臺計算機分配IP地址後,該計算機的IP地址哪部份表示網路ID,哪部份表示主機ID,並不由IP地址所屬的類來確定,而是由子網掩碼確定。子網確定一個IP地址屬於哪一個子網。
子網掩碼的格式是以連續的255後面跟連續的0表示,其中連續的255這部份表示網路ID;連續0部份表示主機ID。比如,子網掩碼255.255.0.0和255.255.255.0。
根據子網掩碼的格式可以發現,子網掩碼有0.0.0.0、255.0.0.0、255.255.0.0、255.255.255.0和255.255.255.255共五種。採用這種格式的子網掩碼每個網路中主機的數目相差至少為256倍,不利於靈活根據企業需要分配IP地址。比如,一個企業有2000臺計算機,使用者要麼為其分配子網掩為255.255.0.0,那麼該網路可包含65534臺計算機,將造成63534個IP地址的浪費;要麼使用者為其分配8個255.255.255.0網路,那麼必須用路由器連線這個8個網路,造成網路管理和維護的負擔。
網路ID是IP地址與子網掩碼進行與運算獲得,即將IP地址中表示主機ID的部份全部變為0,表示網路ID的部份保持不變,則網路ID的格式與IP地址相同都是32位的二進位制數;主機ID就是表示主機ID的部份。
例題1:IP地址:192.168.23.35
子網掩碼:255.255.0.0
網路ID:192.168.0.0 主機ID:23.35
例題2:IP地址:192.168.23.35
子網掩碼:255.255.255.0
網路ID:192.168.23.0 主機ID:35
四、子網和CIDR
將常規的子網掩碼轉換為二進位制,將發現子網掩格式為連續的二進位制1跟連續0,其中子網掩碼中為1的部份表示網路ID,子網掩中為0的表示主機ID。比如255.255.0.0轉換為二進位制為11111111 11111111 00000000 00000000。
在前面所舉的例子中為什麼不用連續的1部份表示網路ID,連續的0部份表示主機ID呢?答案是肯定的,採用這種方案的IP定址技術稱之為無類域間路由(CIDR)。CIDR技術用子網掩碼中連續的1部份表示網路ID,連續的0部份表示主機ID。比如,網路中包含2000臺計算機,只需要用11位表示主機ID,用21位表網路ID,則子網掩碼錶示為11111111.11111111.11100000.00000000,轉換為十進位制則為255.255.224.0。此時,該網路將包含2046臺計算機,既不會造成IP地址的浪費,也不會利用路由器連線網路,增加額外的管理維護量。
CIDR表示方法:IP地址/網路ID的位數,比如192.168.23.35/21 ,其中用21位表示網路ID。
例題1:192.168.23.35/21
192.168.23.35/21 子網掩碼:11111111 11111111 11111000 00000000則為255.255.248.0
網路ID:192.168.00010111.0(其中第三個位元組00010部分表示網路ID,其他表示主機ID,網路ID是表示網路ID部份保持不變主機ID全部變為0)則網路ID為192.168.16.0
起始IP地址:192.168.16.1(主機ID不能全為0,全為0表示網路ID最後一位為1)
結束IP地址:192.168.00010111.11111110(主機ID不能全為1,全為1表示本地廣播)則結束IP地址為:192.168.23.254。
例題2:將163.135.0.0劃分為16個子網,計算前兩個子網的網路ID、子網掩碼、起止IP地址。
第1步:用CIDR表示163.135.0.0/20 163.135.0.0/20 ,則子網掩碼為255.255.240(11110000).0。
第2步:第一網路ID(子網掩碼與IP地址與運算):163.135.0.0
第一個IP地址:163.135.0.1 結束IP地址:163.135.15.254;
第3步:第二網路ID:163.135.16.0
第一個IP地址:163.135.16.1 結束IP地址:163.135.31.254。
五、子網掩碼和網路ID的快速計算方法
CIDR的子網掩碼都是連續的1跟連線的0表示,則子網掩碼有以下幾種表示方法:
0000 0000 0
1000 0000 128
1100 0000 128+64=192
1110 0000 128+64+32=224
1111 0000 255-15=240
1111 1000 255-7=248
1111 1100 255-3=252
1111 1110 255-1=254
1111 1111 255
大家都知道11111111的十進位制數為255,那麼我們怎麼來快速計運算元網掩碼呢?二進位制的1=1,11=3,111=7,1111=15;那麼1111 1110=255-1,1111 1100=255-3,1111 1000=255-8,1111 0000=255-15這樣是不是就很快呢?只要我們一旦確定子網掩碼中有多少位表示網路ID,那麼我們馬上就可以寫出子網掩碼了。那麼,對於1000 0000,1100 0000和1110 0000 我們又該怎麼計算呢?27=8則1000 0000=128,1100 0000=128+64,1110 0000=128+64+32,所以我們不需要去記住每一個為多少,只需要做做簡單的加減法就搞定子網掩碼的計算。
六、本地和遠端網路概念
網路ID相同的計算機稱之為本地網路,本地網路中的計算機相互通訊不需要路由器連線;網路ID不相同的計算機稱之為遠端網路,遠端網路中的計算機要相互通訊必須通過路由器連線。
例題:192.168.10.14/28 192.168.10.14/28 ,192.168.10.15/28 192.168.10.15/28 ,192.168.10.16/28 192.168.10.16/28 ,192.168.10.31/28 192.168.10.31/28 哪些是合法IP,哪些是非法IP地址?
主機ID全為0和主機ID全為1的為非法IP地址:192.168.10.15/28、192.158.10.16/28、192.168.10.31/28 192.168.10.15/28、192.158.10.16/28、192.168.10.31/28 都是非法IP地址。
例題:192.168.10.14/28 192.168.10.14/28 ,192.168.10.15/28 192.168.10.15/28 ,192.168.10.16/28 192.168.10.16/28 哪個不是同一網段?
網路ID相同的就屬於同一網段,則192.168.10.16/28 192.168.10.16/28 不屬於同一網段。
七、子網數和主機數的計算方法
例題:172.168.34.56/20 172.168.34.56/20 ,一共劃分為了多少個子網,各子網可以包含多少臺主機。
172.168.34.56是一個B類地址,B類地址用16位表示網路ID,題目中20位表示網路ID,則子網位數為4位,那麼子網就有24次個(即從0000、0001到1111的16種變化)。
由於IP地址是32位,用20位表示網路ID,則主機ID的位數為12位,則每個子網可以包含212-2個IP地址,即可以包含4096個IP地址。
八、公共IP和私有IP地址
IP地址由IANA(Internet地址分配機構)管理和分配,任何一個IP地址要能夠在Internet上使用就必須由IANA分配,IANA分配的能夠在Internet上正常使用的IP地址稱之為公共IP地址;IANA保留了一部份IP地址沒有分配給任何機構和個人,這部份IP地址不能在Internet上使用,此類IP地址就稱之為私有IP地址。為什麼私有IP地址不能在Internet上使用呢?因為Internet上沒有私有IP地址的路由。私有IP地址範圍包括:
A類:10.0.0.0/8 10.0.0.0/8 B類:172.16.0.0/12 172.16.0.0/12 即172.16.0.1-172.31.255.254共16個B類網路
C類:192.168.0.0/16 192.168.0.0/16 即192.168.0.1-192.168.255.254共256個C類網路