1. 程式人生 > >網路層--內部閘道器協議OSPF

網路層--內部閘道器協議OSPF

    OSPF這個協議的名字是”開放最短路徑優先”.

    OSPF最主要的特徵就是使用分散式的鏈路狀態協議.和RIP協議相比,OSPF的三個要點和RIP的都不一樣

  •     向本自治系統中所有路由器傳送資訊.這裡使用的方法是洪泛法.

  •     傳送的資訊就是與本路由器相鄰的所有路由器的鏈路狀態,但這只是路由器所知道的部分資訊.所謂”鏈路狀態”就是說明本路由器都和那些路由器相鄰,以及該鏈路的”度量”.OSPF將這個”度量”用來表示費用,距離,時延,寬頻,等等.這些由網路管理人員決定.

  •     只有當鏈路狀態發生變化時,路由器才會向所有路由器用洪泛法傳送此資訊.而不像RIP那樣,不管網路拓撲有無發生變化,路由器之間都要定期交換路由表的資訊

    由於各路由器之間頻繁地交換鏈路狀態資訊,因此所有的路由器最總都能建立一個鏈路狀態資料庫,這個資料庫實際上就是全網的網路拓撲結構圖.而RIP卻不知道去全網的拓撲結構(只有到了下一跳路由器,才能知道再下一跳應當怎樣走)

    OSPF的鏈路狀態資料庫能較快地進行更新.即OSPF的更新過程收斂得比RIP更快.

    為了使OSPF能夠用於規模很大的網路,OSPF將一個自治系統再劃分為若干個更小的範圍,叫做區域.每一個區域都有一個32位的區域識別符號.

    劃分區域的好處就是把利用洪泛法交換鏈路狀態資訊的範圍侷限於每一個區域而不是整個的自治系統,這就減少了整個網路上的通訊量.

    在一個區域內部的路由器只知道本區域的完整網路拓撲,而不知道其他區域的網路拓撲的情況

    OSPF使用層次結構的區域劃分

  • 在上層的區域叫做主幹區域.主幹區域的作用是用來連通其他在下層的區域.
  • 從其他區域來的資訊都由區域邊界路由器繼續概括.每一個區域至少應當有一個區域邊界路由器.
  • 在主幹區域內的路由器叫做主幹路由器
  • 在主幹區域內還要有一個路由器專門和本自治系統外的其他自治系統交換路由資訊.這樣的路由器叫做自治系統邊界路由器

    OSPF不用UDP而是直接用IP資料報傳送.

    OSPF還具有下列的一些特點

  • 如果到同一個目的網路有多條相同代價的路徑,那麼可以講通訊量分配給這幾條路徑.這叫做多路徑間的負載平衡

  • 所有在OSPF路由器之間交換的分組都具有鑑別的功能,因而保證了僅在可信賴的路由器之間交換鏈路狀態資訊.

  • OSPF支援可變長長度的子網劃分和無分類的編址CIDR

  • 由於網路中的鏈路狀態可能經常發生變化,因此OSPF讓每一個鏈路狀態都帶上一個32位的序號,序號越大狀態就越新.OSPF還規定鏈路狀態序號增長的速率不得超過每5秒鐘一次

    OSPF共有以下五種分組型別:

  • 問候分組,用來發現和維持鄰站的可達性.

  • 資料庫描述分組,向鄰站給出自己的鏈路狀態資料庫中的所有鏈路狀態專案的摘要資訊

  • 鏈路狀態請求分組,請對方請求傳送某些鏈路狀態專案的詳細資訊

  • 鏈路狀態更新分組,用洪泛法對全網更新鏈路狀態.

  • 鏈路狀態確認分組,對鏈路更新分組的確認.

    OSPF規定,每兩個相鄰路由器每隔10秒要交換一次問候分組.這樣就能知道哪些鄰站是可達的.若有40秒鐘沒有收到某個相鄰路由器發來的問候分組,則可認為該相鄰路由器是不可達的,應立即修改鏈路狀態資料庫,並重新計算路由表.

    其他的四種分組都是用來進行鏈路狀態資料庫的同步.所謂同步就是指不同路由器的鏈路狀態資料庫的內容是一樣的.兩個同步的路由器叫做”完全鄰接的”路由器.

    OSPF讓一個路由器用資料庫描述分組和相鄰路由器交換本資料庫中已有的鏈路狀態摘要資訊.經過與相鄰路由器交換資料庫描述分組後,路由器就使用鏈路狀態請求分組,向對方請求傳送自己所缺少的某些鏈路狀態專案的詳細資訊.

    OSPF使用的是可靠的洪泛法,即收到更新分組後要傳送確認(收到重複的更新分組只需要傳送一次確認)

    若N個路由器連線在一個乙太網上,則每個路由器要向其他(N-1)個路由器傳送鏈路狀態資訊,因而共有N(N-1)個鏈路狀態要在這個乙太網上傳遞.OSPF對這種多點接入的區域網採用了指定的路由器的方法,使得廣播的資訊量大大減少.