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臺主機ide

B類:128-191.X.X.X,前16位爲網絡id,子網掩碼255.255.0.0,該網段內共65534臺主機blog

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,這裏列出經常使用子網掩碼填寫的數字ip


子網掩碼只會出現路由

00000000    0get

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又是多少?

答:

一、203.110.0.163/22,代表有22個網絡id,所以子網掩碼中有22個1,所以子網掩碼是11111111.11111111.11111100.00000000,也就是255.255.252.0;

二、題目中給出22個網絡id,所以主機id是32-22=10,從而獲得id數是2^10 -2=1022臺;

三、網絡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地址

相關文章
相關標籤/搜索