對于RIP路由協議在撥號網絡中的使用和收斂問題的研究
在RIP路由協議中,有一個特別大的特點,就是慢收斂。什么慢收斂呢?這里我們就來詳細介紹一下。另外我們再來講解一下有關于撥號網絡的RIP路由協議的使用。希望本文的總結對大家的學習有所幫助。
慢收斂問題的解決
可以使用分割范圍更新(split horizon update)技術來解決慢收斂問題.在使用分割范圍技術時,路由器記錄下收到各路由的接口,而當這路由器通告路由時,就不會把該路由再通過那個接口送回去.在該例中,路由器R2不會把它到網絡1的距離為2的路由再通告給R1,因此一旦R1與網絡1的連接失效,它就不會再通告該路由.經過幾輪選路更新之后,所有的機器都會知道網絡1是不可達的.但是分割范圍更新技術不能解決所有的拓撲結構中的問題.
考慮慢收斂問題的另一個方法是使用信息流的概念.如果路由器通告了到某網絡的短路由,所有接收路由器迅速地作出安裝該路由的反應.當路由器停止通告某路由,協議在判斷該路由不可達之前,要依據超時機制來工作.當超時出現時,路由器尋找替代路由并開始傳播此信息.不幸的是,路由器并不知道這個替代路由是否要依賴于剛剛消失的路由.因此,通常不應迅速地傳播否定的信息.有一條警句或謂一語破的:
好消息傳播得快,壞消息傳播得慢.
解決慢收斂問題的另一個技術使用了抑制(hold down)法.抑制法迫使參與協議工作的路由器,在收到關于某網絡不可達的信息后的一段固定時間內,忽略任何關于該網絡的路由信息.這段抑制時間的典型長度是60秒.該技術的思路是等待足夠的時間以便確信所有的機器都收到壞消息,并且不會錯誤地接受內容過時的報文.需要指出的是,所有參與RIP路由協議的機器都要遵循抑制策略,否則仍然會發生選路回路現象.抑制技術的缺點是:如果出現了選路回路,那么在抑制期間內這些選路回路仍然會維持下去.更嚴重的是,在抑制期間所有不正確的路由也保留下來了,即使是有替代路由的存在.
解決慢收斂問題的***一種技術就是毒性逆轉(poison reverse).當一條連接消失后,路由器在若干個更新周期內都有保留該路由,但是在廣播路由時則規定該路由的費用為無限長.為提高毒性逆轉法的效率,它應該與觸發更新(triggered updates)技術結合.觸發更新技術使得新信息,路由器減少了因為想信好消息而容易出錯的時間.
不幸的是,雖然觸發更新技術、毒性逆轉技術、抑制技術和分割范圍技術能夠解決一些問題,但它們又帶來了一些新的問題.例如,在許多路由器共享一個公共網絡的結構中采用觸發更新技術的情況下,一個廣播就能改變這些路由器的選路表,引發一輪新的廣播.如果第二輪廣播改變了路由表,它又會引起更多的廣播.這就產生了廣播雪崩.
使用廣播技術(這有可能產生選路回路)和使用抑制技術防止慢收斂問題,可使得RIP路由協議在廣域網上的工作效率極低.廣播要耗費大量寶貴的帶寬.即便不出現廣播雪崩現象,所有機器周期性地進行廣播也意味著網絡流量隨著路由器數目的增加而增加.而可能出現的選路回路在線路容量有限的情況下可能就是致命的問題.當兜圈子的分組使得線路的容量飽和后,路由器要交換一些選路報文來打破這種回路,就變得很困難甚至是不可能的.同樣,在廣域網中,抑制期間可能太長,使得高層協議使用的定時器超時從而中斷連接.盡管有這些熟知的問題,但還是有許多的組織在廣域網上使用RIP作為IGP.
針對撥號網上路由的特點,我們不可能象在局域網和專線網一樣在撥號網上對路由進行30秒的定時廣播,從而也就決定了我們對撥號網上的路由不能象對局域網上的路由一樣進行超時處理.
正是基于這種考慮,為了保證路由的及時性和可行性的考慮,我們規定撥號網上的路由修改報文的發送在如下幾種情況下進行:
1. 當收到路由修改的特定的請求時;
2. 當路由數據庫被從別的接口收到新路由報文改變時;
3. 當得知某信宿從不可達變成可達時;
4. 當某接口從電路DOWN到電路UP時
這就存在這樣一個問題,RIP路由協議的報文是通過UDP的520號端口發送的,而UDP是不可靠的傳送方式,這顯然必須考慮報文傳輸失敗的可能性.為此,我們在傳送時采取了報文傳送的重發和確認機制.在發送報文時,當發送完請求報文或修改報文后,如果在5秒鐘仍未收到信宿回發過來的確認報文,重發請求報文或確認報文.如果在重發后5秒后仍未收到確認報文,則繼續重發直到收到信宿的確認報文為止.如果在重發10次后,認為收到信宿的確認報文,則認為傳輸失敗,將對應路由的Metric值設為16.在接收報文時,當收到信源發來的請求或修改報文后,要對收到的報文進行確認,并向原信源發送相應的確認報文.
如果從撥號網上下一驛站路由器收到路由修改報文,則修改報文中的路由項將一直認為是可達的直到某次發送路由報文失敗.
撥號網與局域網和專線網對超時處理的不同也體現在路由數據庫中.在路由數據庫中,路由分為兩種,一種是"臨時性路由" ,一種是"***性路由"."臨時性路由"針對于局域網路由和廣域網專線上的路由.這種路由每30秒廣播一次,在一定時間內沒有收到路由刷新報文后,進行超時處理."***性路由"指的是包括撥號網上的路由,在沒有收到刷新報文仍不不進行超時處理,但當對某信宿發送報文失敗時則將該路由改為"臨時性路由".