天天看點

ip、子網路遮罩和無類域名路由述說

目前我們見到的ip格式是為了便于填寫、便于識别才寫成十進制加三個“.”的樣式,其實ip位址是一個32位的二進制數,比如說127.0.0.1是01111111000000000000000000000001,其十進制是2130706433,此時ping 2130706433效果和ping 127.0.0.1是一樣的,任何可通的ip都是一樣的效果

二進制看我

ip:用來辨別網絡中的每一台主機,它是由網絡id和主機id組成,ip分為A類、B類、C類、D類和E類,但我們使用的是ABC三類,隻說這三類

A類:1-127.X.X.X,前8位為網絡id,子網路遮罩255.0.0.0,該網段内共16777214台主機

B類:128-191.X.X.X,前16位為網絡id,子網路遮罩255.255.0.0,該網段内共65534台主機

C類:192-223.X.X.X,前24位為網絡id,子網路遮罩255.255.255.0,該網段内共254台主機

舉例:192.168.1.1/24,24是網絡id

子網路遮罩:用來規則無類域名路由,确定網絡id位數,高位為1,低位為0,共32位,隻能出現連續的1或者連續的0,不可出現1或者0交叉出現,這也就是常見子網路遮罩為什麼是255.255.255.0、255.255.0.0等,這裡255二進制裡是8個1,這裡列出常用子網路遮罩填寫的數字

子網路遮罩隻會出現

00000000    0

10000000    128

11000000    192

11100000    224

11110000    240

11111000    248

11111100    252

11111110    254

11111111    255

子網路遮罩表示的含義是網絡id數,比如說255.0.0.0展開是8個1後面跟24個0,此時就是8個網絡id,但知道了網絡id又如何?知道網絡id就能知道主機id,因為ip=網絡id+主機id,ip是32位,網絡id位數是8,是以可以得知主機id是24,進而得出該網段主機數是2^24 -2=16777214,(2^24表示2的24次方),有公式主機數=2^主機數id -2,這裡不禁要問,為什麼要減2?打個比方說給主機使用的ip是從192.168.1.1-192.168.1.254,而192.168.1.0代表該段網絡id,192.168.1.255代表該段的多點傳播位址,這兩個位址網段内主機不可用,是以需要減去2。

為便于了解,現舉例子203.110.0.163/22,子網路遮罩是多少?有多少主機?網絡id又是多少?

答:

1、203.110.0.163/22,表明有22個網絡id,是以子網路遮罩中有22個1,是以子網路遮罩是11111111.11111111.11111100.00000000,也就是255.255.252.0;

2、題目中給出22個網絡id,是以主機id是32-22=10,進而得到id數是2^10 -2=1022台;

3、網絡id:203.110.0.0,這就是說為什麼主機不能用203.110.0.0這個ip了。網絡id具體算法是ip和子網路遮罩進行邏輯與運算,而且還要将位址二進制展開進行每位相與,此例特殊,可直接得到答案。

與運算:

            11111111.11111111.11111100.00000000

                   203.       110.          0            .163

結果:------------------------------------------------

                   203.       110.          0             .0

現在我們仔細看看子網路遮罩另一作用,假設我們有

  ip           netmask        gateway

220.78.168.0 255.255.255.0 220.78.168.1

220.78.169.0 255.255.255.0 220.78.168.1

220.78.170.0 255.255.255.0 220.78.168.1

220.78.171.0 255.255.255.0 220.78.168.1

220.78.172.0 255.255.255.0 220.78.168.1

220.78.173.0 255.255.255.0 220.78.168.1

220.78.174.0 255.255.255.0 220.78.168.1

220.78.175.0 255.255.255.0 220.78.168.1

按照正常C類位址,此8個ip需要連接配接路由器8個接口,現在我們按照無類域名路由劃分,得到二進制位址

220.78.10101 000.0

220.78.10101 001.0

220.78.10101 010.0

220.78.10101 011.0

220.78.10101 100.0

220.78.10101 101.0

220.78.10101 110.0

220.78.10101 111.0

這裡我們可以看到10101這段是共有字首,是以我們可以将這段作為網絡id,網絡id減去3位,是以原來第三個子網路遮罩255的8個1變成了5個1,此時子網路遮罩變成255.255.248.0,這8個位址就變成了一個位址220.78.168.0/21,進而減少了路由,節省了成本。

就拿銀行或者營運商的ip來說,它們ip也是從A類逐級分布下來的,A類ip1-127.X.X.X,子網路遮罩是255.0.0.0,接下來分給各省,子網路遮罩是255.255.0.0,再分給地級市,此時又變成255.255.255.0,或者255.255.248.0(這時候就是為了減少路由子網路遮罩變成255.255.248.0,減少路由可以減少資料包生命周期損耗(即ping指令中顯示的ttl)),緊接着繼續分給區縣,就成了我們能看到的255.255.255.248或者255.255.255.240等等,這麼做既減少了成本,又降低了資料包損耗,是以無類域名路由結合子網路遮罩被廣泛應用。不過這麼做但ip依然是有限的,相對于ipv4而言,我們還有ipv6,ipv4和ipv6都是國外人研究的,是以我們的網絡閘門在人家手裡,存在不安全性。不過我們也有自己研發的ipv9,雖說現在還在實驗階段,不過還是希望早日出來,讓我們自己的資料安全掌握在自己人手裡。

注:ipv4位址數:2^32個ip位址,ipv6位址數:2^128個ip位址,ipv9位址數:2^2048個ip位址

繼續閱讀