天天看點

路由行為ip classless與no ip classless

       我過了很久沒有寫博文了,今天在做實驗的時候同學們突然問到路由行為:有類路由行為(classful)與無類路由行為(classless)。我一時不知道怎麼回答,我知道自己不是很明白,之前聽老師在課上講的時候也是很模糊,自己也沒怎麼去深究這些基本很少有人注意的環節,但是感覺我們做技術的要有敢于直面自己的弱點與不足。

      事後我也好好學習了一把,假設有這樣一個網絡:

--A--192.168.1.0/24--B---

由兩個路由器直連192.168.1.0/24的網段,且A有二個loop back 口,分别是172.16.1.1,172.16.2.1.B路由器也有兩個loopback口,網絡是172.16.3.1和173.16.3.1。

這時A的路由表可能是下面所示:

A:        172.16.0.0/24 is subneted,2 subnets

          C     172.16.1.0 is directly connected, Loopback0

          C     172.16.2.0 is directly connected, Loopback1

          C     192.168.1.0/24 is directly connected, ser0/0

          S*   0.0.0.0/0[1/0] via ser0/0

B       C     172.16.3.0 is directly connected, Loopback0

         C     173.16.13.0 is directly connected, Loopback2

         S*   0.0.0.0/0[1/0] via ser0/0]

1,那麼如果A的LO 0口去PING B的Lo 0口的話(也就是172.16.1.1  ping 172.16.3.1),這時是no ip classless有類路由行為,首先A路由器會把這個包的目的位址與主類172.16.0.0/16也叫一級父路由去比對,成功。注意還會繼續往下面的子路由條目或叫做2級子路由/3級子路由比對,很顯然都不比對了,那麼有類路由路由協定隻做到這裡,不會向下查找。不會再去比對預設路由了!(除非在比對的時候就沒有主類路由172.16.0.0與它比對,它才會放棄繼續查找比對預設路由),最後我們根據以上可以知道ping的結果是不通的,因為它隻比對了主類,以為知道怎麼走了實際上到達不了目标,如果目标是173.16.3.1,則隻能比對預設路由了,會通!

2,如果是ip classless無類查找的話,情況就稍有差别了,這也是為什麼現在都會預設用無類查找的重要原因。

     在無類查找行為裡,它首先會看是否與主類比對且還會看是否下面的子網也比對,如果隻比對主類,沒有更明細的路由/子網比對,則它還不死心繼續向下查詢。

如果實在沒有比對的話,那隻好走預設了。是以無類路由行為對于明細查找相對支援較好一些,至少沒有明細比對之後還可以走預設路由吧。

                                          本文轉自 Bruce_F5 51CTO部落格,原文連結:http://blog.51cto.com/zenfei/512840                                 

繼續閱讀