OSPF詳解

OSPF絕對無環的原因:SPT生成一張地圖,將整張拓撲記錄下來

wKioL1g-pvzCx0C6AABcg26YwxM554.png-wh_50

初始化配置

wKiom1g-pv7icXqyAAFTSwJCqYs029.png-wh_50

wKioL1g-pv6SqIBbAAGVORx_Snk526.png-wh_50

wKiom1g-pv_RjR-TAAGCadngaSM174.png-wh_50

檢查是否配置完成,通過檢查三張表路由表鄰居表拓撲表

wKioL1g-pwCx9cXzAAFVsnTriyU812.png-wh_50

路由認證

跟前面學習的認證過程有些區別,沒有所謂的key chain等信息

鏈路認證

在接口下開啓認證

R1-R2之間建立一個基本的認證,其實這個也是沒辦法建立鄰居的原因之一

wKioL1g-pwHT3MEUAAJOlIkRPCg003.png-wh_50

wKiom1g-pzGRA02CAAC3nMbl6oQ435.png

wKiom1g-p0LCYQnSAAEd73dzsJo834.png-wh_50

區域認證

在進程下開啓認證

在同一個區域裏面的密碼是共享的,配置起來跟鏈路認證沒啥區別

wKioL1g-p1rCdw6wAAV5D2E8Umg080.png

wKioL1g-p63QTzKcAADdnbIIA5E534.png

完整過程

wKiom1g-p66io0kOAAGeazjZvI4710.png

注意:

不同接口的密鑰可以不同;

一邊開啓認證,另一邊鄰居沒開啓,則認證失敗

OSPF默認路由

RIP的默認路由部署非常相似

方法一

wKiom1g-p6_DCQejAAEtI5HQqiI796.png

效果是在R1R3都能看到R2下發的默認路由信息

wKioL1g-p7DzDAw1AALTDKKhz3w577.png

方法二

我們R2的默認路由刪除仍然是可以ping通信息的

wKioL1g-p7HwVtTVAAE45E_c9kY116.png

其實更多的在工程項目中用得更多的是這個方法,因爲沒必要再多寫個默認路由啊

拓展參數

這個地方先記着OE1要比OE2大就對了

主要應用以下這個場景,增加鏈路儲備場景

wKiom1g-qCTzEWyeAAENiZYJsyY503.png-wh_50

wKioL1g-qEezNtH3AAFO3xMPPyk359.png

路由分組

首先有明確,路由分組可以實現流量優化的目的

重新部署新的拓撲表

wKiom1g-qGODqXiIAAC6tf3oINI814.png-wh_50

回顧一些概念

wKioL1g-qHrSdEUbAAA498NwWkI431.png

Full狀態會互相發送hello包,在某些情況下很是消耗帶寬資源,沒必要,因此出現優化的地方

DR/BDR選舉會在hello包中體現,這個後面再說

wKiom1g-qNuT6_nTAABOehXU23Y909.png-wh_50

觀察現象

先將鄰居關係清除

wKioL1g-qNyh5wJrAAHKQTR2ht0970.png-wh_50

總體觀察

wKiom1g-qNzBTxinAAC_tTZTVcA883.png-wh_50

我們僅僅觀察192.168.1.0網段,一共四臺路由器,一共建立起4*3/2=6個鄰居。就是用到很普通的數學公式n*(n-1)/2

DR選舉

DRDesignated Router指定路由器

BDRBackup DR備用指定路由器

DROther

1.選擇優先級較大<1-255,默認爲1>;

2.選擇鄰居RID較大

wKioL1g-qN3geNfyAAL6ROPN_dc307.png-wh_50

DR/BDR特徵:

1.不支持搶佔;(一般來說角色定下來之後就不會改變了,目的是爲了網絡穩定,因爲選舉的過程需要發送大量的hello包通過碰撞進行選舉,減少會話數。然而ISIS是支持搶佔的,後面在講)

2.DR/BDR是針對接口的概念,

   不同接口角色可能不同.

3.若接口優先級爲0,則表示退出選舉.

 我們可以修改優先級的

wKiom1g-qVSBjFE3AAB2jf5WYeE820.png

就算我們修改優先級了,也不會一步上位,需要將原來的DR取消,此時原來的BDR成爲DR,修改後的DROTHER成爲BDR,依次迭代上位

DR/BDR地址:

DR/BDR對外發送路由條目,以224.0.0.5(表示DRother接收)發送;

DRother對外發送路由條目,以224.0.0.6(表示DR/BDR接收)發送;

wKioL1g-qVWghNiOAAEphfsdfhI299.png

一個路由器在不同的局域網的角色不一定一樣的,儘管只有一段(兩臺路由器)但是他們之間仍然會選舉出DR/BDR

wKiom1g-qVXwPRZAAAB-9_DmgNs908.png

通過這些選舉我們可以發現

wKioL1g-qYPQ-Kb1AAC3UIQr0QQ530.png-wh_50

主從選舉

實現DBD的可靠更新,通過DD Sequence得值來決定。觀察這四個包

wKioL1g-qZyT1daoAAAR8uEzkVo966.png

wKiom1g-qa3T_9R3AAFypxycwVQ028.png-wh_50

實現的機制

wKiom1g-qa6yozobAAFniJFwqBc981.png-wh_50

主從選舉表面只是一種關係選舉,實際上是一種可靠更新機制,保證DBD數據庫描述信息可靠交互。

M/S角色是否由序號決定?DR/BDR角色決定?還是由RID決定?(確定爲RID

11LSA

術語說明

LSDB

Link-state Database

鏈路狀態數據庫

一張地圖

LSU

Link-State Update

鏈路狀態更新

地圖的某條路徑

LSA

Link-State  Advertisement 

鏈路狀態通告      

某條路徑的具體描述

ABR

AREA BOREDER ROUTER

連接多個區域的路由器

連接多個區域,且其中一個區域是骨幹區AREA 0的路由器

LSU裏面有很多LSA,同理LSDB中有很多LSU

wKioL1g-qa7xVm_oAABkm1qJVJc993.png-wh_50


LSA Type

Description



1

Router LSAs

描述路由器所有的直連信息

生成O路由,即所以帶O開頭的路由信息

Show ip route ospf看到的O開頭的,而且他們都是本區域的

2

Network LSAs

描述DR/BDR的直連信息

3 or 4

Summary LSAs

描述區域間相互發送路由的關鍵生成OIA路由

45一般是外部信息,所以都會生成一種OE2的路由

5

Autonomous system  external LSAs


6

Multicast OSPF LSA



7

Defined for not-so-stubby areas



8

External attributes LSA for  Border Gateway Protocol (BGP)



9, 10, 11

Opaque LSAs




LSA Type 1: Router LSA


wKiom1g-qa_wu_AhAABJxZVL1OQ317.png-wh_50

  • One router LSA (type 1) for every routerin an area

  • Includes list of directlyattached links

  • Each link identified by IPprefix assigned to link and link type

  • 所有直連鏈路的IP網段、開銷

  • Identified by the router ID of the originating router即只能發送向本區域的路由器

我們增加一條以太網鏈路增加實驗覆蓋面

  • Floods within its area only; does not cross ABR 

wKioL1g-qa-TghzdAACA6RiXx5c028.png-wh_50

R1R2都要寫的,我就貼一個就行啦,省點力氣~~

wKiom1g-qgiwgzfiAADnRbI0uCQ219.png

wKiom1g-qkehU5BkAAEeaDqLR4s347.png-wh_50

  • Type1: 描述點對點廣域網環境下的直連拓撲

  • Type2:描述以太網廣播環境下DR的信息

  • Type3:所有直連IP網段

這些地圖信息都是統一的,我們在其他的路由器仍然可以看到

wKioL1g-qkjweJwYAAELVLlUmYs748.png-wh_50

wKiom1g-qkjBVJfoAAEQeqGaPaQ952.png-wh_50

wKioL1g-qkmzksQEAAEUBOMBHmE031.png-wh_50

wKiom1g-qkrQYlcZAAET_UII2So616.png-wh_50

LSA Type 2: Network LSA

這個其實是對type1信息的補充,因爲帶多了掩碼信息,內容相對簡單一些,跟type1形成互補關係

wKioL1g-qkrCaS-bAABf3uC3fts071.png-wh_50

  • One network (type 2) LSA for each transit broadcast or NBMA network in
    an area

  • Includes list of attached routers on the transit link

  • Includes subnet mask of link

  • 直連路由器,廣播網段

  • Advertised by the DR of the broadcastnetwork 只能DR發送

  • Floods within its area only; does notcross ABR 本區域

wKiom1g-qkvylvoNAABbJ_9eohE216.png-wh_50

LSA Type 3: Summary LSA


wKiom1g-qkvBL7iUAACKuPIohcc471.png-wh_50

  • Type 3 LSAs are used to flood network information to areas outside the originating area (interarea)

  • Describes network number and mask of link.

  • OSPF所有路由

  • Advertised by the ABR of originatingarea. ABR發送

  • Regenerated by subsequent ABRs to flood throughout the autonomoussystem.

  • By default, routes are not summarized,and type 3 LSA is advertised for every subnet. 區域間路由

type1type2中的簡單信息,發送到其他區域中去

爲了驗證效果,需要相應修改一下拓撲圖,並在箭頭位置抓包

wKioL1g-qkzhUDeRAADBr5pVhzY428.png-wh_50

wKioL1g-qkzhd5_5AAC2hUFNJWg702.png-wh_50

3.4  5LSAExternal  LSA

  • 一般情況下,只會出現123

  • 事實上是先有Type5 LSA再有Type 4

LSA Type 5: External LSA

wKiom1g-qk3AejTuAACJmpAFhn4899.png-wh_50

  • External (type 5) LSAs are used to advertise networks from other autonomous systems.

  • Type 5 LSAs are advertised and owned by the originating ASBR.

  • 外部路由Type5發送的

  • Type 5 LSAs flood throughout the entire autonomous system.在自治系統內

  • The advertising router ID (ASBR) is unchanged throughout theautonomous system.

  • Type 4 LSA is needed to find the ASBR.用於找到ASBRType4一般是Type5的附屬

  • By default, routes are not summarized.

  • 區別於Type3通告的是區域間的路由信息

wKiom1g-qk7jDRC8AADSpNIDZKo900.png-wh_50

還是在R3R4之間抓包

wKioL1g-qk6z4smbAAET52CB-9w902.png-wh_50

wKiom1g-qk_SfqLkAABsqkhqKZA680.png-wh_50

wKioL1g-qlOTo3yoAAFPtD9i3N4728.png-wh_50

看下圖

wKioL1g-qluB-w1hAAFzpda9p9o219.png-wh_50

對於E1來說,更優先於E2,認爲需要繼承,需要cost累加

對於E2來說,外部路由沒必要增長

LSA Type 4: Summary LSA

涉及到路由遞歸的問題,沒有Type 4Type5根本跑不起來的

wKioL1g-ql2zPachAACjuSF-aYQ024.png-wh_50

  • Summary (type 4) LSAs are used to advertise an ASBR to all other areas in the autonomous system. 用來通告ASBR

  • They are generated by the ABR of the originating area.

  • They are regenerated by all subsequent ABRs to flood throughout theautonomous system.

  • Type 4 LSAs contain the router ID of the ASBR.

wKiom1g-ql_Cv4mCAADOyfh7iwc700.png-wh_50

wKiom1g-qmHRHMHDAACN5YmgbJ4335.png-wh_50

OSPF路由類型

  1. 默認重分發外部的路由,OSPF都是O E2類型,並且默認cost20

  2. E2代表後續外部路由不再累加沿途的cost

但是同時有多根O E2的情況下,度量值都是20的情況下,還是有路徑優劣對比

  1. E1代表後續外部路由累加沿途的cost

  2. 通往統一目的地的OE1 OE2路由,O E1要優先於 O E2,即便O E1cost

劣質於 O E2

 

OSPF選路機制

  1. 最長匹配原則

  2. 管理距離  AD

  3. 路由類型  O > O IA > O E1 > O E2

  4. 度量值      Cost

區域設計

常規區域

骨幹區域

 常規區域




特殊區域

脫節區域

末節區域

Stub

完全末節區域

Totally Stub

非純末節區域

NSSA

完全非純末節區域

Totally NSSA

  • 路由器類型:骨幹路由器(骨幹區域)、常規路由器(常規區域)、ABR(邊界路由器)、ASBR(位於協議之間)

  • 路由類型:OOIA  OE1 OE2  ON1 ON2

  • 區域類型: 骨幹區域、常規區域、STUBNSSA 、脫節區域

  • LSA類型:LSA1-5LSA7

實驗拓撲

wKioL1g-qmPi2N2vAAELLqlr2_4795.png-wh_50

wKiom1g-qmnzLUJ0AAHZwIhzo3Q897.png-wh_50

wKioL1g-qm2S4q_4AAGQ0W8mLDQ789.png-wh_50

wKioL1g-qnGyp2NVAAForPKzEro443.png-wh_50

此時,我們可以觀察到R5可以獲得Area0Area1Area2Area3的路由信息

wKiom1g-qnaD1X3EAAFwIQ6SC8Y788.png-wh_50

然而,R6的路由表~~

wKioL1g-qnagcFfKAAAsI4247vA465.png-wh_50

這個就是所謂的脫節區域的原因

脫節區域

背景:網絡發生遷移時,常規區域無法直接掛接到骨幹區域,此時沒有與骨幹區域相連的區域則爲脫節區域-無法學習到其他區域的路由信息。(場景:部門合併)

ABR:當區域路由器連接到多個區域的時候,至少要有一個接口放入區域0,此路由器才能算ABR

解決方案1

非常推薦使用這種解決方案

使用虛擬鏈路“昇華”脫節區域與骨幹區域的關係。在進程裏面寫的

Area +承載區域+virtual-link+對方RID

wKiom1g-qneBTQz1AAE6aE_dGYk424.png-wh_50

wKioL1g-qnfi7ICbAACENfV4w-s515.png-wh_50

此時的R6出現了路由信息

wKiom1g-qnjAYNQYAACp7eTjkjI571.png-wh_50

解決方案2

使用tunnel技術。這個比較麻煩,我們需要在編輯上,寫出隧道的頭和尾,加上隧道本身的地址信息,這個主要是使用在IPv6IPv4之間的轉換的,用在這裏有些浪費了

首先將原來虛鏈路刪除

wKioL1g-qnjSFFNqAAIJt-WYCmU477.png-wh_50

wKiom1g-qnnwuw6SAAGnm1ag3e0209.png-wh_50

觀察到R6的地址開銷非常大

wKiom1g-qnqAymyjAAHYm6aQvlU429.png-wh_50

使用show ip ospf intface tunnel x專門用來查看OSPF下的接口信息

wKioL1g-q5OAXhh_AADX6Vmkkio977.png

由於有這個GRE的封裝才能實現跨越多個路由器的目的,相當於打了一個馬甲,是啊建立隧道不過如此啊,穿越高山大海~~

wKiom1g-rCXwn6sIAAA8PqrRNUQ689.png

末節區域Stub Areas

wKioL1g-rFCB1Jv2AAHVY-pD-P0243.png-wh_50

  • External LSAs are stopped.

  • Default route is advertised into stub area by the ABR.

  • All routers in area 50 must be configured as stub.

有些區域認爲,在小區域的中沒必要存儲全網的路由,完全可以把外部的信息屏蔽,取而代之的是一條默認路由。末節區域、完全末節區域、非純末節區域、完全非純末節區域,其實就是爲了節省內存,盡最大可能的節省路由表空間

  1. 末節區域不接受O E1 E2路由<LSA5>;不接受外部信息

  2. 末節區域不能是骨幹區域;區域不能有虛鏈路

  3. ABR會向末節區域下發O IA*的默認路由

 

實現這個效果,先把原來的tunnel刪除,此時的R6就先當作花瓶好了

wKiom1g-rIfyWv7SAADX6Vmkkio778.png

此時Area2就多了兩個角色

wKiom1g-q8WxcfaYAAB9ViNFiak024.png-wh_50


wKioL1g-q8fjw43lAASbO793M0U747.png-wh_50

wKioL1g-q8iA_eSrAAE5XMO4pxs549.png-wh_50

而且此時我們還可以ping


wKioL1g-rK2iQT00AAGFZB6hQOU650.png

完全末節區域Totally Stubby Areas

這個是思科的首先提出來的,然而由於效果感人,其他廠商紛紛效仿

wKioL1g-q8mxOaFfAAHdwRid1_s987.png-wh_50

  • External LSAs are stopped.

  • Summary LSAs are stopped.

  • Routing table is reduced to a minimum.

  • All routers must be configured as stub.

  • ABR must be configured as totally stubby.

  • This is a Cisco proprietary feature.

思科覺得,在末節的基礎上不再彙總路由不是更好嗎?所以可以在ABR上實現這個效果

wKioL1g-q8uAS8YXAAOX4mLagbM367.png-wh_50

Not-So-Stubby Areas非純末節區域!?

相對於末節區域的外部情況是不能進來的,現在這種特別的情況

wKiom1g-q8zgKvl5AAD4qXt84B0206.png-wh_50

  • NSSA breaks stub area rules.

  • ASBR (R1) is allowed in NSSA.

  • Special LSA type 7 defined, sent by ASBR.

  • ABR (R2) converts LSA type 7 to LSA type 5.

  • ABR sends default route into NSSA instead of external routes fromother ASBRs.

  • NSSA is an RFC addendum.

整體思路還是換馬甲

外部的OE2進不來,然而外部OE2的還是想要進來,所以就用ON2進來<Type7>進來之後,如果需要出去再把ON2轉換成OE2

wKiom1g-q82zlQyNAAEA_Bv50kk247.png-wh_50

wKioL1g-q87jqiObAAQHH5PkU_Q238.png-wh_50

wKioL1g-q8-RdBGfAACWFoIKw7A132.png-wh_50

Type5一模一樣的

特徵:

  1. NSSA不接受外部路由OE1/2<LSA5>,但是會生成O N1/2<LSA 7>

  2. NSSA默認不下發默認路由,可以手工通過default-information xxx下發;

生成O * N2的默認路由  area 1 nssadefault-information-originate (可選)

完全非純末節區域

特徵:在NSSA的基礎上,不接受 O IA路由

wKiom1g-q9Gg_MndAAR1ZzZttzw357.png-wh_50

總結

  • 末節:不要5 OE1/E2

  • 完全:不要3 O IA

  • 非純:要7  ON1 / N2

1、  末節區域:不接收外部路由O E2 area 24 stub

2、  完全末節區域:不接收外部和區域間路由 O IA O E2 area 24stub no-summary(工程環境中最常用的)

3、  非純末節區域:不接收OE2,能夠接收O N2路由 area 24 nssa

4、  完全非純末節區域:不接收O E2 O IA,能夠接收O N2路由,area 24 nssa no-summary

網絡類型

這個其實也是一個網絡環境的優化點

修改網絡拓撲:改成幀中繼實驗

wKiom1g-q9KC0kJjAAEoSgT3Ypo363.png-wh_50

wKioL1g-q9KBy4CxAAA5l127uk4616.png-wh_50

OSPF5種網絡模式,廣播(全互連)、非廣播、點對點(自動建立沒有DR/BDR)、點對多點、點對多點非廣播。OSPF會自適應的調整相應的網絡類型,一般情況下,這些模式也可以是人爲控制的,當你需要的話

wKiom1g-rSSjNlYAAADV2trYu_4519.png

點對點模式

wKioL1g-q9TD7k0DAAHC4CHI_W4628.png-wh_50

wKiom1g-q9WAj4JuAAGemuk82hM817.png-wh_50

R3配置完全

wKioL1g-q9XCpMgBAAGtUdp7ht4821.png-wh_50

wKiom1g-q9bwjwhZAABodV_21vc264.png-wh_50

空的!!!!!

wKioL1g-q9ayRzzDAAAbqntWpLc748.png-wh_50

由於在點對點環境下,需要手工指定鄰居

wKioL1g-q9iwCXwWAAQq-iYdA4U357.png-wh_50

廣播模式

其實這種廣播是一種僞廣播,在幀中繼環境下,其實也是單播,抓包可知R2R3是不會互相聯繫的

wKiom1g-q9iwtVNKAABA1g3SRjs524.png-wh_50

觀察到主備角色相當的混亂

wKioL1g-q9ngmldNAANo39weFbM805.png-wh_50

因此相應的需要修改角色優先級

wKiom1g-q9uhwu5sAAM66HvOp-E530.png-wh_50

結果

wKioL1g-q9zzEYsRAAOcJu8UDEg440.png-wh_50

點對多點模式

不選擇DR/BDR的話~~修改爲點對多點模式

wKiom1g-q9-hMoRkAATv7TOBR9A559.png-wh_50

會發現,有鄰居,但沒有角色信息,驗證完畢

wKioL1g-q-CjhyBUAAOKsKvlvsc961.png-wh_50

後記

  • 認爲OSPF實現可靠傳輸的原因:會回覆反饋信息

  • 有沒有負載均衡可以通過看cost值啊

wKiom1g-rZrilcU3AAFJY1wJltE678.png-wh_50

  • OSPF的內容真的好多~~~寫了好久,也理解了好久~~


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章