交換機和路由器的區別

交換技術

交換技術主要針對OSI模型的數據鏈路層,主要處理數據幀的同步方式,流量控制以及差錯控制。

交換技術最常用到的設備有2層交換機,它負責對2層的數據幀進行存儲、轉發、處理等。

一個數據包到達2層交換機,它會先查目的mac地址,是否在交換機的緩衝列表中有對應條目,如果有的話則按照對應條目的端口轉發,沒有的話則在除了接收端口之外的所有端口泛洪(即廣播)。交換技術使用的協議包括以太網(802.3),幀中繼,ppp等。

路由技術

路由技術主要針對OSI模型的網絡層,主要用來處理IP數據包的路徑轉發,尋址和應用。

路由技術最常用到的設備有路由器、三層交換機以及防火牆等。

一個數據包到達路由器,它會檢查目的IP在路由表中是否有對應條目(無類地址,按照最長匹配原則;有類的話先匹配主類,再匹配子類)有匹配的條目則轉發,沒有則丟棄。

路由技術的核心是對路由的選擇和控制,目前主要是通過直連路由,靜態路由或者動態路由協議完成路由尋址。

有類路由:

路由器首先匹配主網絡號,如果主網絡號存在,則繼續匹配子網號,且不考慮缺省路由;如果子網無法匹配,丟棄數據包,並使用ICMP返回一個不可達回應。如果主網絡號不存在,使用缺省路由(缺省路由存在)。

無類路由:

如果沒有找到具體的匹配條目,就使用缺省路由轉發。

某路由器上運行的路由協議為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就可以通過缺省路由進行轉發了。

注意:該命令對於一個無類路由協議來說沒有任何意義,因為無類路由協議查找路由的方式就是最長匹配的原則。(參考http://blog.51cto.com/jiangpeng/825059)


分享到:


相關文章: