EIGRP
EIGRP 不發送定期更新,而是觸發更新(就是說當有變化的時候)。當出現新路由或現有路由需要刪除時,EIGRP 只會發送有關該網絡的信息,而不是整個路由表。該信息只會發往確實需要此信息的那些路由器。
EIGRP 使用的更新具有以下特點:
l 不定期,因為此類信息不是按固定時間間隔發送。
l 僅當拓撲結構中發生影響路由信息的改變時才發送相關部分的更新。
l 限定范圍,這表示部分更新的傳播受到自動限制,只有需要該更新信息的路由器才會收到更新。
觸發更新:
當拓撲結構發生改變時,為了加速收斂,RIP 將使用觸發更新。檢測到拓撲結構變化的路由器會立即向相鄰路由器發送更新消息。接收到這一消息的路由器將依次生成觸發更新,以通知鄰居拓撲結構發生了改變。
當發生以下情況之一時,就會發出觸發更新:
l 接口狀態改變(開啟或關閉)
l 某條路由進入(或退出)“不可達”狀態
l 路由表中增加了一條路由
如果能夠保證更新能立即到達每臺路由器,那么僅使用觸發更新就已足夠。然而,觸發更新存在兩個問題:
l 包含更新信息的數據包可能在網絡的某些鏈路上丟失或損壞。
l 觸發更新并不能在瞬間完成。尚未收到觸發更新的路由器有可能在錯誤的時間發送常規定期更新,從而導致錯誤的路由重新插入已經收到觸發更新的鄰居的路由表中。
同步更新存在的問題:
同時發送更新也被稱為同步更新,因為距離矢量路由協議使用定期更新機制,因此對于此類協議,同步可能會造成問題。隨著同步的路由器計時器越來越多,網絡中出現的更新沖突和延遲也會越來越多。
解決方案:
Cisco IOS 引入了稱為 RIP_JITTER 的隨機變量,此變量會為網絡中每臺路由器的更新時間間隔減去一段可變時間量。此隨機抖動(即可變時間量)的范圍是指定更新時間間隔的 0% 到 15%。在這種方式下,默認 30 秒的更新間隔實際會在 25 到 30 秒之間隨機變化。
什么是路由環路:
路由環路是指數據包在一系列路由器之間不斷傳輸卻始終無法到達其預期目的網絡的一種現象。
造成環路的可能原因有:
l 靜態路由配置錯誤
l 路由重分發配置錯誤(就是說把2個不同的路由協議進行互通)
l 發生了改變的網絡中收斂速度緩慢,不一致的路由表未能得到更新
l 錯誤配置或添加了丟棄的路由
路由環路會造成什么影響:路由環路會對網絡造成嚴重影響,導致網絡性能降低,甚至使網絡癱瘓。
路由環路可能造成以下后果:
l 環路內的路由器占用鏈路帶寬來反復收發流量。
l 路由器的 CPU 因不斷循環數據包而不堪重負。
l 路由器的 CPU 承擔了無用的數據包轉發工作,從而影響到網絡收斂。
l 路由更新可能會丟失或無法得到及時處理。這些狀況可能會導致更多的路由環路,使情況進一步惡化。
l 數據包可能丟失在“黑洞”中。
路由環路一般是由距離矢量路由協議引發的,目前有多種機制可以消除路由環路。這些機制包括:
l 定義最大度量以防止計數至無窮大(就是定一個最大條數等到達這個條數是自動加到不可達)
l 抑制計時器(就是說當有一條路由信息出現變化時將觸發更新,到鄰居路由器鄰居當收到這條信息后將此路由信息加上抑制計時器,當抑制計時器為0的時候就認為此路由信息失效。)
l 水平分割規則規定,路由器不能使用接收更新的同一接口來通告同一網絡。
l 路由毒化或毒性反轉
l 觸發更新
抑制計時器通過以下方式工作:
1. 路由器從鄰居處接收到更新,該更新表明以前可以訪問的網絡現在已不可訪問。
2. 路由器將該網絡標記為 possibly down 并啟動抑制計時器。
3. 如果在抑制期間從任何相鄰路由器接收到含有更小度量的有關該網絡的更新,則恢復該網絡并刪除抑制計時器。
4. 如果在抑制期間從相鄰路由器收到的更新包含的度量與之前相同或更大,則該更新將被忽略。如此一來,更改信息便可以繼續在網絡中傳播一段時間。
5. 路由器仍然會轉發目的網絡被標記為 possibly down 的數據包。通過這種方式,路由器便能克服連接斷續所帶來的問題。如果目的網絡確實不可達,但路由器又轉發了數據包,黑洞路由就會建立起來并持續到抑制計時器超時。
水平分割規則:
水平分割規則規定,路由器不能使用接收更新的同一接口來通告同一網絡。
路由毒化:路由毒化用于在發往其它路由器的路由更新中將路由標記為不可達。(就是說使用標記“不可達”的方法是將度量設置為最大值。對于 RIP,毒化路由的度量為 16。)
帶毒性反轉的水平分割:“帶毒性反轉的水平分割”規則規定,從特定接口向外發送更新時,將通過該接口獲知的所有網絡標示為不可達。
IP和TTL:TTL(生存時間)是 IP 報頭中的 8 位字段,它限制了數據包在被丟棄之前能夠在網絡中傳輸的跳數。(TTL經過每個路由都會減1,當減到0時則丟棄,并向該 IP 數據包的源地址發送 ICMP錯誤消息。)
RIP和EIGRP:
RIP:RIP 已經從有類路由協議 (RIPv1) 發展到無類路由協議 (RIPv2)。RIPv1 和 RIPv2 在計算路由度量時都只考慮跳數,有效路由的跳數不能超過 15 跳。
RIP 的功能:
l 支持用于防止路由環路的水平分割和帶毒性反轉的水平分割。
l 能夠在多達六條的等價路徑上進行負載均衡。默認為四條等價路徑。
RIPv2 對 RIPv1 進行了如下改進:
l 在路由更新中包含子網掩碼,從而使協議變為無類路由協議。
l 增加驗證機制以確保路由表更新的安全性。
l 支持可變長子網掩碼 (VLSM)。
l 使用組播地址代替廣播地址。
l 支持手動總結路由。
EIGRP:是另一種距離矢量協議。EIGRP 具備某些鏈路狀態路由協議功能,是一種無類距離矢量路由協議。(Cisco 私有)
EIGRP 的功能包括:
l 觸發更新(EIGRP 沒有定期更新)。
l 使用拓撲表維護從鄰居處收到的所有路由(不僅是最佳路徑)。
l 使用 EIGRP hello 協議與相鄰路由器建立鄰接關系。
l 支持 VLSM 和手動路由總結。這些功能使得 EIGRP 有能力創建具有層次結構的大型網絡。
EIGRP 的優點:
l 盡管路由以距離矢量方式傳播,但度量是根據最小帶寬和路徑的累積延遲進行計算,而不是根據跳數得出。
l 采用擴散更新算法 (DUAL) 進行路由計算,收斂速度更快。DUAL 允許向 EIGRP 拓撲表插入備用路由,當主路由失敗時備用路由便可派上用場。由于這一過程在本地實現,所以可以立即切換到備用路由,不需要其它路由器進行任何操作。
l 使用限定更新,因此 EIGRP 使用的帶寬更少,特別是在包含許多路由的大型網絡中這一點更為明顯。
l EIGRP 具有協議相關模塊,可支持多種網絡層協議,包括 IP、IPX 和 AppleTalk。