這個(gè)協(xié)議是作為“內(nèi)部網(wǎng)關(guān)協(xié)議(interior gateway protocol)”而使用的。如當(dāng)前Internet般的大型網(wǎng)絡(luò),是不可能在整個(gè)網(wǎng)絡(luò)上使用一種單一的路由協(xié)議的。網(wǎng)絡(luò)將被分成為一系列的“自治系統(tǒng)(autonomous systems)”。每個(gè)自治系統(tǒng)都被賦予為一個(gè)實(shí)體,提供技術(shù)上和治理上的控制。每個(gè)自治系統(tǒng)可以有不同的路由方式。在自治系統(tǒng)中使用的路由協(xié)議被稱為內(nèi)部網(wǎng)關(guān)協(xié)議(IGR)。另一種路由協(xié)議面向自治系統(tǒng),最早的這類協(xié)議是“EGP(外部網(wǎng)關(guān)協(xié)議/exterior gateway protocol)”,目前還在Internet上使用。這些協(xié)議現(xiàn)在被叫做自治系統(tǒng)間(inter-AS)路由協(xié)議。RIP在同類協(xié)議中被設(shè)計(jì)為適合于中等規(guī)模網(wǎng)絡(luò)使用。適合于那些網(wǎng)絡(luò)間連接線路的速度差別不大的網(wǎng)絡(luò)作為IGP。關(guān)于RIP適用條件的具體說明見:[3] Braden and Postel。
RIP使用一類叫做“距離向量”的算法。這類算法最早是由Ford and Fulkerson [6]提出的。所以這也被稱為Ford-Fulkerson算法。有時(shí)也被稱為Bellman-Ford算法,這是因?yàn)檫@一描述是基于Bellman公式。(這一領(lǐng)域的介紹見[1])其描述文檔見[2],該文講述了路由算法的數(shù)學(xué)模型,并描述且證實(shí)了算法中的變量,及其他相關(guān)內(nèi)容。該算法的最初實(shí)現(xiàn)在1969年被用于ARPANET。這一協(xié)議家族還包括Xerox網(wǎng)絡(luò)協(xié)議(XNS),PUP協(xié)議(見[4])。一個(gè)較新的版本使用了XNS的結(jié)構(gòu),并更名為路由信息協(xié)議(見[7])。Berkeley的算法與其大致相同,不過將XNS的地址轉(zhuǎn)換為一種更通用的格式用以包括IP等地址,并將路由更新時(shí)間限定在30秒。因?yàn)槠湎嗨菩裕琑IP這一名稱被用于XNS協(xié)議和其他協(xié)議中。
問題在于:雖然B可以使用超時(shí)來去處失效的路徑,但將使用太長(zhǎng)的時(shí)間。一開始,A、C還是相信可以通過B可以到達(dá)目標(biāo),并使用尺度3。下面B錯(cuò)誤的認(rèn)為可以從A或C到達(dá)目標(biāo),而且沒有辦法來解決。A、C當(dāng)發(fā)現(xiàn)B的路徑失效后,它們之間還會(huì)認(rèn)為可以通過對(duì)方到達(dá)目標(biāo)。雖然最后系統(tǒng)可以匯聚,但這將花去太多的時(shí)間。在最壞的情況下,當(dāng)一個(gè)網(wǎng)絡(luò)與系統(tǒng)的其他部分徹底失去連接時(shí),將花費(fèi)相當(dāng)長(zhǎng)的時(shí)間來使其他網(wǎng)絡(luò)知道這一情況。這個(gè)問題叫作“記數(shù)到無窮大(counting to infinity)”。
在請(qǐng)求和回應(yīng)中,包中的其他內(nèi)容是目標(biāo)的信息。列表中的每一項(xiàng)都包括了目標(biāo)網(wǎng)絡(luò)或主機(jī),以及它們的尺度。這一包格式可以使RIP能夠處理多種協(xié)議的路由信息。不同的協(xié)議使用不同的協(xié)議簇號(hào)(address family identifier),本文檔只描述IP協(xié)議,其協(xié)議簇號(hào)為2。(還沒有關(guān)于其他類型的地址。)但為了將來,需要忽略不同協(xié)議簇號(hào)的信息(這些項(xiàng)的大小和IP協(xié)議一樣)。在過濾掉不支持信息后開始信息處理。IP地址是4字節(jié)的,尺度用來說明目標(biāo),其值在1到15之間;對(duì)不可達(dá)的目標(biāo),尺度是16。 由一個(gè)網(wǎng)關(guān)發(fā)來的路徑總將取代同一網(wǎng)關(guān)發(fā)來的到達(dá)同一目標(biāo)的路徑。
[1] Bellman, R. E., "Dynamic Programming", Princeton University Press, Princeton, N.J., 1957.
[2] Bertsekas, D. P., and Gallaher, R. G., "Data Networks", Prentice-Hall, Englewood Cliffs, N.J., 1987.
[3] Braden, R., and Postel, J., "Requirements for Internet Gateways", USC/Information Sciences Institute, RFC-1009, June 1987.
[4] Boggs, D. R., Shoch, J. F., Taft, E. A., and Metcalfe, R. M., "Pup: An Internetwork Architecture", IEEE Transactions on Communications, April 1980.
[5] Clark, D. D., "Fault Isolation and Recovery," MIT-LCS, RFC-816, July 1982.
[6] Ford, L. R. Jr., and Fulkerson, D. R., "Flows in Networks", Princeton University Press, Princeton, N.J., 1962.
[7] Xerox Corp., "Internet Transport Protocols", Xerox System Integration Standard XSIS 028112, December 1981. 文檔附件 RFC 原文 ttp://www.ietf.org/rfc/rfc1058.txt