1. 程式人生 > >路由尋址--子網劃分/CIDR

路由尋址--子網劃分/CIDR

下一條 這樣的 是把 唯一標識 為什麽 其他 問題 網路 host

路由器一定要實現:可以從路由表中查出應當到達其他網絡的下一條路由器,所以一定要指明在整個網絡下到達所有其他網絡的下一條地址。
子網選擇、子網路由選擇的問題:
子網劃分的思想:
一個單位劃分子網後,對內顯示多個網絡,對外顯示為一個網絡
有二級IP變為三級IP
凡是其他網絡發到本單位的IP數據包,仍然是通過本單位的網絡號找到的,但是路由器在收到IP數據包後,再按照目的網絡和子網號找到主機
註:對一個網絡進行第一次劃分是時,其子網掩碼都是相同的
子網劃分是建立在分類網絡上的,而cidr是一種無分類編制,我不管你要什麽類的網址,我只需要通過你需要的IP地址的個數來給你分配一個地址塊,你在這個地址塊上可以繼續劃分子網。

一定註意一個問題:在子網劃分的概念中,在同一網絡下的網關,(就是與子網掩碼獲得的網絡地址)必定是一致的,應為這個地址中包含了網絡號和子網號,所以必定是一致的,最後就能總結出這樣一句話,對一個網路在采用固定長度的子網劃分時,同一網絡掩碼一致,因為網絡號一致,子網號的長度一致。所以必定一致。想清楚,在子網劃分的路由選擇時,路由表中的關鍵信息是:網絡地址(網絡號:子網號),子網掩碼,下一跳地址。判斷的時候是,用 目的IP and 子網掩碼 == 網絡地址 ;為什麽這麽判斷:原理是一旦我網絡號和子網號不相同時,那麽我絕對不在這個網絡下,反之則一定在。

cidr的說話,叫做網絡聚合,我在這裏就糾結了好久,總覺得他和子網劃分達到的效果是一樣的,都是對一個網絡進行的劃分呀,但是為什麽就出來了兩個不一樣的尋址方案呢,終於讓我向明白了。
  我們說cidr是一個網絡前綴和一個網絡號,這樣的結果是把地址作為了地址塊,但是我覺得的子網劃分也是作為了地址塊呀。這裏沒有什麽不一樣呀,為啥尋址就不一樣呢,你想,子網劃分是通過掩碼加網絡地址得出了所在的網絡。

(這個網絡已經可以把這個子網找到了,就是因為and的結果是網絡號:子網號),
  (你想,子網劃分它不論怎麽劃分,這麽說吧,就是不管怎麽內嵌小的地址塊,這個網絡號+子網號永遠只表示這個內嵌的地址塊呀,它這一層和上一層的網絡號+子網號是不相同的呀,這裏是最關鍵所在呀,

   仔細看:
    ...1*(...10000000)化為...111*(...11100000)和...110(...11000000) 括號裏的表示相應的網絡號,你對...111*(...11100000)再劃分為...1111*(...11110000)和...1110*(...11100000)

   網絡地址不在...111*和...110*的IP地址和子網掩碼and的結果就這這個網絡地址呀,比如...10001000的IP掩碼是...10000000,and的結果只等於...10000000呀,不可能等於別的去呀。再比如...11101100(...11100000)

  你看,不管它怎麽劃分,只要找到這個網絡地址(網絡號+子網號),他就能找到這個子網。前提條件是你的把子網掩碼帶上呀,你不帶這個子網掩碼或者寫錯了,它是找不到這個網絡地址的呀。所以子網掩碼一定要配置對。只要你找到了這個網絡地址就一切OK了,不管你嵌套多好塊,每一塊的地位都是相同的,這個網絡號唯一標識這個塊的位置。再提一下,這裏的子網掩碼相當重要。比如說,你把子網掩碼改錯後,匹配到了上層網絡去了,上層網絡又沒有這臺主機,你這臺機子就找不到了。)
  但是呢,對於cidr只能說是網絡聚合,為什麽呢,因為我的網絡前綴僅僅指的是一個地址塊呀,而我們完全可以將這個地址塊再劃分呀,這樣的話,你沒有所謂的子網號,你就不能找到這個地址塊中的更小的地址塊了呀,因為你的匹配規則是只要找到了網絡前綴就說明你在這個塊內,但是無法說明你在這個塊內的那個更小的塊內呀,所以這時候,當一個IP地址需要匹配的之後,它不僅會匹配大塊,還會匹配小塊,這就好了呀,host一定在這個小塊裏呀,所以我們叫他為最長前綴匹配。

  所以說cidr要比子網劃分更方便了,更靈活了呀。

原理就是這樣子,具體的路由尋址過程就簡單了。不說了。。。。。。

路由尋址--子網劃分/CIDR