基本信息
開放式最短路徑優先(Open Shortest Path First,OSPF)是廣泛使用的一種動态路由協議,它屬于鍊路狀态路由協議,具有路由變化收斂速度快、無路由環路、支持變長子網掩碼(VLSM)和彙總、層次區域劃分等優點。在網絡中使用OSPF協議後,大部分路由将由OSPF協議自行計算和生成,無須網絡管理員人工配置,當網絡拓撲發生變化時,協議可以自動計算、更正路由,極大地方便了網絡管理。但如果使用時不結合具體網絡應用環境,不做好細緻的規劃,OSPF協議的使用效果會大打折扣,甚至引發故障。
OSPF協議是一種鍊路狀态協議。每個路由器負責發現、維護與鄰居的關系,并将已知的鄰居列表和鍊路費用LSU(Link State Update)報文描述,通過可靠的泛洪與自治系統AS(Autonomous System)内的其他路由器周期性交互,學習到整個自治系統的網絡拓撲結構;并通過自治系統邊界的路由器注入其他AS的路由信息,從而得到整個Internet的路由信息。每隔一個特定時間或當鍊路狀态發生變化時,重新生成LSA,路由器通過泛洪機制将新LSA通告出去,以便實現路由的實時更新。
實現過程
1、初始化形成端口初始信息:在路由器初始化或網絡結構發生變化(如鍊路發生變化,路由器新增或損壞)時,相關路由器會産生鍊路狀态廣播數據包LSA,該數據包裡包含路由器上所有相連鍊路,也即為所有端口的狀态信息。
2、路由器間通過泛洪(Floodingl機制交換鍊路狀态信息:各路由器一方面将其LSA數據包傳送給所有與其相鄰的OSPF路由器,另一方面接收其相鄰的OSPF路由器傳來的LSA數據包,根據其更新自己的數據庫。
3、形成穩定的區域拓撲結構數據庫:OSPF路由協議通過泛洪法逐漸收斂,形成該區域拓撲結構的數據庫,這時所有的路由器均保留了該數據庫的一個副本。
4、形成路由表:所有的路由器根據其區域拓撲結構數據庫副本采用最短路徑法計算形成各自的路由表。
OSPF分組
OSPF協議依靠五種不同類型的分組來建立鄰接關系和交換路由信息,即問候分組、數據庫描述分組、鍊路狀态請求分組、鍊路狀态更新分組和鍊路狀态确認分組。
1、問候(Hello)分組
OSPF使用Hello分組建立和維護鄰接關系。在一個路由器能夠給其他路由器分發它的鄰居信息前,必須先問候它的鄰居們。
2、數據庫描述(Data base Description,DBD)分組
DBD分組不包含完整的“鍊路狀态數據庫”信息,隻包含數據庫中每個條目的概要。當一個路由器首次連入網絡,或者剛剛從故障中恢複時,它需要完整的“鍊路狀态數據庫”信息。此時,該路由器首先通過hello分組與鄰居們建立雙向通信關系,然後将會收到每個鄰居反饋的DBD分組。新連入的這個路由器會檢查所有概要,然後發送一個或多個鍊路狀态請求分組,取回完整的條目信息。
3、鍊路狀态請求(Link State Request,LSR)分組
LSR分組用來請求鄰居發送其鍊路狀态數據庫中某些條目的詳細信息。當一個路由器與鄰居交換了數據庫描述分組後,如果發現它的鍊路狀态數據庫缺少某些條目或某些條目已過期,就使用LSR分組來取得鄰居鍊路狀态數據庫中較新的部分。
4、鍊路狀态更新(Link State Update,LSU)分組
LSU分組被用來應答鍊路狀态請求分組,也可以在鍊路狀态發生變化時實現洪泛(flooding)。在網絡運行過程中,隻要一個路由器的鍊路狀态發生變化,該路由器就要使用LSU,用洪泛法向全網更新鍊路狀态。
5、鍊路狀态确認(Link State Acknowledgment,LSAck)分組
LSAck分組被用來應答鍊路狀态更新分組,對其進行确認,從而使得鍊路狀态更新分組采用的洪泛法變得可靠。
優點
(1)OSPF适合在大範圍的網絡:OSPF協議當中對于路由的跳數,它是沒有限制的,所以OSPF協議能用在許多場合,同時也支持更加廣泛的網絡規模。隻要是在組播的網絡中,OSPF協議能夠支持數十台路由器一起運作。
(2)組播觸發式更新:OSPF協議在收斂完成後,會以觸發方式發送拓撲變化的信息給其他路由器,這樣就可以減少網絡寬帶的利用率;同時,可以減小幹擾,特别是在使用組播網絡結構,對外發出信息時,它對其他設備不構成影響。
(3)收斂速度快:如果網絡結構出現改變,OSPF協議的系統會以最快的速度發出新的報文,從而使新的拓撲情況很快擴散到整個網絡;而且,OSPF采用周期較短的HELLO報文來維護鄰居狀态。
(4)以開銷作為度量值:OSPF協議在設計時,就考慮到了鍊路帶寬對路由度量值的影響。OSPF協議是以開銷值作為标準,而鍊路開銷和鍊路帶寬,正好形成了反比的關系,帶寬越是高,開銷就會越小,這樣一來,OSPF選路主要基于帶寬因素。
(5)OSPF協議的設計是為了避免路由環路:在使用最短路徑的算法下,收到路由中的鍊路狀态,然後生成路徑,這樣不會産生環路。
(6)應用廣泛:廣泛的應用在互聯網上,其他會有大量的應用實例。證明這是使用最廣泛的IPG之一。
缺點
(1)OSPF協議的配置對于技術水平要求很高,配置比較複雜的。因為網絡會根據具體的參數,給整個網絡劃分區域或者标注某個屬性,所以各種情況都會非常複雜,這就要求網絡分析員對OSPF協議的配置要相當了解,不但要求具有普通的網絡知識技術,還要有更深層的技術理解,隻有具備這樣的人員,才能完成OSPF協議的配置和日常維護。
(2)路由其自身的負載分擔能力是很低的。OSPF路由協議會根據幾個主要的因素,生成優先級不同的接口。然而在同一個區域内,路由協議隻會通過優先級最高的那個接口。隻要是接口優先級低于最高優先級,那麼路由就不會通過。在這個基礎上,不同等級的路由,無法相互承擔負載,隻能獨自運行。
受到攻擊
(一)通過驗證漏洞進行攻擊
無驗證:由于交換信息時不需要驗證,攻擊者可以直接獲取信息。簡單口令驗證:因為在傳輸過程中OSPF數據包括其口令都是以明文形式傳輸的,所以攻擊者可以用線路分析儀從網絡上竊取口令。密碼驗證:信息—摘要算法MD5(Message—Digest Algorithm 5)是OSPF規範中完整引用的唯一一個簽名算法,由于它的邏輯不可逆性,曾被認為是牢不可破的。但是2004年中國科學家王小雲成功地破解了此算法,說明密碼驗證方式也不是足夠安全。而攻擊者一旦獲得了交換的信息或口令就可以生成新的僞OSPF數據包,發送給該接口的各路由器,緻使網絡不能正常運行。
(二)通過篡改OSPF報文進行攻擊
1、篡改Hello報文。OSPF路由器定期向外發送Hello報文,用以發現鄰居和維護鄰接節點關系。攻擊者一旦攻破了OSPF驗證體系,就可以修改報文中的某些參數來達到攻擊的目的。如删掉鄰居列表上的鄰居使所有鄰居關系變為Down,修改指定路由器身份,緻使頻繁地進行指定路由器的選舉,消耗大量的資源。
2、篡改LSU報文。LSU報文用洪泛發對
全網更新鍊路狀态。這個報文是最複雜的,也是OSPF協議最核心的部分。如通過LSU報文大量注入Roter Sat Network-LSA,盡管它們可能不參與路由運算,但由于它們存在于每個路由器的數據庫中,因而可能造成數據庫溢出。
3、大量發送各種類型報文。攻擊者通過不間斷發送大量各種類型的OSPF報文,很可能造成被攻擊實體的資源耗竭而無法正常工作。如發送包含過長鄰居列表的超大Hello報文,鄰居路由器需要為鄰居列表上的每個鄰居創建鄰居結構而消耗大量的資源,起到攻擊的效果。
安全維護
1、定期對網絡進行維護
定期對進行穩定和維護是必不可少的,在使用的過程中也是其發展的過程,這法則就說明了在使用的時候一定會發生一些微妙的變化,這些微妙的變化有可能向好的方面發展,有可能向不好的方面發展,好的方面發展暫且不提。以壞處發展為例子,假如一個系統的漏洞在使用的過程中出現了,剛開始他的出現可能對構成不了什麼威脅。
2、注重OSPF路由協議維護
“大數據”這個概念的出現其實最近幾年随着網絡技術不斷的發展才出現的名詞,“大數據”其實是根據網絡社會不斷發展,各項工作的數據憑借着互聯網這條紐帶實現了數據的共享化多元化,而OSPF路由協議安全的工作就是在這種數據共享化的情況下維護使用者的數據安全。
3、有效規避漏洞
在OSPF路由協議安全維護這一塊的工作做到位,及時的發現找出網絡存在的安全隐患,保存的數據的完整性,在使用的時候對于的定期維護和檢查,将損失降低到最小。