網絡 IP

參考原文 http://blog.csdn.net/dan15188387481/article/details/49873923網絡

1. 原始的IP地址表示方法及其分類(近幾年慢慢淘汰)less

    IP地址是由4字節,32位表示的,爲了表示方便,一般用點分十進制表示法,如192.168.0.52。IP地址的32位是由網絡號+主機號組成的,網絡地址是指IP地址中的網絡號。傳統劃分IP地址的方法如A-B-C類網絡ID使用固定的八、16和24位網絡號。
 
2. 基本的子網劃分方法
    上面所述的IP地址表示方法能夠稱之爲兩級IP地址,即網絡號和主機號組成的IP地址。可是因爲IP地址空間的利用率有時很低、給每個物理網絡分配一個網絡號會使路由表變得太大以及兩級IP地址不夠靈活等緣由,就出現了所謂的子網劃分。子網劃分實際上就是將原來的兩級IP地址轉變爲三級IP地址,表示以下:
  IP地址 = {<網絡號>, <子網號>, <主機號>}
    從上面的表示能夠看出,子網劃分就是在32位中借了幾位用來表示子網號,注意,這裏的網絡號的位數是不變的,子網號是從主機號中借走的,因此你們想想就能夠明白,子網劃分實際上就是減小了主機數,分配到不一樣的子網,每一個子網包含必定的主機數。子網的概念也就能夠理解爲,將一個大的網絡在其內部劃分紅幾個小的子網,可是須要注意的是,對於該網絡的外層來看,仍是一個大的網絡,只有該網絡內部才能夠看到其進行了子網劃分。例如:某個機構給某高校分配了一個大的網絡,而該高校內部又進行了子網劃分,將不一樣的子網分配給不一樣的學院,此時對於該機構來講,該高校仍是一個大的網絡,在其看來並無變化,只有該高校本身才知道本身內部又進行了子網劃分。
 
    子網劃分中有一個十分重要的概念就是子網掩碼。  那麼什麼是子網掩碼呢?你們想想,在傳輸的過程當中,路由器是怎麼識別子網劃分後的IP地址中的網絡地址的?若是不提供任何信息,路由器確定仍是傻傻分不清楚,因此就出現了子網掩碼。子網掩碼其實很簡單,就是將網絡號和子網號對應的位所有置1,將主機號對應的位置0,就獲得了子網掩碼。例如:一個IP地址是145.13.3.10,其是B類地址,假如咱們用8位來表示子網號,那麼網絡號加上子網號一共24位,因此將這24位置1,其他置0,那麼子網掩碼就是255.255.255.0。緊接着,咱們能夠看出來,用子網掩碼和IP地址逐位進行「與」運算,就能夠獲得網絡地址,因此該IP地址的網絡地址就是145.13.3.0,下面我從《計算機網絡第5版》謝希仁編著的書中摘取了兩個例子,幫助你們理解。

網絡地址 = IP address & Mask
網絡廣播地址 = Network address + Mask反碼
地址範圍 = { 網絡地址, 網絡地址 + Mask反碼}spa

 
    從上面的例子中能夠看出子網掩碼的使用和計算,這兩個例子也說明了一樣的IP地址和不一樣的子網掩碼能夠得出相同的網絡地址。可是不一樣的掩碼效果是不一樣的,由於它們的子網號和主機號的位數是不同的,從而可劃分的子網數和每一個子網中的最大主機數都是不同的。
    最後,咱們須要注意的是,在以前基本的子網劃分中,借走主機號兩位,只能劃分4-2=2個子網,這是由於全0和全1不使用,通常至少借走兩位,其餘位數的劃分是同樣的,都須要減去2,可是CIDR表示法中的子網劃分就不用減2,由於其也使用全0和全1。

3. CIDR概述及其地址塊計算.net

    CIDR中文全稱是無分類域間路由選擇,英文全稱是Classless Inter-Domain Routing,在日常,你們多稱之爲無分類編址,它也是構成超網的一種技術實現。CIDR在必定程度上解決了路由表項目過多過大的問題。CIDR之因此稱爲無分類編址,就是由於CIDR徹底放棄了以前的分類IP地址表示法,它真正消除了傳統的A類、B類、C類地址以及劃分子網的概念。目前已經普遍使用CIDR表示法,以前的分類方法和子網劃分已經不多使用。CIDR採用8~30位可變網絡ID,而不是A-B-C類網絡ID所用的固定的八、16和24位。以CIDR地址222.80.18.18/25爲例,其中「/25」表示其前面地址中的前25位表明網絡部分,其他位表明主機部分。它使用以下的IP地址表示法:
    IP地址 = {<網絡前綴>, <主機號>} / 網絡前綴所佔位數
    CIDR表示法給出任何一個IP地址,就至關於給出了一個CIDR地址塊,這是由連續的IP地址組成的,因此CIDR表示法構成了超網,實現了路由聚合,即從一個IP地址就能夠得知一個CIDR地址塊。例如:已知一個IP地址是:128.14.35.7/20,那麼這個已知條件告訴你們的並不只僅是一個IP地址這麼簡單,咱們來分析一下。
    128.14.35.7/20 = 10000000  00001110  00100011  00000111  
    即前20位是網絡前綴,後12位是主機號,那麼咱們經過令主機號分別爲全0和全1就能夠獲得一個CIDR地址塊的最小地址和最大地址,即
       最小地址是:128.14.32.0      = 10000000  00001110  00100000  00000000 
       最大地址是:128.14.47.255  = 10000000  00001110  00101111 11111111     
       子網掩碼是:255.255.240.0  = 11111111  11111111  11110000  00000000 
    所以就能夠看出來,這個CIDR地址塊能夠指派(47-32+1)*256=4096個地址,這裏沒有把全0和全1除外。
 

判斷兩個主機是否在一個網絡(就看IP地址的網絡ID位是否同樣)
192.168.1.100/16
192.168.2.100/16
前十六位都是192.168,因此在一個網絡裏計算機網絡

4. CIDR子網劃分
    在CIDR表示法中也能夠進行進一步的子網劃分,和前面的子網劃分相似,咱們只須要從主機號中借走必定的位數便可,這裏與前面的基本子網劃分不一樣,借走2位時能夠劃分紅4個子網,不用減2,其餘位數相似。下面經過一個例子來說解CIDR中的子網劃分。
 
    例:某個機構擁有一個大的CIDR地址塊,即206.0.64.0/18,如今某個高校須要申請一個較大的CIDR地址塊以供學校使用,學校內部又分爲4個系,因爲每一個系的人數不同,因此要給人數較多的系分配較多的IP地址,人數較少的系分配較少的IP地址,如今採用如下的分配方案:
 
    機構分配給該高校一個CIDR地址塊:206.0.68.0/22,而後該高校內部的分配方案以下, 請分析該方案劃分的具體細節。
    一系:206.0.68.0/23,一系內部又分爲206.0.68.0/2五、206.0.68.128/2五、206.0.69.0/25和206.0.69.128/25四個子網。
    二系:206.0.70.0/24,二系內部又分爲206.0.70.0/2六、206.0.70.64/2六、206.0.70.128/26和206.0.70.192/26四個子網。
    三系:206.0.71.0/25,三系內部又分爲206.0.71.0/26和206.0.71.64/26兩個子網。
    四系:206.0.71.128/25,四系內部又分爲206.0.71.128/26和206.0.71.192/26兩個子網。
   
   答:這是一個CIDR子網劃分中比較複雜的例子,若是你們能分析透徹這個例子,那麼對於CIDR的子網劃分的計算就基本不在話下了。
    第一,這個機構擁有的地址塊是206.0.64.0/18 =206.0.0100 0000.0000 0000/18,網絡前綴是18位,因此其
 
    最小地址是:206.0.64.0/18       = 206.0.0100 0000.0000 0000/18
    最大地址是:206.0.127.255/18 = 206.0.0111 1111.1111 1111/18
    子網掩碼是:255.255.192.0/18 = 1111 1111.1111 1111.1100 0000.0000 0000/18
    擁有的地址數:(127-64+1)*(255-0+1)=16384
 
    而後,咱們來看一下這個機構給該高校分配的CIDR地址塊,即206.0.68.0/22,由此能夠看出來網絡前綴由18增長到了22,因此該機構至關於將其CIDR地址塊劃分紅了16個子塊即子網,而後給該高校了第二個子網,即206.0.0100 0100.0/22,黑色加粗的部分是原來的網絡前綴,後面紅色部分相似於前面介紹的子網號,因爲是4位,因此能夠從0000~1111,共16個子網,0001天然就是第二個子網。
 
    第二,既然高校擁有了機構的第二個子網的CIDR地址塊206.0.68.0/22 = 206.0.0100 0100.0/22,其網絡前綴是22位,因此其
 
    最小地址是:206.0.68.0/22       = 206.0.0100 0100.0000 0000/22
    最大地址是:206.0.71.255/22   = 206.0.0100 0111.1111 1111/22
    子網掩碼是:255.255.252.0/22 = 1111 1111.1111 1111.1111 1100.0000 0000/22
    擁有的地址數:(71-68+1)*(255-0+1)=1024
    而後該高校內部又對這個CIDR地址塊進行了劃分,進一步獲得了高校內部的子網,緊接着咱們來看看一系的CIDR地址塊是怎麼獲得的。
 
    第三,一系的CIDR地址塊是206.0.68.0/23,能夠看出來其網絡前綴相對於高校的CIDR地址塊來講增長了1位,說明高校首先將其CIDR地址塊劃分紅了2個子網,其中一個給了一系。那麼這兩個子網分別是:一系的:206.0.68.0/23 = 206.0.0100 0100.0/23剩餘的(記爲餘1):206.0.70.0/23 =206.0.0100 0110.0/23,注意其中的紅色部分就是新增的這一位,用來標誌兩個子網。
 
    那麼,一系的
    最小地址是:206.0.68.0/23       = 206.0.0100 0100.0000 0000/23
    最大地址是:206.0.69.255/23   = 206.0.0100 0101.1111 1111/23
    子網掩碼是:255.255.254.0/23 = 1111 1111.1111 1111.1111 1110.0000 0000/23
    擁有的地址數:(69-68+1)*(255-0+1)=512
 
    餘1的
    最小地址是:206.0.70.0/23       = 206.0.0100 0110.0000 0000/23
    最大地址是:206.0.71.255/23   = 206.0.0100 0111.1111 1111/23
    子網掩碼是:255.255.254.0/23 = 1111 1111.1111 1111.1111 1110.0000 0000/23
    擁有的地址數:(71-70+1)*(255-0+1)=512
    如今,一系的CIDR地址塊已經很明確,而後一系內部又進行了劃分,即又分爲206.0.68.0/2五、206.0.68.128/2五、206.0.69.0/25和206.0.69.128/25四個子網,網絡前綴從23位變成了25位,至關於佔用了主機號兩位,因此能夠劃分爲4個子網,分別對應00、0一、十、11這四個子網,這四個子網的最小地址、最大地址以及子網掩碼和擁有的地址數按照上述的方法就能夠獲得,這個比較簡單,建議你們能夠本身手動計算一下,正好看看本身掌握了多少,這裏就再也不給出這四個子網的細節。
 
    第四,一系明確之後,就要考慮其餘系的劃分,能夠看到二系分配到的CIDR地址塊是206.0.70.0/24,能夠看出來其網絡前綴相對於餘1的CIDR地址塊來講增長了1位,說明餘1的CIDR地址塊被劃分紅了2個子網,其中一個給了二系。那麼這兩個子網分別是:二系的:206.0.70.0/24 = 206.0.0100 0110.0/24剩餘的(記爲餘2):206.0.71.0/24 =206.0.0100 0111.0/24,注意其中的紅色部分就是新增的這一位,用來標誌兩個子網。
 
    那麼,二系的
    最小地址是:206.0.70.0/24       = 206.0.0100 0100.0000 0000/24
    最大地址是:206.0.70.255/24   = 206.0.0100 0100.1111 1111/24
    子網掩碼是:255.255.255.0/24 = 1111 1111.1111 1111.1111 1111.0000 0000/24
    擁有的地址數:(70-70+1)*(255-0+1)=256
 
    餘2的
    最小地址是:206.0.71.0/24       = 206.0.0100 0111.0000 0000/24
    最大地址是:206.0.71.255/24   = 206.0.0100 0111.1111 1111/24
    子網掩碼是:255.255.255.0/24 = 1111 1111.1111 1111.1111 1111.0000 0000/24
    擁有的地址數:(70-70+1)*(255-0+1)=256
    如今,二系的CIDR地址塊已經很明確,而後二系內部又進行了劃分,即又分爲206.0.70.0/2六、206.0.70.64/2六、206.0.70.128/26和206.0.70.192/26四個子網,網絡前綴從24位變成了26位,至關於佔用了主機號兩位,因此能夠劃分爲4個子網,分別對應00、0一、十、11這四個子網,這四個子網的最小地址、最大地址以及子網掩碼和擁有的地址數按照上述的方法就能夠獲得,這個比較簡單,建議你們能夠本身手動計算一下,正好看看本身掌握了多少,這裏就再也不給出這四個子網的細節。
 
    第五,二系明確之後,就要考慮其餘系的劃分,能夠看到三系分配到的CIDR地址塊是206.0.71.0/25,而四系分配到的CIDR地址塊是206.0.71.128/25,能夠看出來其網絡前綴相對於餘2的CIDR地址塊來講增長了1位,說明餘2的CIDR地址塊被劃分紅了2個子網,其中一個給了三系,另一個給了四系。那麼這兩個子網分別是:三系的:206.0.71.0/25 = 206.0.71.0000 0000/25四系的:206.0.71.128/25 = 206.0.71.1000 0000/25,注意其中的紅色部分就是新增的這一位,用來標誌兩個子網。
 
    那麼,三系的
    最小地址是:206.0.71.0/25       = 206.0.0100 0100.0000 0000/25
    最大地址是:206.0.71.127/25   = 206.0.0100 0100.0111 1111/25
    子網掩碼是:255.255.255.128/25 = 1111 1111.1111 1111.1111 1111.1000 0000/25
    擁有的地址數:(71-71+1)*(127-0+1)=128
    
    四系的
    最小地址是:206.0.71.128/25   = 206.0.0100 0100.1000 0000/25
    最大地址是:206.0.71.255/25   = 206.0.0100 0100.1111 1111/25
    子網掩碼是:255.255.255.128/25 = 1111 1111.1111 1111.1111 1111.1000 0000/25
    擁有的地址數:(71-71+1)*(255-128+1)=128
 
    如今,三系和四系的CIDR地址塊已經很明確,到目前爲止,該高校已經將全部的CIDR地址塊分配給了四個系,一系有512個地址,二繫有256個地址,三系和四系各有128個地址。而後三系內部又進行了劃分,即又分爲206.0.71.0/26和206.0.71.64/26兩個子網,網絡前綴從25位變成了26位,至關於佔用了主機號一位,因此能夠劃分爲2個子網,分別對應0、1這兩個子網,同時,四系內部也又進行了劃分,即又分爲206.0.71.128/26和206.0.71.192/26兩個子網,網絡前綴從25位變成了26位,至關於佔用了主機號一位,因此能夠劃分爲2個子網,分別對應0、1這兩個子網,三系和四系各自的兩個子網的最小地址、最大地址以及子網掩碼和擁有的地址數按照上述的方法就能夠獲得,這個比較簡單,建議你們能夠本身手動計算一下,正好看看本身掌握了多少,這裏就再也不給出這些子網的細節。
 
    至此,咱們已經分析完了本題,上面都是我一位位本身敲上去的,因此你們看完後想要穩固掌握的話建議本身也計算一遍,若是發現我有錯誤,歡迎你們指正。
 
    最後,我用一副圖來展現下這個劃分過程。