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

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

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

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


1. 协议使用范围: IGP


2. 协议算法特点:链路状态型路由协议


3. 协议是否传递网络掩码:传递网络掩码(无类别的路由协议)


4. 协议封装: 基于 IP 协议封装,协议号为 89


一 . OSPF 特点



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



2.OSPF 传递的是 LSA (链路状态通告 6 种类型 LSA 1 2 3 4 5 7 )



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



4.OSPF 更新地址: 224.0.0.5 224.0.0.6



5.OSPF 支持区域划分



6.OSPF 是一种比较消耗路由器资源的协议


一、OSPF协议的数据包:

  1. 数据包结构

 

OSPF更新过程 ospf的更新时间_OSPF

  1. 数据包种类

 

OSPF更新过程 ospf的更新时间_OSPF_02

 

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
  5. 末梢区域标记          --特殊区域
  6. 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
  7. OSPF更新过程 ospf的更新时间_OSPF更新过程_03

  8.