在一個(gè)鏈路狀態(tài)路由選擇中,一個(gè)結(jié)點(diǎn)檢查所有直接鏈路的狀態(tài),并將所得的狀態(tài)信息發(fā)送給網(wǎng)上所有的其他的結(jié)點(diǎn),而不僅僅是發(fā)給那些直接相連的結(jié)點(diǎn)。每個(gè)節(jié)點(diǎn)都用這種方式,所有其他的結(jié)點(diǎn)從網(wǎng)上接收包含直接鏈路狀態(tài)的路由信息。每當(dāng)鏈路狀態(tài)報(bào)文到達(dá)時(shí),路由結(jié)點(diǎn)便使用這些狀態(tài)信息去更新自己的網(wǎng)路拓?fù)浜蜖顟B(tài)“視野圖”,一旦鏈路狀態(tài)發(fā)生改變,結(jié)點(diǎn)對跟新的網(wǎng)絡(luò)圖利用dijkstra最短路徑算法重新計(jì)算路由,從單一的報(bào)源發(fā)出計(jì)算到達(dá)所有的結(jié)點(diǎn)的最短路徑。
鏈路狀態(tài)路由算法有三個(gè)特征:
1.向本自治系統(tǒng)中的所有路由器發(fā)送信息。這里使用的方法是洪泛法(flooding),即路由器通過所有的輸出端口向所有的相鄰路由器發(fā)送信息。而每一個(gè)路由器又將此信息發(fā)往其所有的相鄰的路由器(但不包括剛剛發(fā)來信息的那個(gè)路由器)。
2.發(fā)送的信息就是本路由器相鄰的所有路由器的鏈路狀態(tài),但這只是路由器所知道的部分信息。所謂“鏈路狀態(tài)”就是說明本路由器和那些路由器相鄰,以及該鏈路的“度量”(metric)。對于ospf,鏈路狀態(tài)的“度量”主要用來表示費(fèi)用、距離、時(shí)延、帶寬等。
3.只有當(dāng)鏈路狀態(tài)發(fā)生改變時(shí),路由器才用洪泛法向所有路由器發(fā)送此信息。