首页 > 代码库 > OSPF详解

OSPF详解

OSPF绝对无环的原因:SPT生成一张地图,将整张拓扑记录下来

技术分享

初始化配置

技术分享

技术分享

技术分享

检查是否配置完成,通过检查三张表路由表邻居表拓扑表

技术分享

路由认证

跟前面学习的认证过程有些区别,没有所谓的key chain等信息

链路认证

在接口下开启认证

R1-R2之间建立一个基本的认证,其实这个也是没办法建立邻居的原因之一

技术分享

技术分享

技术分享

区域认证

在进程下开启认证

在同一个区域里面的密码是共享的,配置起来跟链路认证没啥区别

技术分享

技术分享

完整过程

技术分享

注意:

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

一边开启认证,另一边邻居没开启,则认证失败

OSPF默认路由

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

方法一

技术分享

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

技术分享

方法二

我们R2的默认路由删除仍然是可以ping通信息的

技术分享

其实更多的在工程项目中用得更多的是这个方法,因为没必要再多写个默认路由啊

拓展参数

这个地方先记着OE1要比OE2大就对了

主要应用以下这个场景,增加链路储备场景

技术分享

技术分享

路由分组

首先有明确,路由分组可以实现流量优化的目的

重新部署新的拓扑表

技术分享

回顾一些概念

技术分享

Full状态会互相发送hello包,在某些情况下很是消耗带宽资源,没必要,因此出现优化的地方

DR/BDR选举会在hello包中体现,这个后面再说

技术分享

观察现象

先将邻居关系清除

技术分享

总体观察

技术分享

我们仅仅观察192.168.1.0网段,一共四台路由器,一共建立起4*3/2=6个邻居。就是用到很普通的数学公式n*(n-1)/2

DR选举

DRDesignated Router指定路由器

BDRBackup DR备用指定路由器

DROther

1.选择优先级较大<1-255,默认为1>;

2.选择邻居RID较大

技术分享

DR/BDR特征:

1.不支持抢占;(一般来说角色定下来之后就不会改变了,目的是为了网络稳定,因为选举的过程需要发送大量的hello包通过碰撞进行选举,减少会话数。然而ISIS是支持抢占的,后面在讲)

2.DR/BDR是针对接口的概念,

   不同接口角色可能不同.

3.若接口优先级为0,则表示退出选举.

 我们可以修改优先级的

技术分享

就算我们修改优先级了,也不会一步上位,需要将原来的DR取消,此时原来的BDR成为DR,修改后的DROTHER成为BDR,依次迭代上位

DR/BDR地址:

DR/BDR对外发送路由条目,以224.0.0.5(表示DRother接收)发送;

DRother对外发送路由条目,以224.0.0.6(表示DR/BDR接收)发送;

技术分享

一个路由器在不同的局域网的角色不一定一样的,尽管只有一段(两台路由器)但是他们之间仍然会选举出DR/BDR

技术分享

通过这些选举我们可以发现

技术分享

主从选举

实现DBD的可靠更新,通过DD Sequence得值来决定。观察这四个包

技术分享

技术分享

实现的机制

技术分享

主从选举表面只是一种关系选举,实际上是一种可靠更新机制,保证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

技术分享


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

技术分享

  • 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 

技术分享

R1R2都要写的,我就贴一个就行啦,省点力气~~

技术分享

技术分享

  • Type1: 描述点对点广域网环境下的直连拓扑

  • Type2:描述以太网广播环境下DR的信息

  • Type3:所有直连IP网段

这些地图信息都是统一的,我们在其他的路由器仍然可以看到

技术分享

技术分享

技术分享

技术分享

LSA Type 2: Network LSA

这个其实是对type1信息的补充,因为带多了掩码信息,内容相对简单一些,跟type1形成互补关系

技术分享

  • 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 本区域

技术分享

LSA Type 3: Summary LSA

技术分享

  • 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中的简单信息,发送到其他区域中去

为了验证效果,需要相应修改一下拓扑图,并在箭头位置抓包

技术分享

技术分享

3.4  5LSAExternal  LSA

  • 一般情况下,只会出现123

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

LSA Type 5: External LSA

技术分享

  • 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通告的是区域间的路由信息

技术分享

还是在R3R4之间抓包

技术分享

技术分享

技术分享

看下图

技术分享

对于E1来说,更优先于E2,认为需要继承,需要cost累加

对于E2来说,外部路由没必要增长

LSA Type 4: Summary LSA

涉及到路由递归的问题,没有Type 4Type5根本跑不起来的

技术分享

  • 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.

技术分享

技术分享

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

实验拓扑

技术分享

技术分享

技术分享

技术分享

此时,我们可以观察到R5可以获得Area0Area1Area2Area3的路由信息

技术分享

然而,R6的路由表~~

技术分享

这个就是所谓的脱节区域的原因

脱节区域

背景:网络发生迁移时,常规区域无法直接挂接到骨干区域,此时没有与骨干区域相连的区域则为脱节区域-无法学习到其他区域的路由信息。(场景:部门合并)

ABR:当区域路由器连接到多个区域的时候,至少要有一个接口放入区域0,此路由器才能算ABR

解决方案1

非常推荐使用这种解决方案

使用虚拟链路“升华”脱节区域与骨干区域的关系。在进程里面写的

Area +承载区域+virtual-link+对方RID

技术分享

技术分享

此时的R6出现了路由信息

技术分享

解决方案2

使用tunnel技术。这个比较麻烦,我们需要在编辑上,写出隧道的头和尾,加上隧道本身的地址信息,这个主要是使用在IPv6IPv4之间的转换的,用在这里有些浪费了

首先将原来虚链路删除

技术分享

技术分享

观察到R6的地址开销非常大

技术分享

使用show ip ospf intface tunnel x专门用来查看OSPF下的接口信息

技术分享

由于有这个GRE的封装才能实现跨越多个路由器的目的,相当于打了一个马甲,是啊建立隧道不过如此啊,穿越高山大海~~

技术分享

末节区域Stub Areas

技术分享

  • 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就先当作花瓶好了

技术分享

此时Area2就多了两个角色

技术分享


技术分享

技术分享

而且此时我们还可以ping


技术分享

完全末节区域Totally Stubby Areas

这个是思科的首先提出来的,然而由于效果感人,其他厂商纷纷效仿

技术分享

  • 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上实现这个效果

技术分享

Not-So-Stubby Areas非纯末节区域!?

相对于末节区域的外部情况是不能进来的,现在这种特别的情况

技术分享

  • 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

技术分享

技术分享

技术分享

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路由

技术分享

总结

  • 末节:不要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

网络类型

这个其实也是一个网络环境的优化点

修改网络拓扑:改成帧中继实验

技术分享

技术分享

OSPF5种网络模式,广播(全互连)、非广播、点对点(自动建立没有DR/BDR)、点对多点、点对多点非广播。OSPF会自适应的调整相应的网络类型,一般情况下,这些模式也可以是人为控制的,当你需要的话

技术分享

点对点模式

技术分享

技术分享

R3配置完全

技术分享

技术分享

空的!!!!!

技术分享

由于在点对点环境下,需要手工指定邻居

技术分享

广播模式

其实这种广播是一种伪广播,在帧中继环境下,其实也是单播,抓包可知R2R3是不会互相联系的

技术分享

观察到主备角色相当的混乱

技术分享

因此相应的需要修改角色优先级

技术分享

结果

技术分享

点对多点模式

不选择DR/BDR的话~~修改为点对多点模式

技术分享

会发现,有邻居,但没有角色信息,验证完毕

技术分享

后记

  • 认为OSPF实现可靠传输的原因:会回复反馈信息

  • 有没有负载均衡可以通过看cost值啊

技术分享

  • OSPF的内容真的好多~~~写了好久,也理解了好久~~


本文出自 “11421505” 博客,转载请与作者联系!

OSPF详解