【譽天教育|解憂雜貨店】RIPv1和RIPv2理論知識--華爲數通R&S實驗漫載(7)

【譽天教育|解憂雜貨店】RIPv1和RIPv2理論知識--華爲數通R&S實驗漫載(7)

前言

上一章我們給大家介紹了靜態路由的一些基礎配置和一些特殊的應用,我們可以通過靜態路由的配置得知路由器中的路由表是可以通過管理員靜態手工指定的,但是由於是靜態的,相當於路由器就像管理員手中的傀儡木偶,完全按照管理員的指定來轉發報文,所以靜態路由不能靈活的感知網絡的故障,需要管理員手工維護,所以在大規模網絡中配置靜態路由的配置量和維護量是比較龐大的,那麼我們就需要一種解決方法,使得木偶有自己的頭腦,並且有自己的語言,能夠完成木偶之間的溝通,讓路由信息能夠在路由器之間進行自主交流,所以我們從今天就要開始學習動態路由協議,而態路由協議就像木偶之間的語言一樣,可以讓路由器與路由器之間進行路由溝通,從而動態構建路由表,管理員要做的就是把配置做好就可以了。就像人類和人類之間的語言一樣,有漢語,有英語,有西班牙語等等,所以我們路由器之間的語言也有很多,今天我們就給大家介紹其中一種語言——RIP。
RIP(Routing Information Protocol)路由信息協議是一個比較古老的路由協議,也是我們作爲網絡工程師第一個應該去接觸的路由協議,這個協議實際上被提出的比較早了,但是由於其有比較多的缺點,一般很少出現在現網中,所以大多數的攻城獅都認爲這個協議已經過時了,但是RIP因爲體積較小並且配置簡單還是會應用在小型網絡中。所以我們學習這個協議也是有必要的。

RIP的歷史

在1988年IETF在RFC1058發佈了RIPv1,提出的時間是比較早的,而且其中有很多缺陷,比如不支持VLSM,不支持認證等功能,所以在1993年發佈了RFC1388對RIPv1進行了改進,名爲RIP version 2,並在RFC1723和RFC2453也對RIP進行了修訂。在RIPv2中對RIPv1做了很多改進,比如支持了VLSM和CIDR,支持認證,支持組播等功能,具體的區別我們在下文中會做說明。
但是隨着90年代末期OSPF和IS-IS的出現,使得RIP這個協議不會大範圍的應用在現網當中,尤其是大型網絡中,但是由於RIP體積較小,消耗設備系統資源小,配置簡單,所以RIP先在也在小型網絡中有使用。

IETF和RFC
國際互聯網工程任務組(The Internet Engineering Task Force,簡稱 IETF)是一個公開性質的大型民間國際團體,彙集了與互聯網架構和互聯網順利運作相關的網絡設計者、運營者、投資人和研究人員,並歡迎所有對此行業感興趣的人士參與。
IETF成立於1985年底,是全球互聯網最具權威的技術標準化組織,主要任務是負責互聯網相關技術規範的研發和制定,當前絕大多數國際互聯網技術標準出自IETF,比如RIP,OSPF,集成的IS-IS。也就是說,只要你足夠NB,你就可以申請稱爲IETF的一員,爲其制定相應的標準。
RFC(Request For Comments,一系列以編號排定的文件)文件格式最初作爲ARPA網計劃的基礎起源於1969年。如今,它已經成爲IETF、Internet Architecture Board (IAB)還有其他一些主要的公共網絡研究社區的正式出版物發佈途徑。也就是說IETF關於網絡研究指定的標準基本都會收錄於RFC文檔中,所以翻看RFC文檔是一個資深網工成熟的標誌!但是RFC文檔基本以每年100篇的速度增長,所以要看完所有的RFC文檔並弄懂還是比較吃力的,而且RFC文檔原文都是英文的,可能還需要有英文的底子,這對於我們來說是比較困難的,但是對於一些網絡中經常會用的技術還是需要我們去查看RFC文檔來弄懂其中的原理。

下圖中就是RIPv1和RIPv2的RFC文檔標題等:
【譽天教育|解憂雜貨店】RIPv1和RIPv2理論知識--華爲數通R&S實驗漫載(7)
【譽天教育|解憂雜貨店】RIPv1和RIPv2理論知識--華爲數通R&S實驗漫載(7)

RIPv1

一、RIPv1概況
RIPv1是比較早的版本了,這個版本的RIP具有很多缺陷,所以目前不會在現網中使用了。那麼RIPv1的特點都有哪些呢?

  • 是有類路由協議,不支持VLSM和CIDR。
  • 使用廣播進行路由更新,不支持組播更新。
  • 不支持認證。
  • 基於UDP,端口號520。
    從特點中我們可以看到,RIPv1這個協議的缺點還是非常明顯的,比如是有類的路由協議,這就註定了他不能支持VLSM和CIDR,導致他不太適用於現網中,因爲現網更多的採用了子網劃分的方式進行組網。而且RIPv1不支持認證,所以存在安全隱患。所以從這麼多缺點可以知道RIPv1的侷限性了。
    二、RIPv1的報文
    【譽天教育|解憂雜貨店】RIPv1和RIPv2理論知識--華爲數通R&S實驗漫載(7)
    Command:表示該報文是一個請求報文還是響應報文,只能取1或者2。1表示該報文是請求報文,2表示該報文是響應報文。
    Version:表示RIP的版本信息。對於RIPv1,該字段的值爲1。
    Address Family Identifier(AFI):表示地址標識信息,對於IP協議,其值爲2。
    IP address:表示該路由條目的目的IP地址。這一項可以是網絡地址、主機地址。
    Metric:標識該路由條目的度量值,取值範圍1-16。

    從上圖中我們可以看到RIPv1的報文結構是比較簡單的,上面的三個字段是RIPv1的報文頭部,也就是所有RIP報文都會攜帶的,其中command是報文類型,RIPv1的報文有兩種是request請求報文和responce響應報文。version是RIP的版本,後面的部分是must be zero也就是沒有使用,用0填充。後面的Route Entries就是一條路由,其中包含路由的前綴和開銷,但是沒有掩碼,因爲RIPv1是無類路由器協議,所以只傳遞路由的主類前綴,也就是對於10.1.12.0/24這條路由只會傳遞爲10.0.0.0。
    因爲整個RIP報文大小限制爲不超過504字節。而一條路由的大小爲20字節,RIPv1的報頭爲4個字節,所以一個RIP路由更新消息中最多可包含25條路由表項,每個路由表項都攜帶了目的網絡的地址和度量值。如果整個路由表的更新消息超過該大小,需要發送多個RIPv1報文。

    RIPv2

    一、RIPv2概況
    RIPv2是RIPv1的升級版本,他彌補了RIPv1的很多缺陷,目前我們在網絡中使用的也基本上都是RIPv2。RIPv2的特點:

  • 是無類路由協議,支持VLSM和CIDR。
  • 使用組播地址224.0.0.9進行路由更新,也支持廣播。
  • 支持認證。
  • 基於UDP,端口號520。
    從以上特點我們可以看到RIPv2是對RIPv1做了相當多的優化以及升級,比如開始支持無類網絡了,可以更多的應用在子網劃分的場景中,我們後續學習的OSPF,IS-IS,BGP都是屬於無類路由協議。也使用組播地址進行更新,更加具備效率。支持認證,增加安全性,而且支持明文和MD5認證。
    二、RIPv2的報文
    【譽天教育|解憂雜貨店】RIPv1和RIPv2理論知識--華爲數通R&S實驗漫載(7)
    RIPv2在路由中進行了字段的填充和利用,增加了子網掩碼和下一跳的字段,可以支持VLSM等技術,所以說RIPv2能夠更高效的運行在網絡中。

    路由更新原則

    【譽天教育|解憂雜貨店】RIPv1和RIPv2理論知識--華爲數通R&S實驗漫載(7)
    RIP路由器在開啓後會通過運行RIP的接口發送請求報文進行路由請求,其他路由器收到後會發送響應報文將自身所有的RIP路由信息通告給RIP路由器,並在路由中攜帶開銷值,也就是說收到響應報文的路由器無需再次計算開銷值(RIP以跳數作爲開銷值計算,去往目的網絡經過的路由器越多,跳數就越多,開銷就越大),直接拿過來用就可以了,如圖中所示,RTB更新給RTA的路由10.0.0.0開銷就是發送的時候加1,所以RTA收到後就認爲去10.0.0.0從RTB走需要經過一跳,而RTB也會將該路由開銷值爲1更新給RTC,RTC將開銷值加1後更新給RTA,所以RTA又從RTC收到了開銷值爲2的10.0.0.0,優先選擇開銷值小的,所以選擇了RTB訪問10.0.0.0。
    我們經常認爲RIP是一個基於傳聞的協議,他不會自己計算路由,而是使用其他路由器給你算好的,所以很容易出現一種情況,就是別人給你的未必是最好的!比如RIP就相當於一個盲人,他要去一個地點他不知道路怎麼走,要問行人,結果行人給他指了一條遠路,但是盲人並不知道真正的目的地在哪,所以他只能聽信行人的指導走了遠路。而RIP正是這樣,比如RTA,實際上RTA並不知道目的網絡10.0.0.0到底在哪,他只知道通過RTB和RTC可以去,所以他選了較小的開銷,但有可能他走了遠路,這就是距離矢量路由協議。
    如果路由器可以得知整個網絡的拓撲的話,那麼他就相當於自己有一張地圖可以自己計算最短路徑,這種路由協議被稱爲鏈路狀態(Link-State)路由協議,非常適合於大型網絡,比如OSPF和IS-IS。

    距離矢量(Disance-Vector)
    基於距離矢量的路由協議通常是根據目的地的遠近來計算路由,比如RIP就是根據去往目的地跳數的大小計算路由信息。同樣類似的協議還有BGP。距離矢量路由協議只會將路由信息和自己的直連路由器共享,通過路由的傳遞達到全網範圍內得到路由信息。所以作爲一臺路由器使用距離矢量算法的話,那麼他將不會得知目的地的準確位置。而且距離越遠的路由器,得到路由信息的速度越慢,換言之,網絡規模越大,收斂速度越慢。

    RIP路由器會週期性30s發送響應報文攜帶自身所有的RIP路由信息,我們稱之爲週期全量路由更新,這樣的更新方式比較消耗資源,所以應用在大型網絡中,比如帶寬資源比較吃緊的場景就比較浪費資源。RIP路由在180s的老化時間內沒有收到再一次更新,則會從IP路由表中刪除並進入RIP的垃圾回收時間(此時路由雖然不在路由表中,但還在RIP表中,但是進入了垃圾回收時間也就是被抑制了),如果在垃圾回收時間120s內又沒有收到路由更新,則會被徹底刪除。這個垃圾回收就類似於回收站,雖然被刪除了,但還是可以找回,但是如果在回收站被刪除了就真的沒了。後續的課程中會通過實驗進行驗證。
    RIP計時器(華爲設備實測):

  • 更新計時器:缺省30s,全量路由的更新週期時間。
  • 老化計時器:缺省180s,RIP路由在IP路由表中的老化時間,超時會進入垃圾回收時間。
  • 垃圾回收計時器:缺省120s,在老化時間後,不會進入路由表,會在RIP表中,如果在此時間內沒收到更新,會被徹底刪除。
    【譽天教育|解憂雜貨店】RIPv1和RIPv2理論知識--華爲數通R&S實驗漫載(7)

    防環機制

    對於路由協議來說,防環規則是必不可少的,因爲我們時常都會將網絡連接成環爲了冗餘可靠,所以路由協議的一個重要的作用就是防環,而對於RIP這個協議來說,不能做到100%防環也是他的缺點。但是RIP中也有很多防環機制幫助我們構建無環網絡,我們先來看一下爲什麼會有環路。
    【譽天教育|解憂雜貨店】RIPv1和RIPv2理論知識--華爲數通R&S實驗漫載(7)
    如圖所示,當RTB將路由更新給RTA之後,開銷爲1,RTA收到後會更新給RTB開銷加1爲2,RTB收到後會更新給RTA開銷再加1爲3,此時一條路由就會在RTB和RTA之間成環傳遞,但是當RTB的路由失效後,就會使用RTA給他更新的2跳的路由,直到180s該路由老化,也就是說RTB在訪問這個失效的網段會走RTA,而RTA會走RTB從而出現環路。RIP定義了幾種防環機制如下。
    1、最大跳數:一條RIP路由的最大跳數爲15跳,超過15跳則認爲該路由不可達,不能使用。
    2、水平分割:從一個接口收到的路由不會再從這個接口發送出去。
    3、毒性逆轉:從一個接口收到的路由會將其跳數置爲16再從這個接口發送出去。
    4、觸發更新:當網絡發生變化會直接觸發RIP發送路由更新,無需等待週期時間,達到快速收斂的目的。

    說明:水平分割和毒性逆轉是矛盾的,所以只能配置一個,缺省華爲設備開啓水平分割,當兩個同時開啓則毒性逆轉生效。在RIP接口下通過命令進行配置。

RIP的缺點

一、週期全量更新,浪費系統帶寬資源。
二、路由逐跳更新,收斂速度慢,不適合大型網絡。
三、最大跳數15跳,網絡直徑受限制,不便於擴展網絡規模。
四、基於跳數作爲開銷計算,不跟據帶寬計算,不精確。

總結

基於以上的學習,我們大概知道了RIP的版本的區別,以及其應用場景,雖然他有很多缺點,不適用於大型網絡中,但是由於其體積較小,消耗資源少所以更多的應用在小型網絡中。


下一節我們會講到RIP的基礎配置。


【譽天教育|解憂雜貨店】RIPv1和RIPv2理論知識--華爲數通R&S實驗漫載(7)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章