Internet路由
路由的過(guò)程可以概述為一個(gè)節(jié)點(diǎn)找到通往每個(gè)可能目的地的路徑。路由出現(xiàn)在從第一層到第七層的每一層中。人們所熟悉的路由是出現(xiàn)在第三層(網(wǎng)絡(luò)層)的,因此我們也只討論第三層的IP路由。
交換路由信息的協(xié)議聯(lián)接世界上的許多路由器,盡管這些路由器并不同類,通過(guò)路由表還是可以提供它們共同的網(wǎng)絡(luò)視圖。路由表為路由器存儲(chǔ)了到達(dá)網(wǎng)絡(luò)上任一目的地所需要的一切必要的信息。
路由協(xié)議
各種各樣的路由協(xié)議被用來(lái)填寫網(wǎng)絡(luò)中的路由表。象BGP,OSPF,RIP和ISIS這樣的協(xié)議可以傳輸給所有的路由器一個(gè)正確和一致的網(wǎng)絡(luò)視圖。
路由協(xié)議想要實(shí)現(xiàn)目標(biāo)
你能夠想象如果每個(gè)路由器都存儲(chǔ)從它的節(jié)點(diǎn)所能到達(dá)的每個(gè)目標(biāo)點(diǎn)所需的信息,很可能該路由器會(huì)積累一張龐大的路由表。由于物理上(cpu,內(nèi)存)的限制路由器很難有時(shí)就根本不可能處理一個(gè)龐大的路由表。因此在不影響到達(dá)每個(gè)目的地的能力的情況下,我們要使路由表最小化。例如,一個(gè)路由器通過(guò)連接到另一個(gè)路由器一個(gè)DS1鏈路連接到Internet,那么這個(gè)路由器可以將Internet上所有節(jié)點(diǎn)的信息都存儲(chǔ),或者它也可以將所有DS1串行鏈路外的非本地的信息都不存儲(chǔ)。也就是說(shuō)路由器沒(méi)有在它的路由表中存儲(chǔ)任何有關(guān)數(shù)據(jù)“包”要尋找的非本地網(wǎng)絡(luò)目的地的信息,而是將這些“包”發(fā)送到串行鏈路另一端的路由器,由這個(gè)路由器來(lái)提供必要的信息。我們常把像本例中我們所說(shuō)的在串行DS1鏈路另一端的路由器稱為“Gateway of Last Resort”。這種簡(jiǎn)單的小把戲可以替路由表節(jié)省30個(gè)數(shù)量級(jí)的條目。路由信息沒(méi)有必要被過(guò)于頻繁地在路由器之間交換。通常路由表中的攪拌器給任何路由器所能提供的貧乏的內(nèi)存和CPU施加了許多不必要的壓力。信息的復(fù)制不應(yīng)該影響路由器的轉(zhuǎn)發(fā)操作。盡管沒(méi)有必要每毫秒都刷新路由表,當(dāng)然也不能每隔一個(gè)星期才刷新一次路由表。路由的一重要的目標(biāo)就是為主機(jī)提供能夠準(zhǔn)確反映當(dāng)前網(wǎng)絡(luò)狀態(tài)的一張路由表。
路由器最重要的操作是將接收的包發(fā)送到正確的路徑。未經(jīng)路由的包可能會(huì)導(dǎo)致數(shù)據(jù)丟失。而路由表的不一致將會(huì)導(dǎo)致路由環(huán)路并使某個(gè)數(shù)據(jù)包在兩個(gè)相鄰的界面之間被循環(huán)發(fā)送。
人們十分希望所有的路由器都能有快速的收斂性。收斂性可以被非正式地定義為計(jì)量所有路由器獲得一致的網(wǎng)絡(luò)視圖的速度的單位。人們希望有極小的收斂時(shí)間,因?yàn)槿绱司W(wǎng)絡(luò)上的每個(gè)路由器即使在網(wǎng)絡(luò)拓?fù)?即網(wǎng)絡(luò)視圖)被嚴(yán)重改變的情況下也能準(zhǔn)確地反映當(dāng)前的網(wǎng)絡(luò)拓?fù)?。?dāng)網(wǎng)絡(luò)拓?fù)浔桓淖儠r(shí),每個(gè)路由器必須傳輸數(shù)據(jù)以幫助其它路由器來(lái)收斂出正確的網(wǎng)絡(luò)視圖。但是在刷新路由表時(shí)快速收斂也存在著它的問(wèn)題。如果一個(gè)鏈路在迅速地振動(dòng)(一會(huì)兒斷開(kāi),一會(huì)兒合上),它會(huì)產(chǎn)生大量的安裝和撤銷的請(qǐng)求。這個(gè)鏈路最終將會(huì)耗盡網(wǎng)絡(luò)上每個(gè)路由器的資源,因?yàn)槠渌酚善鞅粡?qiáng)迫快速安裝或撤消這個(gè)路由。因此,即使快速收斂是路由協(xié)議的目標(biāo),它也不是所有網(wǎng)絡(luò)難題的萬(wàn)能藥。
距離矢量路由
距離矢量路由協(xié)議向路由器的所有鄰居分發(fā)一張記錄形式為<目標(biāo),開(kāi)銷>的列表。這些記錄為網(wǎng)絡(luò)中的每個(gè)非本節(jié)點(diǎn)的其它節(jié)點(diǎn)賦上了開(kāi)銷這個(gè)值。值得注意的是這些信息只分發(fā)給源路由器的鄰路由器。這里的鄰路由器常常是物理上的,但在eBGP中也有適用于邏輯上的情況。開(kāi)銷的意思是從源路由器到目標(biāo)節(jié)點(diǎn)的鏈路開(kāi)銷的總和。源路由器定期地刷新它的距離矢量記錄并把記錄分發(fā)給它的鄰路由器。鄰路由器將過(guò)去接收到的記錄與現(xiàn)在的比較,如果過(guò)去的開(kāi)銷較小路由器將沿過(guò)去接收的距離矢量記錄所指的路徑發(fā)送輸出。
許多距離矢量在實(shí)際使用時(shí)將會(huì)碰到無(wú)窮大的問(wèn)題。例如,我們假設(shè)所有的鏈路都有一個(gè)開(kāi)銷單元并且每一對(duì)相鄰節(jié)點(diǎn)之間的鏈路對(duì)應(yīng)一個(gè)單元。如果路由器X連接到路由器Y并且路由器Y連接到路由器Z如圖1,我們將會(huì)發(fā)現(xiàn)無(wú)窮大的問(wèn)題。Y知道到Z要有1個(gè)單元的開(kāi)銷并且X知道到Z要2個(gè)單元的開(kāi)銷。假設(shè)鏈路YZ關(guān)閉,這條鏈路的開(kāi)銷就成為無(wú)窮大(如圖2)?,F(xiàn)在Y知道到達(dá)Z的開(kāi)銷是無(wú)窮大,它就將這個(gè)距離矢量路由發(fā)送給X。假設(shè)X這時(shí)發(fā)送給Y一個(gè)距離矢量路由聲稱它到達(dá)Z要2個(gè)單元的開(kāi)銷?,F(xiàn)在Y就會(huì)認(rèn)為它能通過(guò)X到達(dá)Z,它就發(fā)送給X一個(gè)刷新的距離矢量路由聲稱它到達(dá)Z的開(kāi)銷是3個(gè)單元(如 圖3)。請(qǐng)注意X沒(méi)有想到Y(jié)發(fā)給它的這個(gè)距離矢量路由是由它發(fā)送給Y的那個(gè)距離矢量路由推算來(lái)的。這就是距離矢量路由的嚴(yán)重缺陷,在它們未改進(jìn)的結(jié)構(gòu)中不包含路由障礙的信息。正如圖例所示路由器將會(huì)不斷改變到Z的路徑信息。X和Y這兩個(gè)路由器將會(huì)永遠(yuǎn)交換這個(gè)有關(guān)Z路由器的路徑信息或者直到開(kāi)銷單元的值到達(dá)某一個(gè)事先約定的無(wú)窮大的值(例如,在RIP中是15)。
X--------------------Y--------------------Z
Y:1 X:1 X:2
Z:2 Z:1 Y:1
[ 圖一 ]
X--------------------Y--------* *---------Z
Y:1 <------------- Z:無(wú)窮大
Z:2 -------------> X:1
[ 圖二 ]
X--------------------Y--------* *---------Z
Z:無(wú)窮大(從 Y) -> X:1
Y:1 <------------- Z:3
[ 圖三 ]
使用路徑矢量路由就可以解決無(wú)窮大的問(wèn)題。每個(gè)距離矢量也包括他所通過(guò)的路徑(如圖4)。路由器如果接收到一個(gè)路徑矢量中包含自己的刷新記錄,路由器將不會(huì)刷新該記錄(如圖5)。邊界網(wǎng)關(guān)協(xié)議(The Border Gateway Protocol)就使用了上述的方法以解決無(wú)窮大的問(wèn)題。很明顯如果你想使路由表包含路由器所傳輸?shù)腁S(Autonomous Systems on the internet)路徑信息,你將必須要向路由表中添入更多的信息。因此BGP的設(shè)計(jì)者決定犧牲一點(diǎn)路由器能夠承受的起的存儲(chǔ)空間和處理能力。
X--------------------Y--------------------Z
Y:1 (Y) X:1 (X) X:2 (YX)
Z:2 (YZ) Z:1 (Z) Y:1 (Y)
[ 圖四 ]
X--------------------Y--------* *---------Z
Y:1 (Y) X:1 (X)
Z:2 (Y Z) Z:infinity
[ 圖五 ]
另一個(gè)無(wú)窮大問(wèn)題的解決之道是分離范圍。主要思想是,如果鄰路由器處在通往目的地的路徑上的第二個(gè)節(jié)點(diǎn),路由器就不向該鄰路由器廣播該路徑。這個(gè)解決的辦法可以用剛才的例子來(lái)說(shuō)明。因?yàn)榈絑的路徑是從X通過(guò)Y再到Z,又因?yàn)閅是X的鄰路由器,所以該路徑從X廣播時(shí)Y不被廣播。
鏈路狀態(tài)路由
一個(gè)路由器在使用鏈路狀態(tài)路由時(shí),它將會(huì)向網(wǎng)絡(luò)上所有其它的路由器分發(fā)它到它鄰路由器的距離。這就使每個(gè)路由器不用知道從某一源節(jié)點(diǎn)到目的節(jié)點(diǎn)的開(kāi)銷,該路由器就可以產(chǎn)生一張路由表。環(huán)路的問(wèn)題不會(huì)出現(xiàn),因?yàn)槊總€(gè)路由器都擁有整個(gè)網(wǎng)絡(luò)的拓?fù)?。主要思想是一個(gè)路由器產(chǎn)生有3個(gè)部分的記錄包含源路由器(它自己)、鄰路由器和到鄰路由器的開(kāi)銷。因此,如果路由器A通過(guò)一條開(kāi)銷為3的鏈路連接到路由器B,并且路由器A通過(guò)一條開(kāi)銷為5的鏈路連接到路由器C,那么路由器將會(huì)向網(wǎng)絡(luò)上所有的路由器廣播鏈路狀態(tài)包(LSPs)和。每個(gè)路由器將可以從接收到的LSPs中推算出一條通向目的節(jié)點(diǎn)的最短路徑。
很顯然,LSP是收斂過(guò)程中的一個(gè)組成部分。如果向網(wǎng)絡(luò)中加入了錯(cuò)誤的LSP。將會(huì)導(dǎo)致錯(cuò)誤的路由信息(會(huì)使包沿比原來(lái)更長(zhǎng)的路徑傳輸)甚至產(chǎn)生路由黑洞。如果路由器C向其它路由器廣播一條到他的鄰路由器的路徑信息,但當(dāng)該鏈路斷開(kāi)時(shí)路由器C撤回了剛才的廣播。不幸的是第二個(gè)LSP先到而第一個(gè)LSP先到,這時(shí)其它路由器的路由表就不能正確地反映網(wǎng)絡(luò)的拓?fù)?,而只能等到另一個(gè)正確的LSP來(lái)到。
為了解決這個(gè)問(wèn)題,LSP引進(jìn)了序列碼。因此網(wǎng)絡(luò)上所有的路由器都會(huì)以一些值作為起始值來(lái)初始化他們的序列碼,然后在廣播他們的LSP。這就解決了剛才的問(wèn)題。
當(dāng)使用序列碼時(shí)會(huì)碰到序列碼空間是有限這一問(wèn)題。LSPs可以用的序列碼都被設(shè)置成有限值。因此,當(dāng)序列碼到達(dá)最大值后,有要從最小值重新開(kāi)始。這就給路由器在比較鏈路狀態(tài)的當(dāng)前記錄和刷新記錄時(shí)帶來(lái)困難,因?yàn)樾蛄写a大的有優(yōu)先權(quán)。為了解決這個(gè)問(wèn)題,可以為L(zhǎng)SP定義一個(gè)最大老化時(shí)間。也就是說(shuō),如果路由器在X段時(shí)間內(nèi)沒(méi)有收到刷新記錄,它就將現(xiàn)有的記錄丟棄而去等待更新的記錄。要注意必須使到目的地的路徑信息無(wú)效。例如,當(dāng)路由器Y連向某一局網(wǎng)的鏈路斷開(kāi)時(shí),路由器Y向路由器Z廣播了這條鏈路的信息,這時(shí)局網(wǎng)中的路由器們此時(shí)還在認(rèn)為它們?nèi)钥梢缘竭_(dá)Z。如果它們?cè)谧畲罄匣瘯r(shí)間內(nèi)接收不到刷新記錄,它們就會(huì)假設(shè)到Y(jié)的鏈路已經(jīng)不可達(dá)。這樣所有的路由器的路由表才會(huì)一致,路由器Y和Z也可以使用有限的序列碼。
序列碼的初始化也是這個(gè)問(wèn)題中另一個(gè)重要的方面。假設(shè)路由器Y重起了,而此時(shí)網(wǎng)絡(luò)又開(kāi)始重新計(jì)算路徑。當(dāng)該路由器的鏈路狀態(tài)協(xié)議開(kāi)始工作,它必須知道重新初始化它的序列碼為何值以使它和其它路由器保持一致。因此,它就廣播一個(gè)帶有特別的初始化集合的路徑信息。這條記錄會(huì)告訴其它路由器它需要那個(gè)序列碼,并且其它路由器會(huì)告訴它。
[1]
文章錄入:csh 責(zé)任編輯:csh相關(guān)文章
Cisco路由技術(shù)基礎(chǔ)知識(shí)詳解之一
Cisco路由技術(shù)基礎(chǔ)知識(shí)詳解之一...2007-09-09交換機(jī)基礎(chǔ)知識(shí)與常見(jiàn)相關(guān)術(shù)語(yǔ)
交換機(jī)基礎(chǔ)知識(shí)與常見(jiàn)相關(guān)術(shù)語(yǔ)...2007-09-09打好網(wǎng)絡(luò)傳輸?shù)幕A(chǔ)布線系統(tǒng)智能化
打好網(wǎng)絡(luò)傳輸?shù)幕A(chǔ)布線系統(tǒng)智能化...2007-09-09]xp ,win2000,win2003系統(tǒng)自動(dòng)登陸方法正文分析錯(cuò)誤
]xp ,win2000,win2003系統(tǒng)自動(dòng)登陸方法正文分析錯(cuò)誤...2007-09-09