目錄
第零層:前言
第一層:路由基礎
第二層:靜态路由
第三層:動态路由
第零層:前言
路由基礎這一節的複習沒有看任何老師的講解視訊,而是看了《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可以是單向
路由下一跳僅指下一跳接口
我們我們故意在一個廣播多路通路環境當中指路由時不指下一跳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,但路由器卻有兩條這樣的路由:
按照最長比對原則,這兩條都能比對的上,但用的時候會用條目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的什麼情況下,會用到路由黑洞?
fib
路由表和fib表的差別?
路由表和fib的資訊是同步的,但是fib表人更難以了解,fib的轉發速度更快,用的是特殊的存儲方式,猜是一種鍵值存儲,讀取速度非常快,fib更真。
路由表當中的rd和d是什麼意思?
d是已經下載下傳到fib表的意思,r是遞歸的意思。
什麼時候會出現r?
出現r意味着路由表和fib可能下一跳ip會不一緻。
在這裡可以與配置靜态路由時的注意事項關聯一下
配置了靜态路由但是卻沒有生效,三種原因
接口down
去往同樣目标網段的另一條路由優先級更高
下一跳ip沒有遞歸查詢成功
說出兩種路由負載分擔的方法
通過優先級做浮動路由
通過最長掩碼的規則影響對端路由