HCIP-Routing Switching V2.5--OSPF
HCIP-OSPF學習記錄及詳解(含IE面試題)
文章目錄
- HCIP-OSPF學習記錄及詳解(含IE面試題)
- OSPF(開放式最短路徑優先協議)的基本概念與基礎配置。
- OSPF路由
- OSPF報文
- OSPF區域
- OSPF網絡類型
- OSPF基礎及拓展
- LSA類型
- OSPF的認證
- OSPF進程號
- FA地址
- OSPF基礎配置命令
- OSPF的匯總和過濾:
- 影響OSPF鄰居建立因素:
- OSPF是內部網關協議的一種,基于鏈路狀態算法。
- OSPF特點
OSPF(開放式最短路徑優先協議)的基本概念與基礎配置。
OSPF路由
-
路由器的分類:
1、內部路由器
路由器所有接口都宣告進同一個區域
2、骨干路由
有至少一個接口在骨干區域(Area0)的路由
區域0屬于骨干區域
3、ABR(區域邊界路由器)Area border router
連接骨干區域和非骨干區域的路由
4、ASBR自治邊界路由器(AS Boundary Router)將其他協議引入OSPF的設備
-
DR:指定路由器 皇帝
-
BDR:備份指定路由器 太子
-
Drother: 平民
-
Router ID:用于在自治系統中唯一標識一臺運行OSPF的路由器的32位整數,每個運行OSPF的路由器都有一個Router ID、OSPF設備如果沒有配置Router ID是無法工作。
Router ID的優先順序:
1 、Router ID可以手工指定,手工指定最優- [AR1]router id 1.1.1.1 //在全局下指定,所有協議都會調用該Router ID做為協議的ID
- [AR1]ospf 10 router-id 1.1.1.1 //在OSPF進程下指定,該級別優先于全局下指定
2、如果沒有手工指定,會自動選舉
- 1)首先選舉邏輯接口(比如環回口)IP地址大的做為RouterID
- 2)即有邏輯接口,也有物理接口,邏輯接口地址優先
- 3、如果只有物理接口,物理接口地址大的優先
如果重新配置了Router ID,不會立刻生效,需要重置OSPF進程,重啟設備
reset ospf process 重置ospf進程建議配置OSPF時手工指定router ID
-
-
第一類、第二類外部路由
(1)類型一的開銷=內部開銷+外部開銷
(2)類型二的開銷=外部開銷
(3)類型一的路由優于類型二的路由
-
OSPF默認路由的下放:
default-route-advertise命令用來將缺省路由通告到普通OSPF區域。
1、default-route-advertise always
? 無論本機是否存在激活的非本OSPF缺省路由,都會產生并發布一個描述缺省路由的LSA。
? 如果沒有配置always參數,本機路由表中必須有激活的非本OSPF缺省路由時才生成缺省路由的LSA。
? 參數:cost、cost指定該ASE LSA的開銷值。 整數形式,取值范圍是0~16777214。缺省值是1。2、Stub區域,會過濾掉五類LSA,會自動下放一條默認路由(三類LSA),整個Stub區域
3、Totoally Stub,會過濾掉五類,四,三類LSA,自動下放一條默認路由,三類LSA 整個Stub區域4 、NSSA區域的ABR會下放一條默認路由(七類LSA)整個nssa區域
5、Totoally NSSA區域的ABR會下放默認路由(七類LSA,三類LSA)整個nssa區域
6、NSSA區域的ASBR可以手動下放一條默認路由 nssa default-route-advertise (本地必須有一條默認路由),下放默認路由為七類LSA)
OSPF報文
-
OSPF報文的頭部信息
Version:版本號2 V2
Type類型:
1:Hello報文
2、DBD報文
3、LSR
4、LSU報文
5、LSACKPacket Length:OSPF報文的總長度,包括報文頭部
Source Router: OSPF的發送者的Router ID
Area 號:區域號Auth Type:認證類型:0 不認證 1 簡單的明文認證 2 MD5認證
-
OSPF的 Hello報文:
Network Mast:發送Hello報文的接口的掩碼
Hello時間:發送Hello報文的時間間隔,廣播類型的Hello時間是10秒
Option:
DN位:用來避免MPlS VPN中的環路
O位:是否支持不透明LSA Opaque LSA(類型9 10 11的LSA)
DC位:按需鏈路, 當在按需路上傳遞OSPF報文時,該位被置位
E位:表明始發路由器具有接收的轉發外部LSA E=1支持五類LSA E=0不支持N/P位:在Hello數據中N=1表明路由器支持七類(Nassa區域),N=0不接收和發送Nssa LSA(七類LSA 、在NSSA區域,該位的作用是表明需要做七類LSA轉成五LSA的操作
MC:支持MOSF
MT:表示支持多拓撲OSPFRouter PRI(路由的優先級):用于選舉DR和BDR
Router Dead Internal(死亡時間):該置為Hello時間的4倍
指定路由器:DR的Router ID,如果該置為 0.0.0.0表示DR沒有選舉出來
備份指定路由器:BDR的Router ID,如果為0.0.0.0表示沒有BDR被選舉
Neighbor:鄰居路由器的Router ID -
驗證一個Hello報文是否合法之前首先需要驗證一個OSPF報文是否合法。
驗證一個接收到的Hello報文是否合法包括:
- 如果接收端口的網絡類型是廣播型,點到多點或者NBMA,所接收的Hello報文中Network Mask字段必須和接收端口的網絡掩碼一致,如果接收端口的網絡類型為點到點類型或者是虛連接,則不檢查Network Mask字段;
- 所接收的Hello報文中的HelloInterval字段必須和接收端口的配置保持一致;
- 所接收的Hello報文中的RouterDeadInterval字段必須和接收端口的配置保持一致;
- 所接收的Hello報文中的Options字段中的E-bit(表示是否接收外部路由信息)必須和相關區域的配置保持一致。關于此比特的具體意義將在《OSPF特殊區域》中詳細解釋。
-
如何驗證一個OSPF報文頭部是否合法
1、版本號必須為2
2、區域 ID:區域ID必須一致
3、認證類型和認證密碼必須正確 -
OSPF的五種報文:
1、Hello報文:周期性的發送,用來發現,建立和維護OSPF的鄰居
2、DBD報文:描述本LSDB(鏈路狀態數據庫)的摘要信息,用于兩臺設備數據庫的同步,建立主從關系
3、LSR報文:用于請求具體的LSA 需要DBD報文交互完成后才會向對方發送LSR報文
4、LSU報文:用來回應LSR信息,該信息包含具體的LSA
5、LSack報文:針對收到的LSA的一個確認
OSPF區域
-
鏈路:路由器上的一個接口信息:
鏈路類型 開銷 接口IP的掩碼 鏈路上鄰居信息
-
鏈路狀態:每條鏈路的狀態信息,鄰居的關系,
-
哪三個字段可以唯一的標識一條LSA
LS ID, adv , type類型
-
區域:共享鏈路信息的一組路由器,在同一個區域內的路由器有相同的鏈路狀態數據庫
區域是一組網段的集合。
OSPF支持將一組網段組合在一起,這樣的一個組合稱為一個區域,即區域是一組網段的集合。
劃分區域可以縮小LSDB規模,減少網絡流量。
區域內的詳細拓撲信息不向其他區域發送,區域間傳遞的是***抽象***的路由信息,而不是詳細的描述拓撲結構的鏈路狀態信息。每個區域都有自己的LSDB,不同區域的LSDB是不同的。路由器會為每一個自己所連接到的區域維護一個單獨的LSDB。由于詳細鏈路狀態信息不會被發布到區域以外,因此LSDB的規模大大縮小了。
Area 0為骨干區域,骨干區域負責在非骨干區域之間發布由區域邊界路由器匯總的路由信息(并非詳細的鏈路狀態信息),為了避免區域間路由環路,非骨干區域之間不允許直接相互發布區域間路由信息。因此,所有區域邊界路由器都至少有一個接口屬于Area 0,即每個區域都必須連接到骨干區域。
-
末梢區域(stub區域)
-
Option選項
E比特位如果置1表明支持外部路由(普通區域),如果置0,表明不支持外部路由(stub區域,末節區域)
-
stub區域不接收外部路由(五類LSA),同時也不接收四類LSA
-
OSPF允許將特定區域配置為Stub區域。
-
AS-external-LSA不允許被發布到Stub區域內。到AS外部的路由只能基于由ABR生成的一條默認路由。
-
Stub區域技術可以減少Stub區域內部路由器上LSDB的規模和對內存的需求。
-
虛連接不能跨越Stub area。
-
STUB區域過濾掉五類LSA后,會有ABR通告一條默認路由(三類LSA)
-
完全末節區域(totally stub)
- 完全末節區域會過濾掉五類,四類,三類LSA,過濾后,會生成一條默認路由(三類LSA)
-
stub區域和totally stub區域的一些條件:
1、建議該區域只能有一個出口
2、虛鏈接不能跨越stub區域
3、stub區域中不能有asbr
4、不能將骨干區域配置為stub區域
5、Stub區域發送的Hello報文中的E比特位會置0 -
非純末梢區域(NSSA區域)
OSPF規定STUB區域是不能引入外部路由的,這樣可以避免大量外部路由對STUB區域路由器帶寬和存儲資源的消耗。對于既需要引入外部路由又要避免外部路由帶來的資源消耗的場景,STUB區域就不再滿足需求了。因此產生了NSSA區域。
NSSA區域有兩種類型的路由 ON1(累加開銷值) ON2(外部開銷值)
OSPf的路由優先級華為的選路規則:
O優于OE1/ON1優于OE2/ON2
思科的選路規則:
O(域內)〉OIA(域間)〉OE1〉ON1〉OE2〉ON2-
NSSA-LSA轉換成AS-external-LSA
為了防止外部路由信息重復,在一個NSSA有多個ABR的時候,只允許一個ABR可以把NSSA-LSA轉換成AS-external-LSA,這個ABR稱為此NSSA的Translator。
Translator基于Router ID選舉。NSSA的ABR會在Router-LSA中使用一個Bit標識自己是NSSA的ABR,通過檢查區域中的Router-LSA,每個NSSA的ABR都可以維護一個ABR列表,從中選舉Router ID最大的做為Translator。 -
NSSA區域會過濾掉五類LSA,由ABR生成一條默認路由(七類LSA)
-
NSSA命令后邊的參數
default-route-advertise 在ASBR上配置產生缺省的Type7 LSA到NSSA區域。說明:在ABR上會自動產生缺省的Type7 LSA到NSSA區域。
在ASBR上只有當路由表中存在缺省路由0.0.0.0/0,才會產生Type7 LSA缺省路由。
-
backbone-peer-ignore
忽略檢查骨干區域的鄰居狀態。即骨干區域中只要存在Up狀態的接口,無論是否存在Full狀態的鄰居,ABR都會自動產生缺省的Type-7 LSA到NSSA區域。
suppress-default-route
在ABR或者ASBR上禁止產生缺省的Type-7 LSA到NSSA區域。
no-import-route即是ABR也是ASBR引入外部路由 不向NSSA區域引入外部路由。
zero-address-forwarding在NSSA區域的ABR上引入外部路由時,將生成的NSSA LSA的FA置為0.0.0.0。
-
-
Totally NSSA區域:
Totally NSSA不但過濾掉5類LSA,也會過濾掉,4類,3 LSA,會有ABR生成兩條默認路由(七類LSA,三類LSA)
-
OSPF的option選項:
E位N位 普通區域 1 0 Stub區域 0 0 NSSA區域 0 1 -
一覽表
區域類型1&23&457 骨干區域 允許 允許 允許 不允許 非骨干(非末梢) 允許 允許 允許 不允許 末梢區域 允許 允許 允許 允許 完全末梢 允許 不允許 不允許 不允許 NSSA區域 允許 允許 不允許 允許(生成7) Totally NSSA區域 允許 生成默認3 不允許 允許(生成7)
OSPF網絡類型
-
OSPF定義了四種網絡類型
分別是點到點網絡,廣播型網絡,NBMA網絡和點到多點網絡。
非廣播網絡是指支持兩臺以上路由器互連,但是不具有廣播能力的網絡。
在非廣播網絡上,OSPF有兩種運行方式,非廣播多路訪問和點到多點。
| Hello時間 | 30 | 10 | 30 | 10 | |
| Dead時間 | 120 | 40 | 120 | 40 | |
| Hello報文 | 單播 | 組播 | 組播 | 組播 | |
| DBD | 單播 | 組播 | 單播 | 單播 | |
| LSR | 單播 | 組播 | 單播 | 單播 | |
| LSU | 單播 | 組播 | 單播 | 單播/組播 | |
| LSACK | 單播 | 組播 | 單播 | 單播/組播 | |
| 是否選舉DR/BDR | 需要 | 不需要 | 不需要 | 需要 |
- 不同的網絡類型是否可以建立鄰接關系,是否有路由?
| Broadcast和P2P | 可以建立 | 沒有路由(點到點沒有DR,二類LSA造成的) |
| Broadcast和P2MP | 修改Hello時間鄰接可以建立 | 沒有路由 |
| Broadcast和NBMA | 即使改時間也無法建立 | 沒有路由 |
| P2P和P2MP | 修改Hello時間可以建立 | 有路由 |
-
OSPF的接口狀態機
Down:這是接口的初始狀態,這時下層協議指出接口為斷開,接口上沒有協議流量的收發。這時,
接口上的所有參數都被設為初始值,關閉所有的接口記時器,該接口上也沒有相關聯的鄰接。
Loopback:這時,路由器到網絡的接口處于回環/Loopback,回環可能以硬件或軟件的方式實現。回環
接口不能用于正常的數據傳輸,但仍能通過ICMP ping或位錯誤檢測來收集接口信息。IP 包仍
需要被發往回環接口。為此,要在Router-LSA 中宣告此接口為接口IP 地址的主機路徑。
Waiting:在此狀態時,路由器試圖判定網絡上DR 和BDR。為此,路由器對其接收到的Hello包進
行監聽。在結束等待前,路由器不能被選舉為DR 或BDR。這可以避免不必要地改變DR 和
BDR。
Point-to-point:這時,連接到物理點對點網絡或虛擬通道的接口開始工作。進入此狀態之后,路由器試圖
與鄰居路由器形成鄰接。并按HelloInterval 的間隔發送Hello包。DR Other:廣播或NBMA 網絡上的其他路由器被選舉為DR,其自身也沒有被選為BDR。路由器開
始與DR 和BDR(如果存在的話)形成鄰接。
Backup:在此狀態時,路由器是所接入網絡的BDR。并將在當前的DR 失效時成為DR。該路由器
與接入該網絡的所有其他路由器形成鄰接
DR:在此狀態時,路由器是所接入網絡的DR。該路由器與接入該網絡的所有其他路由器形成
鄰接。 -
虛鏈接應用場景
1、非骨干區域沒有連接到骨干區域
2、骨干區域被分割
3、為了保證區域0的健壯性
4、為了解決次優路徑
5、沒有骨干區域,可以用虛鏈接代替(思科不支持)
OSPF基礎及拓展
-
OSPF工作在IP層面,協議號89、除Hello報文外,其它的OSPF報文都攜帶LSA信息。
-
自治系統:一個自治系統是指使用同一種路由協議交換路由信息的一組路由器。
-
鏈路狀態通告(LSA)和鏈路狀態更新(LSU):LSU包括了LSA
LSA是用來描述路由器的鏈路的狀態,包括路由器接口的一些信息(IP地址,掩碼,開銷)等
LSU可以包括一個或多個具體的LSA
SPF(最短路徑優先算法)是OSPF的基礎 -
鄰居關系:兩臺路由器在一條鏈路上,經過協商某些參數,就形成了鄰居關系
-
鄰接關系:經過相互交流,擁用彼此的鏈路狀態信息
-
為什么要選舉DR和BDR?
減少鄰接關系的數量,從而減少鏈路狀態信息以及路由信息的交換次數,這樣可以節省帶寬,減少路由器硬件的負擔。
-
DR和BDR的選舉規則:
兩端同時進入2-way后開始進選舉,選舉時間等于dead時間(在Broadcast類型是40秒)1、首先檢查Hello報文中的DR字段,和BDR字段是否為空,如果都為空(意味著沒有DR也沒有BDR),會首先選舉出BDR,選舉規則比較優先級(優先級默認為1,最高為255,如果優先級為0表示不參于選舉),越高越優,如果優先級相同,會比較Router ID,越大越優);BDR選舉后,會自動升級為DR,然后重新選舉BDR,選舉規則和之前一樣
2、如果DR字段為空,BDR字段不為空,BDR升級為DR,重新再選舉BDR
3、如果DR字段不為空,BDR字段為空,選舉BDR4、DR和BDR默認是不支持搶占的、如果兩個區域合并,同時出現多個DR,多BDR,那么DR之間競爭DR; BDR 之間競爭BDR
-
-
如果兩個設備都是2-way說明:
1、這兩個設備即不是DR,也不是BDR
2、這兩個可能都是Drother
3、這兩個設備可仍然處于選舉期
4、有可能配置出問題,優先級全部配為0- 當兩個設備滿足以下條件下,會進一步建立鄰接關系
1 、如果網絡類型為點到點或點到多
2、路由器自己為DR,或者為BDR
2、路由器鄰居為DR,或者BDR
如果在2-way狀態,DR或BDR選舉出以后,會發送DBD報文,第一個DBD報文為空,是用來選舉主(master)從(slave)的
選舉主從的目的是為了隱示確認-
OSPF兩種確認機制
1、顯示確認,例如LSR和LSAck報文
2、隱示確認,以主設備的序列號為準 -
怎么來選舉主從:
比較設備的Router ID, Router ID大的為主
第一個報文中 I(初始化報文) M(后邊還有為1) MS(表明自己是主) -
MTU不一致,會卡在什么狀態
1、MTU是在DBD報文中攜帶的,因此MTU不一致不會影響OSPF鄰居關系的建立(鄰居關系建立只信賴于Hello報文,與DBD無關)
2、華為設備默認不檢測MTU(思科是檢測MTU的)
3、MTU不一致(開啟MTU檢測)
如果從設備的MTU小,兩端都會卡在exstart狀態
如果主設備的MTU小,從設備會進入exchange狀態,主設備會進入exstart狀態4、如果MTU不一致,而且華為設備沒有開啟MTU檢測,會卡在什么狀態
? Loading狀態
- 當兩個設備滿足以下條件下,會進一步建立鄰接關系
-
OSPF的鄰居狀態機:
Down Init 2-way extart exchange Loading Full
NBMA 中還一個Attemtp狀態 -
鏈路類型及作用
LS age:
此字段表示LSA已經生存的時間,單位是秒。
LS type:
此字段標識了LSA的格式和功能。常用的LSA類型有五種。
Link State ID:
此字段是該LSA所描述的那部分鏈路的標識。例如Router ID等。
Advertising Router:
此字段是產生此LSA的路由器的Router ID。
LS sequence number:
此字段用于檢測舊的和重復的LSA。LS type,Link State ID和Advertising Router的組合共同標識一條LSA。
-
什么情況下會更新LSA
OSPF的LSA每1800秒更新一次,如果3600秒沒有收到更新,就認為失效,OSPF設備不能刪除非自己產生的LSA
1、1800秒會更新一次
2、觸發更新(接口地址發生變化,增加,修改,刪除接口開銷值) -
LSA的新舊比較:
1、先比較LSA的序列號,序列號越大越優
2、如果LSA的序列號相等,比較校驗值(Checksum值)越大越優
3、如果序列號相等,校驗值(Checksum)也相等,會比較LSA的Age時間是否等于MAX-age時間3600,如果相等,最新
4、如果序列號相等,校驗值(Checksum)也相等,Age時間和MAX-age不相等,會比較他們之間差值,如果大于15分鐘(900)秒,越小越優
5、如果序列號相等,校驗值(Checksum)也相等,Age時間和MAX-age不相等,會比較他們之間差值,如果小于15分鐘(900秒)會認為是同一條LSA,忽略其中一條 -
LSA的序列號
序號是一個32 位符號整數。用于判定舊的或相同的LSA。序號空間是線形的,較大的序
號(按32位符號整數比較)表示較新的LSA。為了更精確的描述序號,下面定義N為常數2**31。
序號 -N(0x80000000)被保留未用。而-N+1(0x80000001)表示最小(也就是最舊)的
序號,這一序號被定義為常數InitialSequenceNumber。路由器在第一次生成任何LSA 的時候使
用InitialSequenceNumber。然后,當每次路由器生成新的LSA 實例時,將LSA 的序號加一。
當試圖增加最大序號N-1(0x7fffffff,也被定義為MaxSequenceNumber)時,必須先將當前LSA
從路由域中廢止。這通過將LSA 提早老化(見第14.1 節)并重新洪泛而實現。當從所有鄰接
的鄰居收到確認后,生成以InitialSequenceNumber 為序號的新實例。
當在洪泛過程中收到意外的LSA新實例時,路由器可能會強制提高其LSA 序號。這應當
絕少發生,這可能是路由器在上一次重啟動前發出的舊LSA,仍存在于AS中;有十種事件可以導致生成LSA 的新實例:
(1)路由器自己生成的LSA,其LS時限達到LSRefreshTime。這時,生成LSA 的新實例,
即使其LSA體的內容(除了LSA 頭)完全相同。這將保證周期性的生成所有的LSA,這種周
期性的LSA刷新增強了連接狀態算法的強壯性。僅僅描述不可到達目標的LSA 不會被重新刷
新,而將被從路由域中廢止。當 LSA所描述的內容改變時,生成新的LSA。然而,不能在時間MinLSInterval內連續生成同一LSA的兩個實例。這意味著可能會延遲至多MinLSInterval 秒以生成新的實例。下面的
事件會導致LSA 內容的改變。當且僅當內容有所不同時,才會生成LSA 的新實例。
(2)當接口狀態改變(見第9.1 節),這可能需要生成一個Router-LSA的新實例。
(3)當所接入網絡的DR 改變時,生成一個新的Router-LSA。此外,如果路由器新成為DR 的話,生成一個新的Network-LSA;如果路由器不再成為DR,其原來為該網絡生成的任何Network-LSA 都應當被從路由域中廢止。
(4)其鄰居路由器的狀態達到FULL狀態、或不再是FULL狀態,都將導致生成Router-LSA的新實例。此外,如果路由器是該網絡的DR 的話,還需要生成一個新的Network-LSA。下面的四種事件僅關聯ABR。
(5)當路由表中的區域內路徑改變(增加/刪除/修改)時,可能需要向其所接入的區域(可能包含骨干區域)生成新的Summary-LSA(表示此條路徑)。
(6)當路由表中的區域間路徑改變(增加/刪除/修改),可能需要向其所接入的區域(但”決不”包含骨干區域)生成新的Summary-LSA(表示此條路徑)。
(7)當路由器新接入一個區域。路由器必須為新的區域,生成所有路由表中相關的區域內和區域間路徑的Summary-LSA。具體細節見第12.4.3 節。
(8)當路由器上配置的虛擬通道狀態改變,可能需要向傳輸區域生成新的Router-LSA(見第12.4.1 節中所描述的Router-LSA 中的V 位),同時需要向骨干區域生成新的Network-LSA。
最后的兩種事件僅關聯ASBR(或形成ASBR)。
(9)當直接從其他路由協議(如BGP)獲取的外部路徑改變時,將導致ASBR生成新的AS-external-LSA。
(10)可能因為重新啟動,而使路由器不再成為ASBR。這將使路由器刪除所有其原先生成的AS-external-LSA。這通過在第14.1 節中描述的提前老化過程來實現。下面說明各種類型LSA 的構成細節,也就是描述其LSA 體(20 個字節的LSA 頭部后面的內容)。 -
不間斷轉發
是指在路由器控制層面故障的過程中,數據轉發不間斷地正常執行。路由器控制層面故障的原因可能有多種,如由于軟件或者硬件故障導致的路由器故障或者重啟,或者軟件升級時通過配置命令導致的主備切換等等。本文描述的路由器故障專指路由器主控板重啟并且伴隨主備倒換發生。通常情況下,路由器故障后,其路由協議層面的鄰居會檢測到它們之間的鄰居關系Down掉,然后過段時間再次Up,這個過程被稱之為鄰居關系震蕩。這種鄰居關系的震蕩將最終導致路由震蕩的出現,使得重啟路由器在一段時間內出現路由黑洞或者導致鄰居將數據業務從重啟路由器處旁路,從而導致網絡的可靠性大大降低。
MPU 主控板
LPU 業務板卡NSF:即None Stop Forwarding,利用了數據層面控制層面處理的獨立性,在控制層面發生故障的時候,數據層面依然能夠正常轉發數據。
GR: 即Graceful Restart,為了實現不間斷轉發,需要路由協議做擴展以支持GR能力NSR:不間斷路由
NSR(Non-Stop Routing)直譯為不間斷路由,是一種在系統控制平面發生故障的且存在備用控制平面的場景下鄰居控制平面不感知的一種技術,不僅僅局限于路由信令的鄰居關系不中斷,也包括MPLS信令協議,以及其他為滿足業務需求而提供支撐的協議。在網絡高速發展的今天,運營商對IP網絡的可靠性要求不斷提高,NSR作為高可靠性的一種解決方案應運而生,是為了保證設備發生硬件或者軟件故障而設備承載的業務不受影響。
OSPF NSR特性通過將主板的協議運行數據實時同步到備板上,當主板出現故障或者需要升級時,備板能夠快速接管原主控板的業務,使鄰居不感知本設備發生的變化。OSPF NSR實現了OSPF實時數據的主備同步:?OSPF備份配置數據、動態數據(接口、鄰居、LSDB)。
?OSPF不備份路由、SPT、TEDB等結果數據,它們可以在備份進程下使用源數據恢復。
?發生主備倒換后,新主板在鄰居不感知的情形下,恢復運行數據,完成主備切換。
LSA類型
-
OSPF的幾種LSA
類型內容LS IDADV傳輸范圍 一類LSA Router LSA 鏈路狀態的集合 設備的Route ID 設備的Route ID 域內 二類LSA network LSA 鏈路設備的Route ID DR的接口IP DR的 Route ID 域內 三類LSA Summary LSA 路由信息 網絡前綴 ABR 域間(stub,nssa除外) 四類LSA ASBR Summary LSA ASBR的信息 ASBR 的Router ID ABR的Router ID 域內 五類LSA ASE 路由信息 網絡前綴 ASBR的Router ID 域間(stub,nssa除外) -
1類LSA:路由器LSA (Router LSA)
由區域內所有路由器產生,并且只能在本個區域內泛洪廣播。
這些最基本的LSA通告列出了路由器所有的鏈路和接口,并指明了它們的狀態和沿每條鏈路方向出站的代價。
- 一類LSA有幾種類型:
類型Link IDLink Data Transit網段 DR接口的IP 自己接口的IP地址 Stubnet 網絡前綴/網段 掩碼 P2P 對端的Router ID 自己接口的IP地址 虛鏈接 虛鏈接對端的Router ID 虛鏈接出口的IP地 - 廣播類型的接口會生成transit類型的一類LSA
- P2P接口會生成兩種一類LSA:P2P、Stubnet
-
2類LSA:網絡LSA (Network LSA)
由區域內的DR或BDR路由器產生,報文包括DR和BDR連接的路由器的鏈路信息。
網絡LSA也僅僅在產生這條網絡LSA的區域內部進行泛洪。
-
3類:網絡匯總LSA (Network summary LSA)
由ABR產生,可以通知本區域內的路由器通往區域外的路由信息。
在一個區域外部但是仍然在一個OSPF自治系統內部的缺省路由也可以通過這種LSA來通告。
如果一臺ABR路由器經過骨干區域從其他的ABR路由器收到多條網絡匯總LSA,那么這臺始發的ABR路由器將會選擇這些LSA通告中代價最低的LSA,并且將這個LSA的最低代價通告給與它相連的非骨干區域。
-
4類:ASBR匯總LSA (ASBR summary LSA)
也是由ABR產生,但是它是一條主機路由,指向ASBR路由器地址的路由。
-
5類:自治系統外部LSA (Autonomous system external LSA)
由ASBR產生,告訴相同自治區的路由器通往外部自治區的路徑。
自治系統外部LSA是惟一不和具體的區域相關聯的LSA通告,將在整個自治系統中進行泛洪
五類LSA在傳遞過程中是不會發生改變的,可以跨整個OSPF區域(stub,nssa區域除外)
OE1路由在傳遞過種,開銷值會累加{外部開銷(引入時的開銷值)+內部開銷(到達ASBR的開銷值)}
OE2路由在傳遞過程中,開銷值不會累加(只計算外部開銷值)
在選路過程中:OE1優于OE2的OE1在選路過程中會比較總的開銷值(外部開銷+內部開銷)越小越優
OE2在選路過種中會會比較外部開銷值,(越小越優)如果外部開銷值相等,會比較內部開銷值、默認是OE2FA地址:OSPF 五類LSA如果攜帶了FA地址,就會根據FA地址進行選路,如果沒有攜帶FA地址,就會根據ASBR進行選路
- 什么情況下會攜帶FA地址
1、接口類型不能是P2P,不能是P2MP
2、接口不能配置為被動接口(silence接口)
3、下一跳為域內或域間可達
- 什么情況下會攜帶FA地址
-
6類:組成員LSA (Group membership LSA)
目前不支持組播OSPF (MOSPF協議)
-
7類:NSSA外部LSA (NSSA External LSA)
由ASBR產生,幾乎和LSA 5通告是相同的,但NSSA外部LSA通告僅僅在始發這個NSSA外部LSA通告的非純末梢區域內部進行泛洪。
在NSSA區域中,當有一個路由器是ASBR時,不得不產生LSA 5報文,但是NSSA中不能有LSA 5報文,所有ASBR產生LSA 7報文,發給本區域的路由器。 -
9、10/11類不透明LSA
OSPF的認證
OSPF的認證分為三種 :0 不認證, 1 簡單的明文認證 2 MD5
-
在進程下做認證
ospf 10
area 0.0.0.0
authentication-mode simple cipher qyt //配置OSP的簡單明文認證
如果在區域下配置了認證,該區域下的所有接口發送報文時都會攜帶認證字段 -
在接口下做認證:
interface GigabitEthernet0/0/0
ospf authentication-mode simple cipher //在接口下配置OSPF的簡單明文認證
如果在接口下配置了認證,只有該接口發送報文時會攜帶認證字段 -
OSPF的接口認證優于區域認證
-
虛鏈接的認證:
ospf 10 router-id 5.5.5.5
area 0.0.0.20
vlink-peer 8.8.8.8 md5 1 plain qyt
如果區域0配置了認證,需要注意什么?
? 如果區域0配置了認證,因為虛連接也屬于區域0,因此虛連接也需要配置認證
OSPF進程號
OSPF的進程號只具有本地意義,如果一個區域,OSPF進程號不一致,不會影響OSPF鄰居的建立,和路由的學習
如果一個設備上配置了多個OSPF進程,那么需要相互路由引入
FA地址
1、如果在五類LSA中,FA地址只有滿足條件,才會攜帶
2、如果在七類LSA,FA地址必須攜帶:
如果滿足三個條件,FA地址是ASBR上外部路由的下一跳地址
如果不滿足條件,FA地址是ASBR上某個接口的IP,優選環回口地址,如果沒有環回口,選物理地址
FA地址的作用:
如果攜帶了FA地址,選路時依據FA地址進行選路
如果沒有攜帶FA地址,選路由依據 ASBR進行選路
OSPF基礎配置命令
OSPF宣告方法 進程宣告 [AR1-ospf-10-area-0.0.0.0]network 172.16.10.0 0.0.0.255 //將172.16.10.0 宣告進OSPF(所有屬于該網段的接口都會運行OSPF協議) [AR1-ospf-10-area-0.0.0.0]network 1.1.1.1 0.0.0.0 //精確宣告1.1.1.1 <AR1>reset ospf process //重置OSPF進程接口下宣告 interface GigabitEthernet0/0/0 ip address 172.16.10.2 255.255.255.0 ospf enable 10 area 0.0.0.10 //將該接口宣告進OSPF AR1]display ospf interface //查看OSPF接口的信息 display ospf peer brief //查看OSPF的鄰居信息 [AR3-GigabitEthernet0/0/0]ospf dr-priority 0 //修改接口OSPF的優先級 interface GigabitEthernet0/0/0 ospf mtu-enable //開啟MTU檢測 interface Serial1/0/0ospf network-type p2mp //修改接口類型為點到多*修改時間* [AR6-GigabitEthernet0/0/0]ospf timer hello 15 //修改Ospf 的hello時間,修改后,死亡時間會自動更新為Hello時間的4倍 [AR6-GigabitEthernet0/0/0]ospf timer dead 100 //修改OSPF的死亡時間,單獨修改該置不會影響Hello *配置末節區域,需要在該區域中的所有設備上做以下操作* ospf 10 area 0.0.0.10 stub //將該區域配置成末節區域*完全末節區域(totally stub)、只需要在ABR上做以下操作* ospf 10 area 0.0.0.10 stub no-summarynssa translator-always /總是有該設備做七轉五的動作 nssa suppress-forwarding-address /做七轉時抑制掉FA地址*虛鏈接的配置* ospf 10 area 0.0.0.10 vlink-peer 2.2.2.2 //虛鏈接不能配置在骨干區域,不能配置在末節區域,不能跨越多個區域*LSA類型* [Ar1]dis ospf lsdb router 1.1.1.1OSPF Process 10 with Router ID 1.1.1.1Area: 0.0.0.0Link State Database Type : RouterLs id : 1.1.1.1 產生該LSA的RouterIDAdv rtr : 1.1.1.1 該ADV的通告者 Ls age : 9 Len : 72 Options : E seq# : 8000000a chksum : 0x6f7dLink count: 4* Link ID: 172.16.10.3 Data : 172.16.10.1 Link Type: TransNet Metric : 1* Link ID: 4.4.4.4 Data : 14.1.1.1 Link Type: P-2-P Metric : 48* Link ID: 14.1.1.0 Data : 255.255.255.0 Link Type: StubNet Metric : 48 Priority : Low* Link ID: 1.1.1.1 Data : 255.255.255.255 Link Type: StubNet Metric : 0 Priority : Medium*二類LSA:network LSA * LS ID:DR接口的IP<Ar1>dis ospf lsdb network OSPF Process 10 with Router ID 1.1.1.1Area: 0.0.0.0Link State Database Type : NetworkLs id : 172.16.10.3 DR接口的IP地址Adv rtr : 3.3.3.3 該LSA的通告者,DR的Router IDLs age : 201 Len : 36 Options : E seq# : 80000004 chksum : 0x3431Net mask : 255.255.255.0 Priority : LowAttached Router 3.3.3.3Attached Router 1.1.1.1Attached Router 2.2.2.2OSPF的接口開銷怎么計算:參考帶寬/接口帶寬*三類LSA Network-summaryLSA* dis ospf lsdb summary OSPF Process 10 with Router ID 4.4.4.4Area: 0.0.0.0Link State Database Type : Sum-NetLs id : 8.8.8.8 網絡前綴Adv rtr : 5.5.5.5 產生該LSA的Router ID(ABRLs age : 136 Len : 28 Options : E seq# : 80000001 chksum : 0x77afNet mask : 255.255.255.255Tos 0 metric: 2Priority : MediumType : Sum-NetLs id : 3.3.3.3Adv rtr : 4.4.4.4 Ls age : 150 Len : 28 Options : E seq# : 80000001 chksum : 0x54bbNet mask : 255.255.255.255Tos 0 metric: 49Priority : LowType : Sum-NetLs id : 172.16.10.0Adv rtr : 4.4.4.4 Ls age : 174 Len : 28 Options : E seq# : 80000001 chksum : 0xea6aNet mask : 255.255.255.0Tos 0 metric: 49Priority : Low*4類LSA:ASBR summary LSA:用來通告ASBR的信息*<AR6>dis ospf lsdb asbr OSPF Process 10 with Router ID 6.6.6.6Area: 0.0.0.0Link State Database Type : Sum-AsbrLs id : 8.8.8.8 /ASBR的 Router ID Adv rtr : 5.5.5.5 //ABR的路由器IDLs age : 1747 Len : 28 Options : E seq# : 80000001 chksum : 0x69bcTos 0 metric: 2<AR6>*AS-External-LSA用于描述如何從ASBR到達外部目的地;ASBR-Summary-LSA用于描述如何從ABR到達ASBR。*[AR2]dis ospf lsdb ase 9.9.9.9OSPF Process 10 with Router ID 2.2.2.2Link State DatabaseType : ExternalLs id : 9.9.9.9 //網絡前綴Adv rtr : 8.8.8.8 //asbrLs age : 733 Len : 36 Options : E 可以接受外部路由 seq# : 80000003 chksum : 0x6a20Net mask : 255.255.255.255 TOS 0 Metric: 1 E type : 2 type類型:OE1,OE2Forwarding Address : 0.0.0.0 轉發地址,用來控制次優路徑的Tag : 1 Priority : Medium七類LSA[AR1]dis ospf lsdb nssa 200.200.200.200OSPF Process 10 with Router ID 1.1.1.1Area: 0.0.0.10Link State Database Type : NSSALs id : 200.200.200.200 //網絡前綴Adv rtr : 2.2.2.2 //ASBR的router idLs age : 122 Len : 36 Options : NP 支持七類LSAseq# : 80000001 chksum : 0x9cf8Net mask : 255.255.255.255 TOS 0 Metric: 1 E type : 2Forwarding Address : 2.2.2.2 Tag : 1 Priority : Medium [AR1]OSPF的匯總和過濾:
-
三類LSA的匯總
三類LSA的匯總,要在ABR上配置,而且要在該LSA的生成區域配置
ospf 10 router-id 4.4.4.4
area 0.0.0.10
abr-summary 192.168.0.0 255.255.248.0abr-summary 192.168.0.0 255.255.248.0 not-advertise 將該路由進行匯總,但是不通告給其他鄰居
abr-summary 192.168.0.0 255.255.248.0 cost 100000 將該路由進行匯總,并賦予開銷值 -
五類LSA的匯總
五類LSA的匯總,只能在ASBR上做
ospf 10 router-id 8.8.8.8
asbr-summary 172.16.0.0 255.255.248.0 對五類LSA進行匯總asbr-summary 172.16.0.0 255.255.248.0 not-advertise 對五灰LSA進行匯總,但是不通告給鄰居
-
OSPF的過濾
1、匯總時不能告給鄰居
2、在ABR使用filter export進行過濾//對三類LSA進行過濾
acl number 2001
rule 5 deny source 192.168.0.0 0.0.3.255
rule 10 permitospf 10 router-id 4.4.4.4
filter 2001 export//過濾掉奇數路由
acl number 2001
rule 5 deny source 192.168.1.0 0.0.254.255
rule 10 permit
area 0.0.0.0
filter 2001 exportospf 10 router-id 5.5.5.5
area 0.0.0.20
filter 2001 import3、使用filter policy 對ospf進行過濾
在ASBR上使用
ospf 10 router-id 8.8.8.8
filter-policy 2001 import
acl number 2001
rule 5 deny source 172.16.0.0 0.0.254.255
rule 10 permit在普通(Normal)設備上過濾:
filter-policy 2001 import
acl number 2001
rule 5 deny source 192.168.0.0 0.0.3.255
rule 10 permit
只過濾路由信息,不過濾LSA
如果在ABR使用filter-policy import 對路由進行過濾,ABR上不會有這些路由,同時ABR也不會把這些路由通告給其他鄰居4、在接口下對LSA進行過濾
interface Serial1/0/0
ospf filter-lsa-out ase 過濾掉五類LSAinterface Serial1/0/0
ospf filter-lsa-out summary 過濾掉三類LSA[AR4-Serial1/0/0]ospf filter-lsa-out all 過濾掉所有的LSA
影響OSPF鄰居建立因素:
1、先檢查物理層面的東西,接口是否UP,IP配置是否正常,Ping測試地址
2、要是擴OSPF接口是否宣告進OSPF,區域號是否一致(display ospf int)
3、接口類型是否正確 (display ospf interface )
4 、Hello時間和死亡時間不一致,也會影響OSPF鄰居的建立
5、OSPF認證類型是否一致,認證密碼是否一致 如果區域0開啟了認證(虛鏈接也要配置認證)
6、OSPF的Option字段是否一致
7、Router ID 是否沖突
8、MTU不一致
9、優先級為0也會影響OSPF鄰接的建立(為0時表示不建立)
10 、ACL會影響OSPF鄰居的建立
11、配置靜默端口
OSPF是內部網關協議的一種,基于鏈路狀態算法。
OSPF特點
1、收斂速度快,只是相對RIP快些,在IGP協議中,收斂速度最快的是EIGRP
2、無類路由協議,更新時攜帶掩碼,支持VLSM(可變長子網掩碼),支持CIDR
3、OSPF沒有路由環路(單區域) 基于他的算法SPF,可以保證絕對無環
4、支持等價負載均衡 EIGRP不但支持等價負載,也支持非等價負載
5、支持多區域劃分
6、支持認證,認證分為三種:不認證 簡單的明文認證 MD5認證
7、支持觸發更新
8、優先級為內部路由優先級10,和外部路由優先級150
9、OSPF的cost值是根據帶寬來計算的,相對RIP的跳數選路進行了優化
10、OSPF是什么協議承載的 IP 端口多少 89
組播地址多少:224.0.0.5 224.0.0.6
11、OSPF的三張表
鄰居表、dis ospf peer brief
拓撲表、dis ospf lsdb
路由表、display ip routing-table protocol ospf
12、為了保證OSPF數據庫的及時正確性,會定期刷新LSA信息
SPF算法:
1、計算Transit節點(transit,P2P),忽略Stub節點,生成一個最短路徑
2、只計算Stub節點,將Stub網段掛到最短路徑樹上去
OSPF的防環機制:
ABR從非骨干區域收到一條三類LSA,會接收,但是不會選路
什么是真正的ABR:
1、連接骨干區域和非骨干區域
2、在骨干區域要有活動鄰接
為了避免區域間的環路,OSPF規定不允許直接在兩個非骨干區域之間發布路由信息,只允許在一個區域內部或者在骨干區域和非骨干區域之間發布路由信息
總結
以上是生活随笔為你收集整理的HCIP-Routing Switching V2.5--OSPF的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于python的MODIS数据质量控制
- 下一篇: USB的EMI和ESD设计