一、簡介
IP位址由四段組成,每個字段是一個位元組,即4個位元組、 每個位元組有8位,最大值是255(=256:0~255)。
全世界範圍是唯一的 32 位(4個位元組 * 8位)的辨別符。
IP位址由兩部分組成,即網絡位址和主機位址,二者是主從關系:
1. 網絡号 net-id,它标志主機(或路由器)所連接配接到的網絡,網絡位址表示其屬于網際網路的哪一個網絡
2.主機号 host-id,它标志該主機(或路由器),主機位址表示其屬于該網絡中的哪一台主機。
兩級的 IP 位址可以記為: IP 位址 ::= { <網絡号>, <主機号>}
簡而言之就是:IP位址 = 網絡号+主機号
二、點分十進制記法:
IPv4的位址長度為32位,共4個位元組,但實際中我們用點分十進制記法。

三、IP分類
IP位址 = 網絡号+主機号。
分為A、B、C三類及特殊位址D、E。
全0和全1的都保留不用。
A類:
位址範圍:1.0.0.1-126.255.255.254 (0000 0001.00000000.00000000.00000000~01111110.111111111.11111111.11111110)
位址範圍:1.0.0.0-126.255.255.255 (這種寫法是把全0全1都算進去了,其它幾類類似)
網絡号範圍: 1~126 (0000 0001 ~ 0111 1110)
預設子網路遮罩:255.0.0.0 或 0xFF000000(十六進制)
私有号段:10.0.0.0-10.255.255.255
前1個位元組(8位)為網絡号,後3個位元組(24位)為主機号。
A類第1位必須是0。
最大網絡數: 126個
最大主機數:
全0全1的位址不可配置設定,作為保留位址。 上面減2也是這個原因。
一般用于大型網絡。
B類:
位址範圍:128.1.0.1-191.255.255.254
網絡号範圍:128.1 ~ 191.255
預設子網路遮罩:255.255.0.0 或 0xFFFF0000(十六進制)
私有号段:172.16.0.0-172.31.255.255
前2個位元組(16位)為網絡号,後2個位元組(16位)為主機号。
前兩位固定為10。
最大網絡數:
最大主機數:
一般用于中等規模網絡。
C類:
位址範圍:192.0.1.1-223.255.255.254
網絡号段範圍:192.0.1 ~ 223.255.255
子網路遮罩:255.255.255.0 或 0xFFFFFF00 (十六進制)
私有号段:192.168.0.0-192.168.255.255
前3個位元組(24位)為網絡号,後1個位元組(8位)為主機号。
前3位固定為110。
最大網絡數:
最大主機數:
一般用于小型網絡。
D類:
位址範圍:224.0.0.1-239.255.255.254
是多點傳播位址。該類IP位址的最前面為“1110”,是以位址的網絡号取值于224~239之間。
一般用于多路廣播使用者 。
E類:
是保留位址。該類IP位址的最前面為“1111”,是以位址的網絡号取值于240~255之間。
回送位址:
127.x.x.x 有的資料說,它屬于A類。
如127.0.0.1 等效于localhost或本機IP。 一般用于測試使用。
例如:ping 127.0.0.1來測試本機TCP/IP是否正常。http://127.0.0.1:8080 等效 http://localhost:8080
#### 特殊說明
每一個位元組都為0的位址(0.0.0.0)對應目前主機。
IP位址中的每一個位元組都為1的IP位址(255.255.255.255)是目前子網的廣播位址。
IP位址中凡是以11110開頭的E類IP的位址,都保留用于将來和實驗使用。
網絡号的第一個8位不能全為0。
IP位址不能以127為開頭,該類位址中數字127.0.0.1~127.255.255.254用于回路測試
四、無類域間路由
對于中小企業,假如有兩千台機器,給他分個B類位址,6萬多個,太浪費了,分個C類位址,一個C類位址254個,又不夠,又得多申請幾個,是以A,B,C類IP位址劃分太過僵硬,很不靈活,是以又提出無類域間路(CIDR)由劃分IP位址的方法。
将正常的子網路遮罩轉換為二進制,将發現子網掩格式為連續的二進制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
子網路遮罩:11111111 11111111 11111000 00000000則為255.255.248.0
網絡ID:192.168.00010111.0(其中第三個位元組紅色部分表示網絡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,則子網路遮罩為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部份不變,主機ID部分全部變為0,那麼在計算網絡ID時,首先看子網路遮罩中有多少位用來表示網絡,相應在将IP 位址轉換為二進制時就隻轉換前面幾位,比如192.168.176.15/19,網絡ID一共19位,則網絡ID前兩個位元組為192.168.X.0發生 變化的為第三個位元組。那麼怎樣快速計算出這個變化的X的值呢?我們知道第三位元組隻有三位表示網絡ID,轉換時176>128,第1位為 1,176-128=48<64,第2位為0,48>32第3位為1,剩下的計算就沒有意義了,全都要轉換為0,則網絡ID為10100000,則網絡 ID為192.168.160.0,這樣計算反而出錯的可能性很小。
六、 本地和遠端網絡概念
網絡ID相同的計算機稱之為本地網絡,本地網絡中的計算機互相通信不需要路由器連接配接;網絡ID不相同的計算機稱之為遠端網絡,遠端網絡中的計算機要互相通信必須通過路由器連接配接。
例1: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位址。
例2:192.168.10.14/28,192.168.10.15/28,192.168.10.16/28哪個不是同一網段?
網絡ID相同的就屬于同一網段,則192.168.10.16/28不屬于同一網段。
七、子網數和主機數的計算方法
例: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位址時要減2,而計算子網數目時不減2呢?IP位址減2的原因是主機ID不能全為0也不能全為1;子網就不存在這個問題。
八、 公共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
B類:172.16.0.0/12 即172.16.0.1-172.31.255.254共16個B類網絡