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的内容真的好多~~~写了好久,也理解了好久~~