Site Overlay

华为OSPF详解及配置-复制便查

OSPF:开放式最短路径优先协议

目录

OSPF:开放式最短路径优先协议

一、数据包—5种基本数据包

二、OSPF的状态机

三、OSPF的工作过程

四、区域划分规则:

 五、数据包

六、各类LSA:

七.OSPF 邻居状态机制

八.OSPF基本配置

 OSPF三张表:

十、不规则区域:

十一、OSPF网络类型:

OSPF 认证: 链路认证、区域认证、虚链路认证

OSPF 路由控制:


特点:

无类别链路状态路由协议—组播更新协议:224.0.0.5/6

触发更新、周期更新(30min);跨层封装到网络层–协议号89

协议算法特点: 链路状态型路由协议,SPF算法

基于LSA更新导致更新量很大—–需要为中大型网络服务—周期的维护—结构化部署

结构化部署–区域划分、地址规划

 

使用范围:IGP

支持路由认证

支持手工汇总

支持区域划分

.OSPF 比较消耗设备资源,一个路由器上最多支持31个OSPF 进程

一、数据包—5种基本数据包

HELLO  邻居的发现、建立、保活
DBD  数据库描述包 – 数据库目录信息
LSR  链路状态请求
LSU  链路状态更新—携带各种LSA
LSack 链路状态确认

 

二、OSPF的状态机

Down            本地一旦发出hello包,进入下一状态

Init初始化        本地接收到的hello包中若存在本地的RID,进入下一状态

2way双向通信    邻居关系建立标志

条件匹配        点到点网络直接进入下一状态;MA网络将进行DR/BDR选举(40S),非DR/BDR间不能进入下一状态;

Exstart预启动    使用类hello 的DBD包进行主从关系选举,RID数值大为主,主优先进入                下一状态

Exchange准交换    使用真正的DBD进行数据库目录的共享,需要ACK;

Loading 加载        使用LSR/LSU/LSack来获取未知的LSA信息;

Full转发            邻接关系建立的标志;

 

三、OSPF的工作过程

启动配置完成后,本地收发hello包,建立邻居关系,生成邻居表;

再进行条件的匹配,匹配失败将停留于邻居关系,仅hello包周期保活即可;

匹配成功者间可以建立邻接(毗邻)关系,需要DBD共享数据库目录,LSR/LSU/LSack来获取未知的LSA信息,当收集完网络中所有的LSA后,生成数据表–LSDB

 

LSDB建立完成后,本地基于SPF选路规则,计算本地到达所有未知网段的最短路径,然后将其加载到路由表中;完成收敛,

收敛完成后–hello包周期保活 30min周期的DBD比对,若不一致将使用LSR/LSU/LSack重新获取

 

结构突变:

1、新增网段—直连新增网段的设备使用DBD告知邻居,邻居再使用LSR/LSU/LSack来获取

2、断开网段—直连断开网段的设备使用DBD告知邻居,邻居再使用LSR/LSU/LSack来获取

3、无法沟通—dead time 计时到后,邻居关系断开,删除所有从该邻接处学习到的所有LSA信息;

LSA链路状态通告–在不同条件下产生不同的拓扑或路由信息,被分为各种类别;

LSDB链路状态数据库–所有的LSA的集合

OSPF收敛LSA洪泛 LSDB同步

 

全网唯一;手工;环回接口上最大数值的ip地址;物理接口最大数值;无进程

 

宣告:1、激活 2、拓扑 3、区域划分

 

四、区域划分规则:

 

1、星型结构——所有非骨干必须直连到骨干区域 区域0为骨干 大于0为非骨干

2、ABR–区域边界路由器

 

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

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

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

区域的分类:

骨干区域: 区域标记为0或0.0.0.0

非骨干区域:区域标记不等于0或0.0.0.0

 

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

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

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

 

OSPF中路由器的角色

骨干路由器:

非骨干路由器:

ABR:区域边界路由器,能够产生3类LSA的路由器

ASBR:自治系统边界路由器,能够产生5类或7类LSA的路由器

 

邻居间hello包中必须有4个参数完成一致,否则无法建立邻居关系:

1、hello 和dead time

2、区域ID

3、认证字段

4、末梢区域标记

 

 五、数据包

 

启动配置完成后,邻居间使用hello包建立邻居关系,生成邻居表:

Hello包:用于邻居的发现、关系的建立和保活

Hello :DBD LSR LSU LSACK

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

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

发Hello包,down状态到init(初始化)状态

 

Hello包目标地址224.0.0.5,所有运行OSPF的路由器都会监听的组播地址,(本地链路组播)

Ttl值为1

 

 

Network Mask:发出数据包的接口的网络掩码;

Hello Interval:接口上发送的Hello包的时间间隔,默认BMA和P2P网络为10S,NBMA网络中是30S;

Options:DN—位MPLS VPN使用,O位—用于Opaque LSA,DC—需按链路上使用,L—接受和转发具有外部属性的LSA的能力,N—是否支持NSSA LSA,MC—MOSPF中使用,E—是否支持五类LSA,MT—MT-OSPF中使用;

Router Priority:接口优先级,用于选举DR/BDR,默认为1;

Router Dead Interval:死亡时间,默认为Hello时间的4倍;

Designated Router:MA网络中DR接口的IP地址,若不存在则为0.0.0.0;

Backup Designated Router:MA网络中的BDR接口的IP地址,若不存在则为0.0.0.0;

Active Neighbor:发出路由器的所有有效邻居的Router-ID

DBD数据包

首部中Type字段为1

功能:描述数据库的目录信息

DBD包:exstart和exchange均出现; exstart状态时,没有携带目录信息,

仅用于主从关系选举;

 

1、DBD包中携带MTU,强制要求邻接间MTU值必须一致,否则将卡在该状态

2、在exstart状态的DBD时,使用隐型确认;—基于序列号

从使用主的DBD序号来确认主的信息

3、标记位 I 为1标识本地发出的第一个DBD 包

M为0标识本地的发出最后一个DBD包

MS为1标识主,为0标识从

 

当LSDB同步完成后,本地基于数据库最短选路规则,计算到达所有未知网段的最短路径,然后将其加载到路由表中:

Interface MTU:发送DBD包的路由器接口的MTU值;

Options:同Hello包的Options;

DB Description:Init(I)—发送第一个DBD时置为1,后续为0;More(M)—发送不是最后一个DBD包时置为1,最后一个DBD包置为0;Master(M)—置为1代表时Mater路由器,为0代表是Slave路由器;

DD Sequence:DBD包的序列号;

 

LSR数据包

首部中Type字段为3

功能:请求在DBD交换过程中发现的本路由器中没有的或已过时的LSA包细节

 

链路状态请求数据包时OSPF数据包的第3种类型,在部分路由数据库信息“遗失”或“过时”的情况下发送。LSR数据包用来重新取回“遗失”的路由数据库中的精确信息。DBD交换过程完毕后,邻居双方(主/从路由器)还会互发LSR数据包,请求对方发送DBD交换过程中通告过的LSA。

LS Type:指出LSA的类型;

Link State ID:LSA描述的内容

Advertising Router:包含生成LSA的路由器的Router-ID。

 

LSU数据包

首部中Type字段为4

功能:用于LSA的洪泛和响应LSR

链路状态更新数据包是OSPF数据包第4种类型,OSPF路由器会发此类数据包来实施LSA的泛洪。单个LSU数据包内会包含多条LSA。OSPF路由器也会发送LSU数据包,来回应(邻居路由器发出的)LSU数据包。以泛洪方式发出的LSA由LSA确认数据包进行确认。只要有一条未经确认的LSA,(OSPF路由器就会)每隔重传间隔时间重传一次。

LSA:1.LSA 类型 2.link-ID 链路标识符 3.ADV router 产生路由器

Number of LSAs:数据包内的LSA的数量;

LSA:携带的LSA;

LSAck数据包

首部中Type字段为5

功能:对LSU的确认

 

链路状态确认数据包是OSPF数据包的第5种类型,用来对每条LSA进行确认。OSPF路由器也会发送LSack数据包,来应答LSU数据包。可用单个LSack数据包一次性确认收到的多条LSA。LSack数据包负责LSU数据包的可靠传输。

链路状态确认数据包以组播的方式发送。若(发送LSack数据包的)路由器为DR/BDR,则IP包头的组播目的IP地址为224.0.0.5(所有SPF路由器地址)。否则,LSack数据包IP包头的组播目的IP地址为226.0.0.6(DR/BDR地址)。

包内是确认的LSA;

 

 

六、各类LSA:

 

1类LSA:router -LSA

功能: 产生本路由器针对某个区域的路由信息和拓信息

传播范围:本区域内传输

Link ID : 产生者的router-id

ADV router: 产生者的router-id

特性: 在单个区域中分别产生一条1类LSA,若存在MA网络,1类LSA不完整,需要配合二类

LSA生成路由信息以及拓扑信息。

1类LSA 内容类型: 1.stubnet(末节网络) 2.transnet(传输网络 仅限于MA网络) 3.point[1]to-point 4.virtual link (虚链路)

 

2类LSA ,network LSA ,网络LSA

功能: 用于在MA网络中,描述本网络路由器的数量以及本MA网络的网络掩码

Link ID:DR接口的IP地址

ADV router:DR所在路由器的router-ID

特性: 只会出现在MA网络,用于补充1类LSA(1.MA网络的掩码 2.MA网络路由器的数量)

 

3类LSA :summary LSA 汇总LSA

功能:用于在区域之间传递路由信息

link-id :传递路由的网络号

ADV router:默认为所在区域ABR的router-id

特性: 在穿越不同区域时,有其他的ABR重新产生(ADV router 是变化的)

 

4类LSA: summary ASBR LSA

功能:除了产生5类LSA所在区域,用于通告ASBR位置

Link id:ASBR的router-id

ADV router: 默认ASBR所在区域的ABR的 router-id

特点:在穿越不同区域时,有新的ABR重新产生。(与3类LSA一致)

 

5类LSA: 外部LSA

功能: 用于在整个OSPF中传递外部路由(原本不属于OSPF域)

5类LSA有两种类型: 类型1 类型2(区别:)

Link id :传递外部路由的网络号

ADV router : 产生该LSA的 router-id

传播范围:在整个OSPF域中传输

 

7类LSA : NSSA LSA

功能: 在NSSA区域中,传递外部路由。

Link id :传递路由网络号

ADV router:产生该LSA的 router-id

 

特性:默认为类型2 ,度量值为1 。 携带了FA地址(转发地址)

FA: 转发地址,当5类或7类LSA中携带了FA地址,则计算路径开销值时计算的是当前路由器到达FA地址的开销值之和+种子度量值。(若FA地址不可达,则路由不能加表)

FA 地址:

1.默认7类LSA 产生FA地址,5类LSA不产生的(7转5 的5类LSA 携带FA地址 )

2.7类LSA 产生规则:默认产生的FA地址为产生7类LSA 的ASBR 最大的环回接口地址 ;若连接

其他协议的接口也运行了OSPF协议,网络类型为BMA,则产生的7类LSA中FA地址为连接其他

接口对应的下一跳地址;若网络类型为P2P,则FA地址依然为环回接口中IP地址最大的

3.5类LSA FA地址规则: 默认不产生,若连接其他协议的接口运行了OSPF 协议并且网络类型为BMA则FA地址为重发布之前路由的下一跳地址,若网络类型为P2P,则不会产生FA地址。

 

Ls age : 1073

seq# : 80000006

chksum : 0x9dca

组步调计时器:默认5分钟。

 

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

1.序列号

2.校验和

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

 

 

数据链路层面:    针对不同的物理链路定义不同的封装

局域网封装:         Ethernet 2,IEEE802.3

广域网封装:         PPP HDLC FR ATM

HDLC:            高级数据链路控制协议,默认思科的串行链路封装为HDLC,分为工业

标准的HDLC和思科私有的HDLC,两者不同通用,思科私有的HDLC中加入一- 些

控制字符,识别上层协议,已经三层的传输方式

定义接口封装为HDLC :

 

PPP:点对 点封装协议,华为串行链路默认封装为PP,PPP链路 需要建立一

条端到端的链路,PPP 会话建立分为: 1.LCP 2.PP认证3.NCP

LCP:链路控制协议,通过发送LCP数据进行物理链路和封装的确认

PPP认证:增加PPP会话的安全性,PAPCHAP

NCP:网络控制协议,通过发送NCP针对上层协议进行封装,IPCP 协商,在

NCP协商过程中,会自动将自己本端IP地址以路由方式发送给对方,当PPP会

话建立之后,会产生到达对方接口IP地址的32位主机路由

PAP : 密码认证协议,是一种一次性的简单的明文认证

CHAP :质检挑战握手认证协议,通过三次握手的方式进行安全的MD5认证 , 在认证过程中需要发送挑战信息(类似HMAC 密钥化哈希)。

七.OSPF 邻居状态机制

Down、 init 、 attempt(过渡) 、 two-way 、  exstart  、 exchange  、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): MA的网络中会选举DR(指定路由器)  BDR(备份指定路由器)

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

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

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

 

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

 

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

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

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

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

 

八.OSPF基本配置

启用OSPF 并指定router-id

 

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通告:

1.

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

激活DBD中携带MTU值功能:

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

查看二层接口信息:

查看三层信息:

 OSPF三张表:

1.OSPF 邻居表

查看OSPF邻居表:

查看OSPF邻居表的摘要信息:

2.LSDB表(链路状态数据库)

查看LSBD的摘要信息:

查看LSDB详细信息:

3.OSPF 路由表

十、不规则区域:

1.存在多个area 0      2.非骨干没有直接挂靠在骨干区 域之上

解决办法:

1.OSPF 双进程重发布

2.virtual link —虚链路

注意: 1.虚链路只能穿越一个区域  2.穿越的区域不能为特殊区域 3.虚链路的两端必须至少存在一个ABR  4.虚链路属于area 0

支持虚链路认证: 明文认证  MD5 认证

特性:

1.虚链路默认的网络类型为Virtual

2.hello时间10s  dead时间40s ,自动建立邻居,不选举DR

查看:

3.Tunnel 隧道方式

创建GRE 隧道:

查看 :

测试:

将隧道接口激活在OSPF 的area 0 或 非骨干上

OSPF 100

查看 :

查看:

十一、OSPF网络类型:

1.P2P

2.BMA—广播多路访问网络

3.NBMA—非广播型多路访问网络

4.P2MP

 

 

1.P2P

物理接口:HDLC(高级数据链路控制协议)  PPP (点对点协议) GRE MGRE   FR点对点子接口

hello时间:10s

是否选举DR:不选举

是否自动建立邻居:自动建立

特性:

 

 

 

2.BMA—-广播型多路访问

物理接口:以太网

hello时间:10 s

是否选举DR:选举

是否自动建立邻居:是

特性:产生的1类LSA不完整,需要2类LSA补充

3.NBMA

物理接口:FR-帧中继(物理接口、多点子接口)   ATM-异步传输网络

hello时间:30s

是否选举DR:选举DR

 

网络部署类型:1.full-mesh  2.part-mesh  3.hub-spoke

4.P2MP

物理接口:无

hello时间:30s

是否选举DR:不选举

是否自动建立邻居:自动

特点:将物理接口IP地址以32位主机路由的形式传递进入OSPF

 

 

OSPF 认证: 链路认证、区域认证、虚链路认证

1.链路认证

2.区域认证

查看 :

 

OSPF 路由控制:

默认: 1 3 类LSA AD值为10 ,5类 7类 LSA AD值为150

修改AD值:

1.OSPF 进程直接修改AD值,仅仅针对 1 3 类LSA。

2.修改5 7类LSA AD值

查看:

3.修改metric (cost)

a.修改参考带宽:

查看:

2.修改接口cost值

查看:

 

 

 

 

Author: 伍小虎

向各位朋友学习。 鄙人从事:信息化系统(光缆熔接、虚拟化、网络安全等);智能化系统(楼宇对讲系统、智能照明系统、综合布线系统、智能家居系统等);安全技术防范系统(视频监控系统、防盗报警系统、门禁管理系统、停车场管理系统、门客访问系统等)欢迎带项目咨询。

发表回复