1. 程式人生 > 其它 >HCNA Routing&Switching之路由基礎

HCNA Routing&Switching之路由基礎

在開始聊路由之前,我們首先要明白在網路通訊裡,什麼是路由?什麼是路由表、路由器以及閘道器的相關術語;路由簡單講就是指網路資料包從源頭到目標的路徑,主要用來為不同網路間通訊提供資料包轉發依據;路由表就是多條路由資訊的集合,主要作用就是用來儲存路由資訊,以及為路由器提供路由的依據;路由器就是指具有路由功能和維護路由表的網路裝置;所謂閘道器是指路由器上的介面ip地址(一臺路由器一個介面對應一個廣播域,所以路由器天生就是用來隔離廣播域的);

  路由器的工作原理

  當路由器(或其他三層裝置)收到一個ip資料包時,首先會檢視該包的ip頭部中的目標ip地址,並在路由表中進行查詢和匹配,在匹配到最優路由後,將資料包扔給對應路由所指的出介面或下一跳,從而完成資料包的轉發;當收到的ip資料包在路由表中沒有匹配的路由時,路由器會自動丟棄對應的ip資料包;簡單講就是路由器收到報文,然後查詢路由表,如果有對應匹配的路由,就把對應報文從對應路由所指定的出介面或下一條所在同網段ip地址所在介面發出去;如果沒有匹配的路由資訊則自動丟棄該資料報文;從上述描述我們不難理解,一個數據報文要想從路由器通過,必須滿足對應路由器上要有匹配的路由;有了匹配的路由,對應路由器就知道把對應資料報文從那個介面轉發出去;

  ip路由過程

  提示:當一個報文從10.3.1.0發出,首先會被RA收到,RA收到報文後,一看該報文是到10.4.1.0網路,然後就檢視自己的路由表,看看有沒有到達10.4.1.0路由;如果有就從對應路由所指定的出介面轉發出去;如果沒有就丟棄;同樣的原理,當資料包從RA的E0口傳送出去以後,對應與RA的E0口直連的RB的E0口就會收到對應的資料報文;當RB收到RA轉發出來的報文以後,也會先看對應報文的目標網路,然後和自己的路由表中的路由進行匹配;匹配到就從對應的介面發出去;依次類推,最終資料包會到達RC,RC收到報文以後,檢視路由表發現對應報文的目標網路是和自己E1口直連,然後RC會把對應報文從E1口傳送出去;到此路由器的工作就完成了;後續就是通過目標ip地址,arp廣播拿到對應目標ip地址mac,然後進行二層乙太網封裝,最終將資料報文送達到對應主機或裝置的網絡卡上,由對應目標ip地址所在裝置進行處理;

  檢視路由表

1 2 3 4 5 6 7 8 9 10 11 12 13 14 <Huawei>display ip routing-table Route Flags: R - relay, D - download to fib ------------------------------------------------------------------------------ Routing Tables: Public Destinations : 4 Routes : 4 Destination/MaskProto Pre Cost Flags NextHop Interface
127.0.0.0/8Direct 0 0 D 127.0.0.1 InLoopBack0 127.0.0.1/32Direct 0 0 D 127.0.0.1 InLoopBack0 127.255.255.255/32Direct 0 0 D 127.0.0.1 InLoopBack0 255.255.255.255/32Direct 0 0 D 127.0.0.1 InLoopBack0 <Huawei>

  提示:Destination/Mask欄位用來描述目標網路和掩碼;Proto用來描述路由的來源,常見的路由來源有Direct(直連),static(靜態),ospf(動態路由學習中的一種),RIP等等;pre用來描述對應路由的優先順序,如果有多條不同的路由到達相同目標網路,優先順序越低對應路由就越優先匹配;cost是用來描述對應路由的開銷,多條相同路由來源到達相同目標網路,開銷越低,對應路由就越優先匹配;NextHop用來描述下一跳地址,所謂下一跳就是指ip報文所經由的下一個路由器的介面地址;interface用來描述出介面(ip報文從哪個介面轉發出去);

  路由器轉發原則

  1、被轉發到路由必須存在(如果不存在該路由條目,路由器收到此類報文會直接丟棄不做任何處理);

  2、根據最長匹配原則進行匹配,也就是掩碼越長越優先轉發;

  提示:如圖所示,R1上有兩條靜態路由,分別都能到達3.3.3.3,其中一條是出介面為g0/0/0掩碼為24,一條是g0/0/1掩碼為32,現在我們看看資料報文到底會走哪一邊呢?

  驗證:用tracert 3.3.3.3來檢視對應資料包會走的那一條路?

1 2 3 4 5 [R1]tracert 3.3.3.3 tracerouteto 3.3.3.3(3.3.3.3), max hops: 30 ,packet length: 40,press CTRL_C tobreak 1 4.4.4.4 30 ms 10 ms 10 ms 2 5.5.5.3 20 ms 30 ms 30 ms [R1]

  提示:可以看到當目標地址相同時,相同協議,優先順序,開銷的情況下掩碼越長越優先匹配上;

  3、當掩碼長度一樣,會比較優先順序,優先順序數字越小越優先轉發;

  示例:還是上述實驗top,修改下靜態路由,把g0/0/1上的優先順序改調大一點,看看對應資料包是否還會選擇下面的路呢?

  提示:當我們把原來的32位掩碼路由刪除以後,重新新增24為掩碼的優先順序為80的路由以後,對應路由表中反而就只有一條優先順序為60的路路由;說明相同目標網路,相同掩碼以及相同協議和開銷的情況下,優先順序越低的路由優先匹配(因為路由表中只存在最優路由);此時我們在R1上訪問3.3.3.3時,資料報文會從g0/0/0發出,因為路由表中就只有一條路由;

  驗證:用R1 tracert 3.3.3.3,看看資料包是否走R2到達R3?

1 2 3 4 5 [R1]tracert 3.3.3.3 tracerouteto 3.3.3.3(3.3.3.3), max hops: 30 ,packet length: 40,press CTRL_C tobreak 1 1.1.1.2 20 ms 20 ms 10 ms 2 2.2.2.3 30 ms 30 ms 30 ms [R1]

  提示:可以看到資料包走g0/0/0到達1.1.1.2,然後在到達R3的2.2.2.2;

  常用路由協議預設優先順序

  4、當掩碼和優先順序一樣,會比較開銷(cost值),開銷越小越優先轉發;

  示例:還是上述的top,全網執行ospf,然後修改g0/0/0上的開銷為50,看看對應的路由表中會存放那條路由?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 [R1]dis ip routing-table Route Flags: R - relay, D - download to fib ------------------------------------------------------------------------------ Routing Tables: Public Destinations : 13 Routes : 14 Destination/MaskProto Pre Cost Flags NextHop Interface 1.1.1.0/24Direct 0 0 D 1.1.1.1 GigabitEthernet0/0/0 1.1.1.1/32Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/0 1.1.1.255/32Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/0 2.2.2.0/24OSPF 10 2 D 1.1.1.2 GigabitEthernet0/0/0 3.3.3.3/32OSPF 10 2 D 4.4.4.4 GigabitEthernet0/0/1 OSPF 10 2 D 1.1.1.2 GigabitEthernet0/0/0 4.4.4.0/24Direct 0 0 D 4.4.4.1 GigabitEthernet0/0/1 4.4.4.1/32Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/1 4.4.4.255/32Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/1 5.5.5.0/24OSPF 10 2 D 4.4.4.4 GigabitEthernet0/0/1 127.0.0.0/8Direct 0 0 D 127.0.0.1 InLoopBack0 127.0.0.1/32Direct 0 0 D 127.0.0.1 InLoopBack0 127.255.255.255/32Direct 0 0 D 127.0.0.1 InLoopBack0 255.255.255.255/32Direct 0 0 D 127.0.0.1 InLoopBack0 [R1]int g0/0/0 [R1-GigabitEthernet0/0/0]ospf cost 50 [R1-GigabitEthernet0/0/0]q [R1]dis ip routing-table Route Flags: R - relay, D - download to fib ------------------------------------------------------------------------------ Routing Tables: Public Destinations : 13 Routes : 13 Destination/MaskProto Pre Cost Flags NextHop Interface 1.1.1.0/24Direct 0 0 D 1.1.1.1 GigabitEthernet0/0/0 1.1.1.1/32Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/0 1.1.1.255/32Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/0 2.2.2.0/24OSPF 10 3 D 4.4.4.4 GigabitEthernet0/0/1 3.3.3.3/32OSPF 10 2 D 4.4.4.4 GigabitEthernet0/0/1 4.4.4.0/24Direct 0 0 D 4.4.4.1 GigabitEthernet0/0/1 4.4.4.1/32Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/1 4.4.4.255/32Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/1 5.5.5.0/24OSPF 10 2 D 4.4.4.4 GigabitEthernet0/0/1 127.0.0.0/8Direct 0 0 D 127.0.0.1 InLoopBack0 127.0.0.1/32Direct 0 0 D 127.0.0.1 InLoopBack0 127.255.255.255/32Direct 0 0 D 127.0.0.1 InLoopBack0 255.255.255.255/32Direct 0 0 D 127.0.0.1 InLoopBack0 [R1]

  提示:可以看到在沒有改g0/0/0介面開銷時,在路由表中存在兩條到達3.3.3.3的路由,而更改了g0/0/0介面開銷以後,對應路由表中只有一條開銷為2的路由;說明當去往同一目標ip地址時,掩碼優先順序一樣時,開銷越低越優先被匹配;

  5、當掩碼、優先順序、開銷都一樣,則負載分擔;

  示例:還是上述top,我們把g0/0/0介面上的開銷刪除,看看對應路由會有什麼變化?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 [R1]dis ip routing-table Route Flags: R - relay, D - download to fib ------------------------------------------------------------------------------ Routing Tables: Public Destinations : 13 Routes : 13 Destination/MaskProto Pre Cost Flags NextHop Interface 1.1.1.0/24Direct 0 0 D 1.1.1.1 GigabitEthernet0/0/0 1.1.1.1/32Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/0 1.1.1.255/32Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/0 2.2.2.0/24OSPF 10 3 D 4.4.4.4 GigabitEthernet0/0/1 3.3.3.3/32OSPF 10 2 D 4.4.4.4 GigabitEthernet0/0/1 4.4.4.0/24Direct 0 0 D 4.4.4.1 GigabitEthernet0/0/1 4.4.4.1/32Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/1 4.4.4.255/32Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/1 5.5.5.0/24OSPF 10 2 D 4.4.4.4 GigabitEthernet0/0/1 127.0.0.0/8Direct 0 0 D 127.0.0.1 InLoopBack0 127.0.0.1/32Direct 0 0 D 127.0.0.1 InLoopBack0 127.255.255.255/32Direct 0 0 D 127.0.0.1 InLoopBack0 255.255.255.255/32Direct 0 0 D 127.0.0.1 InLoopBack0 [R1]int g0/0/0 [R1-GigabitEthernet0/0/0]d th [V200R003C00] # interface GigabitEthernet0/0/0 ip address 1.1.1.1 255.255.255.0 ospf cost 50 # return [R1-GigabitEthernet0/0/0]undo ospf cos [R1-GigabitEthernet0/0/0]undo ospf cost [R1-GigabitEthernet0/0/0]d th [V200R003C00] # interface GigabitEthernet0/0/0 ip address 1.1.1.1 255.255.255.0 # return [R1-GigabitEthernet0/0/0]q [R1]dis ip routing-table Route Flags: R - relay, D - download to fib ------------------------------------------------------------------------------ Routing Tables: Public Destinations : 13 Routes : 14 Destination/MaskProto Pre Cost Flags NextHop Interface 1.1.1.0/24Direct 0 0 D 1.1.1.1 GigabitEthernet0/0/0 1.1.1.1/32Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/0 1.1.1.255/32Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/0 2.2.2.0/24OSPF 10 2 D 1.1.1.2 GigabitEthernet0/0/0 3.3.3.3/32OSPF 10 2 D 4.4.4.4 GigabitEthernet0/0/1 OSPF 10 2 D 1.1.1.2 GigabitEthernet0/0/0 4.4.4.0/24Direct 0 0 D 4.4.4.1 GigabitEthernet0/0/1 4.4.4.1/32Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/1 4.4.4.255/32Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/1 5.5.5.0/24OSPF 10 2 D 4.4.4.4 GigabitEthernet0/0/1 127.0.0.0/8Direct 0 0 D 127.0.0.1 InLoopBack0 127.0.0.1/32Direct 0 0 D 127.0.0.1 InLoopBack0 127.255.255.255/32Direct 0 0 D 127.0.0.1 InLoopBack0 255.255.255.255/32Direct 0 0 D 127.0.0.1 InLoopBack0 [R1]

  提示:刪除g0/0/0上的介面開銷以後,對應路由表中就有兩條去往3.3.3.3的路由,他們掩碼優先順序開銷都一樣,此時當r1收到一個去往3.3.3.3的報文後,有可能資料包走g0/0/0,也有可能走g0/0/1;

  等價路由(ECMP, Equal Cost Multi-Path)

  類似上一個示例,同一個路由來源,當達到同一個目標網路有幾條相同度量值的路由時,這些路由都會被加入到路由表中, 資料包會在這幾個鏈路上進行負載分擔。所謂負載分擔不是負載均衡,負載分擔是指多條鏈路上都會有流量,不一定是平均分配的;而負載均衡是指多條鏈路上的流量是平均負載的;

  路由表的形成以及路由的來源

  路由表的形成就是一條條路由資訊的集合,路由的來源主要由三個,第一個是直連路由,所謂直連路由是路由a連線路由B,中間沒有任何裝置,這個就叫做直連;直連路由的形成必須滿足兩個條件,首先對應直接介面都正確配置了地址,其次對應介面都接線了,並且介面物理狀態是up狀態,這兩個條件必須同時滿足,直連路就會生成;一般在模擬器上我們連好線,配置上地址,對應直連路由就會自動生成; 路由資訊除了來自直連路由,還來自靜態路由和動態路由;靜態路由就是管理員人工手動新增到路由;動態路由是指路由器之間通過動態路由協議學習到的路由;常用的動態路由協議有rip,ospf,bgp,isis;

作者:Linux-1874 出處:https://www.cnblogs.com/qiuhom-1874/ 本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段宣告,且在文章頁面明顯位置給出原文連線,否則保留追究法律責任的權利.