admin管理员组

文章数量:1576954

OSPF(Open Shortest Path First) 开放式最短路径优先协议 

使用范围:IGP 

协议算法特点: 链路状态型路由协议(传递路由信息和拓扑信息)

                          SPF算法(最短路径优先算法)

协议是否传递网络掩码:传递网络掩码

协议封装:基于IP协议封装(跨层封装),协议号为 89

注:IP传输不可靠,若要达到可靠效果,周期性更新保证信息传递可靠性(rip),确认重传机制(tcp),其中OSPF采用确认重传机制。

.OSPF 特点

1.OSPF 是一种典型的链路状态型路由协议 

2.传递信息称作 LSA,LSA (链路状态通告),包含路由信息和拓扑信 息。

      路由LSA:描述本路由器上接口的路由信息(网络掩码,网络号,开销值,缺一不可)

      拓扑LSA:描述路由器之间的连接状态

     OSPF协议中常见的LSA有6种,包括1、2、3、4、5和7类LSA

3.更新方式: 触发更新+30分钟的链路状态刷新  

     触发更新:网络结构稳定的情况下,不发送任何路由信息,网络结构改变后,立即发送路由信息,用于更新保护。

     30分钟的链路状态刷新:刷新/还原LSA参数

4.更新地址: 组播和单播更新

     组播地址: 224.0.0.5ALL SPF  router 所有SPF路由器      

                        224.0.0.6 (ALL DR router 只有DR路由器

注:224.0.0.x  本地链路组播地址,用于各种协议中使用,包括RIP,OSPF,EIGRP,ISIS等协议,其TTL=1(直连路由器之间)

5.支持路由认证 

6.支持手工汇总(路由LSA进行汇总,拓扑不行)

7.支持区域划分

8.OSPF 比较消耗设备资源

.OSPF 区域

为什么划分区域?

在于邻居间传递拓扑信息,更新量巨大,故非常消耗设备的带宽和计算资源,不能在中大型网络生存;因此OSPF协议需要结构化的部署-- 区域划分、合理ip地址规划。

1.区域划分的意义: 1.减少LSA的数量  2.减少LSA的传播范围

          区域的划分是基于接口的(链路的)

2.区域的标记:使用了32个二进制    1.十进制   2.类似于IP地址   A.B.C.D

3.区域的分类:

          骨干区域: 区域标记为00.0.0.0  (环回接口没有说明,默认通告area 0中)

          非骨干区域:区域标记不等于00.0.0.0

4.区域设计原则: 向日葵型网络结构

          1.OSPF网络中必须存在并唯一的骨干区域(单区域除外)

          2.若存在非骨干区域,非骨干区域必须与骨干区域直接相连

5.OSPF中路由器的角色: 

          骨干路由器:路由器所有接口都属于骨干区域area 0中,如上图R3

          非骨干路由器:路由器所有接口都属于非骨干区域中,如上图R1,R5

          ABR:区域边界路由器,路由器位于骨干区域和非骨干区域之间,如上图R2,R4,能够产生3LSA的路由器

          ASBR:自治系统边界路由器,路由器位于OSPF与非OSPF的边界,并将非OSPF的路由引入OSPF当中(翻译),能够产生5类或7LSA的路由器 

 注:重发布:把一个路由协议通告到另一个路由协议中。

.OSPF 消息数据包 

Hello   DBD  LSR  LSU  LSACK

Hello 包(不用确认) -- 用于邻居的发现、建立、周期(10s或30s)保活

DBD--数据库描述包   --- 本地数据库的目录信息

LSR--链路状态请求包  --- 问询本地未知的LSA信息

LSU-- 链路状态更新包 ---- 共享具体的LSA信息的数据包

LSack--链路状态确认包

hello 周期性发送,周期时间10s30s(根据不同的网络类型默认 10s30s)

目的:建立维持OSPF 邻居关系(邻居关系建立之后充当 保活包功能)

00:e0:fc:be:62:97单播MAC地址

01:00:5e:00:00:05组播MAC地址224.0.0.5

OSPF Header 头部

OSPF Hello Packet 载盒

路由认证: Auth Type  认证类型  默认为0(NULL)明文认证由0变1  md5认证即数字2

                   Auth Data  认证数据  明文认证数据中包含明文密码   md5包含密码及md5值

在Options中特殊区域位,建立邻居关系,NP位和E位值必须保持一致 

DBD:数据库描述数据包;exstart

1.主从选举DBD 比较双方的router-id router-id大的一方为主 (master ),小的一方为从 (slave);主用于控制LSA的交互

DB Description中,I:初始化位(第一个包为1 往后均为0)  M:更多位   MS:主从位,为主即为1,为从即为0(未选前MS均为0)

DD Sequence:序列号

2.携带LSA头部信息的DBD(目录)

LSR 链路状态请求,按照DBD中报文的未知LSA头部进行请求。exchange

LSU:链路状态更新,携带LSA信息。loading

LSACK:链路状态确认

.OSPF 邻居状态机制

Down(邻居关系建立条件是否匹配) init(对方是否运行ospf)  attempt(尝试 过渡)  two-way (无法选举DR,BDR)  exstart (MTU协商失败)   exchange(MTU协商失败) loading(路由器性能弱,无法同步) full

Init ---初始化状态,一旦开始发送hello报文(建立、维持邻居),进入初始化状态。

Two-way---双向通信状态(邻居状态),接收到包含自己router-id 的对方hello报文。

 

邻居关系建立条件: 

1.router-id 必须不同

2.area ID 相同

3.认证: 认证类型 (不认证=0  明文认证=1  MD5=2)  认证数据

4.hello时间,dead时间必须一致 

5.特殊区域标识一致(E(外部路由位)=1  ; N(NSSA外部路由 位)=0    P=0)

6.MA网络中,网络掩码必须一致

7.必须同时使用单播或组播更新

8.更新源检测(双方的IP地址必须在同一网段)

 

邻居状态下(two-way 选举DR,BDR): MA的网络中会选举DR(指定路由器)   BDR(备份指定路由器)

DR选举224.0.0.6:   1.比较优先级 (范围:0-255,默认优先级为1 ,越大越优)  

                                  2.比较各自的router-id,越大越优

注意:1.DR抢占是关闭的    2.DR是一个接口概念  3.优先级范围 0-255,数字为0代表不参与选举  4.先选举BDR ,再升级为DR

 

主从选举:发生在exstart状态, 通过双方的router-id进行比较, router-id大的一方为主。  发送的 主从选举DBDDBD中包含了MTU值(默认思科直接启用,华为中 默认不包含MTU,可以使用命令激活传递MTU值的功能,若双方的MTU值不一致则卡在exstart 状态 )。

 

Exstart---预启动状态,一旦开始发送主从DBD,则进入预启动状态。

Exchange ---预交换,主从选举完成,则发送携带LSA头部信息的 DBD,进入预交换状态,会发送LSR数据包。(但是没有LSU

Loading ---加载状态,一旦发送LSU数据包,进入了加载状态,进行 大量LSA的学习。

 

Full ---邻接状态。双方LSA同步(双方LSA全部学习)

.OSPF基本配置

启用OSPF 并指定router-id

[r1]ospf 100 router-id 91.1.1.1
[r1-ospf-100]

 

Router-id  路由器标识符,用于标识本路由器在OSPF网络中的唯一 性

OSPF router-id 选举规则:1.手工指定最优先 2.选举所有逻辑中IP地 址最大的 3.选举所有物理接口IP地址最大的 

华为中: 若以上三点都不满足,则可以创建router-id 0.0.0.0 ;在 使用逻辑或物理接口IP地址时,接口可以是关闭状态;若一台路由器启用了多个 OSPF进程,不同进程可以使用相同的router-id(不推荐);

 

思科中:若以上三点都不满足,则无法启用OSPF;在使用逻辑或物理接口时,接口必须双 up ,该接口可以不通告进入OSPF中;同一路由器上多个 OSPF进程必须router-id必须不同;

全局模式下可以选择针对所有的OSPF进程修改router-id ;(若同时 在接口部署时,接口优先生效)

 

查看:

network通告(反掩码通告,连续的0代表固定位,连续的1代表可变位): 

1.

[r1]ospf 100 router-id 91.1.1.1
[r1-ospf-100]area 1
[r1-ospf-100-area-0.0.0.1]network 1.1.1.0 0.0.0.255

 

2.必须先创建OSPF 进程并开启需用使用的区域ID,再进入接口启用:

激活DBD中携带MTU值功能(双方都要设,双方MTU值不一样,则卡在exstart): 

修改接口MTU值(3层): (同时修改3层和2层的MTU值)

查看二层接口信息:

查看三层信息:

OSPF三张表: 

1.OSPF 邻居表

查看OSPF邻居表

Serial:本身的地址

Retrans :重传,到邻接关系down掉为止

查看LSBD的摘要信息:

1类LSA:Router     2类LSA:Network      3类LSA:Sum-Net

LinkState ID:链路状态标识符,不同LSA其链路状态标识符不同。

AdvRouter:该LSA由谁产生

Age:LSA老化时间,最大老化时间3600s,存活时间1800s

LSA中存在3个参数用于LSA的新旧比较:3600s的LSA都是最优的

1.序列号

2。校验和

3.LSA老化时间(若以上都相同,LSA age 之差小于15分钟,越小越优,若大于15分钟,则无法比较认为都是最新的)。

3.OSPF 路由表: 

Cost=开销值=参考带宽/接口带宽

本文标签: 笔记OSPF