不卡AV在线|网页在线观看无码高清|亚洲国产亚洲国产|国产伦精品一区二区三区免费视频

學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 網(wǎng)絡(luò)知識(shí) > 路由器 > 路由器設(shè)置 > cisco思科 > 詳解OSPF路由器完全鄰接關(guān)系的建立過(guò)程

詳解OSPF路由器完全鄰接關(guān)系的建立過(guò)程

時(shí)間: 若木635 分享

詳解OSPF路由器完全鄰接關(guān)系的建立過(guò)程

  運(yùn)行OSPF協(xié)議的路由器,如果你想正常運(yùn)轉(zhuǎn)的話,那么就得和其他的路由器建立完全鄰接的關(guān)系。因?yàn)檫@種狀態(tài)下,同一個(gè)區(qū)域中的所有的路由器的LSDB都是完全同步的、一致的。其實(shí)呢,應(yīng)該反過(guò)來(lái)說(shuō),當(dāng)同一個(gè)區(qū)域中的所有的路由器的LSDB的完全同步、一致的情況下,OSPF路由器才算是達(dá)到了這個(gè)完全鄰接的狀態(tài)!

  有這么幾個(gè)過(guò)程:

  OSPF 處于 down 狀態(tài)----à Init狀態(tài)-----à 雙向(two—way)狀態(tài)-----à 鄰接狀態(tài)--à 預(yù)啟動(dòng)( exstart )狀態(tài) ------à 交換(exchange )狀態(tài)----à 完全( full )鄰接狀態(tài)!

  當(dāng)配置了OSPF的路由器剛剛啟動(dòng)的時(shí)候,這個(gè)協(xié)議還是處于down的狀態(tài)的,為什么呢?因?yàn)檫€沒(méi)有其他的路由器和他交換信息啊。所以他接下來(lái)要做的就是通過(guò)所有的OSPF接口向外發(fā)送HELLO分組,并且分組的目標(biāo)地址是224.0.0.5 (這個(gè)地址代表的是哪些路由器呢?我認(rèn)識(shí)吧,他代表的是與發(fā)送HELLO分組的路由器直接相連的那些路由器,就是指的那些直連路由器。并且在這里需要說(shuō)明的是,HELLO分組不會(huì)被路由,這個(gè)HELLO分組的行程只有一跳。那我們看到的“HELLO分組在整個(gè)區(qū)域中的多個(gè)路由器之間進(jìn)行擴(kuò)展”又該如何解釋呢?HELLO分組在同一個(gè)區(qū)域中的多個(gè)路由器之間進(jìn)行擴(kuò)展,運(yùn)用的不是路由功能,而是一個(gè)路由器發(fā)送這個(gè)HELLO分組到了直接相連的所有的路由器后,這些路由器就復(fù)制一個(gè)副本,并且將自己的信息添加進(jìn)去后,就還是運(yùn)用目標(biāo)地址為224.0.0.5來(lái)分發(fā)這個(gè)HELLO分組到與自己直接相連的各個(gè)路由器上。就這樣一直下去,以此類推!)

  所有的直連OSPF路由器接收到這個(gè)路由器發(fā)送來(lái)的HELLO分組后,就將這個(gè)路由器加入到鄰居列表中。這就是Init狀態(tài)!(這里說(shuō)的這個(gè)“鄰居列表”說(shuō)的是HELLO分組中的數(shù)據(jù)部分。如果不理解的話,可以去看看5種類型的OSPF分組的格式)。

  所有的這些收到HELLO分組的路由器,都會(huì)向發(fā)送這個(gè)HELLO分組的路由器發(fā)送一個(gè)單播應(yīng)答分組;其中包含著自己的信息(因?yàn)槿思疫@個(gè)路由器也不是死的啊,人家也同時(shí)在進(jìn)行這個(gè)過(guò)程啊,人家也有自己的一些鄰居啊),這個(gè)發(fā)回去的應(yīng)答分組中的“鄰居列表”中自然是包含那個(gè)開(kāi)始發(fā)送這個(gè)HELLO分組的路由器了。現(xiàn)在這個(gè)應(yīng)答分組就是返回給他的。

  原來(lái)那個(gè)路由器接收到這個(gè)應(yīng)答分組后,先看看這個(gè)鄰居列表中是否包含自己。如果包含自己的話,就說(shuō)明一個(gè)問(wèn)題:即對(duì)方已經(jīng)知道我的存在了。并且接下來(lái)就將這個(gè)HELLO分組中帶來(lái)的那些鄰居表中包含的路由器ID加入到自己的LSDB中。這樣一來(lái)呢,這些路由器就建立了雙向( two-way )狀態(tài)。到此為止,所有的路由器之間都建立了雙向狀態(tài),即路由ID彼此出現(xiàn)在對(duì)方的鄰居列表中;

  接下來(lái),要看看網(wǎng)絡(luò)類型,確定下是否有必要進(jìn)行DR與BDR的選舉。如果這個(gè)網(wǎng)絡(luò)屬于廣播類型的網(wǎng)絡(luò)(如以太網(wǎng)),那么就需要進(jìn)行選舉。具體的選舉過(guò)程可以自己去查閱相關(guān)的資料。選擇了DR與BDR后,那么網(wǎng)絡(luò)中的路由器都只與這種身份的路由器建立雙向鄰接關(guān)系,然后路由器之間才能進(jìn)行交換鏈路狀態(tài)信息。

  注:當(dāng)一個(gè)路由器加入到已經(jīng)有DR與BDR的廣播網(wǎng)絡(luò)時(shí),將同所有的路由器(包括DR、BDR、DROTHER)建立雙向狀態(tài),但是只與DR與BDR建立雙向鄰接關(guān)系!并且我們需要知道的是,網(wǎng)絡(luò)中的所有的路由器都會(huì)定期的進(jìn)行HELLO包的交換,以確保通信不中斷。默認(rèn)的時(shí)間間隔是10S。這個(gè)HELLO分組中包含DR、BDR與一個(gè)路由器列表,其實(shí)他們都是鄰居,也可以說(shuō)是已經(jīng)相互建立了雙向狀態(tài)的路由器。

  還想來(lái)分析下這個(gè)“雙向狀態(tài)”與“鄰接”狀態(tài)的不同之處:

  雙向狀態(tài):這個(gè)狀態(tài)下的路由器之間定期進(jìn)行交換的是HELLO分組,通過(guò)這個(gè)HELLO分組可以學(xué)習(xí)到的是所有可能存在的鄰居。這個(gè)定期的交換,指的是10S一次,并且這個(gè)對(duì)象說(shuō)的是同一個(gè)區(qū)域中的所有的路由器,他們相互之間都會(huì)定期的進(jìn)行這個(gè)動(dòng)作,而不是某些具備特定條件的路由器才進(jìn)行定期的交換!

  鄰接狀態(tài):這種狀態(tài)是在“雙向狀態(tài)”狀態(tài)下的一種提升。且,這種狀態(tài)下進(jìn)行交換的已經(jīng)不是HELLO分組了,而是LSU了。并且,這種動(dòng)作并不是定期的,而是觸發(fā)式的,即只要有鏈路狀態(tài)的改變,就會(huì)進(jìn)行相應(yīng)的LSU的建立、發(fā)送。并且這個(gè)動(dòng)作也不是發(fā)生在同一個(gè)區(qū)域中的所有路由器之間了。而是發(fā)生具有特定身份的路由器之間的。即發(fā)生在一個(gè)普通的路由器(DROTHER)與一個(gè)特殊角色路由器(DR/BDR)之間。

  上面是選舉了DR、BDR,各個(gè)路由器與DR、BDR建立了雙向鄰接關(guān)系,此時(shí)路由器就是處于預(yù)啟動(dòng)(exstart)狀態(tài)了。這個(gè)狀態(tài)下,路由器已經(jīng)做好了發(fā)現(xiàn)有關(guān)互聯(lián)網(wǎng)絡(luò)的鏈路狀態(tài)信息并建立LSDB的準(zhǔn)備。

  處于預(yù)啟動(dòng)狀態(tài)后,DR與BDR之間建立主從關(guān)系。接下來(lái)他們就開(kāi)始互相交換DBD(此時(shí)就算是進(jìn)入了交換狀態(tài)),這個(gè)就是5種OSPF分組中的第二種。里面包含的是LSDB中LSA條目的摘要信息。LSA是關(guān)于鏈路或者網(wǎng)絡(luò)的。摘要信息包括鏈路狀態(tài)類型、通告LSA的路由器的IP地址、鏈路的成本和序列號(hào)。當(dāng)路由器收到DBD后并不是將其中的包含的內(nèi)容全部的收下,而是一步一步的采取下面的步驟:

  1、首先給對(duì)方一個(gè)LSACK,來(lái)確認(rèn)下已經(jīng)收到了這個(gè)分組;

  2、將收到的信息同本身的LSDB中信息進(jìn)行比較。如果有更新的條目的話,那么就向發(fā)送方發(fā)送一個(gè)LSR(這時(shí)候你就想了,他知道這個(gè)LSR發(fā)給誰(shuí)嗎?只要想要的是什么嗎?呵呵、當(dāng)然知道了,因?yàn)檫@些信息都在發(fā)送來(lái)的LSA摘要信息中包含著呢。尤其是那個(gè)“通告LSA的路由器的地址”。)

  3、對(duì)方用LSU分組進(jìn)行響應(yīng),該LSU中包含著有關(guān)被請(qǐng)求的條目的完整信息。同樣呢,收到這個(gè)LSU分組后,也要給對(duì)方一個(gè)LSACK進(jìn)行確認(rèn)下!

  4、路由器將提供來(lái)的新的完整的LSA條目加入到自己的LSDB中。

  彼此給對(duì)方提供所需要的全部LSA后相鄰路由器就處于同步和完全的鄰接狀態(tài)了。

  上面說(shuō)的是DR與BDR之間完全鄰接的這么一個(gè)過(guò)程,那么其他的互為鄰接關(guān)系的路由器達(dá)到完全鄰接的狀態(tài)也是這么一個(gè)過(guò)程。其實(shí)說(shuō)的就是DRother 與 DR之間的完全鄰接過(guò)程!

  那么如何來(lái)判定條目的新舊呢?通過(guò)摘要信息中的序列號(hào)字段就可以了,這個(gè)序列號(hào)是個(gè)長(zhǎng)32位的字段,最小的一個(gè)序列號(hào)是0X80000001,最大的是0X8FFFFFFF。當(dāng)序列號(hào)越大的時(shí)候,就表示越新!

  路由器想轉(zhuǎn)發(fā)數(shù)據(jù)流的話,必須處于完全鄰接狀態(tài)。至此,區(qū)域內(nèi)所有路由器的LSDB都相同。

116088