在確定最佳路徑的過程中,路由選擇算法需要初始化和維護(hù)路由選擇表( routing table )。路由選擇表中包含的路由選擇信息根據(jù)路由選擇算法的不同而不同。一般在路由表中包括這樣一些信息:目的網(wǎng)絡(luò)地址,相關(guān)網(wǎng)絡(luò)節(jié)點(diǎn),對某條路徑滿意程度,預(yù)期路徑信息等。路由器之間傳輸多種信息來維護(hù)路由選擇表,修正路由消息就是最常見的一種。修正路由消息通常是由全部或部分路由選擇表組成,路由器通過分析來自所有其他路由器的最新消息構(gòu)造一個完整的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)詳圖。鏈路狀態(tài)廣播便是一種路由修正信息。
在確定最佳路徑的過程中,路由選擇算法需要初始化和維護(hù)路由選擇表( routing table )。路由選擇表中包含的路由選擇信息根據(jù)路由選擇算法的不同而不同。一般在路由表中包括這樣一些信息:目的網(wǎng)絡(luò)地址,相關(guān)網(wǎng)絡(luò)節(jié)點(diǎn),對某條路徑滿意程度,預(yù)期路徑信息等。為了成功地轉(zhuǎn)發(fā)一個數(shù)據(jù)包,IP路由算法根據(jù)路由表選擇 下一跳的目的地址。IP路由算法如下:假設(shè)一個 待轉(zhuǎn)發(fā)的IP報文的目的地址是D, 網(wǎng)絡(luò)前綴是N:If (N屬于某直連網(wǎng)絡(luò))把IP報文直接轉(zhuǎn)發(fā)else if(路由表包含目的為D的路由)根據(jù)路由表中的下一跳轉(zhuǎn)發(fā)IP報文(如果存在多條匹配的路由,則選擇子網(wǎng)掩碼長度最長的路由轉(zhuǎn)發(fā))Else if(路由表中存在缺省路由)根據(jù)缺省路由轉(zhuǎn)發(fā)IP報文Else向源主機(jī) 發(fā)送ICMP 出錯消息,通知IP報文不能被轉(zhuǎn)發(fā)。路由器之間傳輸多種信息來維護(hù)路由選擇表,修正路由消息就是最常見的一種。修正路由消息通常是由全部或部分路由選擇表組成,路由器通過分析來自所有其他路由器的最新消息構(gòu)造一個完整的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)詳圖。鏈路狀態(tài)廣播便是一種路由修正信息。
所謂交換指當(dāng)一臺主機(jī)向另一臺主機(jī)發(fā)送數(shù)據(jù)包時,源主機(jī)通過某種方式獲取路由器地址后,通過目的主機(jī)的協(xié)議地址(網(wǎng)絡(luò)層)將數(shù)據(jù)包發(fā)送到指定的路由器物理地址(介質(zhì)訪問控制層)的過程。通過使用交換算法檢查數(shù)據(jù)包的目的協(xié)議地址,路由器可確定其是否知道如何轉(zhuǎn)發(fā)數(shù)據(jù)包。如果路由器不知道如何將數(shù)據(jù)包轉(zhuǎn)發(fā)到下一個節(jié)點(diǎn),將丟棄該數(shù)據(jù)包;如果路由器知道如何轉(zhuǎn)發(fā),就把物理目的地址變換成下一個節(jié)點(diǎn)的地址,然后轉(zhuǎn)發(fā)該數(shù)據(jù)包。在傳輸過程中,其物理地址發(fā)生變化,但協(xié)議地址總是保持不變。
基礎(chǔ)知識路由是將對象從一個地方轉(zhuǎn)達(dá)發(fā)到另一個地方的一個中繼過程學(xué)習(xí)和維持網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)知識的機(jī)制被認(rèn)為是路由功能。渡越數(shù)據(jù)流經(jīng)路由器進(jìn)入接口穿過路由器被移送到外出接口的過程,是另一項單獨(dú)的功能,被認(rèn)為是交換/轉(zhuǎn)發(fā)功能。路由設(shè)備必須同時具有路由和交換的功能才可以作為一臺有效的中繼設(shè)備。為了進(jìn)行路由,路由器必須知道下面三項內(nèi)容:l、路由器必須確定它是否激活了對該協(xié)議組的支持;2、路由器必須知道目的地網(wǎng)絡(luò);3、路由器必須知道哪個外出接口是到達(dá)目的地的最佳路。路由選擇協(xié)議通過度量值來決定到達(dá)目的地的最佳路徑。小度量值代表優(yōu)選的路徑;如果兩條或更多路徑都有一個相同的小度量值,那么所有這些路徑將被平等地分享。通過多條路徑分流數(shù)據(jù)流量被稱為到目的地的負(fù)載均衡。
路由器一般選擇具有最小度量值的路徑;CISCO路由器的IP環(huán)境中如果同時出現(xiàn)了多條度量值最低且相同的路徑,那么在這多條路徑上將啟用負(fù)載均衡,C ISCO默認(rèn)支持4條相同度量值的路徑,通過使用"maximum-paths"命令可以認(rèn)CISCO路由器支持最多達(dá)6條相同度量值路徑。RIP是一種用在小到中型TCP/IP網(wǎng)絡(luò)中采用的路由選擇協(xié)議,它采用跳數(shù)作為度量值,它的負(fù)載均衡功能是缺省啟用的,RIP決定最佳路徑時是不考慮帶寬的!!!IGRP是一種用在中到大型TCP/IP網(wǎng)絡(luò)中采用的路由選擇協(xié)議,它采用復(fù)合的度量值,它考慮了帶寬、延遲、可靠性、負(fù)載和最大傳輸單元(M TU),但缺省地使用了帶寬和延時值。IGRP也能進(jìn)行負(fù)載均衡。在路由器啟動之后,它立刻試圖與其相鄰路由設(shè)備建立路由關(guān)系。該初始通信的目的是為了識別相鄰設(shè)備,并且開始進(jìn)行通信并學(xué)習(xí)網(wǎng)絡(luò)相結(jié)構(gòu)。建立相鄰關(guān)系的方法和對拓?fù)浣Y(jié)構(gòu)的初始學(xué)習(xí)隨路由選擇協(xié)議的不同而不同。路由選擇協(xié)議會交換定期的HELLO消息或定期的路由更新數(shù)據(jù)包,以維持相鄰設(shè)備間進(jìn)行著通信。在了解了網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),且路由表中已包含了到已知地網(wǎng)絡(luò)的最佳路徑后,向這些目的地的數(shù)據(jù)轉(zhuǎn)發(fā)就可以開始了。