ospf笔记

同一区域内的OSPF路由器拥有完全一致的LSDB,在区域内部,OSPF采用SPF算法完成路由计算。
随着网络规模不断扩大,路由器为了完成路由计算所消耗的内存、CPU资源也越来越多。通过区域划分可以在一定程度上缓解路由器的压力。
在大规模网络中除了OSPF之外,还可能存在其它路由协议,OSPF支持外部路由引入,从而使得OSPF路由器知晓到达域外的路由。

LS Age(链路状态老化时间):此字段表示LSA已经生存的时间,单位是秒。
Options(可选项):每一个bit都对应了OSPF所支持的某种特性。
LS Type(链路状态类型):指示本LSA的类型。
Link State ID(链路状态ID):不同的LSA,对该字段的定义不同。
Advertising Router(通告路由器):产生该LSA的路由器的Router ID。
LS Sequence Number(链路状态序列号):当LSA每次有新的实例产生时,序列号就会增加。
LS Checksum(校验和):用于保证数据的完整性和准确性。

在一个大型网络中,OSPF路由器通常需要同时维护由域内路由、域间路由、外部路由构成的数据库。当网络规模不断扩大时,LSDB规模也不断增长。如果某区域不需要为其他区域提供流量中转服务,那么该区域内的路由器就没有必要维护本区域外的链路状态信息。
OSPF通过划分区域可以减小区域内路由器LSDB的规模,对于那些位于自治系统(AS)边界的非骨干区域的低端路由器来说仍然无法承受,通过OSPF的特殊区域特性可以进一步减少LSA数量和路由表规模。

动态路由协议:在路由器间启动一种协议,之后路由器间进行数据沟通,相互学习计算来获取之前未知的目标网段的路径;

RIP   OSPF  EIGRP   BGP   ISIS  

分类:

基于AS进行分类  

AS-自治系统   标准16位二进制  0-65535  其中 1-64511公有   64512-65535 私有

              扩展32位二进制

AS之内运行—IGP协议 –内部网关路由协议  --  RIP/OSPF/ISIS/EIGRP

AS之间运行—EGP协议 -外部网关路由协议 --   EGP/BGP

IGP协议的分类:

【1】基于更新时是否携带子网掩码 ---   有类别(不带)    无类别 (携带)

【2】基于工作特点进行分类    

  1. 距离矢量-DV   RIP/EIGRP   直接共享路由表 – 直接学习路由条目   更新量小
  2. 链路状态-LS    OSPF/ISIS   共享拓扑信息   -- 本地计算路由条目  更新量大

OSPF:开放式最短路径优先协议     无类别链路状态型路由协议

        公有协议;跨层封装到IP报头,协议号89; 组播更新:224.0.0.5  224.0.0.6

        触发更新、周期更新(30min);

        需要结构化的部署:区域划分  地址规划

DD报文部分字段解释
I:当发送连续多个DD报文时,如果这是第一个DD报文,则置为1,否则置为0。
M (More):当发送连续多个DD报文时,如果这是最后一个DD报文,则置为0。否则置为1,表示后面还有其他的DD报文。
MS (Master/Slave):当两台OSPF路由器交换DD报文时,首先需要确定双方的主从关系,Router ID大的一方会成为Master。当值为1时表示发送方为Master。
DD sequence number:DD报文序列号。主从双方利用序列号来保证DD报文传输的可靠性和完整性。

一、OSPF协议的数据包:

  1. 数据包结构

Hello:用于邻居、邻接    发现、建立、保活    hello time 默认10s或30s

DBD:数据库描述包

LSR:链路状态请求

LSU:链路状态更新  

LSack:链路状态确认

二、状态机

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

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

2way:双向通讯   邻居关系建立的标志  

条件匹配:点到点网络将直接进入下一个状态; MA网络类型将进行DR/BDR选举,非DR/BDR间将无法进入下一状态;

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

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

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

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

LSA:链路状态通告,在不同的网络条件下将产生不同类别的LSA信息来代表拓扑或者路由条目;

LSDB:链路状态数据库  装载和存储所有各种类别的LSA;

三、OSPF的工作过程

OSPF协议启动后,A向本地所有启动了OSPF协议的直连接口组播224.00.5发送hello包;本地hello包中携带本地的全网唯一的router-id;

之后对端B运行OSPF协议的设备将回复hello包,该hello包中若携带了A的routerid,那么A/B建立为邻居关系;生成邻居表

邻居关系建立后,邻居间进行条件匹配,匹配失败就停留于邻居关系,仅hello包周期保活;

条件匹配成功可以开始建立邻接关系:

邻接间共享DBD包,将本地和邻接的DBD包进行对比,查找到本地没有的LSA信息目录;

之后使用LSR来询问,对端使用LSU应答具体的LSA信息,之后本地再使用ack确认,可靠;

该过程完成后,生成数据库表

再之后本地基于数据库表,启用SPF选路规则,计算到达所有未知网段的最短路径,然后加其加载到本地的路由表中;收敛完成,hello包周期保活,每30min再周期收发一次DBD来判断和邻接间数据库是否一致;

结构突变:

  1. 新增网段 直连新增网段的设备,将直接使用LSU包来告知本地所有邻接,之后邻接传邻接扩散到全网,需要ACK确认
  2. 断开网段 直连断开网段的设备,将直接使用LSU包来告知本地所有邻接,之后邻接传邻接扩散到全网,需要ACK确认
  3. 无法沟通    dead time 为hello time 的4倍;当dead time到时时,断开邻居关系,删除通过该邻接生成的路由条目;

四、OSPF的基础配置

[r1]ospf 1 router-id 1.1.1.1  启动时,需要定义进程号;进程号仅具有本地唯一性; 建议同时配置全网唯一的router-id; 生成顺序—手工 本地环回接口中最大ip地址数值   本地物理接口中最大数值的ip地址  

[r1-ospf-1]

宣告:ospf协议在宣告的同时需要进行区域划分

区域划分规则:

1、星型拓扑结构,区域0为中心骨干区域,其他大于0为非骨干站点区域;

2、必须拥有ABR--区域边界路由器

[r2-ospf-1]area  0     先进入区域,之后再该区域内宣告属于该区域的接口,宣告时必须携带反掩码

[r2-ospf-1-area-0.0.0.0]network 12.1.1.2 0.0.0.0

[r2-ospf-1-area-0.0.0.0]network 2.2.2.2 0.0.0.0

[r2-ospf-1-area-0.0.0.0]q

[r2-ospf-1]area  1

[r2-ospf-1-area-0.0.0.1]network 23.1.1.1 0.0.0.0

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

[r2]display  ospf peer

[r2]display  ospf peer  brief

邻居、邻接关系的发现、建立、保活均依赖hello包进行;

Hello包中邻居间必须完全一致的参数:任意参数不同,均导致邻居关系无法建立

  1. 子网掩码(华为)发送hello包接口的源ip地址其掩码   
  2. Hello dead time      -- OSPF接口网络类型相关
  3. 认证字段            -- 更新安全
  4. 区域ID              -- 要求区域间存在ABR

邻居关系建立后,邻居间进行条件匹配,匹配成功者间可以建立为邻接关系;邻接关系间将使用DBD包进行主从关系选举,之后由主优先使用DBD进行数据库目录信息的共享,从而最终基于LSR/LSU/LSAck来获取未知的LSA信息;当收集到全网的LSA信息后,装载于本地的LSDB(链路状态数据库)--数据库表:

<r2>display  ospf lsdb   

<r1>reset ospf process

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

关于OSPF,DBD包的几个知识点:

1、DBD包中携带MTU值,要求邻居MTU值必须相同,否则将卡在exstart或exchange状态;

   默认华为未开启MTU检测

[r1]interface GigabitEthernet 0/0/1

[r1-GigabitEthernet0/0/1]ospf mtu-enable

2、隐性确认—不使用确认包,而是从设备复制主设备的序列号来确认收到了主的DBD

  1. OSPF标记位    I   M    MS        I为1本地发出的第一个DBD包

           M为0,表示本地发出的最后一个DBD;    MS为1代表主,为0代表从;

数据库建立后,本地基于SPF选路规则,计算到达未知网段最短路径加载于路由表中;

  1. 字母

Cisco

O - OSPF, IA - OSPF inter area

       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2

       E1 - OSPF external type 1, E2 - OSPF external type 2

O 同一区域内,本地通过拓扑计算所得

O IA 域间路由,ABR通过其他区域的拓扑计算所得路由,然后共享到另一个区域;本地区域另一区域

O E1/2  域外路由    其他协议或其他进程产生后,通过ASBR重发布进入到OSPF协议

ON1/2  NSSA域外路由   其他协议或其他进程产生后,通过ASBR重发布进入到OSPF协议,同时学习到这条路由的设备处于ospf的一种NSSA的特殊区域中

<r1>display  ospf routing  华为查看

  1. 管理距离(华为为优先级)

Cisco设备定义管理距离为110       在华为设备上优先级为10

  1. 度量(cost)

开销值   参考带宽/接口带宽        华为设备,环回接口不计算为一段路径;默认的参考带宽为1000M;

优选cost值之和最小路径;

二、 OSPF协议邻居成为邻接关系的条件

在点到点网络中,所有的OSPF邻居将直接建立为邻接关系;

在MA网络中,为了避免大量的重复的LSA更新—因为OSPF需要邻接间进行DBD对比,故没有接口水分割机制;故必须进行DR/BDR选举,非DR/BDR间仅建立邻居关系;---在每一个MA网络中均需要进行一次选举;

选举规则:

  1. 优先级    数值大优,默认为1;      若为0为放弃选举;
  2. 优先级一致,比较参选接口所有设备的router-id,数值大优;

[r1-GigabitEthernet0/0/1]ospf dr-priority 2

修改参选接口的优先级

切记:DR选举非抢占 ,故在修改优先级后,必须重启参选设备ospf进程来重新选举

OSPF的收敛被称为LSA洪泛,也被称为LSDB同步;

  • OSPF接口网络类型 –OSPF协议在不同网路类型的接口下,其不同的工作方式

接口网络类型                  OSPF接口网络类型(ospf工作方式)

LoopBack 0.          Cisco – LoopBack   没有hello包   以32位主机路由发送

                     华为—显示为p2p类型    实际为LoopBack工作方式

点到点

(串线HDLC/PPP/GRE)   p2p. hello time10s  自动建邻   不选DR/BDR

BMA

以太网                 Broadcast  hello time 10s  自动建邻    选DR/BDR

NBMA

帧中继                nbma  hello time 30s   手工建立邻居   选DR/BDR

MGRE                 p2p. hello time10s  自动建邻   不选DR/BDR –在一个网段中只

能存在一个邻居;华为设备在一个MGRE网段,接口为点到点工

作方式时,仅和最先收到hello的设备建立邻居关系;

Cisco在这种情况将出现邻居的翻滚;

注:在MGRE环境中,接口默认的ospf工作方式为点到点,这种方式无法实现该NBMA网段的邻居全连;故只能去修改接口的工作方式:

修改MGRE网段所有接口为Broadcast工作方式,切记若一部分接口修改为Broadcast,另一部分接口依然保持为点到点,由于hello time相同可以建立邻居关系,但工作机制在DR/BDR选举处不同,故最终该网段无法正常收敛;

  1. 同时,必须关注网络拓扑结构;若该网段为全连网状结构,那么DR选举将正常进行;但若为部分网状或中心到站点拓扑,将可能出现DR位置错误问题;
  2. 若网络拓扑只能为部分网状或中心到站点,需要人为手工干预DR位置

或者将所有接口的工作方式修改为点到多点工作方式;

Ospf的点到多点工作方式:只能手工配置,适用于部分网状结构拓扑;

  Hello time30s,不选DR/BDR,自动建立邻居关系;

  • OSPF的不规则区域

一台ABR设备若没有连接到骨干区域0,那么默认不能进行区域间路由的共享

  1. 远离了骨干的非骨干区域
  2. 不连续骨干

解决方案:

  1. 在合法与非法ABR上建立tunnel,然后将其宣告到ospf协议中

缺点:1、周期更新、保活,触发更新对中间穿越区域产生资源占用

  1. 选路不佳  --  当ospf学习到两条相同目标,但不同区域同时过来时,优选骨干区域;

Tunnel区域应该宣告在同一个区域

  1. 虚链路 --- 在合法与非法ABR上建立虚链路,由合法ABR为非法ABR进行授权;

            使得非法ABR可以进行区域间路由的共享;

           因为并没有增添新的路径,故不存在选路不佳的问题;

[r2-ospf-1]area  1     两台ABR共同所在的区域

[r2-ospf-1-area-0.0.0.1]vlink-peer 4.4.4.4  对端ABR的RID

   Cisco为了避免周期信息对中间区域的占用,取消虚链路上的所有周期行为;---不可靠

   华为在虚链路上依然保持周期的保活、更新 --- 对中间区域的资源占用

  1. 多进程双向重发布(推荐)

多进程--- 同一台设备上,不同的进程可以工作在不同的接口上,建立各自的邻居关系,生成各自的数据库(不共享);仅将各自计算所得路由加载于同一张路由表内;一个接口只能被一个进程来宣告;

双向重发布,ASBR(自治系统边界路由器、协议边界路由器),将不同进程或不同协议产生的路由进行双向共享;

[r2]ospf 1

[r2-ospf-1]import-route ospf  2

[r2-ospf-1]q

[r2]ospf 2

[r2-ospf-2]import-route ospf  1

  • OSPF的各种LSA --- 数据库表

<r1>display  ospf lsdb

<r1>display ospf lsdb router 1.1.1.1

                    类别名  link-id(在目录中的编号)

所有类别的LSA,均携带以下信息

  Type      : Router    类别名  此处为1类

  Ls id     : 1.1.1.1     link-id  在目录中的编号

  Adv rtr   : 1.1.1.1     通告者 --- 该LSA的更新源设备的RID

  Ls age    : 1359    老化时间   1800s周期刷新为0   触发更新归0  最大3609s

  Len       : 48

  Options   :  E  

  seq#      : 8000000c   序列号

  chksum    : 0x818c     校验码

OSPF的LSA是1800会更新一次更新一次序列号会加一

LSA的新旧比较

1、会先比较序列号,序列号越大越优,

2、如果序列号相同,会比较校验值(checksum)越大越优

3、如果校验值也相同,会比较LSA Age时间,是否等于MAX-age时间(3600)

4、如果age时间不等于max-age时间,会比较他们的差值,如果差值大15分钟(900秒),小的优

5、如果age时间不等于max-age时间,会比较他们的差值,如果差值小于15分钟,说明是同一条LSA,忽略其中一条

什么情况下LSA会更新:

1、1800到期会周期更新

2、触发更新(接口地址变化(增加,或删除),修改接口开销值,删除接口,或者删除通告)

类别名               传播范围                 通告者                      携带的信息

1类LSA-router        本区域内          本区域内的每台路由器       该区域每台设备的直连拓扑

2类LSA-Network      本区域内              该网段的DR                   该网段的拓扑

3类LSA-summary      整个OSPF域            ABR                        O IA 域间路由 

4类LSA-asbr         除ASBR所在区域外的     ABR                        ASBR的位置

                    整个ospf域;ASBR所在区域使用

                    1类标记位置

5类LSA-ase           整个OSPF域            ASBR                       O E  域外路由

7类LSA-nssa          单个的NSSA区域内      ASBR                       O N  域外路由

类别名                 link-id                        通告者

1类LSA-router        通告者的RID              本区域内的每台路由器

2类LSA-Network      DR接口的ip地址          每个MA网段中的DR

3类LSA-summary     域间路由的目标网络号        ABR,在经过下一台ABR时,修改为新的ABR

4类LSA-asbr         ASBR的RID                 ABR,在经过下一台ABR时,修改为新的ABR

5类LSA-ase          域外路由的目标网络号        ASBR 在ospf内部传递时不变

7类LSA-nssa         域外路由的目标网络号               ASBR

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值