目录

1、基本信息: 

1、ospf协议的概述:       

2、路由id(router id):

3、ospf区域 

1.区域的作用:

2.区域ID:

3.区域分类

4.域间路由

2、OSPF协议工作介绍:

1.ospf的5种数据包:

2.数据包的扩展:

1.Hello包:

2.DBD包:

3.ospf的7种状态机:

1.邻居变成邻接的关注条件:

2.DR/BDR选举:

 3.mgre中使用ospf需要注意点:

3、OSPF 扩展知识点:

1.ospf不规则区域

1、分类:

2、解决方案:

 2.OSPF的数据库表:

1、LSDB:

2、如何查看一条LSA的具体信息

3.OSPF的LSA优化:

1、目的和方式:

2、汇总    

3、特殊区域 

4.认证

1、定义:

5.沉默接口:

6.修改计时器:

7. 缺省路由

1、3类缺省: 

2、5类缺省:

3、7类缺省:


1、基本信息: 

1、ospf协议的概述:       

  1.  开放式最短路径优先(Open Shortest Path First,OSPF)是广泛使用的一种动态路由协议,它属于链路状态路由协议,是跨层封装协议,协议号89。是自治系统AS(Autonomous System)的一种内部网关协议(IGP)。     
  2. 大规模网络中具有路由变化收敛速度快无路由环路、区域划分、支持变长子网掩码(VLSM)、支持区域汇总支持以组播地址发送协议报等优点。
  3. 但如果使用时不结合具体网络应用环境,不做好细致的规划,OSPF协议的使用效果会大打折扣,甚至引发故障。
  4. 在网络中使用ospf协议后,大部分路由将由OSPF协议自行计算和生成,无须网络管理员人工配置,通过可靠的泛洪与自治系统AS内的其他路由器周期性交互,学习到整个自治系统的网络拓扑结构;当网络拓扑发生变化时,协议可以自动计算、每隔一个特定时间或当链路状态发生变化时,重新生成LSA,路由器通过泛洪机制将新LSA通告出去,以便实现路由的实时更新,极大地方便了网络管理。 

2、路由id(router id):

  • OSPF区域内路由器的唯一标识,具有全局意义,以IP地址形式配置

3、ospf区域 

  1.区域的作用:

  • 为了适应大型的网络,OSPF在AS内划分多个区域;每个OSPF路由器只维护所在区域的完整链路状态信息

  2.区域ID:

  • 以十进制的数字或者IP形式表示区域ID
  • 骨干区域Area 0。负责区域间路由信息传播
  • 非骨干区域相互通信必须通过骨干区域

3.区域分类

  •  标准区域: 

普通的 区 域0和其他数字区域

  •   特殊区域(文章后面有详细介绍):
  1.  末梢区域stub
  2. 完全末梢区域stub no-summary 
  3. 非纯末悄区域nssa
  4. 完全NSSA      nssa no-summary  

4.域间路由

  • 作用:负责区域之间的路由表传递和区域汇总
  • 区域之间路由器: ABR
  • 自制系统边界路由器:ASBR

  

ospf汇总方式 ospf区域汇总_ospf汇总方式

   

ospf汇总方式 ospf区域汇总_链路_02

 

2、OSPF协议工作介绍:

  • 首先需要了解他的5种数据包和7个状态机

1.ospf的5种数据包:

序号

数据包名称:

作用:

1

Hello

        发现邻居 ;维护邻居关系,保证邻居的双向通信;选举DR/BDR 

2

DBD

(Database description)

数据库描述包。

向邻居交互数据库摘要信息以同步链路状态数据库

3

LSR

( LSA Request)

链路状态请求。

向对方请求对方有而本地没有的LSA信息

4

LSU

(LSA Update)

链路状态更新。

        收到LSR后发送链路状态通告(LSA),一个LSU数据包可能包含多种、多个的LSA

5

LSack

(Link State Acknowledgement)

链路状态确认。

对DBD 报文进行确认,需要对每个LSA分别确认

2.数据包的扩展:

1.Hello包:

 

ospf汇总方式 ospf区域汇总_状态机_03

 

序号:

数据名称

描述:

1

Hello and dead intervals

hello包进行周期性收发

hello time=10s或者30s

dead time = hello time * 4  =  40 或 120

2

Area ID

区域id;判断区域划分规则以及是否为ABR

3

Authentication password

认证字段

4

Stub area flag

末梢区域标记 -- 判断是否为特殊区域(4类)

5

Network Mask

子网掩码;华为系要求邻居间直连接口ip的子网掩码必须一致

  • 邻居间Hello包中的以上5个点必须保持一致才能够建立成为邻居。

2.DBD包:

ospf汇总方式 ospf区域汇总_ospf汇总方式_04

 1.MTU值:

  • 邻接间的MTU必须一致,否则将卡在exstart或exchange状态机 
  • 华为默认为开启MTU检测
  • 在直连邻接的接口上开启MTU检测,必须两端均开启
[r1-GigabitEthernet0/0/1]ospf mtu-enable

2.DBD包中的标记位(I、M、M/S): 

  • I :为1标识该DBD包为本地发出的第一个DBD 
  • M :为1标识该DBD包不是本地发出的最后一个DBD包
  • M/S :为1标识本地为主,为0代表从

3.隐性确认

  • 使用一个携带载荷的LSA,使用与对方发送的LSA序列号相同的序列号来回应,一方面告诉对方,这个数据包我收到了,另一方面把对方需要的LSA发送给对方,这种可以节约2次ACK交互次数的确认
  • 主从被选举后,从 将使用 主 的序列号为确认接收到了主的DBD包,即使从设备已经不需要发送DBD,依然要使用未携带信息的DBD来进行隐性确认;

3.ospf的7种状态机:

序号:

状态机名称:

描述:

1

Down

路由器之间处于互不认识,当他们接收到hello包就进入下一个状态机

2

Init(初始化)

        接收到对方发送的hello包中,若存在本地(自己)的RID,就进入下一状态。(另外hello包中存在五个数据是判断能否成为邻居的重要标志)

3

2way(双向通讯)

邻居关系建立的标志(即已经确认双方都对方的rid)

接口网络类型(工作方式)判断是否进入下一个状态机

 点到点网络直接建邻接(跳过DR/BDR选举)

MA网络将进入下一个状态机,进行进行40S的DR/BDR选举

非DR/BDR之间不能进入下一个状态机,仅维持为邻居关系 

4

Exstart(预启动)

        使用不携带目录信息的DBD包进行主从关系选举,通过判断DR优先级(默认都为1),故一般使用RID进行判断,RID数值大为主Master(DR),优先进入下一个状态机;

        主从目的主要在于信息交互的有序性,避免同时收发造成网络拥塞。

选举完成后 邻接或保持邻居问题已解决,将在下一个状态机中进行链路和路由交换

5

Exchange(准交换)

使用DBD携带目录信息,进行共享交互

6

Loading(加载)

        获取未知的LSA信息。查看完 邻接的目录信息后,针对本地未知的LSA,使用LSR包进行查询,对端使用LSU进行应答, 本地接收到LSA后使用LSack进行确认

7

Full(转发)

最终状态路由加载完成,日志中邻接关系建立的标志

1.邻居变成邻接的关注条件:

  • OSPF协议在不同网络类型的接口上,其工作的方式不同
  • 邻居建立以后通过关注条件:接口网络类型(工作方式),判断是否能够由邻居建立成为邻接(毗邻)

序号:

名称:

描述:

1

p2p(点到点)

接口:ospf默认接口,环回,HDLC/PPP/GRE

邻居的发现:自动

Hello time: 10s

DR/BDR选举:无

所有邻居直接建立为邻接关系

2

p2mp(点到多点)

邻居的发现:自动

Hello time: 30s

DR/BDR选举:无

所有邻居直接建立为邻接关系

3

BMA

(广播型多路访问)

接口:以太网

邻居的发现:自动

Hello time: 10s

DR/BDR选举:有

4

NBMA

(非广播多路访问)

接口:帧中继、MGRE

邻居的发现:自动

DR/BDR选举:有

  • MA(MANBMA)网络中,由于OSPF协议需要邻接关系间进行数据库对比,故不支持接口水分割(存在区域水平分割);若两两间均为邻接关系,将可能出现大量的重复更新,因此在MA网络中的ospf协议将进行DR/BDR选举,所有非DR/BDR设备间维持邻居关系,不进行数据库共享。
  • 注:环回接口为虚拟接口,虽然显示工作方式为p2p,但实际上不是真正的p2p,而是环回的特有工作方式----无hello包收发, 以32位主机共享路由。

2.DR/BDR选举:

选举意义:

DR 在多路访问中可以减少邻接关系和 LSA 的泛洪。如果设备之间建立全互联的邻接关系, LSA 泛洪和处理占用系统资源和链路资源。

如果选举一个DR/BDR , 所有设备都和DR/BDR 建立full的邻接关系,DRothers 之间停留在Two-way , DRothers 和DR/BDR 之间交互LSA 就可以了,这样可以减少邻接关系和 LSA 的泛洪。

BDR 是DR的备份。

简化网络的拓扑结构,在广播和NBMA 中DR 是一个伪节点,每个设备只要计算到达DR 的开销即可,画路径矢量图的时候会用到

选举规则:

1)先比较参选接口的优先级 0-255 默认为1,数值大优。

2)若优先级相同,比较参选的RID,数值大优。

DR优先级修改最大,BDR次大

干涉选举:

修改参选接口的优先级

[r1]int g0/0/1

[r1-GigabitEthernet0/0/1]ospf dr-priority 0~255        --- 接口优先级为0则弃选

  选举的非抢占性:

  1)修改后该网段依然维持原有角色。

        2)原因:因为在MA网络中所有D Rothers是和DR建立邻居的。如果新加入的路由器抢占DR位置,会导致其他所有路由器断掉现在的邻居,和新加入的路由器建立邻居,由于需要重新选举DR、建立邻居、传递更新计算路由,会导致短时间的断网现象,会导致网络的不稳定。

3)若希望重新选举,需要重启该网段所有设备的OSPF进程。

<r1>reset ospf process   重启ospf进程

Warning: The OSPF process will be reset. Continue? [Y/N]:y

 3.mgre中使用ospf需要注意点:

  1. 在MGRE中,由于MGRE和GRE均使用 tunnel接口,故工作方式均默认为p2p 。在普通的GRE中,由于GRE本身就是点到点网络类型,所有p2p工作方式正常;而MGRE为多点的MA环境,再使用p2p工作方式将出现故障。
  2. 所以在此工作方式下需要修改接口的工作方式。修改接口方式可改为p2p,p2mp,broadcast 
  3. 由于p2p和 broadcast 的 hello time均为10s,故将能建立邻居关系,但p2p不进行DR/BDR选举,所以建邻后无法正常收敛。因此该网段所有接口必须修改成一样的工作方式。
  4. P2mp是为帧中继这种物理的NBMA网络设计,在MGRE环境中不建议使用。若全修改为p2pm会出现选路不佳,故最佳使用broadcast 
  5. [r1]int t0/0/0

  6. 要注意的是:在MGRE环境中,若网络拓扑为星型(点到多点),且所有接口的工作方式均需要修改为broadcast;但由于分支站点之间没有伪广播,无法知道对端的存在,故DR/BDR选举将混乱;只能让中心站点成为DR,取消BDR(通过干涉选举实现)。 补充内容:关于MGRE的拓扑
  •  补充内容:关于MGRE的拓扑以及运行OSPF的方案: 
  1.   星型 --- 中心站点固定ip地址,所有分支仅和中心注册。---所有接口工作方式为broadcast,仅中心站点为DR,无BDR
  2. 全连网状 --- 所有站点均为固定ip,所有设备均为中心,两两间均注册。---所有接口工作方式为broadcast;DR/BDR将默认自动选举成功
  3. 部分网状 --- 部分设备为固定ip地址,存在部分中心和部分的分支。---所有接口工作方式为broadcast;合理安排DR的位置

3、OSPF 扩展知识点:

1.ospf不规则区域

1、分类:

  1. 远离了骨干的非骨干(area0 - area1 - area2)----area1和area2的abr是一个非法abr不进行区域共享,导致a0和a1与a2互不通。
  2. 不连续骨干(area0 - area1 - area0)----abr均合法但是两个a0互不通

均导致全网不可达

2、解决方案:

序号:

名称:

描述:

1

tunnel

在合法与非法ABR间使用tunnel建立一个新的网段(类似连接一条独立的网线),然后将该网段宣告到ospf协议中

缺点:(1)选路不佳。( 2)周期和触发信息对中间穿越区域照成影响

2

OSPF虚链路

合法的ABR与同一区域的非法ABR,建立虚链路;非法ABR获得合法ABR授权后,可进行区域间路由的共享。两台设备均需配置

优点:由于没有新的网段链路出现,不会像tunnel一样选路不佳;

缺点:周期和触发的信息对中间穿越区域照成影响

      cisco系 --- 在虚链路上取消周期更新、周期保活 -- 失去可靠性

      华为系  --- 保留周期信息,对中间区域照成影响

3

多进程双向重发布(最优)

多进程:一台路由器上运行多个OSPF进程,可以分别建立自己的邻居,每个进程拥有独立的数据库,不共享信息;只是将各自计算所得路由加载于同一张路由表中;路由器单一一个接口只能工作在唯一一个进程中;类似于在同一台路由器上允许多种动态路由协议的效果;

重发布:一个网路中,若同时运行多种路由协议;默认协议间不兼容,无法共享路由;可以在两种协议间配置ASBR,ASBR(自治系统边界路由器,协议边界路由器)必须用不同的接口工作不同的协议中;通过两种协议获取到两边的路由,默认这些路由不共享,重发布技术可以实现路由共享,最终全网可达;

 2.OSPF的数据库表:

1、LSDB:

<r1>display  ospf lsdb   查看OSPF数据库目录

LSDB中装载了所有可以从LSU数据包中学习到的LSA(链路状态通告 —— 一条拓扑或一条路由条目被称为一条LSA);

OSPF协议的数据库是本地所有LSA的集合,不同网络环境下将产生不同类别的LSA

2、如何查看一条LSA的具体信息

<r1>display  ospf lsdb  router 2.2.2.2
router ———————————————— 类别
2.2.2.2 —————————————————————— link-id

以下内容为所有类别LSA均携带的基本信息:

序号:

名称:

描述

1

Type

类别名(此处为1类)

2

Ls id

在目录中页码号

3

Adv rtr

通告者的RID,该条LSA发起 源 的设备RID

4

Ls age

老化时,单位s

周期1800归0,触发当下归0

最大老化3609

5

Len

长度

6

seq

序列号

7

chksum

校验码

 各种类别的LSA:

类:

Type

传播范围

通告者

携带内容

Link-id   

LSA1

Router

单区域

该区域每台OSFP路由器

本地直连拓扑

通告者RID

LSA2

Network

单区域

该网段的DR设备

单个MA网段的拓扑 

DR接口的ip地址

LSA3

summary

整个OSPF域

ABR

    经过下一台ABR进入新的区域时,修改为新经过的ABR

域间路由条目

域间路由的目标网络号

LSA4

asbr 

    除ASBR所在区域外的整个ospf域;ASBR所在区域通过1类告知ASBR位置

    ABR,和ASBR在同一区域路由器,该路由器同时连接骨干区域,是一台ABR

   经过下一台ABR进入新的区域时,修改为新经过的ABR

ASBR位置验算

ASBR的RID

LSA5

ase

整个OSPF 域

ASBR

域外路由条目

域外路由的目标网络号 

LSA7

nssa

单个NSSA区域

ASBR

  从该NSSA区域进入骨干区域时将被转换为5类

域外路由

域外路由目标网络号

3.OSPF的LSA优化:

1、目的和方式:

  • 目的减少LSA的更新量
  1. 汇总  -- 优化骨干区域
  2. 特殊区域 -- 优化非骨干区域

2、汇总    

域间汇总 :ABR设备基于某个区域的1/2类LSA计算所得的最佳路由,共享给其他区域时,进行汇总传递

域外汇总:ASBR重发布进入OSPF域路由进行汇总配置。在ASBR重发布路由后,同时进行汇总配置

3、特殊区域 

优化非骨干区域的lsa数量

要求:不是骨干区域,不能存在虚链路

分类:

序号:

名称:

描述:

1

末梢域

Stub

(不能存在ASBR)

        该区域将拒绝4、5LSA的进入,同时由该区域连接骨干0区域的ABR向该区域,发布一条3类的缺省路由

2

完全梢

Stub no-summary

(不能存在ASBR)

        在末梢区域的基础上,进一步拒绝3类的LSA,仅保留ABR发送过来的3类缺省;先将该区域配置为末梢区域,然后仅在ABR上定义完全即可

3

非完全末梢区域

Nssa

(存在ASBR)

        该区域拒绝4/5类的LSA;本地的ASBR产生的域外路由基于7类进行传输;当7类LSA需要通过NSSA区域的ABR进入骨干区域,将由该ABR进行7转5,以5类发现骨干区域,7转5的这台ABR同时成为一台ASBR

4

完全Nssa

Nssa no-summary

(存在ASBR) 

        在NSSA的基础上进一步拒绝3类的LSA,由该区域连接骨干的ABR发布一条3类缺省。

        先将该区域配置为NSSA,然后仅在ABR定义完全即可

4.认证

1、定义:

 直连的邻居或邻接关系间,进行认证配置后,5种数据包中均携带身份核实的密码

        且华为设备会对更新信息进行加密 -- 前提为认证方式选择密文认证

2、认证分类:

序号:

方式:

描述:

1

接口认证

直连的邻居间秘钥和编号、模式必须完全一致否则无法建立邻居关系

2

区域认证

假设在R1上开启区域0的区域认证,实际就是在R1上所有宣告到区域0接口上配置了接口认证

可以理解为批量的完成了接口认证;

3

虚链路认证

在虚链路的两端配置

配置命令在后面部分

5.沉默接口:

  • 只接收不发送路由协议信息,用于路由器连接邻居或邻接的骨干链路,不得用于连接终端用户的接口

6.修改计时器:

  • 邻居间该时间必须一致,否则无法邻居关系
  • Ospf的hello time为10s或者30s。若hello time为10,不再建立修改若为30s可以结合网络的实际硬件处理能力,适当修改计时器,加快收敛速度

7. 缺省路由

  • 3/5/7类缺省

1、3类缺省: 

  • 是由配置特殊区域后(末梢、完全末梢、完全NSSA),特殊区域连接骨干区域的ABR自动发布。
  • 普通NSSA不产生3类缺省;

2、5类缺省:

  •  将边界路由器上,路由表中通过其他协议产生的缺省路由(最常为静态缺省)重发布到本地的OSPF协议中
  • 因此若边界路由器的路由表还未拥有缺省时,配置该命令将无法发布缺省到其他邻居;
[r3-ospf-1]default-route-advertise

强制本地向所有邻居重发布缺省路由,即便本地路由表中没有缺省,也会发布
[r3-ospf-1]default-route-advertise always

3、7类缺省:

  •  配置特殊区域NSSA时,NSSA区域连接骨干的ABR将自动发布缺省路由。
  • 切记:由于特殊区域会产生缺省路由指向骨干区域;故必须关注网络中ISP所在的位置,否则可能由于缺省的互指产生环路  --- ISP连接骨干以外的任何区域,那么该区域将不能配置为特殊区域;
由NSSA区域内部存在其他协议获取的缺省路由时,可以重发布到该NSSA区域
[r6-ospf-1-area-0.0.0.2]nssa default-route-advertise


…………