RIP協議的特點分析
通過對RIP協議的了解,大家都知道了它的作用。那么這個規(guī)范路由工作的協議都有什么特點呢?現在我們就來簡單了解一下。RIP協議的一個重要的特點是它能夠告訴你它從其他路由器那里了解到的的有關目標網絡的情況。你可能聽說過這類被稱為“傳聞路由(routing by rumor)”的路由協議。它的工作方式是,在一臺路由器廣播RIP數據包之前把尺度域(metric field)的值加一。例如路由器A告訴你你能夠經過它通過兩跳達路由器B,那么,你就知道路由器A和路由器B能夠直接對話,因為它們之間的距離只有一個跳點。所以,路由器A同路由器B一樣在同一個廣播域中有一個鏈路。但是,你卻沒有。
當這個尺度,或者跳數,達到16的時候,說明你就遇問題。16這個數字在RIP協議中意味著無窮大。無窮數等于16是一種用來停止度量值無限增大的機制。之所以這樣設計由于“傳聞路由”的工作原理。這個問題講起來有點復雜。但是,請你耐心看一下下面這個三個路由器的例子:
路由器A知道它通過路由器B能夠在2跳之內可以達到路由器C。你頭腦中的畫面可以是一條直線,路由器B在中間,路由器A和C在兩端?,F在,由于路由器B與路由器C有直接的連接,因此,當路由器C出故障的時候它將會知道。但是,當路由器B有機會告訴路由器A有關路由器C出故障的事情之前,路由器A發(fā)出了一個RIP更新信息。這個信息包括“我能夠在2跳之內可以達到路由器C”。路由器B當然會相信路由器A,這就意味著路由器B相信路由器A能夠達到路由器C。當然,路由器A是不能到達路由器C的,因為它的路徑要經過路由器B。但是,路由器B并不知道這種情況,因為RIP協議中的惟一信息是下一跳地址,也就是路由器A。最后,當路由器B發(fā)送它的下一次更新的時候,它將包括通向路由器C的路由,這個路由現在是3跳。路由器A相信路由器B,因為路由器B畢竟是通向路由器C的惟一通道。這種事情經常發(fā)生,我們的跳數達到了16。這個路由將被放棄,而不會永遠繼續(xù)下去。
這個問題如何解決呢?使用距離向量協議可沒有辦法。當我們告訴我們的鄰居有關這個世界的情況時,我們沒有提供有關每一個網絡的詳細信息,這樣剛才那種計算無窮數的事情就可能發(fā)生。鏈路狀態(tài)協議向全部路由器提供整個網絡的狀況因此可以避免了這種問題的發(fā)生。“水平分割”是幫助避開這個問題的另一種方法。但是,這種方法本身也存在瑕疵。
Split-horizon意味著我們要跟蹤更新信息發(fā)進來的端口,關注可能與之發(fā)生沖突的其它路由器發(fā)來的更新信息。換句話說,路由器紀錄一條路由信息發(fā)送出去時使用的接口,當從這個接口收到到到同一目標的路由更新信息時,它會了解這是自己剛發(fā)出去的信息被其它路由器回傳了回來,從面一定程序上避免問題,但是,當涉及到更多的路由器的時候,上面介紹的情況仍會存在。這種例子會變得更加復雜。但是,如果你對RIP協議感興趣,你可以試著設計出一種環(huán)境,在這種環(huán)境中即使具有Split-horizon功能的路由器仍會出現計算無窮數的現象。
RIP協議的最后一個“問題”就是聚合的速度慢。這是真的,主要是因為每次更新間隔的30秒等待時間。但是,在小機構中,這沒什么大關系。RIPv2幾乎能夠在所有的硬件上運行,甚至在你買來支持寬帶網連接的廉價的“家庭路由器”上也可以運行。即使你沒有專門把RIP協議用作一個IGP協議,了解這個協議仍然是有用的,因為主機也可以使用這個協議作為手工設置一個默認的網關的替代方法。最后,即使你的機構很小,全部使用靜態(tài)路由就夠用,RIPv2也會給你帶來更多的方便。
RIP協議是一種距離向量內部網關路由協議:它使用跳數和下一跳路由器來具體說明路由。
RIPv1用來進行廣播,但是并不支持CIDR地址解析。RIPv2是無類域間路由并且使用多播技術。
雖然這個協議的匯聚速度很慢并且存在一些瑕疵,但是,RIP非常適合于中小企業(yè)環(huán)境。