RIP協(xié)議的基礎(chǔ)介紹以及版本信息
RIP協(xié)議的學習,我們已經(jīng)有過一些介紹。那么在網(wǎng)絡(luò)中,作為樞紐的核心——路由來說,一個好的協(xié)議標準是網(wǎng)絡(luò)質(zhì)量的重要因素。一個非常規(guī)范的,合理的,智能的協(xié)議,是它發(fā)揮功效的前提。RIP協(xié)議,這個管理路由信息的協(xié)議,就是我們目前所應(yīng)用的路由協(xié)議之一。許多人咒罵RIP協(xié)議,說它匯聚的速度太慢,沒有可伸縮性和不安全,因為RIP協(xié)議的身份識別只有明文的方式,而且這個協(xié)議還受到了Split-horizon的影響。這些情況都是真實的。但是,這個協(xié)議仍然是非常有用的。我們希望這篇文章能說明這些問題,幫助你理解這個應(yīng)用最廣泛的內(nèi)部網(wǎng)關(guān)協(xié)議之一。
RIP協(xié)議有兩種版本:***版(RIPv1)和第二版(RIPv2)。RIPv1的功能非常有限,因為它不支持CIDR(無類域間路由選擇)地址解析。這就意味著這個協(xié)議只是一個有類域協(xié)議,你不能把24掩碼網(wǎng)絡(luò)分成更小的單位。另外,RIPv1還使用廣播發(fā)送信息。這就意味著主機不能忽略RIP廣播。請記住,每次發(fā)出廣播時,廣播域中的每一臺主機都將收到一個中斷,并且必須要要處理這個數(shù)據(jù)包以便確定這個數(shù)據(jù)包是不是它關(guān)心的東西。RIPv2使用多播技術(shù)。這個技術(shù)在以后的講座中再介紹?,F(xiàn)在,你們僅需要知道主機在無需處理這個數(shù)據(jù)包的情況下就可以知道是否可以忽略這個多播包。
請記住,我們曾經(jīng)說過RIP是一種距離向量協(xié)議。這里提到的距離指的是RIP協(xié)議中的跳數(shù),而向量指的是目的地。其它距離向量協(xié)議也許使用其它規(guī)則來對各向量進行度量,如BGP協(xié)議中的AS-PATH。這兩種版本的RIP協(xié)議都是每隔30秒鐘向UDP端口520發(fā)送一次信息。但是,它們發(fā)送什么信息呢?如果你推測是“它們的路由信息”,你就猜對了。RIP能夠發(fā)送有關(guān)它可以到達的網(wǎng)絡(luò)的具體信息,并且把自己作為一個默認的網(wǎng)關(guān)播出(目的地為0.0.0.0,度量值/metric 為1)。
RIPv2數(shù)據(jù)包有自己的報頭,同許多其它協(xié)議一樣。請注意,RIP協(xié)議是在UDP協(xié)議之上的,因此,它實際上是一個應(yīng)用層協(xié)議。每一個RIP數(shù)據(jù)包都包含一個指令、一個版本編號和一個路由域。然后后面是最多25條路由信息(一個數(shù)據(jù)包內(nèi))。
RIP數(shù)據(jù)包的指令
一個RIP指令可以是一個請求或者是一個應(yīng)答。當主機(無論是一臺Unix服務(wù)器還是一臺路由器)***次啟動時,主機都需要獲得一些路由信息。這時會發(fā)出“請求”指令。向網(wǎng)絡(luò)廣播包含請求指令的數(shù)據(jù)包。“應(yīng)答”是另一種常見的RIP指令。它用于回答一個請求,或者僅是簡單的每隔30秒發(fā)布一次的廣播。
版本號
版本號為一或二,指令此數(shù)據(jù)包的RIP協(xié)議版本。
路由域
RIP協(xié)議中的一個路由域是一種用于具體說明路由實例的識別符。同一個網(wǎng)絡(luò)中可以存在一套以上的RIP實例,可以具體指定一個信息僅僅是發(fā)送給一個具體域中的人員的。
RIP數(shù)據(jù)包的其它部分
在路由域之后,真正的RIP路由信息就開始了。一個數(shù)據(jù)包最多可以包含25個路由條目。每個路由條目需要包含如下信息:
◆網(wǎng)絡(luò)地址:識別目標子網(wǎng)地址的開始點。
◆子網(wǎng)掩碼:說明這個網(wǎng)絡(luò)有多大。
◆下一跳IP地址:也就是能夠讓你到達目的地的路由器。
◆度量值:這個網(wǎng)絡(luò)的跳點距離有多少。