我們知道在進行跨網段傳輸數據的時候會将數據交給我們的路由器。那麼路由器收到這個數據之後是如何去轉發的呢?
路由器工作原理
路由器在收到一個數據包之後會查表轉發,這個表就叫做"路由表"。
路由表就像數據轉發的一張地圖一樣,比如你從北京到上海有很多路能走,而地圖的作用就是讓你知道如何去往目的的。路由器也是一樣,路由表就是讓路由器知道如何将數據轉發出去的。
那麼路由表是怎麼形成的呢?
本地直連網段
路由器上的每一個接口啟用之後都會在路由器上生成一個路由條目。
靜态路由
靜态路由是由我們管理員手工配置的
動态路由
動态路由是我們在路由器上運行動态路由協議,運行了相同動态路由協議的路由器可以建立鄰居,每個鄰居會将自己知道的所有路由條目發送給對方。
動态路由協議分為兩種:
距離矢量協議:每個路由器僅知道與它相連的鍊路信息,依靠傳聞選擇路徑,鄰居給我發什麼我就會接受什麼,鄰居怎麼走,我怎麼走。
如何理解呢?比如說你從上海去往北京,别人給了你一條路線,但是你不知道要走的這條路的詳細信息,會不會堵車,路況如何。
鍊路狀态路由協議:每個路由器都必須熟悉網絡中所有連接情況,以及每條鍊路的信息,收斂時間短。
如何理解呢?還是從上海去往北京,别人隻給出了你每條路線的路況,但是沒告訴你怎麼去往北京,需要自己來計算出一條最快的路線
常見的路由協議:OSPF,RIP,ISIS,靜态,BGP
針對不相同的協議,學到了相同的路由條目應該怎麼辦?
路由器隻會将最優的路由放入路由表中,這時候如果路由器針對不同的協議學到了相同的路由表應該怎麼做呢?
每種路由協議都會有他們的優先級,如果使用不通協議學到了相同的網段,會比較路由協議的優先級——越小越優先。
針對相同協議學到了同一個路由條目,又如何比較呢?
每個路由條目都會比較COST值,也就是開銷值,開銷越小越優先
針對一個路由器中,有多個條目都包含了一個ip地址,那麼應該選擇哪一個呢?
針對這種情況路由器使用最長掩碼匹配,也就是精确優先。
路由器查表順序:
最長掩碼匹配
管理距離
COST開銷值
我們來看一個路由器中路由表的樣子。
我們在華為設備裡輸入dis ip ro查看本設備的路由表,路由表由很多路由條目形成,我們看一下裡面的内容
Destination/Mask:代表着一個路由條目的前綴和它的掩碼
Proto:形成這個路由條目是由什麼協議形成的
Pre:代表着這個路由協議的優先級(越小越優)在使用
Cost:去往一個目的地的開銷,用來計算最優路徑的(越小越優)
Flags:R是relay的首字母,說明是叠代路由,會根據路由下一跳的IP地址獲取出接口。
配置靜态路由時如果隻指定下一跳IP地址,而不指定出接口,那麼就是叠代路由,需要根據下一跳IP地址的路由獲取出接口。D是download的首字母,表示該路由下發到FIB表。
NextHop:下一跳的ip地址
Interface:發出數據包的接口
下一跳:路由器發送一個數據包這時候會查詢路由表,路由表中會選出一條最優的路由,路由器依據最優的路由将數據發給下一台設備,這個下一台設備就是下一跳。
路由叠代:就是說路由器查詢路由表的時候,會查到下一跳的ip地址,但是怎麼去往這個下一跳的ip地址呢?這時候會再次進行查表,這個順序就叫做遞歸,一直查到從那個接口發出數據包才能發送出數據。
收斂:網絡變化之後到網絡上左右的設備都響應過來的過程時間叫做收斂。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!