ospf(开放式最短路径优先协议)

OSPF:开放式最短路径优先协议---标准的链路状态协议

一.基本概念

       无类别链路状态路由协议---组播更新协议:224.0.0.5/6     触发更新、周期更新(30min);  跨层封装到网络层--协议号89;因为基于LSA更新导致更新量很大-----且需要为中大型网络服务---还要进行周期的维护---所以要进行结构化部署  结构化部署--区域划分、地址规划

二.数据包-五种基本的数据包

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重新获取

五.配置:

r1(config)#router ospf 1   启动时需要配置进程号,仅具有本地意义

r1(config-router)#router-id 1.1.1.1  

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

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

r1(config-router)#network 1.1.1.1 0.0.0.0 area 0              在宣告时必须携带反掩码 

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

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

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

  1. hello 和dead time   2、区域ID   3、认证字段  4、末梢区域标记

r2#show ip ospf neighbor 查看邻居表

 

邻居关系建立后,进行条件匹配,匹配失败为邻居关系,hello包周期保活即可;

匹配成功将使用DBD/LSR/LSU/LSack获取未知的LSA信息,生成LSDB---数据库表:

r2#show ip ospf database  查看数据库的目录

r2#show ip ospf database router x.x.x.x  具体查看某条LSA

            

DBD包:exstart和exchange均出现; exstart状态时,没有携带目录信息,仅用于主从关系选举;

  1. 在exstart状态的DBD时,使用的是类似hello的DBD,使用隐型确认;---基于序列号,使用主的序列号确认主的信息
  2. 在exchange状态 发送的是真正的DBD,进行正常的确认
  3. DBD包中的标记位: 标记位  I 为1标识本地发出的第一个DBD 包

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

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

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

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标识OSPF本区域内通过拓扑计算所得路由

使用O IA标识其他区域路由器通过ABR导入所得

使用O E1/2标识其他协议或其他进程产生后,通过ASBR重发布进入

使用O N1/2标识其他协议或其他进程产生后,通过ASBR重发布进入,同时本地处于NSSA特殊区域;

管理距离为110;度量为cost值;

Cost值=开销值=参考带宽/接口带宽   默认参考带宽为100M;

OSPF优选cost值之和最小的路径;

   可以修改默认的参考带宽,切记整个网络所有设备参考带宽需一致

r1(config-router)#auto-cost reference-bandwidth ?

  <1-4294967>  The reference bandwidth in terms of Mbits per second

r1(config-router)#auto-cost reference-bandwidth 1000

六.OSPF的邻居建立成为邻接关系的条件

基于网络类型------点到点     MA多路访问

在点到点网络中,邻居关系必须成为邻接关系,否则无法正常收敛

在MA网络若全网均为邻接关系,那么将可能出现大量重复性的LSA洪泛;

为避免该现象,将进行DR/BDR的选举;所有的非DR/BDR间不得建立成为邻接关系;

选举规则:1、先比较接口优先级----- 默认1;大优;0标识不参选,点到点接口默认为0;

          2、优先级相同,比较设备的RID,数值大优;

干涉选举的方法:

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

r1(config)#interface fastEthernet 0/0

r1(config-if)#ip ospf priority 3

注:DR选举非抢占,故修改优先级后必须重启设备的OSPF进程

r1#clear ip ospf process

Reset ALL OSPF processes? [no]: yes

  1. 修改DR最大优先级,BDR次大;剩余所有设备优先级修改为0;

 切记不得将所有设备优先级修改为0,至少必须存在DR;

七.OSPF的接口网络类型----OSPF协议在不同网络类型下的接口上,不同的工作方式;

接口网络类型        

环回 接口                            无hello包                以32位主机掩码发送路由              

点到点(HDLC/PPP)      hello time 10s         不选DR                                支持组播

MA   (以太网)                hello time 10s          选DR                                  支持组播

NBMA                                hello time 30s          选DR                                 不 支持组播

点到多点                            hello time 30s         不选DR                                支持组播

点到多点 非广播                hello  time 30s         不选DR       会生成32位主机路由   不支持组播

猜你喜欢

转载自blog.csdn.net/qq_43349463/article/details/83661726