路由就是信息傳輸?shù)穆窂剑锫?lián)網(wǎng)網(wǎng)絡(luò)層中有多種信息傳輸?shù)穆窂?,這些路徑主要由兩種節(jié)點(diǎn)提供,一種是目的節(jié)點(diǎn),另一種是通信子網(wǎng)絡(luò)源節(jié)點(diǎn)。要設(shè)計(jì)并構(gòu)建物聯(lián)網(wǎng)網(wǎng)絡(luò)層,路由的選擇十分重要。當(dāng)節(jié)點(diǎn)遇到分組時(shí),必須確定下一節(jié)點(diǎn)的路由,否則將無(wú)法進(jìn)行數(shù)據(jù)傳輸。為網(wǎng)絡(luò)節(jié)點(diǎn)選擇路由有多種方式,比如,我們可以在連接建立虛電路時(shí)確定路由,也可以在數(shù)據(jù)報(bào)方式中利用網(wǎng)絡(luò)節(jié)點(diǎn)為不同的分組選擇路由。
選擇路由需要借助路由算法,而路由算法的建立并不簡(jiǎn)單,它的設(shè)計(jì)需要考慮多種要素:一是性能指標(biāo),路由算法需要建立在一定的性能指標(biāo)之上,這種性能指標(biāo)一般可分為兩種,分別是最優(yōu)路由和最短路由,最優(yōu)路由除了要考慮傳輸距離的長(zhǎng)短之外,還要考慮其他綜合因素,是一種建立在綜合考慮下的路由選擇方式,而最短路由要考慮的主要因素是傳輸距離,距離最短是這種路由選擇方式的目標(biāo)。二是充分考慮通信子網(wǎng)所采取的方式,這種考慮的方式也有兩種,一種是基于虛電路方式的路由選擇,另一種是基于數(shù)據(jù)報(bào)方式的路由選擇。三是既可以采用分布式路由算法,又可以采用集中式路由算法,如果選擇前者,那么在到達(dá)每一個(gè)分組之前都要為網(wǎng)絡(luò)節(jié)點(diǎn)選擇路由,如果選擇后者,那么決定整個(gè)路由的關(guān)鍵點(diǎn)是中央節(jié)點(diǎn),或者是初始節(jié)點(diǎn);四是綜合考慮信息的來(lái)源因素,既要考慮流量的來(lái)源,又要考慮延遲的原因,還要考慮網(wǎng)絡(luò)拓?fù)涞膩?lái)源等。五是在動(dòng)態(tài)路由和靜態(tài)路由之間進(jìn)行相關(guān)策略選擇。
路由可分成靜態(tài)路由和動(dòng)態(tài)路由,在選擇路由時(shí),通過(guò)類(lèi)別比較進(jìn)行選擇是一種普遍采用的方法。
?。?)靜態(tài)路由選擇策略
這是一種根據(jù)某些固定規(guī)則和標(biāo)準(zhǔn)來(lái)選擇路由的策略,利用這種策略進(jìn)行路由選擇,既不需要對(duì)網(wǎng)絡(luò)層進(jìn)行相關(guān)測(cè)量,也不需要利用網(wǎng)絡(luò)信息進(jìn)行分析。靜態(tài)路由選擇策略包含三種算法,分別是固定路由選擇算法、泛射路由選擇算法以及隨機(jī)路由選擇算法。
?、俟潭酚蛇x擇算法
該算法比較簡(jiǎn)單,所以人們對(duì)這種算法的使用比較頻繁。在選擇路由之前,人們會(huì)在每一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)下面附上一張表格,用于記錄該網(wǎng)絡(luò)節(jié)點(diǎn)應(yīng)該對(duì)應(yīng)的鏈路或者目的節(jié)點(diǎn)。以存儲(chǔ)表格的方式來(lái)明確所要選擇的路由雖然看起來(lái)很“笨”,但卻非常方便有效。如果節(jié)點(diǎn)準(zhǔn)備選擇路由,只需要將每一個(gè)節(jié)點(diǎn)下存儲(chǔ)的表格“打開(kāi)”,并根據(jù)分組的地址信息,對(duì)應(yīng)路由表中的目的節(jié)點(diǎn),便可快速選出標(biāo)準(zhǔn)路由。固定路由選擇算法不僅實(shí)施起來(lái)十分方便,還可在特定環(huán)境中發(fā)揮更好的效果,比如在負(fù)載相對(duì)穩(wěn)定以及拓?fù)浣Y(jié)構(gòu)變化較小時(shí),使用該種算法可起到更好的運(yùn)行效果。但固定路由選擇算法也有一定的缺點(diǎn),比如遇到網(wǎng)絡(luò)故障或者網(wǎng)絡(luò)堵塞的情況,利用這種算法將無(wú)法選擇出較好的路由,這同時(shí)也表明了這種選擇算法比較“死板”,無(wú)法靈活適應(yīng)不斷變化的網(wǎng)絡(luò)環(huán)境。因此,該種算法的實(shí)施,需要一個(gè)相對(duì)穩(wěn)定的網(wǎng)絡(luò)。
②泛射路由選擇法算法
這種算法也比較簡(jiǎn)單。當(dāng)網(wǎng)絡(luò)層眾多線路中的某個(gè)分組到達(dá)一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn),這個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)就會(huì)將這個(gè)收到的分組重新發(fā)送到其他所有線路中,這就相當(dāng)于同時(shí)測(cè)試了所有路徑,網(wǎng)絡(luò)節(jié)點(diǎn)只需要找到那個(gè)最先到達(dá)目的節(jié)點(diǎn)的分組,并與之配對(duì),便可以形成最短路徑。一些軍事網(wǎng)絡(luò)可以利用這種方法來(lái)選擇路由,因?yàn)檐娛戮W(wǎng)絡(luò)的強(qiáng)壯性較高,不易遭到破壞,即使多數(shù)網(wǎng)絡(luò)節(jié)點(diǎn)被損壞,泛射路由選擇算法仍能根據(jù)某一個(gè)分組與其他目的節(jié)點(diǎn)配對(duì)選擇出最優(yōu)路由,從而保證數(shù)據(jù)的高效、可靠傳輸。
除此之外,泛射路由選擇算法也可以應(yīng)用于數(shù)據(jù)的廣播式交換,還可以應(yīng)用于檢測(cè)網(wǎng)絡(luò)的最短傳輸延遲。
?、垭S機(jī)路由選擇算法
網(wǎng)絡(luò)節(jié)點(diǎn)在收到分組后,利用這種算法,可幫助該網(wǎng)絡(luò)節(jié)點(diǎn)在其他相鄰節(jié)點(diǎn)中選出一個(gè)出路節(jié)點(diǎn)作為分組的備用節(jié)點(diǎn)。隨機(jī)路由選擇算法的優(yōu)點(diǎn)是簡(jiǎn)單易行且具有一定的可靠性,但是利用這種方法選出的路由不一定是最佳路由,而非最佳路由往往會(huì)給網(wǎng)絡(luò)層增加不必要的負(fù)擔(dān),還常伴有不可預(yù)測(cè)的傳輸延遲問(wèn)題。因此,此種算法無(wú)法保證數(shù)據(jù)的可靠傳輸在現(xiàn)實(shí)中的應(yīng)用也較少。
?。?)動(dòng)態(tài)路由選擇策略
動(dòng)態(tài)路由選擇策略可用于改善網(wǎng)絡(luò)的性能,該種策略具有較強(qiáng)的適應(yīng)性,可在不斷變化的網(wǎng)絡(luò)環(huán)境中較好地完成選擇最佳路由的工作。例如,利用動(dòng)態(tài)路由選擇策略不僅能適應(yīng)網(wǎng)絡(luò)流量的變化,也能適應(yīng)拓?fù)浣Y(jié)構(gòu)的變化,并可根據(jù)網(wǎng)絡(luò)實(shí)時(shí)的狀態(tài)信息來(lái)確定節(jié)點(diǎn)路由的選擇。但是這種算法也有弊端,它比較復(fù)雜,因此往往會(huì)提高網(wǎng)絡(luò)負(fù)載,使網(wǎng)絡(luò)整體負(fù)擔(dān)加重,并且在現(xiàn)實(shí)操作中,還會(huì)出現(xiàn)多種不可靠情況。網(wǎng)絡(luò)反應(yīng)較慢,這種算法就會(huì)不起作用;如果網(wǎng)絡(luò)反應(yīng)較快,又會(huì)引起較大的網(wǎng)絡(luò)振蕩等。與靜態(tài)路由選擇策略相同,動(dòng)態(tài)路由選擇策略也具有三種具體算法,分別是獨(dú)立路由算法、分布路由算法以及動(dòng)態(tài)路由算法。
?、侏?dú)立路由選擇算法。該種算法需要根據(jù)節(jié)點(diǎn)接收的信息自行選擇路由,在這個(gè)選擇的過(guò)程中,接收分組的網(wǎng)絡(luò)節(jié)點(diǎn)不會(huì)與其他網(wǎng)絡(luò)節(jié)點(diǎn)交換路由選擇的信息,其最大的好處是能適應(yīng)拓?fù)浣Y(jié)構(gòu)以及網(wǎng)絡(luò)流量的變化,但是無(wú)法確定較遠(yuǎn)網(wǎng)絡(luò)節(jié)點(diǎn)的路由選擇。熱土豆算法是一種早期的簡(jiǎn)單的獨(dú)立路由選擇算法,該算法的特點(diǎn)是,網(wǎng)絡(luò)節(jié)點(diǎn)在接收到分組后,需盡快將其排列在最短的輸出列方向上,但是這個(gè)輸出列的方向如何,并不在該種算法的考慮范圍內(nèi)。
?、诩新酚蛇x擇算法。這種算法與固定路由選擇算法有相似之處,都有路由表,每個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)對(duì)應(yīng)一張路由表,路由表中記錄著路由選擇信息。兩種算法的不同點(diǎn)在于節(jié)點(diǎn)路由表的制作單位,當(dāng)節(jié)點(diǎn)路由表應(yīng)用于固定路由選擇算法中時(shí),它的制作單位是人,也就是說(shuō),該算法中的路由表由人親手制作;而當(dāng)節(jié)點(diǎn)路由表應(yīng)用于集中路由選擇時(shí),節(jié)點(diǎn)路由表的制作單位是路由控制中心RCC(Routing Control Center)。實(shí)際上,由路由控制中心RCC制作的節(jié)點(diǎn)路由表更具動(dòng)態(tài)性,因?yàn)槁酚煽刂浦行腞CC會(huì)根據(jù)動(dòng)態(tài)的網(wǎng)絡(luò)信息進(jìn)行計(jì)算,通過(guò)分析網(wǎng)絡(luò)的實(shí)時(shí)狀態(tài)制作出相應(yīng)的節(jié)點(diǎn)路由表,然后才會(huì)將這些路由表分送給各個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)。簡(jiǎn)單來(lái)說(shuō)就是,一個(gè)是靜態(tài)信息路由表,一個(gè)是動(dòng)態(tài)信息路由表。相比于靜態(tài)信息路由表,由RCC利用網(wǎng)絡(luò)實(shí)時(shí)信息制作的動(dòng)態(tài)信息路由表更加完善,可以完美選擇路由,而不會(huì)增加各個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)的計(jì)算負(fù)擔(dān)。
?、鄯植悸酚蛇x擇算法。分布路由選擇算法也是由表格制勝的算法,這種算法也會(huì)在每一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)中存儲(chǔ)一張路由表,這個(gè)路由表的特點(diǎn)是更具選擇性,可稱(chēng)為“路由選擇表”。每個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)都有一張路由選擇表,且它們都是由網(wǎng)絡(luò)中其他的每個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)為索引,與集中路由選擇算法和固定路由選擇算法中的節(jié)點(diǎn)路由表都不同。
運(yùn)用分布路由選擇算法時(shí),每隔一段時(shí)間,網(wǎng)絡(luò)節(jié)點(diǎn)都會(huì)與其他相鄰節(jié)點(diǎn)交換信息,這些信息中包含了多種路由選擇數(shù)據(jù)。這張選擇路由表中的每一項(xiàng)都對(duì)應(yīng)一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn),每一項(xiàng)又由兩個(gè)部分組成,分別是目的節(jié)點(diǎn)的輸出路線以及目的節(jié)點(diǎn)的言辭和距離信息。
分布路由選擇算法的度量標(biāo)準(zhǔn)有多種,比如等待分組數(shù)、毫秒數(shù)、鏈路段數(shù)、容量大小等。在這種算法中,每一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)都能作為一個(gè)“回聲定位系統(tǒng)”,當(dāng)網(wǎng)絡(luò)出現(xiàn)延遲時(shí),每個(gè)節(jié)點(diǎn)都會(huì)向其他節(jié)點(diǎn)發(fā)送一個(gè)回聲分組,其他節(jié)點(diǎn)接收到這個(gè)回聲分組后會(huì)為其加上一個(gè)時(shí)間標(biāo)記,然后再回饋發(fā)送給原始節(jié)點(diǎn),這樣便可測(cè)出網(wǎng)絡(luò)延遲。最后,通過(guò)延遲信息就可以選擇出最佳路由。