OSPF(总结笔记)

  • Post author:
  • Post category:其他



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

无类别链路状态IGP协议;触发更新+周期更新(30min)

组播更新:224.0.0.5 通用地址 224.0.0.6 DR/BDR专用地址

基于拓扑进行收敛,更新量巨大—–结构的部署—-1、区域划分 2、IP地址规划


一、OSPF的5种数据包类型:



1、hello 包


OSPF hello包 以太网链路 需要检查掩码 :

在这里插入图片描述


2、DBD包 -数据库描述包


OSPF DBD包 需要检查mtu如果对进入下一阶段,忽略检查命令:ip ospf mtu-igone 则不检查mtu,下边是exstart阶段的DBD包 :

在这里插入图片描述

下边是exchange阶段的DBD包,装载有LSA描述信息:

在这里插入图片描述


3、LSR链路状态请求


LSR包:

在这里插入图片描述


4、LSU链路状态更新


LSU包:

在这里插入图片描述


5、LSack 链路状态确认


注:数据包结构:跨层封装于3层报头,协议号89;


二、OSPF的状态机


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

2、Init初始化:接收到的hello包中存在本地的RID,进入下一状态

3、2way双向通信:邻居关系建立的标志;

条件匹配:点到点直接进入下一状态;MA网络进行DR/BDR选举(40s),非DR/BDR间不进入下一状态

4、Exstart预启动:使用类似hello 的DBD包来进行主从关系选举,RID数值大为主,优先进入

下一状态;

5、Exchange准交换:使用真实的DBD包来共享数据库目录;

6、Loading加载:使用LSR/LSU/LSack来获取未知的LSA信息;

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


三、各种类别的LSA

类型    ADV router     link-id       内容与作用          泛洪范围

Routerr 本台路由器RID   本台路由器RID   描述本区域拓扑结构      本区域

Network   DR的RID     DR的接口地址  描述本区域MA网络的结构    本区域

DR的信息及MA网络掩码

Summary    ABR的RID   域间目标路由前缀  描述OSPF区域间路由信息   OSPF区域

(stub除外)

Asbr-summary 本区域ABR 的RID ASBR的RID  通告ASBR的RID及位置    除了ASBR所在

区域之外的OSPF区域

(NSSA,STUB除外)

External     ASBR的RID   域外目标路由前缀   描述OSPF域外路由信息    OSPF区域

(stub,nssa除外)

NSSA-external  NSSA的ASBR-RID  域外路由前缀  为NSSA区域描述ospf域外路由  NSSA区域

(只是本NSSA区)

OSPF的LSA更新量优化:

汇总—减少骨干区域的LSA–OSPF不支持区域内部的接口汇总,因为内部传递拓扑

<1>域间路由汇总–将一个区域的路由汇总到其他区域

在ABR上配置,配置完成后本地生成空接口防环路由

r3(config)#router ospf 1

r3(config-router)#area 1 range 4.4.4.0 255.255.254.0

切记:ABR必须是工作在被汇总路由的区域内;只能将本地通过1/2类LSA计算所得路由进行汇总

<2>域外路由汇总—在ASBR上配置;自动产生空接口防环路由

r4(config)#router ospf 1

r4(config-router)#summary-address 99.1.0.0 255.255.252.0


四、OSPF网络类型 —-ospf的接口网络类型

网络类型           OSPF的接口网络类型          工作方式

环回-LOOPBACK      LOOPBACK            无hello包,主机路由发送

点到点–PPP/HDLC/GRE   POINT_TO_POINT     hello time10s;自动建邻,不选DR/BDR

BMA–以太网        BROADCAST        hello time10s;自动建邻,选DR/BDR

NBMA–帧中继、MGRE   POINT_TO_MULTIPOINT     hello time30s;自动建邻,不选DR

在这里插入图片描述

在MGRE环境中运行OSPF,因为OSPF协议在tunnel接口默认的工作方式为点到点,这种方式只能建立一个邻居,故多点端将出现邻居关系翻滚;

解决方法:修改接口的工作方式

r1(config-if)#ip ospf network ?

broadcast     Specify OSPF broadcast multi-access network

non-broadcast   Specify OSPF NBMA network

point-to-multipoint  Specify OSPF point-to-multipoint network

point-to-point    Specify OSPF point-to-point network

1)修改为 broadcast ,所有节点必须全部修改,否则无法建立邻居关系,后者无法正常收敛,卡在exstart状态机;

2)在全连网状结构中,建议不使用点到多点;因为将全网邻接关系,重复更新;


五、配置


1、基本配置:

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

R1(config-router)#router-id 1.1.1.1 配置RID; 手工–环回最大地址–物理最大地址-无法启动

宣告:1、激活–收发ospf信息 2、通告直连接口的拓扑 3、区域划分

R1(config-router)#network 12.1.1.1 0.0.0.0 a 0

R1(config-router)#network 1.1.1.1 0.0.0.0 a 0

必须携带反掩码

2、度量为cost值=开销值=参考带宽/接口带宽

默认参考带宽为100M;优先cost值之和最小的路径;

注:当接口带宽大于参考带宽时,度量值为1;可能导致选路不佳;可以修改所有OSPF设备的参考带宽;

R1(config)#router ospf 1

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

3、认证:

在这里插入图片描述


六、OSPF的不规则区域


OSPF协议的规则区域-星型结构,非骨干区域必须同时工作骨干区域;否则该非骨干区域的ABR不能进行区域间路由共享;

1、远离了骨干的非骨干区域

2、不连续骨干

解决方法:

1、tunnel 在两台ABR上建立隧道,然后将其宣告到OSPF协议中;

缺点:对周期、触发更新和保活流量对中间区域存在资源占用

选路不佳;

2、OSPF虚链路–在两台ABR上进行虚链路的建立,之后让骨干区域ABR对非法ABR进行授权;使得非法ABR可以进行路由共享;

过程:两台ABR使用hello包建立邻居关系,生成邻居表;然后非法ABR将数据库共享给合法ABR,由合法ABR进行审核,通过后对其授权;因为在两台ABR间没有建立实际的网段链路,故不存在选路不佳问题;未避免周期的保活和更新信息对中间区域的资源占用,取消了该机制;—-导致虚链路不可靠,不稳定;

r2(config)#router ospf 1

r2(config-router)#area 1 virtual-link 4.4.4.4

中间穿越区域 对端ABR的RID

3、多进程双向重发布

(1)多进程—一台设备上同时运行多个进程时,不同进程存在各自的RID和数据库;当从各自邻居处学习到了信息后,存储在自己的数据库中,数据不共享;仅将计算所得路由加载到同一张路由表中; 若将一个接口同时宣告于多个进程,仅最先宣告进行工作;

(2)双向重发布–两种协议或两个进程间,进行路由条目的双向共享;

解决不规则区域时,将处于不规则点的ABR不同接口宣告到不同进程,最后使用双向重发布来实现路由共享—选路正常,无周期信息,可靠和稳定的;

r4(config)#router ospf 1

r4(config-router)#redistribute ospf 2 subnets

r4(config-router)#exit

r4(config)#router ospf 2

r4(config-router)#redistribute ospf 1 subnets


七、特殊区域


–减少非骨干区域的LSA –所有特殊区域配置,需要该区域每台设备均配置

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

{1}同时不能存在ASBR

<1>末梢区域–该区域拒绝4/5的LSA;

r5(config)#router ospf 1

r5(config-router)#area 2 stub

<2>完全末梢区域—在末梢区域的基础上,进一步拒绝3类LSA,仅保留一条3类缺省;

先将该区域定义为末梢区域,然后仅在ABR上定义完全即可;

r1(config)#router ospf 1

r1(config-router)#area 2 stub no-summary

{2}同时存在ASBR

<1>NSSA 非完全末梢区域;该区域拒绝4/5的LSA;为避免环路产生,不自动产生缺省;在管理员确定了网络无环的情况下手工添加缺省路由;本区域的ASBR产生的域外路由使用7类标记,离开本区域进入骨干时,转换回5类,进行转换的ABR成为新的ASBR;

NSSA的意义在于拒绝从网络中其他区域的ASBR产生的4/5类LSA信息;

r4(config)#router ospf 1

r4(config-router)#area 1 nssa

<2>完全NSSA—在NSSA区域的基础,进一步拒绝3类LSA;自动产生3类缺省;

但使用时,应该考虑是否会产生环路;

先将该区域配置为NSSA区域,然后仅在ABR上定义完全即可;

r3(config)#router ospf 1

r3(config-router)#area 1 nssa no-summary



版权声明:本文为Lmj233原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。