OSPF——开放最短路径优先、多区域OSPF

目录

1 内部网关协议 OSPF

1.1 三个主要特点(生成拓扑图)

其他特点

1.3 链路状态路由过程

1.4 OSPF 的五种分组类型

1.4.1 OSPF 分组用 IP 数据报传送

1.5 OSPF 工作过程

1.6 OSPF 定义五种网络类型

1.7 多路访问网络中的挑战

1.7.1 DR和BDR的选举 

1.7.2 Router ID

1.8 OSPF命令

2 OSPF多区域

2.1 OSPF为什么要引入多区域技术呢?

 2.2 OSPF区域

2.2.1 OSPF区域类型

(1) 骨干区域:Backbone Area 0

(2) 普通(标准)区域:Standard Area

(3) Stub区域:Stub Area

(4) 完全Stub区域:  Totally Stubby Area

(5) NSSA区域:  Not-so-stubby Area

(6) 完全NSSA区域:

2.3 OSPF路由器类型

2.3.1 内部路由器  IR (Internal  Area Router)

2.3.2 区域边界路由器 ABR (Area Border Router)

2.3.3 主干路由器  BR (Backbone Router)

2.3.4 自治系统边界路由器 ASBR (AS Boundary Router)

2.4 OSPF LSA的类型

2.4.1  LSA类型1 – 路由器LSA Router LSA

2.4.2 LSA类型2 – 网络LSA Network LSA

2.4.3 LSA类型3 – 网络汇总LSA Network Summary LSA

2.4.4 LSA类型4 – ASBR汇总LSA ASBR Summary LSA

2.4.5 LSA类型5 – 自治系统外部LSA AS External LSA

2.4.6 LSA类型7 – NSSA外部LSA NSSA External LSA

2.5 OSPF区域类型与可能存在的LSA类型对照


1 内部网关协议 OSPF

·开放最短路径优先 OSPF (Open Shortest Path First)是为克服 RIP 的缺点在 1989 年开发出来的。

·原理很简单,但实现很复杂。

·使用了 Dijkstra 提出的最短路径算法 SPF

·采用分布式的链路状态协议 (link state protocol)。

·现在使用 OSPFv2。

OSPFv2路由协议实现拓扑图的生成,SPF算法生成路由,通过路由更新保持最新动态的路由的生成

1.1 三个主要特点(生成拓扑图)

1.采用洪泛法 (flooding),向本自治系统中所有路由器发送信息。

2.发送的信息是与本路由器相邻的所有路由器的链路状态,但这只是路由器所知道的部分信息。

         链路状态:说明本路由器都和哪些路由器相邻,以及该链路的度量 (metric)。

3.当链路状态发生变化或每隔一段时间(如30分钟),路由器才用洪泛法向所有路由器发送此信息。

其他特点

·对于不同类型的业务可计算出不同的路由

·可实现多路径间的负载均衡(load balancing)。

·所有在 OSPF 路由器之间交换的分组都具有鉴别的功能。

·支持可变长度的子网划分无分类编址 CIDR

·32 位的序号,序号越大状态就越新。全部序号空间在 600 年内不会产生重复号。

·每个路由器最终都能建立。

·全网的拓扑结构图

·在全网范围内是一致的(这称为链路状态数据库的同步)。

·每个路由器使用链路状态数据库中的数据构造自己的路由表(例如,使用Dijkstra的最短路径路由算法)。

链路状态数据库能较快地进行更新,使各个路由器能及时更新其路由表。

重要优点:OSPF 更新过程收敛速度快

1.3 链路状态路由过程

1.每台路由器了解其自身的链路(即与其直连的网络)。

        例如:从R1来了解:

2.每台路由器负责“问候”直连网络中的相邻路由器。

        ——向邻居发送Hello数据包:

        ·路由器使用 Hello 协议来发现其链路上的所有邻居。

        ·两台链路状态路由器获悉它们是邻居时,将形成一种相邻关系

        ·这些小型 Hello 数据包持续在两个相邻的邻居之间互换,以此实现“保持生存”功能来监控邻居的状态。  

3.每台路由器创建一个链路状态数据包(LSP),其中包含与该路由器直连的每条链路的状态。     

        ·路由器一旦建立了相邻关系,即可创建链路状态数据包 (LSPs)。

        ·包含与该链路相关的链路状态信息。

4.每台路由器将LSP泛洪到所有邻居,然后邻居将收到的所有LSP存储到数据库中。

        (1)将链路状态数据库泛洪到邻居: 

        ·路由器一旦接收到来自相邻路由器的 LSP,立即将该 LSP 从除接收该 LSP 的接口以外的所有接口发出。

        ·链路状态路由协议则在泛洪完成后 再计算 SPF 算法。

        ·LSP 中还包含其它信息(例如序列号和过期信息),以帮助管理泛洪过程。

        (2)将链路状态数据库泛洪到邻居:

        ·LSP 并不需要定期发送,而仅在下列情况下才需要发送:

        -在路由器初始启动期间,

        -或在该路由器上的路由协议进程启动期间,

        ·每次拓扑发生更改时,包括链路接通或断开,或是相邻关系建立或破裂。

5.每台路由器使用数据库构建一个完整的拓扑图并计算通向每个目的网络的最佳路径

        构建链路状态数据库:

        ·路由区域内的每台路由器都可以使用 SPF 算法来构建您之了解过的 SPF 树。

        有了完整的链路状态数据库,R1 现在即可使用该数据库和 SPF(最短路径优先)算法来计算通向每个网络的首选路径(即最短路径):

1.4 OSPF 的五种分组类型

1.问候 (Hello) 分组。

2.数据库描述 (Database Description) 分组。

3.链路状态请求 (Link State Request) 分组。

4.链路状态更新 (Link State Update) 分组。

5.链路状态确认 (Link State Acknowledgment)分组。

1.4.1 OSPF 分组用 IP 数据报传送

1.5 OSPF 工作过程

1.6 OSPF 定义五种网络类型

·Point-to-point 点对点

·广播多路访问

·非广播多路访问 (NBMA)

·点对多点

·虚拟链路 

1.7 多路访问网络中的挑战

·创建多边相邻关系,其中每对路由器都存在一项相邻关系。  

·LSA(链路状态通告)的大量泛洪。

LSA 的泛洪:

·链路状态路由器会在 OSPF 初始化以及拓扑更改时泛洪其链路状态数据包。

·多路访问网络中的每台路由器都需要向其它所有路由器泛洪 LSA 并为收到的所有 LSA 发出确认,网络通信将变得非常混乱。

多路访问网络中管理相邻关系数量和 LSA 泛洪的解决方案:

        ·指定路由器 (DR)/备用指定路由器 (BDR);

        ·其它所有路由器变为 DROther;

·多路访问网络中的路由器会选举出一个 DR 和一个 BDR。DROther 仅与网络中的 DR 和 BDR 建立完全的相邻关系。

·DROther 只需使用组播地址将其 LSA 发送给 DR 和 BDR,DR 使用组播地址,将LSA 转发给其它所有路由器。 

1.7.1 DR和BDR的选举 

1.7.2 Router ID

        ·OSPF区域内唯一标识路由器的IP地址,OSPF识别路由器的一个编号。

        ·选取方式:

        1.手工指定路由器ID。

        2.如果有loopback端口,则端口IP地址最大的是ID。

        3.如果没有loopback端口,则IP地址最大的是ID。

1.8 OSPF命令

·启用OSPF路由协议:Router(config)#router ospf process-id

·指定运行OSPF协议的接口:Router(config-router)#network address mask area area-id

检查 OSPF 配置

 ·检查配置的路由协议:Router#show ip protocols

·显示路由器中的所有路由:Router#show ip route

·显示 area-ID 邻接的信息:Router#show ip ospf interface

·显示OSPF的邻居:Router#show ip ospf neighbor

2 OSPF多区域

2.1 OSPF为什么要引入多区域技术呢?

·单区域存在的问题

        ·每台路由器都需要维护的路由表越来越大,单区域内路由无法汇总。

        ·收到的LSA通告太多了。

        ·内部动荡会引起全网路由器的完全SPF计算。

        ·资源消耗过多,性能下降,影响数据转发。

问题的原因:都是LSA到处扩散惹的“祸”。

OSPF划分多区域后的好处——划整为零的思想

·解决方案:

把大型网络分隔为多个较小,可管理的单元 – 区域 area。

·划分区域的好处——控制LSA

        ·在区域边界可以做路由汇总,减小了路由表。

        ·减少了LSA洪泛的范围,有效地把拓扑变化控制在区域内,提高了网络的稳定性。

        · 拓扑的变化影响可以只限制涉及本区域。

        · 多区域提高了网络的扩展性,有利于组建大规模的网络。

OSPF多区域设计规定:

(1) 每个区域都有自己独立的链路状态数据库,SPF路由计算独立进行。

(2) LSA洪泛和链路状态数据库同步只在区域内进行。

(3) OSPF骨干区域Area 0,必须是连续的。

(4) 其它区域必须和骨干区域Area 0直接连接;其它区域之间不能直接交换路由信息;区域间的路由交换必须通过Area 0,区域间是距离矢量行为。

(5) 形成OSPF邻居关系的接口必须在同一区域,不同OSPF区域的接口不能形成邻居。

(6) 区域边界路由器把区域内的路由转换成区域间路由,传播到其它区域。

 2.2 OSPF区域

OSPF 将自治系统划分为两种不同的区域 (area):骨干和非骨干区域。

区域概念

OSPF的网络设计要求是双层层次化(2-layer hierarchy),包括如下2层:

        ·中转区域

        ·常规区域

区域标识

区域ID可以表示成一个十进制的数字,也可以表示成一个点分十进制的数字。

2.2.1 OSPF区域类型

(1) 骨干区域:Backbone Area 0

         ·又称主干区域,标识符= 0.0.0.0,作用=用来连通其他下层区域;

         ·本身是一个标准区域,负责连接非骨干区域,其它区域(非骨干区域)必须保证和骨干区域有直接的物理连接;  

        ·ABR上做汇总的好处是减少通告出去和进来的不必要信息;

(2) 普通(标准)区域:Standard Area

        ·标准的OSPF区域,能发起也能接收区域内路由、区域间路由、外部路由;

        ·一个区域缺省是普通区域;骨干区域Area 0也是一个标准区域。

(3) Stub区域:Stub Area

        ·存根区域,不能重发布引入外部路由,也不能接收外部路由。

        ·把一个区域配成存根区域的好处是,阻挡不必要的LSA5外部路由进入本地区域,从而精简路由表;

        ·对于外部路由LSA5,ABR会生成0/0的缺省路由(LSA3)通告进stub区域内部;

(4) 完全Stub区域:  Totally Stubby Area

        ·完全存根区域,不能重发布引入外部路由,也不能接收外部路由、区域间路由。

        ·LSA3是ABR通过计算LSA1和LSA2转化而生成的,可以进一步配置成完全存根区域,阻挡LSA3,生成O IA* 0/0;(LSA5就会使用)

        ·完全存根区域是一种对存根区域的改进,进一步精简路由表;

(5) NSSA区域:  Not-so-stubby Area

        ·次存根区域/非完全存根区域,不能接收其他区域的外部路由,本区域可以重发布引入外部路由。

        ·即想阻挡LSA5,自身又想引入外部路由,stub的变种

        ·NSSA既阻挡外部LSA5的进入,同时它的ASBR又可以引入外部路由LSA7;

        ·LSA7在NSSA内洪泛,通过ABR时转换为LSA5;

        ·对于外部路由就是LSA5不会缺省生成0/0默认路由进入本地区域,需手工配置(特殊的不会产生,只有它不会产生默认路由

(6) 完全NSSA区域:

        ·完全次存根区域,不能接收其他区域的外部路由、区域间路由,本区域可以引入外部路由。

        ·进一步由NSSA ABR阻挡LSA3进入NSSA区域内,同时ABR自动生成0/0进入完全NSSA区域;(LSA5会使用)

2.3 OSPF路由器类型

2.3.1 内部路由器  IR (Internal  Area Router)

        ·所有接口在同一个Area内;

        ·同一区域内的所有内部路由器的 LSDB完全相同;

2.3.2 区域边界路由器 ABR (Area Border Router)

        ·接口分属于两个或两个以上的区域的路由器;

        ·ABR为它们所连接的每个区域分别维护单独的LSDB;

        ·区域间路由信息必须通过ABR才能进出区域;

        ·ABR是区域路由信息的进出口,也是区域间数据的进出口;

2.3.3 主干路由器  BR (Backbone Router)

        ·至少有一个接口属于Area 0(主干区域)的路由器;

        ·区域之间的行为特性是D-V;

        ·为了解决区域之间可能发生的路由循环,引入一个特殊的区域 Area 0,其它区域之间要通信,必须通过Area 0 骨干区域;

2.3.4 自治系统边界路由器 ASBR (AS Boundary Router)

        ·边界OSPF路由域和外部网络的路由器;

        ·通过重发布引入非OSPF网络路由信息;

划分区域优点和缺点

优点: 减少了整个网络上的通信量。 减少了需要维护的状态数量。

缺点: 交换信息的种类增多了。 使 OSPF 协议更加复杂了。

2.4 OSPF LSA的类型

LSU中携带了具体的LSA信息:

2.4.1  LSA类型1 – 路由器LSA Router LSA

        ·每个路由器针对它所在的区域产生LSA1,描述区域内部与路由器直连的链路的信息(包括链路类型,Cost等) ;  

        ·LSA1只允许在本区域内洪泛,不允许跨越ABR;  

        ·LSA中会标识路由器是否是ABR(B比特置位),ASBR(E比特置位)或者是Virtual-link(V比特置位)的端点的身份信息;  

        ·LSA中会标识路由器所支持的Option功能标记(如E)。

2.4.2 LSA类型2 – 网络LSA Network LSA

        ·描述TransNet(包括Broadcast和NBMA网络)网络信息;

        ·由DR生成,描述其在该网络上连接的所有路由器以及网段掩码信息,以及这个MA所属的路由器;

        ·LSA类型2只在本区域Area内洪泛,不允许跨越ABR;

LSA1、LSA2总结:

·通过LSA1,LSA2在区域内洪泛,使区域内每个路由器的LSDB达到同步,计算生成标识为“O”的路由,解决区域内部的通信问题;

·区域内路由:目标网络在本区域内。

2.4.3 LSA类型3 – 网络汇总LSA Network Summary LSA

        ·由ABR生成,将所连接区域内部的链路信息以子网的形式扩散到邻区域;

        ·Type3 LSA实际上就是将区域内部的Type1 Type2的信息收集起来以路由子网的形式扩散出去,   这就是Summay LSA中Summay的含义(注意这里的summary与路由汇总没有关系);

        ·ABR收到来自同区域其它ABR传来的Type 3 LSA后重新生成新的Type3 LSA(Advertising  Router改为自己)然后继续在整个OSPF系统内扩散;

        ·Type3 LSA的扩散本质上属于DV行为;  

        ·ABR收到的Type3 LSA与自己生成的相同 此LSA不做计算(避免环路);

2.4.4 LSA类型4 – ASBR汇总LSA ASBR Summary LSA

        ·LSA类型1指明自己是ASBR,为解决LSA5的路由生成问题,ABR在阻拦LSA1的同时生成LSA4,描述到ASBR的可达性;

        ·格式与Type3相同,描述的目标网络是一个ASBR的RouterID;

        ·Type4 LSA的触发条件为:ABR收到一个Type5 LSA;

2.4.5 LSA类型5 – 自治系统外部LSA AS External LSA

        ·外部路由通过重发布,引入OSPF路由域,相应信息(路由条目)由ASBR以LSA5的形式生成然后进入OSPF路由域;

        ·缺省情况下,LSA5生成路由用OE2表示,可强行指定为OE1;  

                ·OE2 开销 = 外部开销;  

                ·OE1 开销 = 外部开销 + 内部开销;

        ·LSA5不允许进入特殊区域 —— stub存根区& NSSA区

2.4.6 LSA类型7 – NSSA外部LSA NSSA External LSA

        ·在NSSA(非完全存根区域)not-so-stubby area中ASBR针对外部网络产生类似于LSA5的LSA类型7;

        ·LSA类型7只能在NSSA区域中洪泛,到达NSSA区域ABR后,NSSA ABR将其转换成LSA类型5外部路由,传播到Area 0,从而传播到整个OSPF路由域;

        ·生成路由缺省用ON2表示,也可指定为ON1;

2.5 OSPF区域类型与可能存在的LSA类型对照

  一个区域所设置的特性决定着它能接收的路由,OSPF将整个OSPF路由域划分为不同的区域,目的是为减少不必要的路由信息的传递,精简路由表:

这部分知识点对我来说有点难记,需要反复看,累die...

欢迎一起学习~

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值