OSPF开放最短路径优先协议

OSPF作为一种基于IP协议号89的链路状态内部网关动态路由协议

根据IP的版本讲OSPF分为OSPFv2(ipv4版本)和OSPFv3(ipv6版本),OSPFv1被扼杀于实验中本文讲述OSPFv2

(声明:本文不详细解释LSA和特殊区域,请查看LSA详解)

SPF算法

又称为Dijkstar算法,通过一次次迭代计算出一个节点到每个节点的最小开销(权)每个节点由此方法可以得到一颗无环的SPT(最短路径树)

开销

端口开销=实际带宽/参考带宽(缺省100Mb/s)

可以通过以下指令修改:

1.参考带宽:bandwidth-reference xxx(ospf视图下)

2.接口开销:OSPF cost xxx(接口视图下)

Router ID

在OSPF自治系统中唯一表示路由器

手动>最大loopback口IP>最大物理口IP

三大表项

1.邻居表

2.LSDB表

3.OSPF路由表

四大网络类型

1.广播:以太网

2.NBMA(非广播多路访问):帧中继,ATM

3.P2P(点到点):PPP,HDLC

4.P2MP(点对多点):管理员手动配置

六大报文类型

1.Hello

周期性发送,用于建立和维持邻居关系

HelloInterval:16b,10s(以太网)

RouterDeadInterval:失效时间,40s(以太网)

Neighbor:用RouterID标识邻居

2.DD

用于路由器主从选举和LSA摘要交互

 Interface MTU:16b,最大传输单位,华为缺省0

I(qInitialization):1b,置1表示第一个DD报文

M(More):1b,置1表示后续DD报文不带有LSA headers(后面DD报文描述同一条LSA)

M/S(master/slave):1b,置1为主,置0为从,根据RouterID评判,大者为M发送端

Sequence Number:32b,序列号保障报文完整可靠

3.LSA

分为6类,用于构建LSDB

1:Router-LSA

2:Network-LSA

3:Network-summary-LSA

4:ASBR-summary-LSA

5:AS-external-LSA

7:NSSA- AS-external-LSA

三要素:type,ID,ADV Router

通用头部

Age:时间,0-3600是,越小越新当为3600s时,撤回此LSA

checksum:校验和,越大越优

4.LSU

对LSA进行更新和回复LSR

5.LSR

请求LSA详情

6.LSAck

对LSU中的LSA进行确认

角色

DR:指定路由器

BDR:备份指定路由器

Dother:其他路由器

ABR:区域边界路由器

ASBR:自治系统边界路由器,一般来说,有路由引入的设备就是

邻接与邻居

邻接:Dother和Dother之间

邻居:DR和所以路由器,BDR和所有路由器

邻居建立

条件

1. Hello时间、Dead时间一致
2. 区域一致
3. 认证一致
4. Router-id不一致
5. 特殊区域标识一致
6. 在MA网络中,网络掩码一致

过程

邻接关系

R1发送Hello报文携带自己的RouterID,邻居为空

R2收到后进入Init状态,也发出携带自己的RouterID并且邻居为R1的Hello报文

R1收到后进入2-way状态,给R2发发出携带自己的RouterID并且邻居为R2的Hello报文

R2收到后也进入2-way状态

R1R2达成邻接关系

邻居关系

Exstar交换DD报文来协商路由器主从,然后进入Exchange状态,该状态下依旧交互DD报文,但此时DD报文包含完整的LSA通告,用这些报文来学习对端的LSA,知道对方有什么LSA发送LSR进行请求更新,此时就是Loading状态,最后两端LSDB达到一致,即Full状态,至此邻居关系达成

角色选举

按照先选DR再选BDR

DR选举

优先级0-255(0不参与选举)

不抢占,优先级越高越优,相等比较RouterID越大越优,最高为DR,次高为BDR

底层算法

最开始Hello报文的DR和BDR都为空,此时发送Hello并开启Dead time计时器,倘若收到报文中这两项为非空则接受填入自己的表项,如果超时未收到,则从Dother中开始选举,先选举DR再选举BDR

LSA处理方法

1.比较序列号,越大越优

2.比较校验和,越大越优

3.比较Age,差值>15min(900s)选小的,<=15min(900s)则视为相同

!注意:Age为3600s优先处理(棒棒糖序列法)

棒棒糖序列法

OSPF的序列号空间是32位的,取值范围从0x80000001到0x7FFFFFFE

1.序列号用尽时通过发送一条3600s的LSA告知设备

2.设备认为此LSA是最新更新LSDB

3.由于A最大Age为3600s,LSA会被老化而失效

4.这个时候始发的路由器会再发送一遍该LSA信息,但将其中的序列号置为0x80000001,其他设备收到后将该LSA判定为最新的LSA信息进行接收,至此解决序列号用尽问题

区域划分

骨干区域:区域0

非骨干区域:非区域0区域

防环机制

1.骨干区域和非骨干区域必须相连(物理和逻辑上相连都行)

2.ABR从非骨干区域获得的LSA不参与路由计算

3.ABR不会将描述到达某个区域内网段路由的3类LSA再注入回该区域(水平分割)

4.采用SPF算法,其本身无环路存在

认证

1.区域认证:区域视图下使用 authentication-mode  hmac-md5/keychain/md5/simple XXX

2.接口认证:接口视图下使用ospf authentication-mode

!记得镜像配置

认证模式

hmac-md5

基于MD5哈希函数的消息认证码算法,结合了密钥和消息内容,生成一个固定长度的哈希值,用于验证消息的完整性和身份认证

kechain

加密规则(key)的集合,每个规则包含认证算法、认证密钥和Key的活跃时间。认证算法和认证密钥用于控制加密/解密报文,Key的活跃时间表示在这段时间内,能够使用配置的算法和密钥对报文认证后发送/接收

md5

md5加密,产生128位(16字节)的哈希值

路由聚合

特性

1.抑制明细路由,通告聚合路由

2.减小表项,降低更新大小和系统消耗

3.路由抖动不影响已通告路由

4.只发生于ABR,ASBR

缺陷

配置不当,引起环路

指令

区域视图下:ABR-summary 网络号 子网掩码

区域视图下:ASBR-summary 网络号 子网掩码

配置

实验拓扑

 

要求

1.R1,R2,R3在区域2,R2和R4在区域0,R4和R5在区域1

2.在ABR、ASBR上配置路由汇总,减少区域间、外部路由数量

3.修改OSPF的参考带宽值

4.在OSPF中引入缺省路由

5.修改OSPF域内、域间路由和域外路由的缺省路由优先级。

操作

1.配置地址(省略)

2.R1

[R1]ospf 1 router-id 10.0.1.1

[R1-ospf-1]area 2

[R1-ospf-1-area-0.0.0.2] network 10.0.123.1 0.0.0.0

[R1-ospf-1-area-0.0.0.2] network 10.0.1.1 0.0.0.0//宣告网段

[R1-ospf-1-area-0.0.0.2] quit

[R1-ospf-1]quit

[R1]interface LoopBack 0

[R1-LoopBack0] ospf network-type broadcast//设置网络类型为广播

[R1-LoopBack0] quit

其他路由器同理

3.在ABR、ASBR上配置路由汇总

[R4]ospf 1

[R4-ospf-1]area 1

[R4-ospf-1-area-0.0.0.1] abr-summary 10.5.0.0 255.255.254.0

[R4-ospf-1-area-0.0.0.1] quit

4.修改参考带宽

[R1]ospf 1

[R1-ospf-1] bandwidth-reference 10000

[R1-ospf-1] quit

其余设备同理

5.引入缺省路由

[R1]ip route-static 0.0.0.0 0.0.0.0 LoopBack 0

[R1]ospf 1

[R1-ospf-1] default-route-advertise always type 1

[R1-ospf-1] quit

效果演示

查看ospf路由表

R2的lsdb

在R2中引入路由并作ASBR路由聚合查看路由表仅有一条ospf路由

思考

OSPF引入外部路由时存在两种类型:类型1与类型2,这两种不同的类型有什么区别?

开销计算方式不同,1类认为各个开销值是同一数量级的1类cost算法采用接口相加遵循cost=到ASBR的开销+到ABR的开销+到目的网段的开销,2类则认为到ASBR的距离远大于其他开销,cost直接等于0+0+到目的网段的开销,当1类优先与2类。第一类外部路由:该路由引入OSPF时的COST加上本路由器到达ASBR/Forwarding Address的COST值;

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值