1. 程式人生 > >路由協議基礎-OSPF協議學習

路由協議基礎-OSPF協議學習

OSPF協議:Open Shortest Path First,是一種用於網際協議(IP)網路的鏈路狀態路由協議。該協議使用鏈路狀態路由演算法的內部閘道器協議(IGP),在單一的自治系統(AS)內部工作。在OSPF協議中,路由器會將自己的鏈路狀態資訊一次性的泛洪(Flooding)給所有其他的路由器,來傳遞有關路由的資訊。OSPF原生支援VLSM與CIDR。

OSPF報文:OSPF報文是直接封裝在IP報文中的,其報文種類有5種:Hello報文(Hello Packet)、資料庫描述報文(Database Description Packet,DD Packet)、鏈路狀態請求報文(Link-State Request Packet, LSR Packet)、鏈路狀態更新報文(Link-State Update Packet,LSU Packet)、鏈路狀態確認報文(Link-State Acknowledgement Packet,LSAck Packet)。

開銷:開銷值是RTT、鏈路吞吐量、鏈路可用(可靠)性等衡量因素的無量綱整數表達。OSPF網路中通常採用鏈路的頻寬來定義路由的開銷。

OSPF區域性概念:OSPF網路具有區域化的結構。OSPF網路中,路由器有角色之分,不同角色的路由器具有不同的功能,且每臺路由器都有一個獨一無二的路由器身份號(Router Identification,Router-ID)

OSPF區域化結構:一個OSPF網路可以劃分成多個區域(Area),每個區域都有一個標號,稱為Area-ID。OSPF網路必須包含一個骨幹區域(Area-ID為0),且骨幹區域只有1個,其餘區域稱為非骨幹區域。

內部路由器:Internal Router,該路由器的所有介面均屬於同一個區域

區域邊界路由器:ABR(Area Border Router),該路由器的介面部分屬於Area 0,部分屬於其他區域

自治系統邊界路由器:ASBR(Autonomous System Boundary Router),該路由器的介面部分屬於本自治系統,部分介面與本自治系統之外的網路相連,並且可以將外部的網路資訊引入進本OSPF網路。

OSPF支援4種網路型別:廣播多路訪問型(Broadcast multiAccess)、非廣播多路訪問型(None Broadcast MultiAccess,NBMA)、點到點型(Point-to-Point,或P2P網路)、點到多點型(Point-to-MultiPoint,或P2MP網路)

廣播多路訪問型網路如:Ethernet、Token Ring、FDDI。在這樣的網路中必須要有1個DR(Designated Router)和BDR(Backup Designated Router)

NBMA型網路如:Frame Relay、X.25、SMDS。這類網路允許多路訪問,但是不提供廣播能力。在這樣的網路中必須要有1個DR和BDR

Point-to-Point:點對點網路,一個物理上的序列電路連線或者是邏輯上的,不需要DR和 BDR,鄰居是自動發現的。網路如:PPP、HDLC

point-to-multipoint:點對多點網路.不需要DR和BDR

Link-State:鏈路狀態,其實指的就是路由器的介面狀態。link(鏈路)可以理解為Interface(介面)的意思

LSA:Link-State Advertisement,鏈路狀態通告。LSA是鏈路狀態資訊的主要載體,鏈路狀態資訊主要是包含在LSA中並通過LSA的通告(泛洪)來實現共享的。

OSPFv2 LSA型別:

  • Type-1 LSA:路由器LSA,Router LSA。每一臺路由器都會產生1類LSA通告,用來描述路由器各個介面的介面型別、IP地址、開銷值等資訊。1類LSA同時也指出了路由器是不是ABR或ASBR,這些LSA通告只會在始發他們的區域內部進行泛洪擴散。通過命令 show ip ospf database router 可以檢視資料庫中列出的所有路由器 LSA 通告。
  • Type-2 LSA:網路LSA,Network LSA。2類LSA是DR產生的,主要用來描述該DR所在的二層網路的網路掩碼以及該二層網路中總共保含了哪些路由器,且只能在產生它的區域中進行泛洪。使用命令 show ip ospf database network 可以檢視網路 LSA 通告的資訊。
  • Type-3 LSA:網路彙總LSA,Network summary LSA。3類LSA由ABR生成,它將一個區域內的網路通告給OSPF自治系統的其他區域(1類和2類LSA是被限制在區域內的),即ABR路由器將自己所在的多個Area中的1類和2類LSA轉換為3類LSA。使用命令 show ip ospf database summary 可以顯示鏈路狀態資料庫中的網路彙總 LSA 資訊。
  • Type-4 LSA:ASBR彙總LSA,ASBR summary LSA.由ASBR所在的Area的ABR產生的,僅當區域中有ASBR時,才會產生4類LSA。4類LSA標識ASBR,並提供一條前往該ASBR的路由。前往外部自治系統的資料流要求路由表包含有關通告外部路由的 ASBR 的資訊。鏈路狀態 ID 被設定為 ASBR 的路由器 ID。使用命令 show ip ospf database asbr-summary 可以檢視 ASBR 彙總 LSA 的資訊。
  • Type-5 LSA:自治系統外部LSA,Autonomous system external LSA。5 類 LSA 描述了前往 OSPF 自治系統外的網路的路由(也包括 OSPF 自治系統外部的預設路由),它由 ASBR 傳送並被擴散到整個 AS。使用命令 show ip ospf database external 可以檢視 5 類 LSA 的資訊
  • Type-6 LSA:組成員LSA,Group membership LSA。是用在 OSPF 協議的一個增強版本――組播 OSPF 協議(MOSPF協議)中的。MOSPF 協議將資料包從一個單一的源地址轉發到多個目的地,或者是一組共享 D 類組播地址的成員。
  • Type-7 LSA:NSSA外部LSA,NSSA External LSA。是指在非純末梢區域(Not-So-Stubby Area, NSSA)內始發於 ASBR 路由器的 LSA 通告。NSSA 外部 LSA 通告幾乎和 5 類 LSA 通告是相同的。只是不像 5 類 LSA 通告那樣在整個 OSPF 自治系統內進行泛洪擴散,NSSA 外部 LSA 通告僅僅在始發這個 NSSA 外部 LSA 通告的非純末梢區域內部進行泛洪擴散。可以通過命令 show ip ospf database nssa-external 來顯示 NSSA 外部 LSA 通告的資訊。
  • Type-8 LSA:BGP的外部屬性LSA,External attributes LSA for BGP。是被提議作為執行內部 BGP 協議(iBGP 協議)的另一種選擇,以便用來傳送 BGP 協議的資訊穿過一個 OSPF 域。這個 LSA 從來沒有在大範圍部署過,IOS 也不支援該 LSA。
  • Type-9to11 LSA:不透明LSA(Opaque LSA)。是由標準的 LSA 頭部後面跟隨專用資訊組成的一類 LSA。這個資訊欄位可以直接由 OSPF 協議使用,或者由其他應用分發資訊到整個 OSPF 域間接使用。
OSPFv2 LSA型別總結

OSPF的協議報文:OSPF報文是直接封裝在IP報文中的。IP報文頭部中的協議欄位的值必須是89.

  • Version:版本欄位,佔1個位元組
  • Packet Type:報文型別欄位,區分OSPF的5種報文
  • Packet Length:包長度欄位,佔2個位元組,指整個報文的長度
  • Router ID:路由器ID欄位,佔4個位元組,指定傳送報文的源路由器ID
  • Area ID:區域ID欄位,佔4個位元組,指定傳送報文的路由器所對應的OSPF區域號
  • Checksum:檢驗和欄位,佔2個位元組,是對整個報文的檢驗和,用於對端路由器檢驗報文的完整性和正確性
  • AuType:認證型別欄位,佔2個位元組,指定所採用的認證型別,0為不認證,1為進行簡單認證,2為採用MD5方式認證
  • Authentication:認證欄位,佔8個位元組,具體值根據不同認證型別而定:認證型別為不認證時,此欄位沒有資料,認證型別為簡單認證時,此欄位為認證密碼,認證型別為MD5認證時,此欄位為MD5摘要訊息。

最短路徑樹:SPT,Shortest Path Tree。LSDB相當於是一張Area 0的詳細地圖,每臺路由器都會將SPF演算法(Shortest Path First Algorithm)作用於自己的路線圖,選擇出最優(即最小開銷)的路徑,這個過程也就是最短路徑樹的生成過程。

DR:Designated Router,指定路由器。在一個Broadcast網路或者NBMA網路中,通過Hello報文中攜帶的Router Priority和Router-ID的值的最大者(優先比較Router Priority)來選舉DR。

BDR:Backup Designated Router,備份指定路由器。

OSPF鄰居關係:如果兩臺相鄰路由器彼此傳送給對方的Hello報文的內容完全一致,則認為他們是彼此的鄰居(Neighbor)路由器

OSPF鄰接關係:鄰居路由器間完成了LSDB同步後,鄰居路由器就成為了彼此的鄰接(Adjacency)路由器

  • 鄰居路由器之間的二層網路是P2P網路或者P2MP網路,則它們一定會進入彼此之間的LSDB同步程序;
  • 鄰居路由器之間的二層網路是Broadcast網路或者NBMA網路,且其中一臺路由器是這個二層網路的DR或者BDR,那麼它們一定會進入LSDB同步程序;如果它們都不是這個二層網路的DR或者BDR,則它們一定不會進入LSDB 同步程序。