OSPF ---- 开放式最短路径优先协议

1,因为OSPF是链路状态型协议,算出来的路径不会出现环路,并且,OSPF是以带宽作为开销值的评判标准的,所以,相较于RIP选出来的路径更加合理

2,因为OSPF的计时器时间短于RIP,所以,从收敛速度的角度看,OSPF优于RIP

3,RIP传递的数据是路由信息,而OSPF传递的数据是拓扑信息,从单个数据包的角度来看,OSPF的资源占用量是大于RIP的。但是,由于RIP存在30S一次的周期更新,而OSPF并没有这样高频的周期更新,并且,OSPF本身就设计了很多减少资源占用的措施。所以从整体的角度来看,OSPF在资源占用上小优于RIP。

        RIP--RIPV1,RIPV2---IPV4

        RIPNG--IPV6

        OSPF--OSPFV1(在实验室阶段夭折),OSPFV2---IPV4

        OSPFV3---IPV6

RIPV2和OSPFV2

相同点:

1, OSPFV2和RIPV2一样,都是无类别的路由协议,都支持VLSM和CIDR

2,OSPFV2(224.0.0.5224.0.0.6)和RIPV2(224.0.0.9)都是以组播的形式发送信息--本地链路组播----TTL值为1

3,OSPFV2和RIPV2都支持等开销负载均衡

不同点:

RIPV2只能应用在小型网络当中,OSPFV2可以应用在中大型网络当中。

OSPF为了适应中大型网络,需要进行----结构化部署 -----区域划分

区域划分的目的 --- 区域内部传递拓扑信息,区域之间传递路由信息。

区域边界路由器 ---- ABR-- 同时属于多个区域,并且一个接口对应一个区域。且至少有一个接口在area 0。区域之间可以存在多个ABR设备,并且一个ABR设备也可以属于多个区域

区域划分的要求:1,区域之间必须存在ABR设备

                           2,区域划分必须遵循星型拓扑进行划分--星型拓扑中间区域称为骨干区

                     为了方便对区域进行管理,我们给每个区域设置一个区域ID--

area ID-----32位二进制构成(表示方法存在两种--1,采用点分十进制的形式来表示 2,直接采用10进制的形式来表示)----规定骨干区域的ID定义为0

如果网络规模不大,则不进行区域划分,则这样的网络成为单区域OSPF网络。(在华为设备中要求OSPF网络的区域ID必须设置为area 0)

如果网络规模较大,需要进行划分,则称为多区域OSPF网络

1, OSPF的数据包类型

hello包 --- 用来周期发现,建立和保活邻居关系

  hello包默认以10S为周期来进行周期保活的。 ---hello时间

  OSPF中进行失效判断的时间为4的hello时间。--dead time死亡时间

            因为OSPF需要收集网络拓扑信息,所以就必须区分和标定不同的路由器。我们给每台路由器设计一个RouterID

  • 可手工配置,仅需满足以下要求

1,   全网唯一

2,格式统一 --- 必须按照IP地址的格式来进行配置

  • 可自动生成 ----

        1,如果存在环回接口,则在环回接口中取IP地址最大的为RouterID;

        2, 若不存在环回接口,则需要在所有的物理接口中选择IP地址最大的作为RouterID

hello包中会携带RouterID

DBD包-----数据库描述报文 ----携带的是路径信息的摘要

LSR包------链路状态请求报文----基于DBD包请求未知LSA的信息

LSU包-----链路状态更新报文-----真正携带LSA信息的数据包

LSAck包---链路状态确认报文-----确认包

OSPF协议存在30min一次的周期更新。

2, OSPF的状态机

     

OSPF ---- 开放式最短路径优先协议_第1张图片

Two-Way State----标志着邻居关系的建立。  只发hello包维持关系

      (条件匹配)-----条件匹配成功,则可以进入下一个状态,如果条件匹配失败,则仅保持邻居关系即可。周期性的发送hello包进行保活即可

OSPF ---- 开放式最短路径优先协议_第2张图片

          LSDB-------链路状态数据库

          Exstart State 主从关系选举----通过未携带数据的DBD包来比较RouterID,RouterID大的为主,为主则可以优先进入下一个状态-Exchange State,RouterID小的为从。

  使用未携带数据的DBD包进行主从关系选举,主要目的是为了和之前的邻居状态做区分

  DBD包的确认使用的不是ACK包来确认的(显性确认),而是通过数据包中的序号参数来进行的隐形确认。

OSPF ---- 开放式最短路径优先协议_第3张图片

   FULL状态----标志着邻接关系的建立-----邻接设置的目的是为了和之前的邻居状态做区分

  

  1. down状态----启动OSPF,发送hello包之后进入下一个状态
  2. init状态(初始化状态)--- 收到hello包中有自己本地的RouterID,则进入下一个状态
  3. Two-way(双向通讯)状态-----标志着邻居关系的建立
  4.      (条件匹配)-----条件匹配成功,则可以进入下一个状态,如果条件匹配失败,则仅保持邻居关系即可。周期性的发送hello包进行保活即可。
  5. exstart(预启动)状态-----使用未携带的DBD包进行主从关系选举,为主的优先进入下一个状态
  6.  exchange(准交换)状态---使用携带目录信息的DBD来共享数据库目录
  7. loading(加载)状态----基于对端发送的DBD包和本地数据库进行对比,之后,使用LSR包请求自己未知的LSA信息,对端使用LSU包进行LSA信息的传递,需要使用ACK进行确认
  8. FULL状态----标志着邻接关系的建立

3, OSPF的工作过程

       启动配置完成后,OSPF向本地所有运行协议的接口以组播224.0.0.5的形式发送hello包。hello包中携带本地的RouterID以及本地已知的邻居的RouterID。之后,将收集到的邻居关系记录在一张表中----邻居表

       邻居关系建立完成后,进行条件匹配;失败则停留在邻居关系,仅使用Hello包进行保活。

       匹配成功,则开始建立邻接关系。首先先使用未携带数据的DBD包进行主从关系选举。之后,使用携带数据的DBD包共享数据库目录信息。之后使用LSR/LSU/LSACK来获取本地未知的LSA信息。完成本地数据库的建立 --- 生成数据库表(LSDB---链路状态数据库)

        最后,基于本地链路数据库中的LSA信息,生成有向图,之后使用SPF算法转换成最短路径树,之后,计算到达未知网段的路由信息。将生成的路由信息添加到路由表中。

        收敛完成后,依然使用hello包每10S进行周期保活。每30min进行一次周期更新

  

结构突变的情况

  • 新增网段----触发更新,将变更信息第一时间使用LSU包进行传递,需要ACK确认
  • 断开网段----触发更新,将变更信息第一时间使用LSU包进行传递,需要ACK确认
  • 无法沟通 --- dead time

4, OSPF的基本配置

  • 启动OSPF的进程

 [r1]ospf 1 router-id 1.1.1.1  ---手工配置RID在启动进程时配置

 [r1-ospf-1]

  • 创建区域

[r1-ospf-1]area 0

[r1-ospf-1-area-0.0.0.0]

  • 宣告

[r1-ospf-1-area-0.0.0.0]network 12.0.0.0 0.0.0.255(反掩码)----由连续的0和1组成,0对应的位不可变,1对应的位可变

查看邻居表

[r1]display ospf peer

查看邻居关系简表

[r1]display ospf peer brief

查看数据库表

[r1]display ospf lsdb

展开一条LSA信息

[r1]display ospf lsdb router 2.2.2.2

查看路由表

[r1]display ip routing-table

 在华为体系中,OSPF协议默认的优先级为10

OSPF是以带宽作为开销值作为评判标准的

COST = 参考带宽/真实带宽  --华为设备默认的参考带宽为100Mbps

[r1-ospf-1]bandwidth-reference 1000 ---因为默认的参考带宽值较小,在目前传输速率都比较大的情况下,会出现选路不佳的情况,可以将参考带宽改大来改善该问题

注意:一台路由器参考带宽修改了,则所有路由器的参考带宽都必须改成一样的

条件匹配 

指定路由器 --- DR ----DR和一个广播域内其他设备建立邻接关系

备份指定路由器 --- BDR ------ BDR和其他设备之间建立的也是邻接关系

因为DR和BDR是在一个广播域中选举出来的,所以,其实质是一个接口概念。

原理:在一个广播域中,如果所有设备之间都保持邻接关系的话,则将可能出现大量的重复更新。所以,需要进行DR/BDR的选举,所有DRother之间仅保持邻居关系即可

DR/BDR选举规则:

    1,先比较优先级 (Rriority),优先级最大的为DR,优先级次大的为BDR,默认值为1    

[r1-GigabitEthernet0/0/0]ospf dr-priority ?

INTEGER<0-255> Router priority value

        如果将一个接口的优先级修改为0,则其效果是该接口直接放弃DR和BDR的选举。

   2,当优先级相同时,则比较RouterID。RouterID大的路由器对应的接口为DR,次大的对应的接口为BDR。

DR/BDR的选举是非抢占模式的---选举时间为40S(和dead time一致)

重启OSPF进程    reset ospf 1 process

5,OSPF的拓展配置

  • 手工认证

[r1-GigabitEthernet0/0/0]ospf authentication-mode md5 1 cipher 123456

  • 手工汇总 --- OSPF中拓扑信息是没有办法汇总的,所有只能是针对区域之间传递的路由信息进行汇总,称为区域汇总

[r2-ospf-1-area-0.0.0.0]abr-summary 192.168.0.0 255.255.254.0 ---

在ABR设备上进程中需要汇总的区域视图里配置

  • 沉默接口

                    [r1-ospf-1]silent-interface GigabitEthernet 0/0/2

  • 加快收敛 (在接口改)

   [r1-GigabitEthernet0/0/0]ospf timer hello 5     --修改hello时间的方法,hello时间修改,死亡时间将自动按照4倍关系进行匹配

       邻居之间,hello时间和死亡时间必须一致,不一致将导致邻居关系断开

  • 缺省路由

[r3-ospf-1]default-route-advertise ---需要保证边界路由器本身存在缺省路由,才能下发缺省

[r3-ospf-1]default-route-advertise always ---可以强制下发缺省信息

你可能感兴趣的:(HCIA,OSPF,网络,网络协议,云计算,网络安全)