使用有類路由:路由器首先匹配主網路號,如果主網路號存在,就繼續匹配子網號,且不考慮預設路由,如果子網無法匹配,丟棄資料報(在分類路由下,路由器認為知道所有主網路下的全部子網),並使用icmp返回乙個不可達回應。如果主網路號不存在,使用預設路由(預設路由存在前提)。
上述情況出現在某些早期ios版本裡(12.0以前版本),這些早期版本預設沒有開啟ip classless.
開啟ip classless以後將改變路由器的路由行為,此時路由器將進行最長最精確匹配或使用預設路由進行匹配
使用無類路由,如果沒有找到最具體的匹配,就使用預設路由。
ip classless命令的作用主要是改變有類路由協議的查詢路由表的行為。
例1:某路由器上執行的路由協議為rip(有類的路由協議),路由表如下:
r 10.1.0.0/16
via 1.1.1.1
r 10.2.0.0/26
via 1.1.1.2
r* 0.0.0.0/0
via 1.1.1.3
現在假設有3個ip報文,報文a的目標ip是10.1.1.1、報文b的目標ip是10.3.1.1、報文c的目標ip是11.11.1.1
有類路由協議查詢路由表的行為如下:
首先查詢目標ip所在的主網路,若路由表中有該主網路的任何乙個子網路由的話,就必須精確匹配其中的子網 路由;如果沒有找到精確匹配的子網路由,它不會選擇最後的預設路由,而是丟棄報文。若路由表中不存在該主網路的任何乙個子網路由,則最終選擇預設路由。
報文a:目標ip為10.1.1.1,所在的主網路為10.0.0.0,目前的路由表中存在10.0.0.0的子網路由,此時路由器要進一步查詢子網路由,是否能夠精確匹配,我們看到10.1.0.0/16可以匹配我們的目標位址,所以報文a根據這條路由進行**。
報文b:目標ip為10.3.1.1,所在的主網路為10.0.0.0,目前的路由表中存在10.0.0.0的子網路由,此時路由器要進一步查詢子網路由,是否能夠精確匹配,我們看到路由表中的兩條子網路由10.1.0.0/16和10.2.0.0/16均不能匹配我們的目標位址,根據有類路由協議的原則,它不會選擇預設路由,所以報文b被路由器丟棄。
報文c:目標ip為11.1.1.1,所在的主網路為11.0.0.0,目前的路由表中不存在11.0.0.0的子網路由,此時路由器直接採用預設路由,所以路由器採用預設路由對報文c進行**。
上面的結果是有類路由協議查詢路由的行為,而配置ip classless的目的就是改變它的這種行為,配置完該命令後查詢路由的行為是根據最長匹配的原則,那上例中的報文b就可以通過預設路由進行**了。
注意:該命令對於乙個無類路由協議來說沒有任何意義,因為無類路由協議查詢路由的方式就是最長匹配的原則。
有類路由與無類路由選擇協議
ip路由選擇協議可分為有類路由和無類路由選擇協議。有類路由選擇協議傳送的路由選擇更新不包含子網掩碼資訊,如ripv1 無類路由選擇協議傳送的路由選擇更新包含子網掩碼資訊,如ripv2,eigrp,ospf,is is和bpg。1 有類路由選擇協議 在最初開發有類協議時,使用的網路與現在的網路有天壤之...
有類路由和無類路由的深入理解
1.1 有類路由的特點 1.2 有類路由協議傳送規則 1.3 有類路由協議更新接收規則 1.4 有類路由協議的特性 2.1 無類路由協議特點 2.2 無類路由協議的特性 3.1 總結與案例理解 1.1 有類路由協議的特點 1 傳送路由更新包的時候不攜帶路由條目的子網掩碼 2 路由傳遞過程中使用路由傳...
無類路由協議和有類路由協議的區別
ip路由協議可以被分為兩大類,一類是有類的,另一類是無類的。1 有類的路由不會識別子網的資訊,如宣告10.0.1.0 24 172.16.1.0 22 192.168.1.64 28 路由表中只會識別a類10.0.0.0 8,b類172.16.0.0 16 c類192.168.1.0 24 2 無類...