網絡故障(network failure)是指由于硬件的問題、軟件的漏洞、病毒的侵入等引起網絡無法提供正常服務或降低服務質量的狀態。 在開始閱讀之前,可以考慮以下問題,也可以在閱讀后測試學習效果: 路由器 在前面關于路由器的介紹中,我們知道它是網絡互連的核心設備,用于連接不同的網絡,在網絡之間轉發IP數據報。對于路由器來說,路由表是最重要的內部組件。當路由器需要轉發數據時,它會根據路由表和一定的匹配規則進行轉發。對于路由表,一般有靜態和動態兩種配置。下面將詳細介紹這個過程,討論靜態和動態路由使用場景,以及原理和配置。 回想一下,對于路由器,需要完成以下任務: 靜態路由和動態路由的比較和應用場景 靜態路由: 動態路由: 綜上所述,靜態路由完全將路由的轉發委托給管理員。在拓撲更新的情況下,它由管理員維護。動態路由則相反。所有的轉發和學習過程完全依賴于路由器本身。 靜態路由-應用場景: 動態路由-應用場景: 靜態路由 配置靜態路由時,主要配置目的網段和下一跳地址。配置前需要進行如下分析: 靜態路由配置分析: 先統計一下網絡的數量 每臺路由器需要配置的路由數等于網絡總數減去與其相連的網絡數 目的網絡需要去的網絡,即非直連的網絡 下一跳是與路由器直連的接口地址 為接口配置IP地址后,路由器會生成兩條默認路由——表示直連 Loopback 接口的功能主要是為了測試。收到數據后會自動返回。
想象這樣的情況,假設到達5.5.5.5/24的網絡,當R4配置靜態路由時,可以通過兩條路徑R6和R7。 此時,當數據包到達網絡時,如何選擇? 采用的原則如下: 動態路由 路由器之間通過路由協議自主學習可以得到路由信息。這種路由稱為動態路由。使用路由協議動態構建路由表,不需要人工參與,可以自動適應網絡狀態的變化來更新路由表。大型網絡或狀態變化頻繁的網絡通常使用動態路由協議。 自制系統和分層路由 互聯網上的網絡數量龐大,數以百萬計的路由器相互連接。路由器不可能記錄每個網絡的信息,許多組織不愿意暴露其網絡的內部細節。基于以上原因,互聯網劃分了許多自治系統(Autonomous Systems)。 自治系統內的路由通過內部網關協議 (IGP) 交換路由信息。典型的內部網關協議是 RIP 和 OSPF。 需要在自治系統之間交換路由信息。外部網關協議 (EGP) 用于在自治系統之間交換路由信息。每個自治系統都會有一個邊界路由器來完成這個任務。 Internet目前使用的外部網關協議是BGP。 動態路由協議一般分為這幾類,如上圖所示: 距離矢量路由協議:根據跳數,選擇跳數最小的一個。比如RIP協議。 EIGRP 將使用跳數作為參考。 鏈路狀態路由協議:自己計算和過濾(鄰居表,拓撲表,路由表),例如OSPF,IS-IS等。 RIP(距離矢量) 應用層協議,使用UDP傳輸,520端口。RIP和IGRP已被淘汰,因為它們只支持有類路由協議。 (是一個不能劃分子網的協議) 路由信息協議 (RIP) 是路由器制造商之間使用的第一個開放標準,也是連接不同制造商設備的最廣泛使用的通用協議。 RIP 協議有兩個版本。與V1版本相比,V2版本增加了一些擴展特性,如更新認證、路由摘要、無類路由、VLSM、將廣播改為組播。 RIP 協議是一種基于距離向量的路由狀態協議。在 RIP 協議中,如果路由器 A 和網絡 B 直接相連,則路由器 A 和網絡 B 之間的距離為 N+1。如果從路由器A到網絡B需要N臺路由器,則路由器A到網絡B的距離為N+1。 RIP 認為距離最小的路徑是最佳路徑。 RIP中的距離也稱為“跳數”。每增加一個路由器,跳數增加一。 RIP 的工作原理 每臺路由器每 30 秒向其所有鄰居路由器廣播 RIP 數據包。數據包的內容是該路由器當前的路由信息??。收到鄰居路由器的路由表信息后,更新自己的路由表。下次,將更新的路由表 180 告訴您的鄰居。如果沒有收到某臺路由器的路由表信息,就會認為該路由器有問題。修改所有以該路由器為下一站的表項的距離為16,表示不可達。 60s后仍然沒有回復,從路由表中刪除 當兩個路由器共享一條鏈路或在同一個物理網絡中時,它們被稱為鄰居 配置:
因為對外發布網絡時有30s(默認)的時間差,所以可能會出現環路。 比如圖中R3宣布自己入網后,恰好Lo 0接口down了。這時候R3會立即刪除路由表中的3.3.3.0網絡。 然而,R2此時并不知道。假設 10 秒后,R2 將發布自己的路由。這時候會多播給R1和R3. 此時R3發現R2可以到達3.3.3.0的網絡,會將該網絡加入到它的路由表中,并將距離增加1。 此時,如果有網絡發送數據包3.3.3.0,它們會一直在R2和R3之間傳輸。并且隨著下一個通知周期的到來,R2和R3 距離會繼續增加,直到雙方的路由表中都消失了16。 如何解決成環問題: 限制最大距離:RIP協議允許一條路徑最多包含15個路由器,最大距離為16(表示網絡不可達) 水平分割:路由器從某個接口接收到的更新信息不允許通過該接口發回。 如果R2收到了從R3到3.3.3.0網絡的路由信息??,它在通告時不會告訴R[k10這個消息給3.3.3.0。 ] 但是水平分割仍然不能解決像第一張圖那樣有多條路徑可達的情況。 這里的解決方案是中毒逆轉: 其實就是一種改進的水平分割。當路由器從某個接口接收到某個網段的路由信息??時,并不會停止回送信息,而是將該網段的跳數(Distance)設置為無限,然后發送出去。接收方路由收到此類路由信息后,會立即放棄該路由,而不是等待其老化時間到期。 簡單來說,reversal就是說對于split horizo??n來說,原來是不發送的,現在發送了。但是發送的是一條距離為16的消息,表示網絡不可達,所以稱為毒藥。 這里可以做個實驗,使用關閉水平分割手動創建循環現象。
這時候我們可以用show ip route來觀察,我們會發現R1和R2的跳數會一直增加,增加到16,然后全部消失 原因: 由于R2的端口設置為passive,R1收不到R2關閉lo 0的消息,而且R1和R2的水平分割已經關閉。 此時R2會收到R1到2.2.2.0網絡的跳數為1,所以到2.2.2.0網絡的跳數為2 . 因為R2不能再通過直連到達2.2.2.2。所以它會更新它的跳數。然后R2將R1發送給2.2.2.2,跳數為2。 由于 R1 本身經過 R2 到達 2.2.2.2 網絡,所以它會將其路由表更新為 3 跳。以此類推,直到16月底。
當今,越來越多的業務應用運行于網絡架構之上,保障網絡的持續、高效、安全的運行,成為網絡管理者面臨的巨大挑戰。 |
溫馨提示:喜歡本站的話,請收藏一下本站!