1. 程式人生 > 其它 >2020CSP-S第一輪賽前複習

2020CSP-S第一輪賽前複習

目錄

第零層:前言

路由基礎這一節的複習沒有看任何老師的講解視訊,而是看了《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沒有遞迴查詢成功
  • 說出兩種路由負載分擔的方法

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