早期的ip地址划分:
最初設計互聯網絡時,為了便於尋址以及層次化構造網絡,每個IP地址包括兩個標識碼(ID),即網絡ID和主機ID。同一個物理網絡上的所有主機都使用同一個網絡ID,網絡上的一個主機(包括網絡上工作站,服務器和路由器等)有一個主機ID與其對應。
IP地址是一個32位的二進制字符,為了方便人類的記憶,所以,通常人們會將二進制的IP地址表示成十進制的格式,沒每八位分割一下,即分成四段。(后來數字也不太容易記憶,所以,人們就用字符(域名,例如:www.jd.com)來表示IP地址,每次上網的時候,通過DNS服務器,將字符(域名)解析成IP地址,然后才能上網,這個暫且不提。)
網絡ID:用來標識計算機所處的網段,網絡ID相同的計算機不需要通過路由器連接就能夠直接通信,我們把網絡ID相同的計算機組成一個網絡稱之為本地網絡(網段);網絡ID不相同的計算機之間通信必須通過路由器連接,我們把網絡ID不相同的計算機稱之為遠程計算機。網絡ID是IP地址與子網掩碼進行與運算獲得,即將IP地址中表示主機ID的部份全部變為0,表示網絡ID的部份保持不變。
主機ID:用來標識計該台主機在網段中的位置。
IP地址根據網絡ID的不同分為5種類型,A類地址、B類地址、C類地址、D類地址和E類地址。
A類:A類IP地址:一個A類IP地址由1字節的網絡地址和3字節主機地址組成,網絡地址的最高位必須是“0”, 地址范圍從1.0.0.0 到126.0.0.0。可用的A類網絡有126個,每個網絡能容納1億多個主機。
0 000 0000 - 0 111 1111: 0-127
網絡數: 2^7(1~126)(0:用於表示未知地址,127表示回環地址,兩個都不能用)
每個網絡中的主機數: 2^24-2
注意:主機位全0,表示網絡ID,防止發生混淆;
注意:主機位全1表示本網段內的廣播地址。所以每個網段中的第一個與最后一個都不能使用。
默認子網掩碼: 255.0.0.0
私網地址:10.0.0.0
B類:B類IP地址:一個B類IP地址由2個字節的網絡地址和2個字節的主機地址組成,網絡地址的最高位必須是“10”,地址范圍從128.0.0.0到191.255.255.255。可用的B類網絡有16382個,每個網絡能容納6萬多個主機 。
10 00 0000 - 10 11 1111: 128-191
網絡數: 2^14(128~191)
每個網絡中的主機數: 2^16-2
默認子網掩碼: 255.255.0.0
私網地址: 172.16.0.0-172.31.0.0
C類:C類IP地址:一個C類IP地址由3字節的網絡地址和1字節的主機地址組成,網絡地址的最高位必須是“110”。范圍從192.0.0.0到223.255.255.255。C類網絡可達209萬余個,每個網絡能容納254個主機。
110 0 0000 - 110 1 1111: 192-223
網絡數: 2^21(192~223)
每個網絡中的主機數: 2^8-2
默認子網掩碼: 255.255.255.0
私網地址: 192.168.0.0-192.168.255.0
D類:D類地址用於多點廣播(Multicast):D類IP地址第一個字節以“1110”開始,它是一個專門保留的地址。它並不指向特定的網絡,目前這一類地址被用在多點廣播(Multicast)中。多點廣播地址用來一次尋址一組計算機,它標識共享同一協議的一組計算機。224.0.0.0到239.255.255.255用於多點廣播 。
1110 0000 - 1110 1111: 224-239
E類:240-255:ping十進制的ip地址也可以ping通。
特殊地址:
(0.0.0.0)地址對應於未知地址。指在本機的路由表里沒有特定條目指明如何到達。一般用戶主機為了獲得一個可用的IP地址,就給DHCP服務器發送IP分組,並用這樣的地址作為源地址,目的地址為255.255.255.255(因為主機此時並沒有自己的確定的IP地址,防止自己隨便定的IP地址與別的主機發生沖突。)。
(255.255.255.255)是當前子網的廣播地址。這個地址指本網段內(同一個廣播域)的所有主機,該地址用於主機配置過程中IP數據包的目的地址(例如通過DHCP服務器獲取本機的IP地址的時候,由於不知道DHCP服務器的IP地址,便會通知數據鏈路層,發送廣播包,來尋找DHCP),這時主機可能還不知道它所在網絡的網絡掩碼,甚至連它的IP地址也還不知道。在任何情況下,路由器都會禁止轉發目的地址為受限的廣播地址的數據包,這樣的數據包僅會出現在本地網絡中。
(127...*)是一個A類地址,但是它已被保留作閉環(look back ),一般用作測試之用而不能分配給一個網絡。127中的所有地址都代表發送方自己。
(169.254..)僅限於windows使用,如果你的主機是使用DHCP功能,來自動獲得一個IP地址的。那么當你的DHCP服務器發生故障或響應時間太長而超出系統規定的一個時間,Windows系統會為你分配這樣一個地址。如果你發現你的 主機IP地址是個諸如此類的地址,很不幸,十有八九是你的網絡不能正常運行了,linux沒有這種現象。
(私有地址)在IP地址3種主要類型里,各保留了3個區域作為私有地址,其地址范圍如下:
A類地址:10.0.0.0~10.255.255.255
B類地址:172.16.0.0~172.31.255.255 (16個B類)
C類地址:192.168.0.0~192.168.255.255
私有地址,這些地址被大量用於企業內部網絡中。一些寬帶路由器,也往往使用192.168.1.1作為缺省地址。私有網絡由於不與外部互連,因而可能使用隨意的IP地址。保留這樣的地址供其使用是為了避免以后接入公網時引起地址混亂。使用私有地址的私有網絡在接入Internet時,要使用地址翻譯 (nat),將私有地址翻譯成公用合法地址。在Internet上,這類地址是不能出現的。
(直接廣播地址)主機位全為1,網段中的最后一個地址為直接廣播地址。主機使用這種地址把一個IP數據報發送到本地網段的所有設備上,路由器會轉發這種數據報到特定網絡上的所有主機。注意:這個地址在IP數據報中只能作為目的地址。另外,直接廣播地址使一個網段中可分配給設備的地址數減少了1個。
(子網中的第一個IP)主機位全為0的地址,用作標識網絡ID,一個網段中可分配給設備的地址數會減少1個。
(網絡位為0的IP地址)當某個主機向同一網段上的其他主機發送報文時就可以使用這樣的地址,分組也不會被路由器轉發。比如12.12.12.0/24這個網絡中的一台主機12.12.12.2/24在與同一網絡中的另一台主12.12.12.8/24通信時,目的地址可以是0.0.0.8。
CIDR:無類域間路由
由於早期的IP地址的划分會浪費太多的IP地址,所以,現在都是用CIDR表示法,為此引入了子網掩碼的概念,即網絡位的個數可以任意指定。該方法兼容早期的IP划分方法。
CIDR表示方法:IP地址/網絡ID的位數(網段的划分更加靈活)
子網掩碼:子網掩碼的作用,就是將某個IP地址划分成網絡地址和主機地址兩部分。子網掩碼是一個32位地址,用於屏蔽IP地址的一部分,並說明該IP地址是在局域網上,還是在遠程網上,具體方法待會兒再講。子網掩碼不能單獨存在,它必須結合IP地址一起使用。子網掩碼的二進制格式中的網絡位全為1。這樣二進制格式的子網掩碼和二進制的IP地址進行“與”運算,可以得出該IP地址的網絡位。
允許的子網掩碼的值:
10000000-128;11000000-192;11100000-224;11110000-240;
11111000-248;11111100-252;11111110-254;11111111-255;
最小IP:主機ID不能全為0,全為0表示網絡ID
最大IP:主機ID不能全為1,全為1表示本地廣播
CIDR技術用子網掩碼中連續的1部份表示網絡ID,連續的0部份表示主機ID。比如,網絡中包含2000台計算機,只需要用11位表示 主機ID,用21位表網絡ID,則子網掩碼表示為11111111.11111111.11100000.00000000,轉換為十進制則為 255.255.224.0。此時,該網絡將包含2046台計算機,既不會造成IP地址的浪費,也不會利用路由器連接網絡,增加額外的管理維護量。
例1:192.168.23.35/21計算子網的網絡ID、子網掩碼、起止IP地址?
子網掩碼:11111111 11111111 11111-000 00000000(子網掩碼)=255.255.248.0(子網掩碼的第二種表示方法。)
網絡ID:192.168.16.0(192.168.00010111.0和子網掩碼進行“與”運算。)
起始IP地址:192.168.16.1(192.168.16.0是本網端中的第一個IP,可是他已經表示網絡ID了,所以,為了避免與該IP地址與網絡ID混淆,所以,起始IP為192.168.16.1。)
結束IP地址:192.168.23.254(192.168.00010(網絡位)-111.11111110(主機位)主機ID不能全為1,全為1表示本地廣播。)
例2:將163.135.0.0/20划分為16個子網,計算第一個和最后一個子網的網絡ID、子網掩碼、起止IP地址?
第1步:用CIDR表示163.135.0.0/20,則子網掩碼為255.255.240(11110000).0。
第2步:第一網絡ID(子網掩碼與IP地址與運算):163.135.16.0(163.135.0000-0000.0)
第一個IP地址:163.135.0.1
結束IP地址:163.135.15.254
第3步:第二網絡ID:163.135.16.0(163.135.0000-1111.0)
第一個IP地址:163.135.16.1
結束IP地址:163.135.31.254
例3:192.168.10.14/28,192.168.10.15/28,192.168.10.16/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都是非法IP地址。
例4:192.168.10.14/28,192.168.10.15/28,192.168.10.16/28哪個不是同一網段?
網絡ID相同的就屬於同一網段,則192.168.10.16/28不屬於同一網段。(192.168.10.14/28,192.168.10.15/28屬於非法IP,但是他仍然屬於192.168.0.0網段)
例5: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地址。
划分子網:將一個大網絡(主機ID位多)划分多個小的網絡(主機ID位少),網絡ID向主機ID借位,絡ID變多,主機ID變少(划分子網,會減少可用IP地址)
注意:由於人們習慣了將IP地址分成,四段十進制的表示格式,所以,借過位的IP地址,依然是四段。例如:12.100.100.100/8;表示該IP的子網掩碼有8位。
該IP的二進制表示格式為:00001010.01100100.00000000.00000000/11111111.00000000.00000000.00000000
即該IP的網絡位(二進制)為:00001010.00000000.00000000.00000000
即該IP的網絡位(十進制)為:12.0.0.0
如果將該網絡划分成4個子網,那么就需要借2個主機位作為網絡位來使用,具體方法為:
00000000.00-000000.00000000.00000000(前面的黑色部分為網絡位)
第一個子網的網絡位為(二進制):00001010.00-000000.00000000.00000000(第一個網段,即借來的網絡位全為0)
第一個子網的網絡位為(十進制):12.0.0.0
最后一個子網的網絡位為(二進制):00001010.11-000000.00000000.00000000(最后一個網段,即借來的網絡位全為1)
最后一個子網的網絡位為(十進制):12.192.0.0
划分超網:
將多個小網合並一個大網,主機ID向網絡ID借位(找共同點)
公式:
1、主機數=2^主機ID位-2
2、網絡數=2^可變的網絡ID位
3、網絡ID=IP和netmask 相與
4、划分子網數=2^網絡ID向主機ID借的位數
5、划分子網損失IP數=2*(划分子網數-1)(因為每段子網中的第一個IP地址用來表示網絡位,而最后一個IP地址都被用來表示本網段中的廣播。)
注意:
子網掩碼:二進制的表示格式中,網絡位全為1;
網絡位:用於表示該網段的地址;
主機位:用於表示該主機位於該網段中的地址;
——————————————習題—————————————————
已知:CIDR:172.17.0.100/26,求:
1、netmask子網掩碼?255.255.255.192
2、主機數多少個?2^(32-26)-2=62
3、網絡ID值?(172.17.0.64/26)172.17.0.01-000000
已知:CIDR:110.110.244.100/22,求:
1、netmask?255.255.252.0
2、主機數多少個?2^(32-22)-2
3、網絡ID值?(110.110.244.0/22)110.110.111101-00.0
已知:IP:10.100.222.100(子網掩碼:255.255.248.0),求:
1、CIDR表示法?10.100.222.100/21
2、主機數多少個?2^(32-21)-2=2046
3、網絡ID值?10.100.216.0/21
已知:172.200.249.200/22,划分16個子網(需要借4個主機位作為網絡位),求:
1、每個子網絡netmask?255.255.255.192,netid 26(子網的網絡位:255.255.255.11-000000)
2、每個子網絡的主機數?2^(32-26(=22+4))-2=62
3、最小子網的netid?172.200.248.0/26(最小子網就是,借來的網絡位全為0)
4、最大子網的IP范圍?172.200.251.193-172.200.251.254(最大子網就是,借來的網絡位全為1)
已知:10.0.0.0/8 划分32子網,第10個子網10.72.0.0/13是河南省,對此子網划分64個子網。分析:首先10.0.0.0的網絡位有8個,划分為了32個子網,需要借5個網絡位,其中第十個子網為(10.01001-000.0.0)(注意:是第十個)網絡位為:10.72.0.0;所以,本題的含義就是,對10.72.0.0/13划分64個子網。求:
1、每個子網絡的netmask?255.255.224.0
2、每個子網中的主機數?2^(32-19)-2
3、最小子網的netid?10.72.0.0
4、最大子網的IP范圍?10.79.224.110.79.255.254(10.01001-111.111-00000.110.01001-111.111-11111.254)
問題:A主機的IP地址為192.168.1.100/24,B主機的IP地址為192.168.2.100/16,請問兩個主機可以相互通信嗎?
答案:在通訊之前,主機首先需要判斷目標IP是不是跟自己在一個網段中(因為源主機只知道目標主機的IP地址,並不知道他的子網掩碼,所以,源主機會將目標IP與自己的子網掩碼進行比較,得出一個網絡ID)。
A主機發起通訊:A經過計算,會得出B主機跟自己不在一個網段中,會將將ping包發送給網關(路由器):目標主機不可到達。
B主機發起通訊:B經過計算,會得出A主機跟自己在一個網段中,B發出ping包,A可以收到,但是A找不到B:超時。
問題:211.201.188.199/20;211.201.180.199/20;這兩個主機可以通訊嗎?答案:在,因為兩個主機在一個網段中,網絡ID:211.201.176.0
作者:han156
來源:CSDN
原文:https://blog.csdn.net/han156/article/details/77817031
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!