路由基礎-第一章


第零層:前言

路由基礎這一節的復習沒有看任何老師的講解視頻,而是看了《HNCP路由交換指南》的路由基礎這一章節之后的自我梳理。在一年之前看《HCNP路由交換指南》的時候還是一種“不識廬山真面相,只緣身在此山中”的感覺,現在再看時就能夠把握住作者想說的話和每一章的結構,能基本上理解每一句話,能大概判斷下一句話要講什么,感覺真的是太棒了!當我寫這篇自我梳理的時候,我認為我完全沒必要按照作者對這一章節的架構來梳理,完全可以按照自己的方式。

當看完整個章節之后,發現整個章節都是圍繞着路由表擴展開始講的。

  • 路由表里面有協議這一字段,這一字段擴展來講其實也沒有什么好講的,無非是直連、靜態、動態、而動態又分距離矢量和鏈路狀態路由這兩種類型,這一字段其實是概括性的,沒什么好說的;
  • 還有目標網絡和掩碼這一字段,這一字段里面講了路由匹配和最長掩碼匹配這兩個重要的知識點。在下一跳接口和下一跳IP這里知識點比較重要,強調了各種路由書寫方式導致的不同后果,既然講到下一跳接口,又擴展到路由黑洞,通過路由黑洞又可以擴展出路由匯總、nat這些知識點;
  • 優先級和度量值也是相對簡單的,講了路由是如何匹配的,當遇到不同的情況路由器是如何處理的,以及利用優先級可以做浮動路由,通過浮動路由雙引出了企業雙鏈路負載均衡;最后通過靜態路由的缺點又引出了NQA和BFD;
  • 標記位,通過標記引出了FIB和路由表,其實FIB是可以與路由書寫那個小節產生聯系,可以讓我們更好的理解;

另外,作者這一章節還”抖了兩個激靈“,一個是在路由書寫時如果書寫錯誤會導致意外,但通過一種手段(arp代理)就能彌補這個錯誤;另一個是在路由匯總這一個小節當中,如果真的匯總錯誤之后,我們還可以通過路由黑洞加入彌補。

作者在最后的環節出了幾道題目,有幾道題目真的有點意思,我雖然可以答出一些答案,但是無法將這個問題回答完美,比如這個問題有三個答案,我能回答出來兩個,但也從側面反應出我對知識的整合是不足的。

第一層:路由基礎

  • 什么是路由?

路由就是轉發,什么轉發呢?就是根據目標IP查找路由表進行轉發。

  • 路由表里面有什么內容?

協議、目標IP和掩碼、下一步接口和IP、優先級和度量值、標記

  • 路由條目當中的協議是什么意思?

代表着通過什么途徑得到這個路由協議,比如靜態or動態orOSPF

  • 優先級是什么意思?越大越好還是越小越好?

優先級就是路由匹配時候用到的優先級,路由協議有很多,有的優秀,有的不那么優秀,就是通過優先級來區別,越是優秀的路由協議優先級越小,越小也就意味着越高,使用的幾率就會越大。

  • 優先級什么時候會起作用?

當通過不同的路由協議學到去往同一個目標網段的路由時,優先小的優先使用。

  • 說一下直連、靜態、rip、ospf、MPLS、ISIS、BGP各自的優先級是多少

直連是0,靜態是60,ospf內部路由是比較優秀的,僅次於直連是10,ISIS又次於OSPF是15.

RIP是100,OSPF_ASE和NSSA都是150,BGP的IBGP和EBGP都是255.

  • 直連路由被加載到路由表的前提是什么?

物理接口狀態和協議狀態都必須是UP的才可以。

  • cost、度量值是什么意思?

就是開銷的意思,就是從源到目標要用多少開銷。

  • cost開銷的意義

優先級是規定死的,不能更改的,但是開銷是可以更改的,對於從同一種路由協議學到的路由條目,這時候無法通過比較優先級了,因為優先級是一樣的,這時候就得開銷出馬了。

像是RIP、OSPF的開銷都得是根據實際情況來的,靜態和直連的的開銷默認都是0.

第二層:靜態路由

靜態路由其實很簡單,只要配置的時候稍微注意一點,還要掌握與其關聯的三個東西:浮動路由、BFD、NQA

  • 在配置靜態路由時,什么時候必須指定下一跳IP?

廣播多路訪問(BMA)環境當中,比如以太網環境當中,有很多主機,如果僅指定下一跳接口,設備不知道將數據包交給誰。

  • 在配置靜態路由時,什么時候不需要指定下一跳IP?

在點到點的環境當中,這個時候只需要指定出接口也可以,因為這個接口只對應一台主機,不會出錯。

  • 如果一個路由條目的優先級一樣、開銷也一樣,比如兩條靜態路由優先級都是60,開銷也一樣,怎么選擇呢?

面對這種一模一樣的環境,路由器也會傻眼了,會形成負載分擔的結果;

  • 如果想破壞這種負載分擔的場景,變成一主一備怎么搞呢?

其實很簡單了,將其中的一條路由的優先級更大一點,讓其中一條勝出就可以了,當主的掛了,備的會自動頂上。

  • 什么時候會用到上述這種機制?

比如說有兩個公網出口的時候,這樣的備份就會好很多;

  • 靜態路由與浮動路由之間有什么關系?

當有兩種等價的靜態路由條目,優先級和開銷都一樣時,會用到修改開銷的方式隱藏一條路由,等到正在用的那一條消失后,自動浮出來,這就是兩者之間關系

  • 直連和靜態路由什么時候會消失?

當所指向的接口斷電之后,路由就會消失。

  • 這種斷電消失的機制有什么問題?

如果我在兩個路由器之間加一個交換機,斷交換機一個接口,另一個接口所接入的路由器因為感知到路由器的接口還有電,所以路由並不會消失,可是路明明已經斷了。

  • 怎樣避免這種問題?

BFD和NQA

  • BFD與NQA與調用它們的路由條目是什么關系?

    是串連關系,我行你才行,我不行你也不行,BFD和NQA行,調用它們的路由條目才生效,如果BFD和NQA不行,靜態路由條目也會立馬失效;

  • BFD里面最重要的關鍵詞是什么?解釋一個這個關鍵詞的意思?

BFD(bidirectional forwarding detection雙向轉發檢測),最重要的關鍵詞是“雙向”,BFD其實有點意思,兩端都需要配置,兩端相互做為客戶端和服務端,平時有規律交互心跳報文,任何一端只要發現對端不通了,就會通知bfd關聯的的靜態路由消失。

  • NQA是什么?

NQA(network quality analysis網絡質量分析),這個NAQ有點zabbix的意思,能做的事情很多,可以調用很多的探測工具,調用ICMP、DNS、HTTP都是很正常的,我們可以讓其調用ICMP,做一個單向的探測,模擬zabbix的簡單探測,不需要被監控端做什么。

同樣的,需要關聯靜態路由,與靜態路由關系依然是串行的關系,一旦NAQ探測失敗了,就會讓靜態路由也失效。

  • BFD與NQA有什么區別?

BFD是雙向的,而NQA可以是單向


這一part知識點在《HCNP路由交換指南當中的29頁有描述》

路由下一跳僅指下一跳接口

  • 我們我們故意在一個廣播多路訪問環境當中指路由時不指下一跳IP,就要指一個接口,這意味着什么?為什么要指下一跳時盡量不要指接口?

因為一旦指了接口,就會讓路由器偷懶不再計算,認為目標網段就是自己的直連接口,去往目標網段的時候就直接發arp廣播!

  • 還有一種情況,下一跳IP和接口都指了,接口指對了,但下一跳IP指錯了,這時候數據是怎樣轉發的?

在這種情況下,下一跳接口和下一跳IP就是關聯關系,路由器在收到目標網段的數據時,會通過下一跳接口arp廣播詢問下一跳IP的mac,如果詢問不到,那就完蛋了。

  • 以后兩種情況下,怎樣通呢?

在對端接口上開啟了arp代理,這樣如果對端設備擁有目標網段的路由時,就會用自己的MAC地址進行回應。


存在僅指IP

把IP指對了,就特別正常,下一跳掊會自動被上,如果把IP指錯了,這時候就又分為兩種情況。

如果下一跳IP是可以根據已知路由推算出來的,那這時候路由器會糾正下一跳,糾正之后會有FIB表當中體現,如果是靜態這么寫的:”告訴A設備去往D需要通過C的轉發“,經過查詢路由表發現去往C需要經過B,這時候A設備會自動將糾正將去往D的流量交由B來轉發,下一跳是B的IP,通過B的IP再來計算下一跳接口。

如果從已知的路由條目當中無法找到去往目標路由的下一跳時,將不會在路由表當中體現出來


  • 如果我們即指了下一跳接口,又指了下一跳IP,對路由來着意味着什么?

如果兩者都皆有,路由器會直接加載,路由器會認為去往目標網段交給此下一跳IP,會在發送者arp廣播下一跳的MAC,如果下一跳能收到就還正常,如果因為寫錯了,就不可到達了,如果通過一些小手段,比如arp代理之類的也能解決。

第三層:動態路由

  • 距離矢量和鏈路狀態路由最關鍵的區別

一個通告的是鏈路狀態,另一個通告的是路由信息,這就導致一個現象,那就是距離矢量路由協議不知道整個網絡的拓撲,它只知道去哪里該怎么走、有多遠(跳數)

  • 距離矢量路由協議是以什么做為度量值?距離矢量將直連網段的度量值做為多少?通告時怎么做?

跳數,距離矢量路由協議將直接路由的度量值做為0,但通告給其它路由器的時候要加1。

最長掩碼匹配

  • 路由條目的最長匹配是怎么匹配的?

所謂的路由匹配最長原則就是拿目標IP與路由條目的掩碼做與運算得出目標地址的網絡位,與路由條目的網絡位做對比,拿哪一個路由條目能匹配的上,如果網絡位一樣,就按照路由條目的指向進行轉發。

  • 什么情況下會匹配到兩條路由呢?

比如目標IP是172.16.2.1,但路由器卻有兩條這樣的路由:

條目1:172.16.0.0/16  192.168.1.1
條目2:172.16.2.0/24  192.168.2.1

按照最長匹配原則,這兩條都能匹配的上,但用的時候會用條目2,因為條目1前16位和目標IP是網絡位是一樣的,而條目2,前24位和目標IP的網絡位是一樣的,24比16要長,所以要用條目2,這就是最長匹配原則。

  • 還可以利用最長匹配原則來做什么?

利用最長匹配原則其實是可以影響對端路由器的,比如兩個路由器都運行RIP,那宣告的時候可以通過改變宣告掩碼的長度影響對端路由器的轉發。

  • 如果兩條帶寬用的不是動態的RIP,而是靜態的話,那用什么辦法呢?

用優先級做浮動路由就可以

路由匯總

  • 路由匯總的子網掩碼是向哪個方向移動的?

是向左邊移動的

  • 什么情況下會引發路由環路的情況發生?

比如R1連接三個網段192.168.1.0、192.168.2.0、192.168.3.0,默認網關指向了172.16.0.1這個R2路由器,而R2路由做了錯誤的匯總,將192.168.0.0/16的下一跳全都回指向了R1路由器,這種情況下,如果有黑客登錄到了R1路由器發送目標是192.168.3.x的垃圾報文,這時候R1指向R2,R2又指向了R1,會不斷的循環。

  • 如果真的發生上述情況,應該怎么避免呢?

通過路由黑洞,在R1上配置ip route-s 192.168.0.0/22 null0,這樣R1再遇到發往192.168.3.x的報文時會直接丟棄

  • 上述黑洞會不會誤傷?為什么?

還是因為最長匹配的原則

  • 在配置NAT的什么情況下,會用到路由黑洞?

在用地址池的時候,這個地方在《華為防火牆漫談》NAT一節有講解。

FIB

  • 路由表和FIB表的區別?

路由表和FIB的信息是同步的,但是FIB表人更難以理解,FIB的轉發速度更快,用的是特殊的存儲方式,猜是一種鍵值存儲,讀取速度非常快,FIB更真。

  • 路由表當中的RD和D是什么意思?

D是已經下載到FIB表的意思,R是遞歸的意思。

  • 什么時候會出現R?

出現R意味着路由表和FIB可能下一跳IP會不一致。

在這里可以與配置靜態路由時的注意事項關聯一下

  • 配置了靜態路由但是卻沒有生效,三種原因

    • 接口down
    • 去往同樣目標網段的另一條路由優先級更高
    • 下一跳IP沒有遞歸查詢成功
  • 說出兩種路由負載分擔的方法

    • 通過優先級做浮動路由
    • 通過最長掩碼的規則影響對端路由


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM