成 人 网 站国产免费观看

<p id="lkccd"></p>

    <td id="lkccd"></td>
    <acronym id="lkccd"></acronym>
    <table id="lkccd"><ruby id="lkccd"></ruby></table>
    <td id="lkccd"></td>
    <p id="lkccd"><strong id="lkccd"></strong></p>

    dvbbs
    聯系我 收藏本頁
    聯系我們
    論壇幫助
    dvbbs

    深圳印刷論壇世界網絡-網絡技術網絡技術 → RIP協議-中興


      共有12331人關注過本帖樹形打印

    主題:RIP協議-中興

    帥哥喲,離線,有人找我嗎?
    止談風月
      1樓 個性首頁 | QQ | 信息 | 搜索 | 郵箱 | 主頁 | UC


    加好友 發短信 止談風月
    等級:管理員 貼子:1542 積分:16633 威望:5 精華:0 注冊:2007-3-17 22:33:59
    RIP協議-中興  發貼心情 Post By:2008-12-20 0:30:26

    在目前的Internet網上,運行一種網關協議是不可能的 ,我們要將它分成很多的自治系統(Autonomous System-AS),在每個自治系統有它自己的路由技術。我們稱自治系統內部的路由協議為內部網關協議(Interior gateway protocol-IGP)。RIP(Routing Information Protocol)就是內部網關協議的一種,它采用的是矢量距離(Vector-Distance)算法。 RIP系統的開發是XEROX Palo Alto 研究中心(PARC)所進行的研究和XEROX的PDU和XNC路由選擇協議為基礎的。但是RIP的廣泛應用卻得益于它加利福尼亞大學伯克利分校的許多局域網中的實現。

    RIP只適用于小系統中,當系統變大后受到無限計算問題的困擾,且往往收斂的很慢,F已被OSPF所取代。

    1.矢量距離算法

    矢量距離算法(簡稱V-D算法)的思想是:網關周期性地向外廣播路徑刷新報文,主要內容是由若干(V,D)序偶組成的序偶表;(V,D)序偶中的V代表“向量”,標識網關可到達的信宿(網關或主機),D代表距離,指出該網關去往信宿V的距離;距離D按驛站的個數計。其他網關收到某網關的(V,D)報文后,據此按照最短路徑原則對各自的路由表進行刷新。

    具體的說,V-D算法如下所述:

    首先,網關剛啟動時,對其V-D路由表進行初始化,該初始化路由表包含所有去往與本網關直接相連的網絡。由于去往直接相連的網絡不經過中間驛站,所以初始V-D路由表中各路徑的距離均為0。

    然后各網關周期性地向外廣播企V-D路由表內容。與某網關直接相連(位于同一物理網絡)的網關收到該路由表報文后,據此對本地路由表進行刷新。刷新時,網關逐項檢查來自相鄰網關的V-D報文,遇到下述表目之一,須修改本地路由表:

    (1) Gj列出的某表目Gi路由表總沒有。則Gi路由表須增加相應表目,其“信宿”是Gj表目中的信宿,其“距離”為Gj表目中的距離加1,其“路徑”為“Gj”(即下一驛站為Gj)。

    (2) Gj去往某信宿的距離比Gi去往某信宿的距離減1還小。這種情況說明,Gi去往某信宿若經過Gj,距離會更短。則Gi修改本表目,其中“信宿”域不變,“距離”為Gj表目中的距離加1,“路徑”為“Gj”。

    (3) Gi去往某信宿的路徑經過Gj,而Gj去往該信宿的路徑發生變化。這里分兩種情況:

    A:Gj的V-D表不再包含去往某信宿的路徑,則Gi中相應路徑序刪除。

    B:Gj的V-D表中去往某信宿的路徑距離發生變化,則Gi中相應表目“距離”須修改,以Gj中的“距離”加1取代原來的距離。

        V-D算法的路徑刷新發生在相鄰網關之間,所以V-D報文不一定以廣播的方式發送出去,一種比較優化的方法是網關直接向相鄰的網關發送V-D報文,不必采取廣播的方式。

        V-D算法的優點是易于實現,但是它不適應路徑劇烈變化的或大型的網間網環境,因為某網關的路徑變化象波動一樣從相鄰網關傳播出去,其過程是非常緩慢的。因此,V-D算法路徑刷新過程中,可能出現路徑不一致問題。V-D算法的另一個缺陷是它需要大量的信息交換:一方面,V-D報文就每一可能的信宿網絡都包含一條表目,報文的大小相當于一個路由表(其表目的數與網間網網絡數成正比),而且其中的許多表目都是與當前路徑刷新無關的;另一方面,V-D算法要求所有網關都參加信息交換,要交換的信息量極大。

    2.RIP的原理

    RIP協議是V-D算法在局域網上的直接實現,RIP將協議的參加者分為主動機和被動機兩種。主動機主動地向外廣播路徑刷新報文,被動機被動地接受路徑刷新報文。一般情況下,網關作主動機,主機作被動機。

    RIP規定,網關每30秒向外廣播一個V-D報文,報文信息來自本地路由表。RIP協議的V-D報文中,其距離以驛站計:與信宿網絡直接相連的網關規定為一個驛站,相隔一個網關則為兩個驛站……依次類推。一條路徑的距離為該路徑(從信源機到信宿機)上的網關數。為防止尋徑回路的長期存在,RIP規定,長度為16的路徑為無限長路徑,即不存在路徑。所以一條有限的路徑長度不得超過15。正是這一規定限制了RIP的使用范圍,使RIP局限于小型的局域網點中。

    對于相同開銷路徑的處理是采用先入為主的原則。在具體的應用中,可能會出現這種情況,去往相同網絡有若干條相同距離的路徑。在這種情況下,無論哪個網關的路徑廣播報文先到,就采用誰的路徑。直到該路徑失敗或被新的更短的路徑來代替。

    RIP協議對過時路徑的處理是采用了兩個定時器;超時計時器和垃圾收集計時器。所有機器對路由表中的每個項目對設置兩個計時器。每增加一個新表,就相應的增加兩個計時器。當新的路由被安裝到路由表中時,超時計時器被初始化為0,并開始計數。每當收到包含路由的RIP消息,超時計時器就被重新設置為0。如果在180秒內沒有接收到包含該路由的RIP消息,該路由的度量就被設置為16,而啟動該路由的垃圾收集計時器。如果120秒過去了,也沒有收到該路由的RIP消息,該路由就從路由表中刪除。如果在垃圾收集計時器到120秒之前,收到了包含路由的消息,計時器被清0。而路由被安裝到路由表中。

    慢收斂的問題及其解決的方法。包括RIP在內的V-D算法路徑刷新協議,都有一個嚴重的缺陷,即“慢收斂”(slow convergence)問題。又叫“計數到無窮”(count to infinity)。如果出現環路,直到路徑長度達到16,也就是說要經過7番來回(至少30X7秒),路徑回路才能被解除,這就是所謂的慢收斂問題。采用的方法有很多種,主要采用有分割范圍(split horizon)法和帶觸發更新的毒性逆轉(Posion Reverse with Triggered updates))法。分割范圍法的原理是:當網關從某個網絡接口發送RIP路徑刷新報文時,其中不能包含從該接口獲得的路徑信息。毒性逆轉法的原理是:某路徑崩潰后,最早廣播此路徑的網關將原路徑繼續保存在若干刷新報文中,但是指明路徑為無限長。為了加強毒性逆轉的效果,最好同時使用觸發更新技術:一旦檢測到路徑崩潰,立即廣播路徑刷新報文,而不必等待下一個廣播周期。

     

    3.RIP報文的格式

    對于RIP報文有兩種版本的格式,Version 1和Version 2。兩種報文稍有不同,如圖1所示:

    圖1 RIP報文格式

    命令字段的值的范圍是從1到5,但只有1和2是正式的值。命令碼1標識一個請求報文,命令碼2標識一個相應報文。RIP是一個基于UDP協議的,所以受UDP報文的限制一個RIP的數據包不能超過512字節。兩個版本都包含一個地址族,對于IP地址該字段的值為2,后面是一個IP地址和它的度量值(站點計數)。這些通告字段可重復25次。

    路由選擇域:與該報文相關的路由選擇守護進程的標識符。在UNIX系統中,該字段是一個進程的標識符。一臺機器通過使用路由選擇域,就可以同時運行多個RIP。

    路徑標簽:若干RIP支持外部網關協議(EGP),該字段包含一個自治系統號。

    子網掩碼:該字段與報文中的IP地址相關。

    下一站的IP地址:如果該字段為0,則表明數據報應當發送到正在發送該RIP報文的機器,否則,該字段包含一個IP地址,指明應將數據報發往何處。

    從報文中我們可以看出,RIP-1不能運行于包含有子網的自治系統中,因為它沒有包含運行所必須的子網信息-子網掩碼。RIP-2有子網掩碼,因而它可以運行于包含有子網的自治系統中,這也是RIP-2對RIP-1有意義的改進。

    4.RIP協議的運行

        網關剛啟動時,運行V-D算法,對V-D路由表進行初始化,為每一個和它直接相連的實體建一個表目,并設置目的IP地址,距離為1(這里RIP和V-D略有不同),下一站的IP為0,還要為這個表目設置兩個定時器(超時計時器和垃圾收集計時器)。每隔30秒就向它相鄰的實體廣播路由表的內容。相鄰的實體收到廣播時,在對廣播的內容進行細節上的處理之前,對廣播的數據報進行檢查。因為廣播的內容可能引起路由表的更新,所以這種檢查是細致的。首先檢查報文是否來自端口520的UDP數據報,如果不是,則丟棄。否則看RIP報文的版本號:如果為0,這個報文就被忽略;如果為1,檢查必須為0的字段,如果不為0,忽略該報文;如果大于1,RIP-1對必須為0的字段就不檢查。然后對源IP地址進行檢查,看它是否來自直接相連的鄰居,如果不是來自直接鄰居,則報文被忽略。如果上面的檢查都是有效的,則對廣播的內容進行逐項的處理?此亩攘恐凳欠翊笥15,如果是則忽略該報文(實際上,如果來自相鄰網關的廣播,這是不可能的)。然后檢查地址族的內容,如果不為2,則忽略該報文。然后更新自己的路由表,并為每個表目設置兩個計時器,初始化其為0。就這樣所有的網關都每隔30秒向外廣播自己的路由表,相鄰的網關和主機收到廣播后來更新自己的路由表。直到每個實體的路由表都包含到所有實體的尋徑信息。如果某條路由突然斷了,或者是其度量大于15,與其直接相鄰的網關采用分割范圍或觸發更新的方法向外廣播該信息,其他的實體在兩個計時器溢出的情況下將該路由從路由表中刪除。如果某個網關發現了一條更好的路徑,它也向外廣播,與該路由相關的每個實體都要更新自己的路由表的內容。

    為了更好地理解RIP協議的運行,下面以圖2所示的簡單的互連網為例來討論圖中各個路由器中的路由表是怎樣建立起來的。

    在一開始,所有路由器中的路由表只有路由器所接入的網絡(共有兩個網絡)的情況,F在的路由表增加了一列,這就是從該路由表到目的網絡上的路由器的“距離”。在圖中“下一站路由器”項目中有符號“-”,表示直接交付。這是因為路由器和同一網絡上的主機可直接通信而不需要再經過別的路由器進行轉發。同理,到目的網絡的距離也都是零,因為需要經過的路由器數為零。圖中粗的空心箭頭表示路由表的更新,細的箭頭表示更新路由表要用到相鄰路由表傳送過來的信息。

    接著,各路由器都向其相鄰路由器廣播RIP報文,這實際上就是廣播路由表中的信息。

    假定路由器R2先收到了路由器R1和R3的路由信息,然后就更新自己的路由表。更新后的路由表再發送給路由器R1和R3。路由器R1和R3分別再進行更新。

    RIP協議存在的一個問題是:當網絡出現故障時,要經過比較長的時間才能將此信息傳送到所有的路由器。以圖2為例,設三個路由器都已經建立了各自的路由表,現在路由器R1和網1的連接線路與染短開。路由器R1發現后,將到網1的距離改為16,并將此信息發給路由器R2。由于路由器R3發給R2的信息是:“到網1經過R2距離為2”,于是R2將此項目更新為“到網1經過R3距離為3”,發給R3。R3再發給R2信息:“到網1經過肉距離為4”。這樣一直到距離增大到16時,R2和R3才知道網1是不可達的。RIP協議的這一特點叫做:好消息傳播得快,而壞消息傳播得慢。像這種網絡出故障的傳播時間往往需要較長的時間,這是RIP的一個主要缺點。



    ▓止談風月(www.zonaiam.com)

    我們的口號:沒有最高質量的產品我們無法生存

                      沒有非常的創意我們不如不干
    支持(0中立(0反對(0單帖管理 | 引用 | 回復 回到頂部

    返回版面帖子列表

    RIP協議-中興








    簽名  

    本站聯系電話:0755-25925567
    成 人 网 站国产免费观看

    <p id="lkccd"></p>

      <td id="lkccd"></td>
      <acronym id="lkccd"></acronym>
      <table id="lkccd"><ruby id="lkccd"></ruby></table>
      <td id="lkccd"></td>
      <p id="lkccd"><strong id="lkccd"></strong></p>