OSPF总结

目录

         一、简介

二、特点

1、数据包

2、ospf状态机

3、ospf的工作过程

4、ospf的基础配置

5、DBD包的扩展

三、OSPF报文 

Hello报文

LSR报文 

LSU报文

LSAck报文

四、OSPF的网络类型

1、MA类型

2、NBMA

3、P2P

4、P2MP

5、MGRE(非网络类型)

五、DR/BDR 的选举 

 六、多进程双向重发布

七、OSPF 数据表

 八、OSPF的优化 

九、扩展配置

1、认证

2、缺省路由


一、简介

定义:开放式最短路径优先OSPF(Open Shortest Path First)是IETF组织开发的一个基于链路  状态的内部网关协议。

优点:随着网络的快速成长和扩展,RIP协议的某些限制可能会导致在大型网络中不再适用,OSPF则就代替了RIP协议的缺点,基于链路状态,以链路开销作为度量方式,并把带宽作为参考值,度量方式更科学;没有跳数限制,适用的网络规模更大;收敛速度快,因为路由更新是及时的,并且能够快速传递到整个网络;能够处理VLSM,灵活进行IP地址分配;

二、特点

1、数据包

Hello邻居的发现,关系的建立,周期保活
DBD数据库描述包
LSR链路状态请求
LSU链路状态更新
LSack链路状态确认

2、ospf状态机

Down一旦接收到hello包进入下一个状态机
Init初始化,接收到的hello包中,存在本地的RID,进入下一状态
2way双向通讯,邻居关系建立的标志
Exstart预启动,使用不携带目录信息的DBD包进行主从关系选举,RID数值大为主,优先进入下一个状态机; 主从目的主要在于信息交互的有序性,避免同时收发造成网络拥塞
Exchange

准交换 -- 使用DBD携带目录信息,进行共享

Loading

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

Full 

 

转发 --邻接关系建立的标志

3、ospf的工作过程

 1)启动配置完成后,邻居间组播收发hello包,建立邻居关系;生的邻居表。

2)邻居关系建立后,将进行条件的匹配,匹配失败将维持邻居关系,仅hello包周期保活即可。

3)匹配成功可以建立邻接关系。

4)邻接关系间将使用DBD/LSR/LSU/LSack来获取本地未知的LSA信息。

5)获取完成后,邻接关系间数据库同步一致,得到数据库表。

4、ospf的基础配置

1)启动ospf,可以定义进程号,进程号仅具有本地意义。

2)宣告:区域划分、激活接口、传递接口信息。

区域划分规则:

星型拓扑

区域0为骨干,大于0为非骨干,所有非骨干必须连接到骨干区域方可正常共享路由

区域间必须存在ABR

区域边界路由器

5、DBD包的扩展

1)Ospf的DBD包中将携带接口的MTU值,要求邻接间的MTU必须一致,否则将卡在exstart或        exchange状态机。

2)DBD包中的标记位 ,I M MS   I为1标识该DBD包为本地发出的第一个DBD   M为1标识该DBD包不是本地发出的最后一个DBD包    MS 为1标识本地为主,为0代表从。

3)隐性确认:主从被选举后,从将使用主的序列号为确认接收到了主的DBD包,即使从设备已经不需要发送DBD,依然要使用未携带信息的DBD来进行隐性确认;

三、OSPF报文 

OSPF的报文类型可以分为以下五种:

  • Hello报文
  • DBD报文
  • LSR报文
  • LSU报文
  • LSAck报文

Hello报文

邻居发现:使能了OSPF功能的接口会周期性地发送Hello报文,与网络中其他收到Hello报文的路由器协商报文中的指定参数,决定是否建立邻居关系。

建立双向通讯:如果路由器发现收到的Hello报文的邻居列表中有自己Router ID,则认为已经和对端建立了双向通信,邻居关系建立。

指定Dr和Bdr:Hello报文包含DR优先级和Router ID等信息,每台路由器将自己选出的DR和BDR写入Hello报文的DR和BDR字段中,然后进行DR和BDR的选举,详细的选举原则和过程请参见DR和BDR选举。

保活:在建立邻居关系后,使能OSPF功能的接口仍周期性地发送Hello报文维护邻居关系,如果在一定的时间间隔内没有收到邻居发来的Hello报文,则中断邻居关系。

LSR报文 

两台路由器互相交换过DD报文之后,需要发送LSR报文,向对方请求更新LSA。LSR报文里包括所需要的LSA的摘要信息。

LSU报文

用来向对端路由器发送其所需要的LSA或者泛洪本端更新的LSA,其报文内容是多条完整的LSA的集合。为了实现泛洪的可靠性传输,需要LSAck报文对其进行确认,对没有收到确认报文的LSA进行重传,重传的LSA是直接发送到邻居的。

LSAck报文

用来对接收到的LSU报文进行确认,内容是需要确认的LSA的Header。一个LSAck报文可对多个LSA进行确认。

四、OSPF的网络类型

1、MA类型

由于OSPF协议需要邻接关系间进行数据库对比,故不支持接口水分割;若两两间均为邻接关系,将可能出现大量的重复更新;因此,在MA网络中ospf协议将进行DR/BDR选举,所有非DR/BDR设备间维持邻居关系不进行数据库共享;

选举规则:1)先比较参选接口的优先级 0-255 默认为1,大优

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

若需要干涉选举,可以修改参选接口的优先级;建议直接将DR优先级修改最大,BDR次大,其他设备优先级修改为0,0标识不参选,可以不同重启任何设备的ospf进程;

2、NBMA

当链路层协议是帧中继,缺省情况下,OSPF认为网络类型是NBMA。

在该类型的网络中,以单播形式发送协议报文(Hello报文、DBD报文、LSR报文、LSU报文、LSAck报文)。

3、P2P

当链路层协议是PPP、HDLC或LAPB时,缺省情况下,OSPF认为网络类型是P2P。

在该类型的网络中,以组播形式发送协议报文(Hello报文、DBD报文、LSR报文、LSU报文、LSAck报文)。

4、P2MP

没有一种链路层协议会被缺省的认为是P2MP类型。点到多点必须是由其他的网络类型强制更改的。常用做法是将非全连通的NBMA改为点到多点的网络。

以组播形式发送Hello报文,以单播形式发送(DBD报文、LSR报文、LSU报文、LSAck报文)。

5、MGRE(非网络类型)

  1. 星型  -- 中心站点固定ip地址,所有分支仅和中心注册
  2. 全连网状 --- 所有站点均为固定ip,所有设备均为中心,两两间均注册
  3. 部分网状 -- 部分设备为固定ip地址,存在部分中心和部分的分支

在以上三种环境中运行OSPF的方案:

  1. 星型 -- 所有接口工作方式为broadcast,仅中心站点为DR,无BDR
  2. 全连 -- 所有接口工作方式为broadcast;DR/BDR将默认自动选举成功
  3. 部分 --  所有接口工作方式为broadcast;合理安排DR的位置

在MGRE环境中,若网络拓扑为星型;且所有接口的工作方式,均修改为broadcast;

由于分支站点之间没有伪广播,无法知道对端的存在,故DR/BDR选举将混乱;只能让中心站点成为DR,没有BDR;

五、DR/BDR 的选举 

在DR和BDR选举的过程中,如果两台路由器的DR优先级相等,需要进一步比较两台路由器的Router ID,Router ID大的路由器将被选为DR或BDR。

Router ID是用于在自治系统中唯一标识一台运行OSPF的路由器的32位整数。每个运行OSPF的路由器都有一个Router ID。Router ID的格式和IP地址的格式是一样的。

OSPF的Router ID的选取有两种方式:手动配置和设备自动选取。在实际网络部署中,考虑到协议的稳定,推荐手工配置Loopback接口的IP地址做为Router ID。

如果没有手动配置OSPF的Router ID,设备会选取全局Router ID作为OSPF的RouterID,如果二者都没有配置,设备会按照一定的规则自动选取。具体的选取规则,请参见路由的Router ID。

以下3种情况会进行Router ID的重新选取:

  • 通过本命令重新配置OSPF的Router ID
  • 重新配置全局Router ID,并且重新启动OSPF进程
  • 原来被选举为全局Router ID的IP地址被删除并且重新启动OSPF进程

原则:在广播网络和NBMA网络中,为了稳定地进行DR和BDR选举,OSPF规定了一系列的选举规则:选举制、终身制、继承制。

选举过程:

  1. 接口UP后,发送Hello报文,同时进入到Waiting状态。在Waiting状态下会有一个WaitingTimer,该计时器的长度与DeadTimer是一样的。默认值为40秒,用户不可自行调整。OSPF接口状态的详细描述,请参见OSPF接口状态机。
  2. 在WaitingTimer触发前,发送的Hello报文是没有DR和BDR字段的。在Waiting阶段,如果收到Hello报文中有DR和BDR,那么直接承认网络中的DR和BDR,而不会触发选举。直接离开Waiting状态,开始邻居同步。
  3. 假设网络中已经存在一个DR和一个BDR,这时新加入网络中的路由器,不论它的Router ID或者DR优先级有多大,都会承认现网中已有的DR和BDR。
  4. 当DR因为故障Down掉之后,BDR会继承DR的位置,剩下的优先级大于0的路由器会竞争成为新的BDR。
  5. 只有当不同Router ID,或者配置不同DR优先级的路由器同时起来,在同一时刻进行DR选举才会应用DR选举规则产生DR。该规则是:优先选择DR优先级最高的作为DR,次高的作为BDR。DR优先级为0的路由器只能成为DR Other;如果优先级相同,则优先选择Router ID较大的路由器成为DR,次大的成为BDR,其余路由器成为DR Other。

 六、多进程双向重发布

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

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

在不规则的区域中,假设为OSPF进程1和进程2,进入ABR路由器,在进程1中 import-route ospf  2  -----为导入进程2。(重发布的优先级为150)

七、OSPF 数据表

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

LSDB中装载了所有可以学习到的LSA;

LSA-- 链路状态通告   一条拓扑或一条路由条目被称为一条LSA

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

LSA在共享时基于LSU数据包传递;

传播范围通告者携带内容link-id

LSA1

单区域

该区域每台OSFP路由器

本地直连拓扑

    通告者RID

LSA2

单区域

 该网段的DR设备

单个MA网段的拓扑 

 DR接口的ip地址

LSA3

 整个OSPF域

 ABR

域间路由条目 

  域间路由的目标网络号

LSA4

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

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

 ASBR位置验算

ASBR的RID

LSA5

整个OSPF 域

 ASBR

域外路由条目

域外路由的目标网络号

 八、OSPF的优化 

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

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

 2)域外汇总 --- ASBR重发布进入OSPF域路由进行汇总配置

 2.特殊区域  ---  优化非骨干区域的lsa数量

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

不存在ASBR

1)末梢区域:该区域将拒绝4、5LSA的进入,同时由该区域连接骨干0区域的ABR向该区域,发布一条3类的缺省路由;该区域内每台路由器均需配置,否则无法正常建立邻居关系

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

 

 存在ASBR

1)NSSA -- 非完全末梢区域:该区域拒绝4/5类的LSA;本地的ASBR产生的域外路由基于7类进行传输;当7类LSA需要通过NSSA区域的ABR进入骨干区域,将由该ABR进行7转5,以5类发现骨干区域,7转5的这台ABR同时成为一台ASBR;华为设备由该区域连接骨干ABR自动产生7类缺省路由;

2)完全NSSA :在NSSA的基础上进一步拒绝3类的LSA,由该区域连接骨干的ABR发布一条3类缺省先将该区域配置为NSSA,然后仅在ABR定义完全即可。

九、扩展配置

1、认证

接口认证

ospf authentication-mode  md5  1 cipher 123456

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

区域认证

假设在R1上开启区域0的区域认证,实际就是在R1上所有宣告到区域0接口上配置了接口认证;authentication-mode md5 1 cipher 123456

虚链路认证

vlink-peer 3.3.3.3 md5 1 cipher 123456

在虚链路的两端配置

2、缺省路由

3类缺省

是由配置特殊区域后,特殊区域连接骨干区域的ABR自动发布

末梢、完全末梢、完全NSSA;普通NSSA不产生3类缺省;

5类缺省

将边界路由器上,路由表中通过其他协议产生的缺省路由(最常为静态缺省)重发布到本地的OSPF协议中

因此若边界路由器的路由表还未拥有缺省时,配置该命令将无法发布缺省到其他邻居;

7类缺省

配置特殊区域NSSA时,NSSA区域连接骨干的ABR将发布缺省路由;由NSSA区域内部存在其他协议获取的缺省路由时,可以重发布到该NSSA区域

注:由于特殊区域会产生缺省路由指向骨干区域;故必须关注网络中ISP所在的位置,否则可能由于缺省的互指产生环路  --- ISP连接骨干以为的任何区域,那么该区域将不能配置为特殊区域;

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值