Presentation is loading. Please wait.

Presentation is loading. Please wait.

锐捷网络技术培训系列课程-(中级) OSPF协议 培训组 闵 捷.

Similar presentations


Presentation on theme: "锐捷网络技术培训系列课程-(中级) OSPF协议 培训组 闵 捷."— Presentation transcript:

1 锐捷网络技术培训系列课程-(中级) OSPF协议 培训组 闵 捷

2 课程目标 通过本课程的学习,您可以掌握如下知识点: OSPF协议的基本概念 OSPF协议如何实现路由发现和维护 OSPF的基本配置

3 提 纲 OSPF协议简介 OSPF基本原理 OSPF常用基本配置 OSPF网络的设计建议 OSPF基本排错

4 提 纲 OSPF协议简介 OSPF基本原理 OSPF常用基本配置 OSPF网络的设计建议 OSPF基本排错

5 OSPF协议简介 OSPF协议 OSPF协议特点 IGP内部网关型路由选择协议 链路状态型路由选择协议 SPF算法 OSPF协议报文封装

6 OSPF协议简介 OSPF协议 OSPF协议特点 IGP内部网关型路由选择协议 链路状态型路由选择协议 SPF算法 OSPF协议报文封装

7 OSPF协议简介 OSPF协议 OSPF协议 Open Shortest Path First 开放式最短路径优先
是在多厂商设备环境下,使用最多的内部网关型动态路由选择协议; 随着Internet技术在全球范围的飞速发展,OSPF已成为目前Internet广域网和Intranet企业网采用最多、应用最广泛的路由协议之一。 OSPF(Open Shortest Path First)路由协议是由IETF(Internet Engineering Task Force)IGP工作小组提出的,是一种基于SPF算法的路由协议,目前使用的OSPF协议是其第二版。

8 OSPF协议简介 OSPF协议 OSPF协议特点 IGP内部网关型路由选择协议 链路状态型路由选择协议 SPF算法 OSPF协议报文封装

9 OSPF协议简介 OSPF协议特点 OSPF协议显著特点 协议安全性高! ——协议更新报文附带认证方式
协议安全性高! ——协议更新报文附带认证方式 协议可靠性好! ——协议更新报文的有确认机制 协议收敛速度快! ——协议算法提供保证 协议无路由环路! ——协议路由分级化管理 协议支持VLSM! ——协议更新报文随身携带网络掩码 协议可扩展性好! ——协议运行区域体系化设计 OSPF是由IETF(Internet网络工程部)的IGP工作组为IP网开发的内部网关路由协议 OSPF有两个主要的特性。首先该协议是开放的,即其规范是公开的。公布的OSPF规范是RFC1247。另外一个基本的特性是OSPF基于SPF(最短路径优先)算法,也称为Dijkstra算法,即以创建该算法的人来命名。 OSPF利用链路状态算法来计算到所有已知目的的最短路径。链路状态指的是一个路由器的局部信息状态(该路由器接口信息、邻居信息)、路由器相连的网络状态信息(该网络所连接的路由器)、外部状态信息(该自治系统的外部路由信息)等,这个链路状态通告(LSA)被扩散到每个路由器并用来建立一个拓扑数据库,Dijkstra算法被并行运行在每个使用了拓扑数据库的路由器上,根据该路由器的拓扑数据库构造出以它自己为根节点的最短路径树。当到达同一目的路由器存在多条相同代价路由时,OSPF能实现在多条路径上分配流量。

10 OSPF协议简介 OSPF协议 OSPF协议特点 IGP内部网关型路由选择协议 链路状态型路由选择协议 SPF算法 OSPF协议报文封装

11 OSPF协议简介 IGP 内部网关路由协议 OSPF是一种典型的内部网关路由协议(Interior Gateway Protocol,IGP),一般用于同一个路由域内;在这里,路由域是指一个自治系统(Autonomous System,AS)内决策路由。 自治系统是指一组通过统一的路由政策或路由协议互相交换路由信息的网络。

12 OSPF协议简介 AS 自治系统 AS 自治系统 ISP 自治系统AS Area 2 Area 1 Area 0 骨干域 ASBR ABR
OSPF的工作是有层次的,其层次中最大的实体是自治系统(Autonomous System,AS),即遵循共同的路由策略统一管理下的网络群。 例如,属于一个特定公司的所有路由器。 ABR IR

13 OSPF协议简介 OSPF协议 OSPF协议特点 IGP内部网关型路由选择协议 链路状态型路由选择协议 SPF算法 OSPF协议报文封装

14 OSPF协议简介 Link-State 链路状态型路由选择协议
链路状态指的是一个路由器的局部信息状态(该路由器接口信息、邻居信息)、路由器相连的网络状态信息(该网络所连接的路由器)、外部状态信息(该自治系统的外部路由信息)等,这个链路状态通告(LSA)被扩散到每个路由器并用来建立一个拓扑数据库,Dijkstra算法被并行运行在每个使用了拓扑数据库的路由器上,根据该路由器的拓扑数据库构造出以它自己为根节点的最短路径树。 链路状态指的是一个路由器的局部信息状态(该路由器接口信息、邻居信息)、路由器相连的网络状态信息(该网络所连接的路由器)、外部状态信息(该自治系统的外部路由信息)等。 所有的OSPF路由器都维护一个相同的描述这个AS结构的数据库,该数据库中存放的是路由域中相应链路的状态信息,OSPF路由器正是通过这个数据库计算出其OSPF路由表的。 OSPF将链路状态广播数据包LSA(Link State Advertisement)传送给在某一区域内的所有路由器,这一点与距离矢量路由协议不同。而运行距离矢量路由协议的路由器是将部分或全部的路由表传递给与其相邻的路由器。

15 OSPF协议简介 OSPF协议 OSPF协议特点 IGP内部网关型路由选择协议 链路状态型路由选择协议 SPF算法 OSPF协议报文封装

16 OSPF协议简介 SPF算法 SPF算法 最短路径优先(SPF)路由算法 SPF算法又称Dijkstra算法
根据该路由器的拓扑数据库构造出以它自己为根结点的最短路径树。 这个最短路径树就生成了路由表; 比较 相比距离矢量型路由选择协议(如RIP、IGRP)使用的DV算法(Bellman-Ford)算法,SPF算法对路由器的CPU、内存资源占用更高!!

17 OSPF协议简介 OSPF协议 OSPF协议特点 IGP内部网关型路由选择协议 链路状态型路由选择协议 SPF算法 OSPF协议报文封装

18 OSPF协议简介 OSPF协议报文封装 OSPF协议报文封装 比较 OSPF通过在运行OSPF的路由器之间交互OSPF协议报文来进行沟通,
发现、学习和维护路由; OSPF协议报文封装 OSPF协议报文直接承载在IP包里,使用协议号89; 类似于协议号为1的IP包,是ICMP协议报文; 比较 RIP协议是将协议报文封装在UDP数据包内,使用端口号520来表明 这是一个RIP协议报文; OSPF直接使用IP报文封装,有效减少了协议报文的封装开销;

19 提 纲 OSPF协议简介 OSPF基本原理 OSPF常用基本配置 OSPF网络的设计建议 OSPF基本排错

20 OSPF基本原理 OSPF的基本概念 OSPF的网络类型 OSPF如何运作 OSPF报文类型、格式详解 LSA报文分类详解 OSPF虚连接

21 OSPF基本概念 OSPF区域 OSPF路由器标识别 Hello 链路状态通告LSA 链路状态更新LSU 链路状态更新确认LSAck
链路状态数据库LSDB DR和BDR 邻居和邻接

22 OSPF基本概念 OSPF区域 OSPF区域 划分区域的理由 区域划分的要求 内部路由器 区域边界路由器 自治系统边界路由器
为什么划分域? 随着链路状态数据库的增大,计算SPF所需的时间也增加了,将网络分成较小的区域,并要求路由器与同一区域的路由器交换链路状态。这样传播的信息减少了。 所以,划分域是为了: 1、降低CPU的负担; 2、减小LSDB的内存开销; 3、LSA相关计算和Flooding负担均降低。 区域划分的要求 1、为了控制开销和便于管理OSPF支持将整个自治系统划分成域来管理标准划分 为骨干域和边缘域, 骨干域area 0 边缘域1 2… … (1 2仅是起到标号作用) 2、原则上要求每个边缘域要和骨干域直接相连,骨干域要求连通性强带宽高 3、通常可设计成冗余连通 4、当一台路由器配置两个以上域时,必须有一个是骨干域 所有接口都在一个区域内的路由器称为内部路由器(IR) 连接于同一自治系统但其接口不在同一区域内的路由器称为区域边界路由器(ABR) 另一种路由器充当网关的作用,从一个AS到另一个AS重分配路由信息,称为自治系统边界路由器(ASBR)

23 OSPF基本概念 OSPF区域 OSPF区域 (二)
为什么划分域? 随着链路状态数据库的增大,计算SPF所需的时间也增加了,将网络分成较小的区域,并要求路由器与同一区域的路由器交换链路状态。这样传播的信息减少了。 所以,划分域是为了: 1、降低CPU的负担; 2、减小LSDB的内存开销; 3、LSA相关计算和Flooding负担均降低。 为什么划分域? 随着链路状态数据库的增大,计算SPF所需的时间也增加了,将网络分成较小的区域,并要求路由器与同一区域的路由器交换链路状态。这样传播的信息减少了。 所以,划分域是为了: 1、降低CPU的负担; 2、减小LSDB的内存开销; 3、LSA相关计算和Flooding负担均降低。 区域划分的要求 1、为了控制开销和便于管理OSPF支持将整个自治系统划分成域来管理标准划分 为骨干域和边缘域, 骨干域area 0 边缘域1 2… … (1 2仅是起到标号作用) 2、原则上要求每个边缘域要和骨干域直接相连,骨干域要求连通性强带宽高 3、通常可设计成冗余连通 4、当一台路由器配置两个以上域时,必须有一个是骨干域 所有接口都在一个区域内的路由器称为内部路由器(IR) 连接于同一自治系统但其接口不在同一区域内的路由器称为区域边界路由器(ABR) 另一种路由器充当网关的作用,从一个AS到另一个AS重分配路由信息,称为自治系统边界路由器(ASBR)

24 OSPF基本概念 OSPF区域 OSPF区域 (三) 区域划分的要求 骨干域area 0 边缘域1 2… … (1 2仅是起到标号作用)
2、原则上要求每个边缘域要和骨干域直接相连,骨干域要求连通性强带宽高 3、通常可设计成冗余连通 4、当一台路由器配置两个以上域时,必须有一个是骨干域 为什么划分域? 随着链路状态数据库的增大,计算SPF所需的时间也增加了,将网络分成较小的区域,并要求路由器与同一区域的路由器交换链路状态。这样传播的信息减少了。 所以,划分域是为了: 1、降低CPU的负担; 2、减小LSDB的内存开销; 3、LSA相关计算和Flooding负担均降低。 区域划分的要求 1、为了控制开销和便于管理OSPF支持将整个自治系统划分成域来管理标准划分 为骨干域和边缘域, 骨干域area 0 边缘域1 2… … (1 2仅是起到标号作用) 2、原则上要求每个边缘域要和骨干域直接相连,骨干域要求连通性强带宽高 3、通常可设计成冗余连通 4、当一台路由器配置两个以上域时,必须有一个是骨干域 所有接口都在一个区域内的路由器称为内部路由器(IR) 连接于同一自治系统但其接口不在同一区域内的路由器称为区域边界路由器(ABR) 另一种路由器充当网关的作用,从一个AS到另一个AS重分配路由信息,称为自治系统边界路由器(ASBR)

25 OSPF基本概念 OSPF区域 OSPF区域 (四) 所有接口都在一个区域内的路由器称为内部路由器(IR)
连接于同一自治系统但其接口不在同一区域内的路由器称为 区域边界路由器(ABR) 另一种路由器充当网关的作用,从一个AS到另一个AS重分配 路由信息,称为自治系统边界路由器(ASBR) 为什么划分域? 随着链路状态数据库的增大,计算SPF所需的时间也增加了,将网络分成较小的区域,并要求路由器与同一区域的路由器交换链路状态。这样传播的信息减少了。 所以,划分域是为了: 1、降低CPU的负担; 2、减小LSDB的内存开销; 3、LSA相关计算和Flooding负担均降低。 区域划分的要求 1、为了控制开销和便于管理OSPF支持将整个自治系统划分成域来管理标准划分 为骨干域和边缘域, 骨干域area 0 边缘域1 2… … (1 2仅是起到标号作用) 2、原则上要求每个边缘域要和骨干域直接相连,骨干域要求连通性强带宽高 3、通常可设计成冗余连通 4、当一台路由器配置两个以上域时,必须有一个是骨干域 所有接口都在一个区域内的路由器称为内部路由器(IR) 连接于同一自治系统但其接口不在同一区域内的路由器称为区域边界路由器(ABR) 另一种路由器充当网关的作用,从一个AS到另一个AS重分配路由信息,称为自治系统边界路由器(ASBR)

26 OSPF基本概念 OSPF区域 (cont)
ISP ASBR 自治系统AS Area 2 Area 1 ABR Area 0 骨干域 ABR OSPF的一个区域是一个路由器的集合,它有一个一样的拓扑数据库。 OSPF把一个AS分成多个链路状态域,因为一个区域的拓扑结构对另一个区域是不可见的,LSA只被扩散到一个区域里,所以大大降低了一个AS中的路由交通数量,降低了CPU的负担,减小了LSDB的内存开销。 关于区域的划分: 如果形成的区域不止一个,则要求必须有区域0,称为骨干域。 骨干域必须是连续的,所有非骨干域必须与骨干区物理或逻辑接触。 所有接口都在一个区域内的路由器称为内部路由器(IR) 连接于同一自治系统但其接口不在同一区域内的路由器称为区域边界路由器(ABR) 另一种路由器充当网关的作用,从一个AS到另一个AS重分配路由信息,称为自治系统边界路由器(ASBR) ABR IR

27 OSPF如何运作 OSPF区域类型 常用OSPF域的类型如下: OSPF区域分类
1、骨干域 2、非骨干域 (标准区域) 3、Stub域 4、NSSA域

28 OSPF如何运作 OSPF区域类型 (cont)
骨干区域(Back Bone) 一般是采用Area ID号为0来标识; 其它区域必须和骨干区域相连接; 各个跨越区域的通信都由骨干区域来转发; 注意 如果实施配置单区域OSPF来运行,那么唯一可以使用的区域号(Area ID)就是Area 0

29 OSPF如何运作 OSPF区域类型 (cont)
OSPF区域分类:Stub区域 在Stub域中,不接受且不能传输AS外部链路状态宣告(Type5) 如果要到达外部AS,则使用标记为 的默认路由; Stub域不可以包含ASBR; 骨干域不可以设置为Stub域; Stub域中没有虚链路穿越; 优点是可以降低LSDB的容量大小; ——在OSPF路由协议的链路状态数据库中,可以包括AS外部链路状态信息,这些信息会通过flooding传递到AS内的所有OSPF路由器上。但是,在OSPF路由协议中存在这样一种区域,我们把它称为残域(stub area),AS外部信息不允许广播进/出这个区域。对于残域来说,访问AS外部的数据只能根据默认路由(default-route)来寻址。这样做有利于减小残域内部路由器上的链路状态数据库的大小及存储器的使用,提高路由器计算路由表的速度。

30 OSPF如何运作 OSPF区域类型 (cont)
OSPF区域分类:Stub区域 (cont) Area 0 Area 1 External AS Stub 域 ——在OSPF路由协议的链路状态数据库中,可以包括AS外部链路状态信息,这些信息会通过flooding传递到AS内的所有OSPF路由器上。但是,在OSPF路由协议中存在这样一种区域,我们把它称为残域(stub area),AS外部信息不允许广播进/出这个区域。对于残域来说,访问AS外部的数据只能根据默认路由(default-route)来寻址。这样做有利于减小残域内部路由器上的链路状态数据库的大小及存储器的使用,提高路由器计算路由表的速度。

31 OSPF如何运作 OSPF区域类型 (cont)
OSPF区域分类:NSSA区域  Not-So-Stubby Area 具有Stub域的优点,可以降低LSDB的容量; 在NSSA域中可以包括ASBR; NSSA中的ASBR将产生只存在于NSSA中的LSA类型7; ABR再将LSA类型7转换成类型5;

32 OSPF基本概念 OSPF区域 OSPF路由器标识 Hello 链路状态通告LSA 链路状态更新LSU 链路状态更新确认LSAck
链路状态数据库LSDB DR和BDR 邻居和邻接

33 OSPF基本概念 路由器标识 OSPF路由器标识 ISP 路由器标识: 该路由器上最高的LOOPBACK地址
若无回环地址,则优先使用最高位IP地址 路由器标识(router id):路由器标识是一个32位数字,使其用来独一无二的识别AS中的路由器。 Router ID

34 OSPF基本概念 OSPF区域 OSPF路由器标识别 Hello 链路状态通告LSA 链路状态更新LSU 链路状态更新确认LSAck
链路状态数据库LSDB DR和BDR 邻居和邻接

35 OSPF基本概念 Hello hello 运行着OSPF协议的路由器在其OSPF进程激活的端口上都会发出Hello报文,在广播环境中,Hello是使用 来发送出去的!! Hello最直接的用途是发现周边运行OSPF协议的同伴路由器

36 OSPF基本概念 OSPF区域 OSPF路由器标识别 Hello 链路状态通告LSA 链路状态更新LSU 链路状态更新确认LSAck
链路状态数据库LSDB DR和BDR 邻居和邻接

37 OSPF基本概念 LSA LSA链路状态通告
LSA链路状态通告是是一台运行着OSPF协议的路由器所产生的对于该路由器自身的局部信息状态、连接网络信息状态、外部路由信息状态等的汇总;

38 OSPF基本概念 OSPF区域 OSPF路由器标识别 Hello 链路状态通告LSA 链路状态更新LSU 链路状态更新确认LSAck
链路状态数据库LSDB DR和BDR 邻居和邻接

39 OSPF基本概念 LSU LSU链路状态更新 LSU链路状态更新是在路由器状态、网络拓扑发生了变化后,OSPF路由器产生的通告信息!

40 OSPF基本概念 LSAck LSAck链路状态更新确认 收到LSU报文后,对LSU报文的确认!

41 OSPF基本概念 LSDB LSDB链路状态数据库
OSPF路由器收到LSA后,收集LSA组成LSDB,链路状态数据库!显然,互相交换LSA的路由器之间,他们的LSDB是相同的!

42 OSPF基本概念 路由器标识 邻居和邻接 两个运行着OSPF协议的路由器互相接到了对方的Hello包,并通过OSPF区域报文验证(如果有的话),那么两个路由器将成为OSPF邻居!! 当两台路由器之间交换LSA链路状态通告,并通过各自得到对方LSA建立了自己的LSDB之后,才形成了邻接的关系!

43 OSPF基本概念 DR & BDR DR和BDR
DR:在一个广播性的、多接入的网络中,存在一个指定路由器(Designated Router); DR的作用: 与所有其他邻居同步(节省网络开销)产生network LSA 用以描述网络链路状态; BDR的作用: 做为DR的备份,在DR失效时接管它; 指定路由器产生用于描述所处的网段的链路数据包—network link,该数据包里包含在该网段上所有的路由器,包括指定路由器本身的状态信息。 指定路由器与所有与其处于同一网段上的OSPF路由器建立相邻关系。由于OSPF路由器之间通过建立相邻关系及以后的flooding来进行链路状态数据库是同步的,因此,我们可以说指定路由器处于一个网段的中心地位。 当选举DR/BDR 的时候要比较hello 包中的优先级(priority),优先级最高的为DR,次高的为BDR.默认优先级都为1.在优先级相同的情况下就比较RID,RID 等级最高的为DR,次高的为BDR.当你把优先级设置为0 以后,OSPF 路由器就不能成为DR/BDR,只能成为DROTHER(即非DR/BDR)。 当网络中新加入一个优先级更高的的路由器,不会影响现有的DR/BDR,除非DR 出故障,BDR 随即升级为DR,并重新选举BDR;如果是BDR 出故障了就重新选举BDR。

44 OSPF基本概念 DR & BDR (cont)
目减少; 多路访问网络中路由器只与DR和BDR建立邻接; 优先级最高的路由器做为DR; 一旦DR选出,其他路由器无法替代,除非这个DR失效;

45 OSPF基本原理 OSPF的基本概念 OSPF的网络类型 OSPF如何运作 OSPF报文类型、格式详解 LSA报文分类详解 OSPF虚连接

46 OSPF基本原理 OSPF网络类型 OSPF网络类型(一) OSPF广播型网络环境:
是一种具有多个访问设备的网络,同时可连多于两个设备; 例如: 1) Ethernet 以太网 2) Token Ring 令牌环网 3) FDDI 光纤分布式数字接口 注意 OSPF协议在广播型网络环境下: a) 需要进行DR/BDR 的选举 b) 所有的非DR/BDR路由器和DR/BDR 形成完全邻接关系 c) DROTHER 通过DR/BDR 交换信息

47 OSPF基本原理 OSPF网络类型 (cont)
连接单独一对路由器的网络。这种网络上的邻居间总是可以形成邻接。 例如: 1) Serial 高速同步串口、低速异步串口 2) Frame Relay Subinterface Point-to-Point 帧中继点到点子接口 3) ATM Sub-interface point-to-point ATM 帧中继续点到点子接口 注意 OSPF协议在点到点网络中: a) 适用于部分互连或星形拓扑结构里 b) 不需DR,只使用单独的一个子网 c) 自动发现邻居 d) LSU 包被发送到每个邻居路由器的接口

48 OSPF基本原理 OSPF网络类型 (cont)
OSPF NBMA 非广播多路访问型网络环境: 可以连多个设备的网络,但是没有广播能力; 一个设备发出的报文不会被多个设备收到; 例如: 1) Frame Relay Physical Interface 帧中继物理接口 2) X.25 Physical Interface X.25物理接口 3) ATM Physical Interface ATM物理接口 X.25 Frame Relay 注意 OSPF协议在NBMA网络中: a) OSPF路由器要选择DR和BDR b) 邻居关系需要手工配置,所有的OSPF报文为单播

49 OSPF基本原理 OSPF网络类型 (cont)
OSPF NBMA 点到多点访问型网络环境: 是NBMA网络的一个特殊配置; 可看作是点到点链路的集合; 例如: 1) Frame Relay SubInterface Point-to-Multipoint 帧中继点到多点接口 2) ATM SubInterface Point-to-Multipoint ATM点到多点接口 注意 OSPF协议在点到多点网络中: a) OSPF路由器不需要选择DR和BDR

50 OSPF基本原理 OSPF的基本概念 OSPF的网络类型 OSPF如何运作 OSPF报文类型、格式详解 LSA报文分类详解 OSPF虚连接

51 OSPF如何运作 OSPF协议工作流程 OSPF协议工作流程 A) 与邻居形成完全邻接关系 ——发现邻居 ——双向通信 ——数据库同步
B) 将链路状态数据库更新扩散给其他路由器 C) 路由器计算最短路径树,生成路由表。

52 OSPF如何运作 OSPF协议工作流程 (cont)
邻接关系如何形成 Router A Router B /24 /24 Down 状态 发送hello包,DR未选出 Hello Init 状态 发送hello包应答,之后选出DR和BDR 1、刚开始路由器A并未和其他路由器交换信息,状态为Down,接下来通过多播地址 开始发送Hello包。 2、B收到A的Hello包,把A加入自己的neighbor table中,并进入innt状态,然后以单播的形式发送hello包对A做出应答。 3、A收到以后,把所有从Hello包中找到的RID加进自己的neighbor table中,进入two-way状态。 4、如果是广播型或NBMA网络,接下来选举DR和BDR,这个过程在交换信息之前。 Hello Two-Way 状态

53 OSPF如何运作 OSPF协议工作流程 (cont)
邻接关系如何形成(二) Router A Router B /24 /24 Exstart 状态 开始选举用来交换数据库描述报文的主机 Hello 确定主从关系 Hello 在exstart状态,邻接关系已经形成,路由器之间形成主从关系(RouterID等级最高的为主)。 交换DBD(数据库描述)包,进入exchange状态。 Exchange 状态 发送数据库描述报文 DBD 交换数据库描述报文 DBD

54 OSPF如何运作 OSPF协议工作流程 (cont)
邻接关系如何形成(三) Router A Router B /24 /24 互发LSAck报文确认 LSAck LSAck Loading 状态 发送链路状态请求和链路状态更新报文 LSR 路由器收到DBD后,发送LSAck进行确认,并与自己本身的DBD进行比较。 如果DBD信息中有更新更全的链路状态条目,路由器则发送LSR给其他路由器,该状态为LOADING;收到LSR后,路由器以LSU做出应答,其中包含了LSR所需要的完整信息;收到LSU后,发送LSAck做出确认, 路由器添加新的条目进入LSDB,进入了FULL状态。 发送链路状态请求和链路状态更新报文 LSU 更新数据库,发送LSAck确认 LSAck Full 状态

55 OSPF如何运作 OSPF协议工作流程 (cont)
扩散 Flooding(一) DROther DR LSU ( ) LSU DROther 当路由器意识到链路状态变化后,对DR和BDR发送LSU,LSU中包含更新了的LSA条目。 BDR ( ) DROther

56 OSPF如何运作 OSPF协议工作流程 (cont)
扩散 Flooding(二) LSU DROther LSU DR ( ) LSU DROther DR对LSU做出确认,然后将这个LSU扩散到所有邻接路由器。每个收到LSU的路由器反馈LSAck BDR ( ) DROther

57 OSPF如何运作 OSPF协议工作流程 (cont)
扩散 Flooding(三) LSU DROther LSU DR ( ) LSU LSU DROther 如果路由器还连接着其他的网络,则通过转发LSU给其他网络中的DR(在点对点网络是发给邻居路由器)来对其他网络进行扩散。 LSU BDR LSU ( ) DROther

58 OSPF如何运作 OSPF协议工作流程 (cont)
LSA操作流程 LSDB中有 相应条目吗? 与LSDB中 相应条目的版本 号一致吗? LSA 忽略这个LSA yes yes NO NO A 加到LSDB中 比LSDB中 相应条目的版本 号更新吗? GO TO A yes 反馈LSAck NO 如图可以看出当路由器收到一个LSA 以后,先会查看它自己的LSDB,看有没有相应的条目,如果没有就加进自己的LSDB 中去,并反馈LSA 确认包(LSAck),接着再继续扩散LSA,最后运行SPF 算法算出新的路由表。 如果当它收到LSA 的时候,自己的LSDB 有该条目而且版本号一样,就忽略这个LSA; 如果有相应条目,但是收到的LSA 的版本号更新,就加进自己的LSDB 中,发回LSAck,扩散LSA,最后用SPF 计算最佳路径;如果版本号没有自己LSDB 中那条新,就反馈LSU(链路状态更新) 信息给发送源。 扩散LSA 反馈LSU信息给 发送源 运行SPF算法算出 新的路由表 END END

59 OSPF基本原理 OSPF的网络类型 OSPF的基本概念 OSPF如何运作 OSPF报文类型、格式详解 LSA报文分类详解 OSPF虚连接

60 OSPF如何运作 OSPF报文类型格式详细解
OSPF报文在IP报文里的形式 Link Head IP Header OSPF报文 Link Trailer Protocol ID NO. 89=OSPF 1.Version Number:当前为OSPF版本2。 2.Type:定义OSPF包的类型。 3.Packet Length:包的长度,单位是字节。 4.Router ID(RID):产生OSPF 包的源路由器。 5.Area ID:定义OSPF 包是从哪个area 产生出来的。 6.Checksum(校验和):错误校验。 7.Authentication Type:验证方法,可以是明文(cleartext)密码或者是Message Digest 5(MD5)加密格式。 8.Data: 对于hello 包来说,该字段是已知邻居的列表; 对于DBD 包来说,该字段包含的是LSDB的汇总信息,包括RID 等等; 对于LSR 包来说,该字段包含的是需要的LSU 类型和需要的LSU类型的RID; 对于LSU 包来说,包含的是完全的LSA 条目,多个LSA 条目可以装在一个包里; 对于LSAck 来说,该字段为空。 OSPF 版本号 包的类型 包的长度 源路由器的ID 源区域的ID 错误校验 验证类型 验证 Data

61 OSPF如何运作 OSPF报文类型格式详细解 (cont)
报文名称 功能 1 Hello 发现并维持邻居 2 数据库描述(DBD) 概括数据库容量 3 链路状态请求(LSR) 请求数据库信息 4 链路状态更新(LSU) 数据库更新 5 链路状态应答(LSAck) 确认应答包

62 OSPF如何运作 OSPF报文类型格式详细解 (cont)
Hello报文格式

63 OSPF如何运作 OSPF报文类型格式详细解 (cont)
Hello报文字段说明 三大作用:建立邻居;选举DR;维护链路状态 一般发送到组播地址 ,不支持组播的情况下发送到单播地址。 TTL=1 定期在所有 OSPF已配置接口上发送 报文中包含所有本接口看到的邻居 同一接口上所有路由器的参数要一致 超时未收到hello认为ospf链路断开

64 OSPF如何运作 OSPF报文类型格式详细解 (cont)
DBD(DD)报文格式

65 OSPF如何运作 OSPF报文类型格式详细解 (cont)
DBD(DD)报文字段说明 用于快速同步链路状态数据库 描述了链路状态数据库中的内容 在初始化建立网络邻居时交换此种报文 分为主机master和从机slave, 主机负责序号加1,以做确认。 由收到的DD报文判断本地链路信息是否缺失或过期,如果是,则发LSR请求更新LSA

66 OSPF如何运作 OSPF报文类型格式详细解 (cont)
LSR报文格式

67 OSPF如何运作 OSPF报文类型格式详细解 (cont)
LSR报文字段说明 用于向邻居发送需要更新LSA的请求 通过序列号、LS校验和、LS age来判断新旧 没有LSU的应答则要以重传间隔定期发送

68 OSPF如何运作 OSPF报文类型格式详细解 (cont)
LSU报文格式

69 OSPF如何运作 OSPF报文类型格式详细解 (cont)
LSU报文字段说明 LSU的功能 1、收到请求发送更新 2、收到更新扩散更新 3、链路变化触发更新 多条LSA可加载到一个LSU报文中发送,如果没有收到确认应答,则重传需要重传则要单播发送到对端邻居;

70 OSPF如何运作 OSPF报文类型格式详细解 (cont)
LSAck报文格式

71 OSPF如何运作 OSPF报文类型格式详细解 (cont)
LSAck报文字段说明 用于确认收到链路状态更新的LSA; 多条LSA可用一个确认报文应答; 可以做适当确认延迟,以便将更多的LSA确认信息装入一个确认应答报文中根据接口的状态可组播或单播传送;

72 OSPF基本原理 OSPF的网络类型 OSPF的基本概念 OSPF如何运作 OSPF报文类型、格式详解 LSA报文分类详解 OSPF虚连接

73 OSPF如何运作 LSA报文分类详解 LSA的类型 LSA的类型有很多种 这里只介绍五种常用的LSA的类型:
类型1:router LSA(路由器链路状态宣告) 类型2:network LSA(网络链路状态宣告) 类型3/4:summary LSA(网络/路由器汇总链路状态宣告) 类型5:AS external LSA(自治系统外部链路状态宣告)

74 OSPF如何运作 LSA报文分类详解(cont)
Area1 Type1

75 OSPF如何运作 LSA报文分类详解(cont)
一个区域里的每个路由器产生一个Router LSA。 Router LSA描述了路由器接口到该区域的链路状态和开销(Cost)。 一个Router LSA包含该路由器到该区域所有的链路。 一个Router LSA只在单独的区域传播,不穿越ABR。 Router LSA还描述了该路由器是否为ABR、ASBR或虚链路端口。

76 OSPF如何运作 LSA报文分类详解(cont)
类型一的LSA在不同类型链路上的Link ID: 链路类型 描述 Link ID 1 点对点链路 Point-to point 邻居的RID 2 传输网络 Link to transit network DR的 接口地址 3 Stub网络 Link to stub network IP网络号 4 虚拟链路 Virtual link

77 OSPF如何运作 LSA报文分类详解(cont)
Area1 DR Type2

78 OSPF如何运作 LSA报文分类详解(cont)
由网络中的DR生成。 描述了该网络中所有路由器,包括DR本身。 一个Router LSA只在单独的区域传播,不穿越ABR。 Network LSA ID是DR进行宣告的那个接口的IP地址。

79 OSPF如何运作 LSA报文分类详解(cont)
LSA的类型3、4 汇总链路状态宣告 Type 3 & Type 4 由ABR发起的。 描述不属于本区域,但仍属于该自治系统的目的地。 只在一个区域内宣告。 如果路由目的为一个ASBR,则生成Type4 LSA。它的链路状态ID为目的ASBR的RID。 Type 3 的链路状态ID是目的网络地址。

80 OSPF如何运作 LSA报文分类详解(cont)
LSA的类型5 外部链路状态宣告 Type 5 描述了到达本AS外部的路由。 由ASBR生成的。 在整个AS内部宣告 链路状态ID是目的地址的IP网络号。

81 OSPF如何运作 LSA报文分类详解(cont)
邻居认证使得路由器确认每次所收到的路由更新的源。如果关键字不匹配,就会拒绝路由更新。 遵照国际规范:锐捷路由器支持两种类型的邻居认证: 1、纯文本式 纯文本式确认在线上发送一个关键字。因为这些关键字是在纯文本中传递,它所在传输过程中读取(因此,我们并不推荐它)。 2、报文摘要算法5.0版(MD5)。 MD5认证发一个报文摘要,而不是关键字,MD5被用来生成一个关键字的“散列”,这个散列就是被发送的对象;

82 OSPF如何运作 LSA报文分类详解(cont)
这个特性使得ABR广播一条汇总路由到其他区域。 在OSPF中,ABR将广播每一个网络到其他区域。 如果网络号按照某种方式分配,使得它们连续,你能配置ABR广播一条汇总路由到其他区。 汇总路由能覆盖一定范围的所有网络。

83 OSPF如何运作 LSA报文分类详解(cont)
然而你能配置路由器广播一条路由,它能覆盖一定的地址范围。

84 OSPF如何运作 LSA报文分类详解(cont)
OSPF路由的按需发送,对普通的OSPF进行了增强,使得它在On-Demand链路(如:ISDN、X.25 SVC、PSTN)上更加有效。 在没有这个特征之前,OSPF在路由器之间周期地交换Hello与LSA包,即使网络无变化也必须定期交换信息。 增加这个特征后,使得OSPF不必周期交换Hello包,同时LSA更新也不FLOOD到On-Demand链路上。它只有在网络初起时或信息有变化时,才交换信息。这样,如果网络层稳定后,再允许数据链路层关闭;

85 OSPF如何运作 LSA报文分类详解(cont)
这个特征是非常有用的,尤其当连接到电信网或者分公司网络希望通过OSPF连接到总公司网络时。即当网络中无用户数据传输时,避免由于Hello包、LSA等数据的更新激活拨号链路,节省了用户的开销; 仅仅当网络初起或网络的拓扑发生变化时,才发送Hello包和LSA等额外数据开销。这意味着只有网络的拓扑发生重大变化时,网络必须重新传输路由数据时,才交数据,以保持网络路由的一致性。当然变化不包括周期的数据更新,周期更新不引起网络数据的直接传输;

86 OSPF基本原理 OSPF的网络类型 OSPF的基本概念 OSPF如何运作 OSPF报文类型、格式详解 LSA报文分类详解 OSPF虚连接

87 OSPF如何运作 OSPF虚连接 OSPF虚连接
方式一:骨干域(区域0)是所有区域的中心,所有的域必须与骨干域相连,如果一个区域没有与骨干域形成直接的物理连接,就必须建立一个虚链路来连接它们; Area 1 Area 2 Area 0 虚链路

88 OSPF如何运作 OSPF虚连接 OSPF虚连接 (cont) 方式二:两个AS间的骨干域分离的情况下,建立虚链路来连接两个骨干域;
Area 1 Area 0 Area 0 虚链路

89 OSPF常用基本配置 OSPF的最基本配置 单区域OSPF配置 多区域OSPF配置 Stub区域基本配置 NSSA区域基本配置

90 OSPF常用基本配置 OSPF最基本配置

91 OSPF常用基本配置 OSPF最基本配置 router ospf process-id
network address mask area area-id 配置OSPF运行的接口以及接口的区域ID

92 OSPF常用基本配置 OSPF最基本配置 (cont)
使能OSPF认证(明文方式、MD5方式) (可选配置) area area-id authentication 激活OSPF区域认证 ip ospf password key 配置一个网段内的邻接路由的口令,明文方式

93 OSPF常用基本配置 OSPF最基本配置(cont)
使能OSPF认证(明文方式、MD5方式) (可选配置) (二) area area-id authentication message-digest 使用MD5认证 ip ospf message-digest-key key-id md5 key 配置一个网段内的邻接路由的口令,MD5方式

94 OSPF常用基本配置 OSPF最基本配置(cont)
area area-id range address mask 设定汇总路由的地址范围 summary-address prefix mask [not advertise] 描述覆盖分发路由的地址与掩码,仅仅一条汇总路由被广播

95 OSPF常用基本配置 OSPF最基本配置(cont)
配置OSPF按需发送、配置ASBR引入默认路由 (可选配置) ip ospf demand-circuit OSPF路由的按需发送 default-information originate [always] [route-map map-name] 强制ASBR生成默认路由进入OSPF路由域

96 OSPF常用基本配置 OSPF最基本配置(cont)
RouterA#show ip ospf ? < > border-routers database interface neighbor virtual-link <cr> -- 显示OSPF进程信息 -- 显示边界路由器信息 -- 显示数据库 -- 显示接口信息 -- 显示邻接路由器 -- 显示虚链路 -- 显示当前OSPF配置

97 OSPF常用基本配置 OSPF单区域配置

98 OSPF常用基本配置 OSPF单区域配置 单区域OSPF配置 示例
Loopback /24 Loopback /24 Loopback /24 Loopback /24 S1/ /24 /24 S0/2 OSPF 路由器A 路由器B 路由器A和B背靠背连接,构成点对点网络,IP地址如图所示,loopback地址 被定义到每个路由器上。 OSPF 的基本配置命令: 在全局配置模式下输入router ospf [process-id]启动OSPF 进程。 接下来在路由配置模式下输入 network [address] [mask] area [area-id]

99 OSPF常用基本配置 OSPF单区域配置(cont)
Loopback /24 Loopback /24 Loopback /24 Loopback /24 S1/ /24 /24 S0/2 路由器A 路由器B interface Serial1/1 Ip address physical-layer speed 64000 ! router ospf 64 network area 0 network area 0 interface Loopback0 ip address ! interface Loopback1 ip address router ospf 64 network area 0 network area 0 network area 0

100 OSPF常用基本配置 OSPF单区域配置(cont)
在路由器A和路由器B上查看各自的路由表。注意由于在B上两个回环接口均被宣告, 所以路由器A获得的路由有两条,而在A上只有loop0宣告,所以路由器B只获得到 的一条路由。 RouterA#show ip route C / is directly connected, Loopback0 O / [110,1601] via (on Serial1/1) O / [110,1601] via (on Serial1/1) C / is directly connected, Serial1/0 RouterB#show ip route O / [110,1601] via (on Serial0/2) C / is directly connected, Loopback0 C / is directly connected, Loopback1 C / is directly connected, Serial0/2

101 OSPF常用基本配置 OSPF单区域配置(cont)
单区域OSPF配置 debug调试跟踪 示例 Router A 和 B发出HELLO包。 :13:54 OSPF: Send HELLO to on Serial1/1 :13: HelloInt 10 Dead 40 Opt 0x2 Pri 1 len 44 :13:54 OSPF: Send HELLO to on Loopback0 :14:01 OSPF: Recv IP_SOCKET_RECV_PACKET message :14:01 OSPF: Entering ospf_recv :14:01 OSPF: Entering ospf_rxpkt :14:01 OSPF: Recv HELLO packet from (addr: ) area 0 from Serial1/1

102 OSPF常用基本配置 OSPF单区域配置(cont)
单区域OSPF配置 debug调试跟踪 示例 (二) 路由器A和路由器B交换数据库描述包 :14:01 OSPF: Send DD packet to (RID ) on Serial1/1 :14: Seq 0x00002d79, Opt 0x2 I_M_MS 0x7 len 32 :14:01 OSPF: End of hello processing :14:01 OSPF: Recv IP_SOCKET_RECV_PACKET message :14:01 OSPF: Entering ospf_recv :14:01 OSPF: Entering ospf_rxpkt :14:01 OSPF: recv DD from on Serial1/1 Seq 0x2ca4 opt 0x2 len 32 I_M_MS 0x7 :14: Seq 0x00002ca4, Opt 0x2 I_M_MS 0x0 len 52 …… :14:01 OSPF: recv DD from on Serial1/1 Seq 0x2ca5 opt 0x2 len 72 I_M_MS 0x1 :14: Seq 0x00002ca5, Opt 0x2 I_M_MS 0x0 len 32

103 OSPF常用基本配置 OSPF单区域配置(cont)
单区域OSPF配置 debug调试跟踪 示例 (三) 现在路由器A和B交换完了数据库信息,每个路由器比较自己的信息和从它邻居那儿收到的信息,如果它自己的数据库的信息不如从它邻居那收到的信息新,路由器就会请求发出那个信息。 :14:01 OSPF: Send REQUEST to (RID ) on Serial1/1 len 48 :14:01 OSPF: Recv IP_SOCKET_RECV_PACKET message :14:01 OSPF: Entering ospf_recv :14:01 OSPF: Entering ospf_rxpkt ……

104 OSPF常用基本配置 OSPF单区域配置(cont)
单区域OSPF配置 debug调试跟踪 示例 (四) 在路由器从它邻居那里收到链路状态请求包以后,路由器将发送出被请求的部分,当路由器收到更新,它会发出一个应答包给发送者使它知道包已收到。 所有的链路状态请求被执行完后,数据库同步了,路由器完全邻接 :14:01 OSPF: recv UPDATE packet from (addr: ) area 0 from Serial1/1 :14:01 OSPF: Send UPDATE to on Serial1/1 len 76 :14:01 OSPF: Send ACK to (RID ) len 44 on Serial1/1 :14:01 OSPF: Recv IP_SOCKET_RECV_PACKET message :14:01 OSPF: Entering ospf_recv :14:01 OSPF: Entering ospf_rxpkt :14:02 OSPF: Recv IP_SOCKET_RECV_PACKET message :14:02 OSPF: Entering ospf_recv :14:02 OSPF: Entering ospf_rxpkt :14:02 OSPF: recv ACK from (RID ) on Serial1/1 ……

105 OSPF常用基本配置 OSPF多区域配置

106 OSPF常用基本配置 OSPF多区域配置(cont)
area0 路由器B S1/ /24 /24 S0/2 Loop /24 路由器A E0/ /24 Loop /24 area1 E1/ /24 Loop /24 本实验将验证配置一个多区域的OSPF协议过程。 路由器A/B背靠背连接,路由器B、C通过以太口连接,IP 地址如图所示,回环地址被定义到每个路由器上。 路由器C

107 OSPF常用基本配置 OSPF多区域配置(cont)
area0 路由器B S1/ /24 /24 S0/2 Loop /24 路由器A E0/ /24 Loop /24 area1 E1/ /24 router ospf 1 network area 0 network area 0 ! router ospf 1 network area 0 network area 1 ! Loop /24 路由器C router ospf 1 network area 1 network area 1 !

108 OSPF常用基本配置 OSPF多区域配置(cont)
RouterA#show ip route Codes: C - connected, S - static, R - RIP, B - BGP, BC - BGP connected D - BEIGRP, DEX - external BEIGRP, O - OSPF, OIA - OSPF inter area ON1 - OSPF NSSA external type 1, ON2 - OSPF NSSA external type 2 OE1 - OSPF external type 1, OE2 - OSPF external type 2 VRF ID: 0 C / is directly connected, Loopback0 O IA / [110,1611] via (on Serial1/1) O IA / [110,1610] via (on Serial1/1) C / is directly connected, Serial1/1 查看形成完全邻接后,最终各路由器上的路由表, RouterC#show ip route Codes: C - connected, S - static, R - RIP, B - BGP D - BEIGRP, DEX - external BEIGRP, O - OSPF, OIA - OSPF inter area ON1 - OSPF NSSA external type 1, ON2 - OSPF NSSA external type 2 OE1 - OSPF external type 1, OE2 - OSPF external type 2 O IA / [110,1602] via (on FastEthernet0/0) C / is directly connected, Loopback0 C / is directly connected, FastEthernet0/0 O IA / [110,1601] via (on FastEthernet0/0) O IA / [110,3201] via (on FastEthernet0/0) RouterB#show ip route Codes: C - connected, S - static, R - RIP, B - BGP, BC - BGP connected D - BEIGRP, DEX - external BEIGRP, O - OSPF, OIA - OSPF inter area ON1 - OSPF NSSA external type 1, ON2 - OSPF NSSA external type 2 OE1 - OSPF external type 1, OE2 - OSPF external type 2 VRF ID: 0 O / [110,1601] via (on Serial0/2) C / is directly connected, Loopback0 O / [110,11] via (on Ethernet0/1) C / is directly connected, Ethernet0/1 C / is directly connected, Serial0/2

109 OSPF常用基本配置 OSPF多区域配置(cont)
根据前面介绍的选举DR和BDR的规则,在此实验中,区域1的DR应该为路由器C,BDR为路由器B,现在用show ip ospf neighbor这个命令来验证一下。 RouterB#show ip ospf neighbor OSPF process: 1 AREA: 0 Neighbor ID Pri State DeadTime Neighbor Addr Interface FULL/ Serial0/2 AREA: 1 FULL/DR Ethernet0/1 RouterC#show ip ospf neighbor OSPF process: 1 AREA 1 Neighbor ID Pri State DeadTime Neighbor Addr Interface FULL/DR FastEthernet0/0

110 OSPF常用基本配置 OSPF多区域配置(cont)
RID是用来独一无二的识别AS中的路由器的,因此必须是唯一的, 如果将路由器B上的回环地址loopback0的地址设为与路由器C上loopback0相同的地址,即 /24时,此时区域1中的路由器便无法正常学习路由。 在路由器C上查看DEBUG信息如右所示。 :36:01 OSPF: Send HELLO to on FastEthernet0/0 :36: HelloInt 10 Dead 40 Opt 0x2 Pri 1 len 48 :36:02 OSPF: Recv IP_SOCKET_RECV_PACKET message :36:02 OSPF: Entering ospf_recv :36:02 OSPF: Entering ospf_rxpkt :36:02 OSPF: recv DD from on FastEthernet0/0 Seq 0x829 opt 0x2 len 32 I_M_MS 0x7 :36:02 OSPF: ERROR! events OSPF_ERR_DD_RTRID

111 OSPF常用基本配置 Stub区域基本配置

112 OSPF常用基本配置 OSPF Stub区域配置
Loopback /24 Loopback /24 S1/ /24 /24 S0/2 路由器B 路由器A E0/ stub area0 E1/ 路由器C 本实验将验证配置一个带stub域的多区域OSPF协议过程。 路由器A/B背靠背连接,stub域的区域如图所示,路由器 B、C通过以太口连接,IP地址如图所示,回环地址被定义 到每个路由器上。 Loopback /24 Loopback /24 Stub域的基本配置命令: RouterA_config_ospf_1#area [area-id] stub所有位于Stub域里的路由器均要运行这条命令。

113 OSPF常用基本配置 OSPF Stub区域配置(cont)
Loopback /24 Loopback /24 S1/ /24 /24 S0/2 路由器B 路由器A E0/ stub area0 router ospf 64 network area 2 area 2 stub ! E1/ Loopback /24 Loopback /24 router ospf 64 network area 2 network area 0 area 2 stub !

114 OSPF常用基本配置 OSPF Stub区域配置(cont)
stub area不接收外部路由信息(LSA 类型5),如果要到达外部AS的话就使用标记为 的默认路由. RouterA#show ip route Codes: C - connected, S - static, R - RIP, B - BGP D - BEIGRP, DEX - external BEIGRP, O - OSPF, OIA - OSPF inter area ON1 - OSPF NSSA external type 1, ON2 - OSPF NSSA external type 2 OE1 - OSPF external type 1, OE2 - OSPF external type 2 O IA / [110,1700] via (on Serial1/0) O IA / [110,1611] via (on Serial1/0) O IA / [110,1611] via (on Serial1/0) C / is directly connected, Loopback0 C / is directly connected, Serial1/0 O IA / [110,1610] via (on Serial1/0) ————————————————————————

115 OSPF常用基本配置 NSSA 区域基本配置

116 OSPF常用基本配置 OSPF NSSA区域配置
ASBR Loop /24 RIP AS Loop /24 Loop /24 F0/ /24 S0/ /24 F0/ /24 s1/ /24 area0 NSSA(Area1) 路由器C 路由器A 路由器B 本实验将验证配置一个带NSSA域的多区域OSPF协议过程。路由器A/B通过以太口相连, NSSA域的区域如图所示,网络拓扑如上图所示,IP地址如图所示,回环地址被定义 到每个路由器上。 NSSA域的基本配置命令: RouterA_config_ospf_1#area [area-id] NSSA所有位于Stub域里的路由器均要运行这条命令。

117 OSPF常用基本配置 OSPF NSSA区域配置(cont)
ASBR Loop /24 RIP AS Loop /24 Loop /24 F0/ /24 S0/ /24 F0/ /24 s1/ /24 area0 NSSA(Area1) 路由器C 路由器A 路由器B router rip network ! router ospf 1 network area 1 network area 1 area 1 nssa redistribute rip router ospf 1 network area 0 network area 1 area 1 nssa default-information-originate ! router rip network network !

118 OSPF常用基本配置 OSPF NSSA区域配置(cont)
RouterA_config#show ip route O N / [150,1700] via (on Serial1/1) R / [120,1] via (on FastEthernet0/0) C / is directly connected, Loopback1 O IA / [110,1601] via (on Serial1/1) C / is directly connected, Serial1/1 C / is directly connected, FastEthernet0/0 RouterB#show ip route O N / [150,100] via (on Serial0/2) O / [110,1601] via (on Serial0/2) C / is directly connected, Loopback0 C / is directly connected, Serial0/2

119 OSPF常用基本配置 OSPF虚连接配置

120 OSPF常用基本配置 OSPF 虚连接配置 OSPF 虚连接配置 area0 area1 area4 loop0 1.1.1.1/24
路由器B E0/ /24 S2/ /24 F0/ /24 路由器A area1 loop /24 V link S1/ /24 本实验将验证配置一个OSPF虚链路的过程。 在图中区域4与区域0并没有直接相连,区域一被用作 传输区域来连接区域0和区域4,路由器B和C之间配置了 一条虚链路,IP地址如图所示,回环地址被配置在路由器上 路由器C loop /24 E2/ /24 配置虚链路的基本命令如下: Area [area-id] virtual-link [RID] Area-id是传输区域的ID,RID是虚链路对端的RID area4

121 OSPF常用基本配置 OSPF 虚连接配置(cont)
area0 loop /24 路由器B E0/ /24 S2/ /24 F0/ /24 路由器A area1 loop /24 V link S1/ /24 interface Loopback0 ip address ! interface FastEthernet0/0 ip address router ospf 1 network area 0 router ospf 1 network area 1 network area 0 area 1 virtual-link ! 路由器C loop /24 E2/ /24 area4 router ospf 1 network area 1 network area 4 area 1 virtual-link !

122 OSPF常用基本配置 OSPF 虚连接配置(cont)
在路由器C和B上运行show ip ospf virtual-links命令确认虚链路已经形成。 RouterC#show ip ospf virtual-link Virtual Link Neighbor ID (UP) Run as Demand-Circuit TransArea: 1, Cost is 1600 Hello interval is 10, Dead timer is 40 Retransmit is 5 INTF Adjacency state is IPOINT_TO_POINT RouterB#show ip ospf virtual-link Virtual Link Neighbor ID (UP) Run as Demand-Circuit TransArea: 1, Cost is 1600 Hello interval is 10, Dead timer is 40 Retransmit is 5 INTF Adjacency state is IPOINT_TO_POINT

123 OSPF常用基本配置 OSPF 虚连接配置(cont)
在路由器A上使用show ip route显示路由表,此时有到 网络的路由 RouterA#show ip route C / is directly connected, Loopback0 O IA / [110,1611] via (on FastEthernet0/0) C / is directly connected, FastEthernet0/0 O IA / [110,1601] via (on FastEthernet0/0) O IA / [110,3201] via (on FastEthernet0/0) 将虚链路NO掉后,再次查看路由器A的路由表,发现不再有到 网络的路径 RouterA#show ip route C / is directly connected, Loopback0 C / is directly connected, FastEthernet0/0 O IA / [110,1601] via (on FastEthernet0/0) O IA / [110,3201] via (on FastEthernet0/0)

124 OSPF常用基本配置 Added Content
OSPF控制DR选举配置(通过修改Priority) OSPF添加区域认证配置

125 OSPF常用基本配置 Added Content
OSPF 控制DR选举的配置 A D L L E E E E L L B C 如图所示,4台路由器被连接到一个以太网中继器上,并且都运行OSPF来通告路由信息。 路由器A被设置的优先级为100,是网络中优先级最高的,被选为DR。 路由器C是优先级第2高的,并被选为BDR。 路由器B被设置为优先级0,这意味着它无法成为DR。 路由器D没有优先级而其缺省值为1。

126 OSPF常用基本配置 Added Content (cont)
OSPF 控制DR选举的配置 这里举例为通过修改Router 优先级,也可以通过设置高IP地址的 LoopBack地址来充当Router ID来进行控制! 设置优先级的基本命令如下: 在端口模式下 Router_config_f0/0#ip ospf priority [number]

127 OSPF常用基本配置 Added Content (cont)
路由器B 路由器A E0/ area0 area1 E1/ 路由器C 路由器A在于路由器B交换路由更新时将会使用简单认证,而在与路由器C交换路由更新时用M D 5算法。

128 OSPF常用基本配置 Added Content (cont)
设置认证方式的基本命令如下: 设置简单认证 Router_config_ospf_1#area [area-id] authentication 设置简单认证口令 Router_config_f0/0#ip ospf password [password] 设置MD5认证 Router_config_ospf_1#area [area-id] authentication message-digest 设置MD5认证口令 Router_config_f0/0#ip ospf message-digest-key [key-id] md5 [string]

129 OSPF网络设计建议 OSPF 区域内路由器的数量 OSPF Router 邻居数量 ABR Router上连接的区域数
一般性规划设计原则

130 OSPF网络设计建议 区域内Router数量
根据区域类型的不同,区域内路由器的数量不能精确定义; 但总的原则是: 由于多数的LSA报文都在一个区域内洪泛,每个OSPF路由器的LSDB规模会因路由器数量的增多而指数增长;应适当控制一个区域内的路由器数量!!根据工程经验,运行在Area 0骨干区域中的路由器(通常都是高硬件配置)最多不能超过70台! 根据其它类型区域的特点、一般采用的路由器产品档次以及工程实施经验来看,也不宜超过上述70台上限!! 每个区的路由器最多数目靠以下几个因素来决定的: 所设计的OSPF区域类型 区域中路由器的CPU的档次 传输介质链路状况 是否在NBMA上运行OSPF 如果网络类型是NBMA 网络是否全连接 OSPF网络中是否有大量的外部LSA报文 其他区域中的路由是否进行了合理的聚合 针对这些因素才能决定每个区域中路由器最大数目

131 OSPF网络设计建议 区域内Router邻居数量
根据区域类型的不同,区域内路由器邻居的数量不能精确定义; 在广播网络中,由于每个网段上由DR和BDR承担着LSA汇聚接收点的重任,其它普通路由器都和他们建立邻接关系,如果他们的“客户”过多,也会让DR、BDR崩溃掉! 但总的原则是: 可以通过人为进行配置干预,尽量的分派高硬件配置的路由器作为DR和BDR,并且针对不同的Lan网段,分派不同的DR和BDR,避免一台设备通过作为多个段的DR(BDR)从而造成问题发生!!

132 OSPF网络设计建议 ABR Router连接区域的数量
根据ABR连接的区域类型的不同,ABR路由器连接的区域数也不好精确定义! 由于ABR连接多个区域,会在内存中保留多个LSDB(为每个区域保持一个LSDB),并且所连接区域中有LSDB变化时候,牵扯SPF的重新计算,会给ABR的CPU和内存带来沉重的压力! 根据实际工程经验,高配置的路由器充当ABR时,如果连接的区域多是标准区域时,一般不要超过10-12个区域;

133 OSPF网络设计建议 Router自身的性能问题
对于一个特定的OSPF配置很难计算出来到底需要多少内存开销,如果有大量的External路由引入OSPF域中那么路由器的内存开销将显著增加;实验表明一个有40个路由器、一条缺省路由的骨干区要比具有4个路由器3300条引入到OSPF区域的External 路由所消耗的内存要少,一个设计合理的OSPF网络会节省路由器内存在ABR上实施路由聚合,适当采用Stub区会进一步减少路由交换的数目,OSPF协议的内存开销主要包括两个部分:一部分是路由表所消耗的内存可通过show ip route summary来查看,另一部分是链路状态数据库所消耗的内存,按照经验值,来计算路由表中的每条路由消耗的内存在200到280个字节之间,每加一条路径则增加44个字节的内存,每个LSA消耗100个字节左右,再加上实际的链路状态宣告报文的大小大约60到100个字节之间,对于路由器的链路状态主要取决 于路由器上的端口数目还要加上路由器上的系统本身及其他进程所需要的内存,这些内存可以在启动OSPF之前通过查看memory来知道,正常情况下路由表小于500K字节则需要2M到4M的内存,大于500K字节的大型网络则需要8M至16M内存;如果全部路由都从Internet上引入的则需要至少32M至64M内存!! 且SPF算法是一种CPU密集型算法,每进行一次运算将对CPU资源进行大量占用和消耗,如果拓扑变化过于频繁,将导致CPU时间片都使用在反复进行高强度的SPF算法中,适当的规划区域直径和根据网络实际情况设置进行两次SPF算法之间的时间间隔,也有助于减轻CPU运算压力! 总体原则是:根据设备硬件性能,将其角色设置合理!!

134 OSPF网络设计建议 一般性规划设计原则 OSPF 设计 一般性规划设计原则 根据网络规模,设计OSPF是否采用多区域结构;
根据网络体系,合理划分区域,制定OSPF骨干区域位置,分析路由条目特点,设计Stub区、NSSA区; 对IP地址进行合理分派,尽量体系化,便于在ABR上进行归纳和聚合; 考虑OSPF中对路由条目进行控制和策略实施; 如果网络中路由器数量比较少,网络段也比较少,网络地址不连续,这样可以考虑采用单区域OSPF运行;

135 OSPF 多区域设计示例 企业广域网设计 Area 0 Area 0 …… ………… …… …… ………… …… Area Z
企业总部 企业一级机构 Area 0 Area 0 …… ………… ……  企业二级机构 …… ………… ……  企业业务外联 Area Z Area A Stub Area xx NSSA ……  ……  企业网点、合作伙伴 Area ZZ Totally Stub Area AA Totally Stub Static Or Default Route

136 OSPF基本排错 OSPF 排错案例—网络类型配置错误导致问题 OSPF 常见问题排除

137 OSPF基本排错 OSPF 排错案例—网络类型配置错误导致问题 OSPF 常见问题排除

138 OSPF基本排错 网络类型配置错误 故障现象:
中心一台RG Router A,网点一台RG Router B,Router A通过Frame Relay接口,, 中间通过运营商Frame Relay网络,连接网点Router B; 但是现在Router A、Router B的Serial口都是UP的,两台路由器上都在该 Serial口上运行了OSPF,但是就是无法通过学习到对方的路由; ???

139 OSPF基本排错 网络类型配置错误 排除故障的一般性思路: 网络故障的最大问题:就是网络不通!那么这个不通的可能性很多:
我们分别从Lan和Wan两个角度来说: Lan: 对于以太网来说,只要设备物理端口测试(各种物理层问题)、Ethernet底 层驱动程序都没有问题,不通的可能性一般有: ARP综合性问题(包括代理ARP、MAC地址绑定、IP—>MAC映射错误、MAC、IP地址冒用等等); 速率、双工匹配问题;

140 OSPF基本排错 网络类型配置错误 排除故障的一般性思路: Wan:
对于Wan来说,常见的传输线路有DDN、E1、CE1、SDH等,出现问题的故障点相 对比Lan多得多,可能中间牵扯提供传输线路的运营商的问题! 从大体的故障方面来说有: A) 运营商线路问题:传输通道时隙对应错误;传输线路时钟信号有误;线路质 量差、误码率大; B) 两侧设备配置问题:提取运营商传输线路时钟有误差;线路编码不一致;循环 冗余校验有问题; 排除故障的思路一般为:分段打环,远端设备开始向本地做自环路,观察是否能够 看到环路,慢慢得将打环点向本地靠近,直到发现看不到环的一段,确定线路故障 问题,如果打环精确无误,并且线路正常,那么要从两侧设备的配置、对传输线路 的时钟同步方面来进一步检查;

141 OSPF基本排错 网络类型配置错误 回到故障案例: 开始分析(1)
经过对Wan线路的故障判断,没有发现问题,现在问题需要定位到两侧的设备上! 两侧Serial口上都封装了PPP,并且show interface serial 0/0发现line protocol是up 的;在确保了数据链路层连接没有问题后,要确保设备之间的网络层连接没有问题 Ping对端设备的IP地址,发现也是能相互ping通的! 这样问题应该自然上升到OSPF协议的高度,首先可以通过一些类似于show 的查看 命令,来观察OSPF协议的运行状态(具体的命令我们不做深究,只讲究思路)我 们通过show ip ospf 查看ospf的整体状态,发现根本没有LSA报文被发送出去,LSA 报文是在建立了邻居关系并确定了报文交互的主、从关系后,才开始发送的; 可见问题可能出在邻居的建立上;

142 OSPF基本排错 网络类型配置错误 回到故障案例: 开始分析 (2)
回到故障案例: 开始分析 (2) 现在需要开始确定是否是邻居没有建立导致的问题,通过show ip ospf neighbor查 看命令,我们确实发现了邻居字段里没有任何的路由器存在;那么邻居关系没有建 立,是由于用于建立邻居关系的Hello报文没有发送出去还是别的什么原因呢?需 要进一步来认定,通过debug ip ospf packet我们发现中心Router A确实一直有在发 送Hello报文的,却没有回应;回想,Frame Relay网络是一个非广播型网络,不具 备广播能力,而OSPF默认Hello包是以 的地址组播出去的,问题可能就在 这里,根据OSPF网络类型的分析,Frame Relay帧中继物理接口是NBMA,我们需 要在多路访问环境下选举DR、BDR,这需要指定OSPF网络的类型为点到点,或者 我们以手工配置邻居的方式,让Hello报文以单播方式发送出去到达对方设备,经 过对两侧设备配置的修改,OSPF在NBMA上正确建立了邻居关系,进而发展到邻接 关系,终于学习到了对端的路由!

143 OSPF基本排错 OSPF 排错案例—网络类型配置错误导致问题 OSPF 其它常见问题排除

144 OSPF基本排错 其它常见排错 OSPF 其它常见排错
协议报文交互存在问题 (包括物理链路问题、设备配置问题等) 人为设置了路由学习控制过滤功能 针对第一个问题:经常采用的办法是 通过路由选择协议的一些常用 Show命令,来观察协议当前的运行状态;辅助以debug命令,观察协议报文 交互的动态过程;以判断报文交互是在哪个阶段出现了问题; 针对第二个问题:需要仔细查看本地、或者前端设备的策略设置,常常通过 show ip protocols 命令来观察是否在某些IP相关的协议上关联了什么策略;

145 谢谢大家!


Download ppt "锐捷网络技术培训系列课程-(中级) OSPF协议 培训组 闵 捷."

Similar presentations


Ads by Google