前言
什麼是OSPF?
OSPF(OpenShortestPathFirst,開放最短路徑優先)是IETF(InternetEngineering
TaskForce,互聯網工程任務組)組織開發的一個基于鍊路狀态的内部網關協議。目前針對
IPv4協議使用的是OSPFVersion2。
OSPF是如何工作的?
每台OSPF路由器根據自己周圍的網絡拓撲結構生成LSA(鍊路狀态通告),并發送給
周圍的OSPF路由器;每台路由器都會收集其他路由器的LSA,所有LSA放在一起便組成了
lsdB(鍊路狀态數據庫)。OSPF路由器将lsdB轉換成一張拓撲圖,再根據SPF算法算出到
每個節點的最短路徑。
OSPF的優點
1.Open,開放,兼容性好,各廠家支持。
2.SPF算法為樹形算法,清晰區域内真實網絡拓撲,路由計算精确,無環
3.相對于RIP,沒有跳數限制,可支持中大型網絡。
4.相對于RIP,收斂速度更快
5.相對于RIP,以接口Cost(默認由帶寬決定)來判斷路由優劣,而不是基于跳數。
OSPF的區域
一個OSPF網絡可以劃分為多個區域(Area),如果隻包含一個區域,則這樣的OSPF網絡稱為單區域OSPF網絡;如果一個OSPF網絡包含了多個區域,則這樣的OSPF網絡稱為多區域OSPF網絡。
在OSPF網絡中,每一個區域都會有對應的編号,Area-ID,其中ID可以是任意十進制數字。
一般稱Area-ID為0的區域稱為骨幹區域,其他區域稱為标準區域。單區域的OSPF網絡隻包含一個區域,所以這個區域必須是骨幹區域(不用Area0照樣可以,隻是不利于擴展)。
在多區域的OSPF網絡之中,所有非骨幹區域的網絡都必須與骨幹區域直接相連,非骨幹區域不允許直連。所以,标準區域之間的通信必須通過骨幹區域中轉才能進行。
OSPF區域中的4種路由器
IR:如果一台OSPF路由器屬于單個區域,即該路由器所有接口都屬于同一個區域,那麼這台路由器稱為IR(InternalRouter)。
ABR:如果有一台路由器的某些接口屬于Area0,其他接口屬于别的區域,則這樣的路由器被稱為ABR(區域邊界路由)。
ASBR:如果有一台路由器是與本網絡(OSPF)之外的網絡(例如RIP、EIGRP、靜态路由等)相連,且将外部網絡的路由信息引入本網絡,這樣的路由器稱為ASBR(自治系統邊界路由器)。
骨幹路由器(BackboneRouter):該類路由器至少有一個接口屬于骨幹區域。因此,所有的ABR和位于Area0的内部路由器都是骨幹路由器。
OSPF中支持的4種網絡類型
1.廣播類型(Broadcast)
2.NBMA類型Non-BroadcastMulti-Access)
3.點到多點P2MP類型(Point-to-Multipoint)
4.點到點P2P類型(point-to-point)
鍊路狀态LSA
OSPF是一種基于鍊路狀态的路由協議,相對于RIP協議通過矢量判斷路徑的跳數,它更注重路徑的狀态。鍊路狀态(LSA)就是OSPF接口上的描述信息,例如接口上的IP地址,子網掩碼,網絡類型,Cost值等等。
的
這樣,網絡中所有的OSPF路由器都擁有整個網絡的鍊路狀态,能通過鍊路狀态描繪出相同的網絡結構。
OSPF的5種數據報文
1.Hello報文:周期性發送,用來發現和維持OSPF鄰居關系。
2.DD報文:描述本地lsdB(LinkStateDatabase鍊路狀态數據)的摘要信息,用于兩
台設備進行數據庫同步。
3.LSR報文:用于向對方請求所需的LSA。
4.LSU報文:用于向對方發送其所需要的LSA。
5.LSAck報文:用來對收到的LSA進行确認。
OSPF建立鄰接關系過程的7個狀态
1.down:雙方路由器沒有進行任何交互
2.Init:此狀态隻能交換hello報文,無任何其他信息
3.two-way:hello報文交換之後,達到two-way狀态,建立鄰居關系
4.Exstart:進行主從關系選舉,确定誰先發送DD報文
5.Exchange:交互DD報文,建立各自拓撲表。
6.Loading:請求對方路由信息,交互LSA,LSU,LSACK報文
7.Full:建立鄰接關系,lsdB同步。
鄰居和鄰接
在OSPF中,鄰居(Neighbor)和鄰接(Adjacency)是兩個不同的概念。
OSPF路由器啟動後,便會通過OSPF接口向外發送Hello報文。收到Hello報文的OSPF路由器會檢查報文中所定義的參數,如果雙方一緻就會形成鄰居關系。
形成鄰居關系的雙方不一定都能形成鄰接關系,這要根據網絡類型而定。隻有當雙方成功交換DD報文,交換LSA并達到lsdB的同步之後,才形成真正意義上的鄰接關系
OSPF的建立過程
OSPF的建立過程可以簡單分為以下3個過程
1>建立鄰居關系
2>建立各自的拓撲表
3>建立鄰接關系
1.建立鄰居關系。
雙方路由器初始為down狀态,連接之後進入init狀态,開始互相交換hello數據
包,通過hello報文得到路由器基本信息之後,進入two-way狀态,開始建立鄰居關系。
鄰居關系建立之後進入exstart狀态。
2.建立各自的拓撲表
進入exstart狀态後确立主從關系,互相交換LSA摘要信息之後變為exchange狀态
3.建立鄰接關系
正在同步lsdb(鍊路狀态數據庫),但還未同步完成,兩台設備的關系是loading
完成lsdb同步,進入full狀态,成立鄰接關系。
在此我整理了一份資料,算是給能看到這裡的朋友一個福利,包括常見網絡故障排查方法文檔,常見路由器交換機配置視頻以及網工資料包。
需要獲取這份網工資料包的小夥伴可以直接轉發 關注後私信(學習)即可獲取哦!
,