题目

题 目 ospf试验

论ospf协议的基本原理与实现

摘 要

OSPF是Open Shortest Path First(即“开放最短路由优先协议”)的缩写。它是IETF组织开发的一个基于链路状态的自治系统内部路由协议。在IP网络上,它通过收集和传递自治系统的链路状态来动态地发现并传播路由。每一台运行OSPF协议的路由器总是将本地网络的连接状态,(如可用接口信息、可达邻居信息等)用LSA(链路状态广播)描述,并广播到整个自治系统中去。这样,每台路由器都收到了自治系统中所有路由器生成的LSA,这些LSA的集合组成了LSDB(链路状态数据库)。由于每一条LSA是对一台路由器周边网络拓扑的描述,则整个LSDB就是对该自治系统网络拓扑的真实反映。

关键词:OSPF 路由协议 连接状态

Abstract

OSPF is short for Open Shortest routing First(Open Shortest routing First protocol). It is a link-state based routing protocol developed by IETF. On IP networks, it finds and propagates routes dynamically by collecting and transmitting the link state of autonomous systems. Each router running the OSPF protocol always describes the connection state of the local network (such as available interface information, accessible neighbor information, etc.) as LSA(link-state broadcast) and broadcasts it to the entire autonomous system. In this way, each router receives the LSA generated by all routers in the autonomous system. The set of LSA constitutes LSDB(link state database). Since each LSA is a description of the peripheral network topology of a router, the whole LSDB is a true reflection of the network topology of the autonomous system.

KEY WORDS:OSPF routing protocol connection state

目 录

前 言 1
1 ospf概述 3
1.1 概述 3
1.1.1 ospf协议的链路 3
1.1.2 ospf协议的数据包 3
1.1.3 ospf基本算法 4
2 ospf协议的原理 6
2.1 ospf的基本概念 6
2.1.1 路由器类型 6
2.1.2 三张表 6
2.1.3 RID 7
2.1.4 Loopback 9
2.1.5 作为一台路由器的管理地址 10
2.2 工作原理 10
3 OSPF区域及路由器身份 11
3.1 OSPF区域 11
3.1.1 骨干区域(区域0) 11
3.1.2 非骨干区域(非0区域) 11
3.1.3 OSPF身份 12
3.2 OSPF更新 13
3.3 OSPF数据包类型 14
3.4 OSPF状态 15
3.5 路由选择 16
4 OSPF 协议特点 17
4.1 OSPF 优点 17
4.1.1 OSPF 适合在大范围的网络 17
4.1.2 组播触发式更新 17
4.1.3 收敛速度快 17
4.1.4 以开销作为度量值 17
4.1.5 OSPF 协议的设计是为了避免路由环路 18
4.1.6 应用广泛 18
4.2 OSPF 的缺点 18
4.2.1 技术水平要求很高 18
4.2.2 负载分担能力低 18
5 OSPF多区域基本配置,DR/BDR选举过程,被动接口,认证 19
5.1 基本IP地址和 OSPF 配置 20
5.1.1 配置OSPF 22
5.2 查看DR/BDR 选举情况 26
5.3 OSPF被动接口 28
5.4 OSPF 的认证 33
实验总结 35
参考文献 36

前 言

互联网发展到今天出现了很多新的概念和新的应用场景,但不论怎样创新和发展也都无法离开其最原始和最朴素的本质,即实现资源的共享,说到底就是实现设备间的互连与互通。路由器是网络中非常重要的硬件设备,是网络互连的基石,没有它的存在,网络互连便无从谈起。路由器和路由器之间会运行路由协议来学习彼此的网络,从而达到网络的互通。常见的路由协议有很多种,可以从如下几个方面对其进行分类,按照路由协议所使用的算法来分,有距离矢量型路由协议和链路状态型路由协议,它们的典型代表分别是RIP 和 OSPF;按照路由作用的范围来分,有内部网关路由协议和外部网关路由协议,简称 IGP 和 EGP,它们的典型代表分别是 OSPF 和 BGP;按照路由来源来分,有直连路由、静态路由和动态路由,直连路由由路由器接口 IP 地址所在的网络组成;静态路由由管理员手工配置完成,优缺点明显;动态路由是路由器运行动态路由协议学习到的路由。
本实验探讨的 OSPF 路由协议是一种典型的链路状态型内部网关动态路由协议。OSPF 路由协议的主要特点如下:没有路由跳数的限制,OSPF 不像 RIP 那样具有最大 15 跳的限制,这样 OSPF 就可以被应用在一个较大规模的网络之中;OSPF 使用组播而非广播来更新变化的路由和网络信息,太多的广播会带来网络性能的下降以及设备资源的损耗;路由收敛速度较快;以开销作为度量值,可以防止以跳数作为度量值所带来的次优路径等问题;采用 SPF 算法可以有效的避免环路,虽然 RIP 协议采用了很多补救措施来防止环路,但不可否认的是 RIP 协议从算法上就存在劣根性,因此无法保证没有环路,而 OSPF 采用最短路径优先算法,可以确保区域内无环路,区域间无环路则是通过连接骨干区域来解决;OSPF 在互联网上被大量使用,是运用最广的路由协议。除此之外,OSPF 还支持 VLSM,支持加密认证,安全等级更高,支持 CIDR,可以轻松完成路由的汇总,从而减小路由表的规模。

1 ospf概述

1.1概述

1.1.1ospf协议的链路

OSPF路由协议是一种典型的链路状态(Link-state)的路由协议,一般用于同一个路由域内。在这里,路由域是指一个自治系统(Autonomous System),即AS,它是指一组通过统一的路由政策或路由协议互相交换路由信息的网络。在这个AS中,所有的OSPF路由器都维护一个相同的描述这个AS结构的数据库,该数据库中存放的是路由域中相应链路的状态信息,OSPF路由器正是通过这个数据库计算出其OSPF路由表的。作为一种链路状态的路由协议,OSPF将链路状态广播数据包LSA(Link State Advertisement)传送给在某一区域内的所有路由器,这一点与距离矢量路由协议不同。运行距离矢量路由协议的路由器是将部分或全部的路由表传递给与其相邻的路由器。

1.1.2ospf协议的数据包[ 浅谈OSPF协议的基本原理及其仿真]

数据包格式在OSPF路由协议的数据包中,其数据包头长为24个字节,包含如下8个字段:Version number-定义所采用的OSPF路由协议的版本。Type-定义OSPF数据包类型。OSPF数据包共有五种: Hello-用于建立和维护相邻的两个OSPF路由器的关系,该数据包是周期性地发送的。Database Description-用于描述整个数据库,该数据包仅在OSPF初始化时发送。Link state request-用于向相邻的OSPF路由器请求部分或全部的数据,这种数据包是在当路由器发现其数据已经过期时才发送的。Link state update-这是对link state请求数据包的响应,即通常所说的LSA数据包。Link state acknowledgment-是对LSA数据包的响应。Packet length-定义整个数据包的长度。Router ID-用于描述数据包的源地址,以IP地址来表示。Area ID-用于区分OSPF数据包属于的区域号,所有的OSPF数据包都属于一个特定的OSPF区域。Checksum-校验位,用于标记数据包在传递时有无误码。 Authentication type-定义OSPF验证类型。Authentication-包含OSPF验证信息,长为8个字节。

1.1.3ospf基本算法[ 浅谈OSPF协议的基本原理及其仿真 ]

SPF算法及最短路径树SPF算法是OSPF路由协议的基础。SPF算法有时也被称为Dijkstra算法,这是因为最短路径优先算法SPF是Dijkstra发明的。SPF算法将每一个路由器作为根(ROOT)来计算其到每一个目的地路由器的距离,每一个路由器根据一个统一的数据库会计算出路由域的拓扑结构图,该结构图类似于一棵树,在SPF算法中,被称为最短路径树。在OSPF路由协议中,最短路径树的树干长度,即OSPF路由器至每一个目的地路由器的距离,称为OSPF的Cost,其算法为:Cost = 100×106/链路带宽在这里,链路带宽以bps来表示。也就是说,OSPF的Cost 与链路的带宽成反比,带宽越高,Cost越小,表示OSPF到目的地的距离越近。举例来说,FDDI或快速以太网的Cost为1,2M串行链路的Cost为48,10M以太网的Cost为10等。3.2 链路状态算法作为一种典型的链路状态的路由协议,OSPF还得遵循链路状态路由协议的统一算法。链路状态的算法非常简单,在这里将链路状态算法概括为以下四个步骤:当路由器初始化或当网络结构发生变化(例如增减路由器,链路状态发生变化等)时,路由器会产生链路状态广播数据包LSA(Link-State Advertisement),该数据包里包含路由器上所有相连链路,也即为所有端口的状态信息。所有路由器会通过一种被称为刷新(Flooding)的方法来交换链路状态数据。Flooding是指路由器将其LSA数据包传送给所有与其相邻的OSPF路由器,相邻路由器根据其接收到的链路状态信息更新自己的数据库,并将该链路状态信息转送给与其相邻的路由器,直至稳定的一个过程。 当网络重新稳定下来,也可以说OSPF路由协议收敛下来时,所有的路由器会根据其各自的链路状态信息数据库计算出各自的路由表。该路由表中包含路由器到每一个可到达目的地的Cost以及到达该目的地所要转发的下一个路由器(next-hop)。第4个步骤实际上是指OSPF路由协议的一个特性。当网络状态比较稳定时,网络中传递的链路状态信息是比较少的,或者可以说,当网络稳定时,网络中是比较安静的。这也正是链路状态路由协议区别与距离矢量路由协议的一大特点.[ 浅谈OSPF协议的基本原理及其仿真 ]

2 ospf协议的原理

2.1ospf的基本概念

2.1.1路由器类型[ 基于的路由协议性能分析 ]

[ ]OSPF 协议中有 4 种路由器类型,分别是区域内路由器、骨干路由器、区域边界路由器和自治系统边界路由器。区域内路由器是指所有接口都属于同一个区域的路由器,在 OSPF 协议中就称为区域内路由器,简称 IR;骨干路由器是指只要有一个接口处在骨干区域中,那么这样的路由器就称为骨干路由器,简称 BR;区域边界路由器是指连接骨干区域和非骨干区域的路由器,这样的路由器在OSPF 协议中就称为 ABR,ABR 也是 BR,但不是 IR;自治系统边界路由器是指 AS 边界上的路由器,它们一边连接着OSPF 路由域,一边连接着非 OSPF 路由域,通常将引入外部路由的路由器称之为自治系统边界路由器。外部路由即非 OSPF 域内的路由,引入是指将非 OSPF 路由重分发进OSPF 路由域中的过程,使得所有 OSPF 路由器都能学习到如何去往 OSPF 域外。

2.1.2三张表

邻居表、链路状态数据库和路由表。邻居表里面存放的是建立邻居关系的路由器,邻居关系不同于邻接关系,前者仅仅是交互了 Hello 报文,达到了 2-Way 状态,计算机教学而后者不仅仅是交互了 Hello 报文,还交互了后续的 DD、LSR、LSU 和 LSAck 等报文,通过学习彼此没有的 LSA 来最终达到 Full 状态。邻居关系的建立是通过定期发送 Hello报文来实现的;链路状态数据库简称 LSDB,同一区域内的路由器其 LSDB 相同,ABR 由于连接不同的区域,因此它有多个 LSDB,每个 LSDB 对应不同的区域。同一区域内的每台路由器会将 LSDB 转换成带权有向图,然后运行 SPF算法,以自己为树根计算去往每个节点的最短路径,这条最短路径就是去往各节点的路由;路由表是指 OSPF 的协议路由表,并不是指全局性的 IP 路由表。OSPF 通过 SPF 算法计算后,会将去往目的地的最短路径首先放进 OSPF 协议路由表中,这条路由能否进入 IP 路由表,还必须与其它协议进行比较,只有全局最优的路由才能最终进入 IP 路由表。五种协议报文:OSPF 协议有五种报文,分别是 Hello报 文、DD 报 文、LSR 报 文、LSU 报 文 和 LSAck 报 文。Hello 报文用于建立邻居关系;DD 报文用于交互 LSA 的摘要,通过彼此的交互来查找自己所缺少的 LSA;LSR 报文用于向对方请求自己所没有的 LSA;LSU 报文用于向对方发送链路状态更新信息;LSAck 报文用于对 LSU 报文进行确认,是 OSPF 协议提供的一种可靠性保障机制。众所周知,IP 协议是一种尽力而为的、不可靠的协议,OSPF 报文是直接封装在 IP 报文中的,为了提供额外保障,OSPF 协议设计出了 LSAck 报文。

2.1.3RID[ 基于的路由协议性能分析 ]

每台运行 OSPF 协议的路由器都必须要设置一个RID,RID 全 称 是 Router ID, 是 每台路由器在 OSPF 路由域中的唯一标识,RID 是一个 32 位的无符号整数,其形式类似于 IP 地址。RID 可以手工配置,也可以自动生成。如果没有手工配置,那么 RID 自动生成的顺序如下,如果路由器环回接口有效,并且配置了 IP 地址,那么最大的 IP 地址将作为RID;如果没有有效的环回口,那么从有效物理接口中选择最大的 IP 地址作为 RID。由于 RID 是非强占式的,所以一旦完成选择,便不会轻易改变,这样做也是为了网络的稳定。DR 和 BDR:DR 和 BDR 的出现主要是为了降低需要维护的邻接关系数量,DR 和 BDR 类似于班长和副班长,所有的 DROther 需要和 DR 和 BDR 建立邻接关系即可,而DROther 之间只需要建立邻居关系。选举 DR 和 BDR 的原则是首先比较 Hello 报文当中携带的优先级,优先级最高的被选为 DR,次高的被选为 BDR;如果优先级一致,则比较RID 的大小,RID 越大越优先。一旦 DR 或 BDR 选举完成,就保持稳定状态。LSA 类型:LSA 有多种类型,常见的有以下 7 类。1 类LSA,区域内的每台路由器都会产生 1 类 LSA,用来描述路由器直连路由的链路状态和开销值;2 类 LSA,由 DR 产生,用来描述 DR 所在网段的掩码和该网段内的其它路由器;3类 LSA,由 ABR 产生,用来描述区域间的路由信息;4 类LSA,由 ASBR 所在区域的 ABR 产生,用来描述去往 ASBR的路由;5 类 LSA,由 ASBR 产生,用来描述去往 AS 外部网络的路由;7 类 LSA,用来描述去往 AS 外部网络的路由。

2.1.4Loopback[ 基于的路由协议性能分析 ]

loopback就是回环(自己发,自己收),有两种实现方法,一是逻辑回环,另一个是物理回环。前者是用interfaceloopback 0 命令创建一个回环接口,后者就是接口做自己的发送和自己的接收端相连。
loopback接口比任何其它的物理接口都更稳定,因为只要路由器启动,这个环回接口就处理活动状态,只有这个router失效时它才会失效。
此类接口是应用最为广泛的一种虚接口,几乎在每台路由器上都会使用。
2.1.5作为一台路由器的管理地址[ 基于的路由协议性能分析]
系统管理员完成网络规划之后,为了方便管理,会为每一台路由器创建一个loopback 接口,并在该接口上单独指定一个IP地址作为管理地址,管理员会使用该地址对路由器远程登录(telnet),该地址实际上起到了类似设备名称一类的功能。但是通常每台路由器上存在众多接口和地址,为何不从当中随便挑选一个呢?原因如下:由于telnet命令使用TCP 报文,会存在如下情况:路由器的某一个接口由于故障down 掉了,但是其他的接口却仍旧可以telnet,也就是说,到达这台路由器的TCP 连接依旧存在。所以选择的telnet 地址必须是永远也不会down掉的,而虚接口恰好满足此类要求。由于此类接口没有与对端互联互通的需求,所以为了节约地址资源,loopback 接口的地址通常指定为32位掩码。

2.2工作原理[ OSPF 协议的基本原理与实现]

OSPF(OPEN SHORTEST PATH FIRST)开放式最短路径优先,它是一种链路状态路由协议,区别RIP的关键就是它是根
据链路的成本来选择最佳路径,这也注定了OSPF是一种复杂的协议。
首先,当路由器开启OSPF后,路由器之间就会相互发送HELLO报文,HELLO报文中包含一些路由器和链路的相关信息,发送HELLO报文的目的是为了形成邻居表,然后,路由器之间就会发送LSA(LINK STATE ADVERTISEMENT,链路状态通告),LSA告诉自己的邻居路由器和自己相连的链路的状态,最后,形成网络的拓扑表,其实这个过程是很复杂的,他们经过发LSA,记录LSA,装发LSA,最后形成LSDB(链路状态数据库,即拓扑表),形成拓扑表之后,在经过SPF算法,通过计算LSDB,最后形成路由表。
形成路由表后,路由器就可以根据路由表来转发数据包,但是,这只是理想情况,如果之后,网络拓扑发生了变化,或是网络链路出现了问题,OSPF协议还是会经过这三张表来重新计算新的路由,只不过不会这么复杂了,路由器在默认情况下,10S就会发送一次HELLO报文,以检测链路状态,保证链路始终是正常的。

3 OSPF区域及路由器身份

3.1OSPF区域

3.1.1骨干区域(区域0)

骨干区域必须连接所有的非骨干区域,而且骨干区域不可分割,有且只有一个,一般情况下,骨干区域内没有终端用户。

3.1.2非骨干区域(非0区域)

非骨干区域一般根据实际情况而划分,必须连接到骨干区域(不规则区域也需通过tunnel或virtual-link连接到骨干区域)。一般情况下,费骨干区域主要连接终端用户和资源。

3.1.3OSPF身份[ OSPF 协议的基本原理与实现]

DR(Designated Router):指定路由器,OSPF协议启动后开始选举而来
BDR(Back-up Designated Router):备份指定路由器,同样是由OSPF启动后选举而来
DRothers:其他路由器,非DR非BDR的路由器都是DRothers。
ABR(Area Border Routers):区域边界路由器,连接不同OSPF区域。
ASBR(Autonomous System Boundary Router):自治系统边界路由器,位于OSPF和非OSPF网络之间。
骨干路由器:至少有一个借口连接到骨干区域(区域0)。
OSPF邻居建立
邻居的两个状态
Neighbors:邻居
Adjacency:邻接
邻居不一定是邻接,邻接一定是邻居,只有交互了LSA的OSPF邻居才成为OSPF的邻接,之交互Hello包的支撑位邻居,在点对点网络中,所有邻居都能成为邻接。MA(广播多路访问网络,比如以太网)网络类型中,DR,BDR,DRothers三者关系为: DR、BDR与所有的邻居形成邻接,DRothers之间只是邻居而不交换LSA
影响OSPF邻居建立的原因:
Hello与Dead Time时间不一致(改Hello的话Dead自动*4,单改Dead的话Hello不变)区域ID必须一致
认证(password一致)
Stub标识一致(与特殊区域有关,之后介绍)
MTU-携带在DBD报文中,两端口必须一致
掩码,如12.1.1.1/30——12.1.1.2/24 这种情况是可以ping通的,但邻居关系起不来
(OSPF对环回口,无论掩码多少位,都按32位处理,所以建议环回口直接/32,或者在环回口下还原真实掩码)

3.2OSPF更新[ 浅谈OSPF协议的基本原理及其仿真]

OSPF是一种触发更新的机制。一旦拓扑发生变化便会更新。
OSPF也有周期性更新(30分钟一次)
当收到一条LSA之后:
首先查看是否在LSDB中,若没有则假如LSDB,回复LSACK。继续泛洪出去,并且通过SPF算法计算最佳路径并加入路由表。若存在,则比较谁的更“新”(看序号),序号大者新,若本地不如收到的信更新本地LSDB并泛洪,且通过SPF算法计算最佳路径并加入路由表,若比收到的新,则将本地的泛洪出去。
注:LSA***,4字节,16进制

3.3OSPF数据包类型

3.3.1ospf邻居与链路的建立[ 浅谈OSPF协议的基本原理及其仿真]

路由器的 OSPF 协议是靠发出 Hello 报文来发现及建立邻居关系,若两台路由器能成功协商并确认 Hello 报文,则两台路由器会成为邻居。 邻居关系类似一条点点的虚链路,是靠 Hello 报文里的路由器类型和网络类型信息决定的。路由器之间建立了邻
居关系后,就会发出链路通告(Link State Adver-tisement,LSA),LSA 里面包含了链路信息及其状态信息,这些链路不仅仅是本区域内的,还有跨区域的链路,或不同网络类型的链路, 由于其种类繁多,LSA 也有了很多类型在 OSPF 中的定义。每个邻居路由器都会通告自己的 LSA,当收到其它路由器的 LSA 时,会同时记录在自己的链路数据库中。 当通告完成后,邻居关系的路由器都会以自己为根节点,使用 SPF算法决策出一个无环的路由,并且是最小代价的路径。此时,路由器的路由选择表就构建出来了。LSA 泛洪到所有启动 OSPF 路由协议的路由器后,OSPF 协议就只靠定期间隔的 Hello 报文来更新新的链路信息,网络环境将会比较稳定。
Hello:10秒发送一次,死亡时间40s,4倍关系,可以修改。
DBD:Database Description 仅仅是一个对本地数据库的概念性叙述,供路由器核对数据库是否同步
LSR:Link-State Request 请求链路状态,在数据库同步过程中使用,请求其他角色发送自己失去的LSA最新版本。
LSU:Link-State Update 链路状态更新,LSU包括几种类型的LSA,LSU负责泛洪LSA,和相应LSR。LSA只会发送给之前以LSR请求的LSA的直连邻居,进行泛洪的时候,邻居路由负责把收到的LSA信息重新封装在新的LSU中。
LSACK:链路状态确认,路由器必须对每个收到的LSA进行LSACK确认,但可以用一个LSACK确认多个LSA。

3.3.2 DR、BDR的选举

选举规则是首先比较DR优先级,优先级高者成为DR,次高的成为BDR.如果优先级相等,则Router-ID数值高的成为DR,次高的成为BDR.如果一台路由器的DR优先级为0,则不参与选举。需要注意的是,DR是在某个广播或者NMA网段内进行选举的,是针对路由器的孩了而言的。某台路由器在个接口上可能是 DR.在另一个接口上有可能是BDR.若DR BDR 已经选举完年,人为修改任何台路由器的即R优先级值为最大。

3.4OSPF状态[ 基于的路由协议性能分析]

Down State
Init State:发送了Hello包(还没收到)
Two-way State:收到了一个Hello包且Hello包中包括自己的router-id(对方回复的)
Exstart State:First DBD确认主从关系,router-id大的为主,先发包
Exchange State:交互DBD 相互学习
Loading State:LSR与LSU的交互过程
Full State:所有交互已经完成
注:DBD只是一个目录的性质,并且第一个DBD只是用来协商之后的DBD由谁先发送。

3.5路由选择

根据链路状态数据库中的 LSA 信息,基于路由器每个接口指定的度量值(接口的代价 COST)决定最短路径,使用 SPF算法计算出一颗最短路径树。 每一条路由信息的目的地址可以是网络也可以是路由器。 一台路由器要发往区域外的目的地址,就必须知道到达ABR 路由器的路由,若要转发数据包到 OSPF 域外的网络, 就必须正确到达 ASBR 路由器, 由ASBR 完成 OSPF 域最后的转发,路由器条目就包含了这些路径信息[3]。
关于路径类型分析如下:
当一台 OSPF 路由器检查数据包目的地时, 若有多个 C 类目的网络,那么最长的地址掩码是最精确的匹配。 每一条到达目的地的路由,不同的代价,不同的通告类型,决定了不同的最短路径。这里有 4 种类型路径:区域内路径、区域外路径、类型 1 外部路径(E1) 和类型 2 外部路径 (E2)。 前两者指在OSPF 自治系统内的路径, 后两者指 OSPF 内部到域外的路径,E1 计算始发点到 ASBR 和 ASBR 到目的地的代价之和, E2 不考虑内部代价,只计算 ASBR 到目的地的总代价。

4 OSPF 协议特点

4.1OSPF 优点[ OSPF 路由协议原理及特点]

4.1.1OSPF 适合在大范围的网络

OSPF 协议当中对于路由的跳数,它是没有限制的,所以 OSPF 协议能用在许多场合,同时也支持更加广泛的网络规模。只要是在组播的网络中,OSPF协议能够支持数十台路由器一起运作。

4.1.2组播触发式更新

OSPF 协议在收敛完成后,会以触发方式发送拓扑变化的信息给其他路由器,这样就可以减少网络宽带的利用率;同时,可以减小干扰,特别是在使用组播网络结构,对外发出信息时,它对其他设备不构成其他影响

4.1.3收敛速度快

如果网络结构出现改变,OSPF 协议的系统会以最快的速度发出新的报文,从而使新的拓扑情况很快扩散到整个网络;而且,OSPF 采用周期较短的 HELLO 报文来维护邻居状态。

4.1.4以开销作为度量值

OSPF 协议在设计时,就考虑到了链路带宽对路由度量值的影响。OSPF 协议是以开销值作为标准,而链路开销和链路带宽,正好形成了反比的关系,带宽越是高,开销就会越小,这样一来,OSPF 选路主要基于带宽因素。

4.1.5OSPF 协议的设计是为了避免路由环路

在使用最短路径的算法下,收到路由中的链路状态,然后生成路径,这样不会产生环路。

4.1.6应用广泛

目前广泛的应用在互联网上,其他会有大量的应用实例。证明这是使用最广泛的 IPG 之一。

4.2OSPF 的缺点[ OSPF 路由协议原理及特点]

4.2.1技术水平要求很高

OSPF 协议的配置对于技术水平要求很高,配置比较复杂的。因为网络会根据具体的餐宿,给整个网络划分区域或者标注某个属性,所以各种情况都会非常复杂,这就要求网络分析员对 OSPF 协议的配置要相当了解,不但要求具有普通的网络知识技术,还要有更深层的技术理解,只有具备这样的人员,才能完成 OSPF 协议的配置和日常维护。

4.2.2负载分担能力低

路由其自身的负载分担能力是很低的。OSPF 路由协议会根据几个主要的因素,生成优先级不同的接口。然而在同一个区域内,路由协议只会通过优先级最高的那个接口。只要是接口优先级低于最高优先级,那么路由就不会通过。在这个基础上,不同等级的路由,无法相互承担负载,只能独自运行。

5 OSPF多区域基本配置,DR/BDR选举过程,被动接口,认证

结课论文
图5-1实验拓扑图

5.1基本IP地址和 OSPF 配置

R1:
undo terminal monitor
sys
sysname R1
int loop 0
ip add 1.1.1.1 24
int e0/0/0
ip add 192.168.12.1 24
int e0/0/1
ip add 192.168.13.1 24
quit

R2:
undo terminal monitor
sys
sysname R2
int loop 0
ip add 2.2.2.2 24
int e0/0/0
ip add 192.168.12.2 24
int s0/0/1
ip add 192.168.23.2 24
int e0/0/1
ip add 192.168.24.2 24
quit

R3:
undo terminal monitor
sys
sysname R3
int loop 0
ip add 3.3.3.3 24
int e0/0/0
ip add 192.168.13.3 24
int s0/0/2
ip add 192.168.23.3 24
int e0/0/1
ip add 192.168.35.3 24
quit

R4:
undo terminal monitor
sys
sysname R4
int loop 0
ip add 4.4.4.4 24
int e0/0/0
ip add 192.168.24.4 24
quit

R5:
undo terminal monitor
sys
sysname R5
int loop 0
ip add 5.5.5.5 24
int e0/0/0
ip add 192.168.35.5 24
quit

5.1.1配置OSPF

接口配置顺序会影响 router-id的选举,如果先配置物理接口,再配置环回口,显示的就是物理接口。
第一次配置的接口,就会触发 router-id的选举
ospf router-id 1.1.1.1 来配置 OSPF协议下的私有 router-id,如果不配置,则默认使用全局下的 router-id。
私有 router-id 和全局 router-id 可以不一致。
一般建议采用环回接口地址做为路由协议的 router-id,因为环回接口是逻辑接口,比物理接口更加稳定。在对网络操作时,网络管理员有可能误操作导致物理接口删除,或都改动,而环回接口则一般不会去改动。
使用ospf 创建并运行 OSPF 协议,如果没有写进程号,则默认是 1.
接着使用 area 命令创建区域并进入 OSPF 区域视图,输入要创建的区域 ID。
使用 network 来指定运行OSPF协议的接口和接口所在的区域。配置中需要注意,尽量精确匹配。
R1:
ospf router-id 1.1.1.1
area 0
network 192.168.12.1 0.0.0.0
network 192.168.13.1 0.0.0.0
network 1.1.1.1 0.0.0.0

R2:
ospf router-id 2.2.2.2
area 0
network 2.2.2.2 0.0.0.0
network 192.168.12.2 0.0.0.0
network 192.168.23.2 0.0.0.0
area 1
network 192.168.24.2 0.0.0.0

R3:
ospf router-id 3.3.3.3
area 0
network 3.3.3.3 0.0.0.0
network 192.168.13.3 0.0.0.0
network 192.168.23.3 0.0.0.0
area 2
network 192.168.35.3 0.0.0.0

R4:
ospf router-id 4.4.4.4
area 1
network 4.4.4.4 0.0.0.0
network 192.168.24.4 0.0.0.0

R5:
ospf router-id 5.5.5.5
area 2
network 5.5.5.5 0.0.0.0
network 192.168.35.5 0.0.0.0
结课论文

图5-2 OSPF 接口图

配置完成后,查看OSPF 接口是否正确
display ospf interface

配置完成后,查看OSPF 邻居的建立情况
[R1]display ospf peer brief

display ip routing-table protocol ospf

5.2查看DR/BDR 选举情况

较在OSPF 的广播类型网络和NBMA 类型网络中,如果网络中的路由器很多,则需要建立很多的邻接关系,两两之间需要发送的报文也很多,这会造成很多内容重复的报文在网络中传递,浪费了设备的带宽资源。因此在广播类型网络和NBMA 类型网络中,OSPF 协议定义了指定路由 DR(Designated Router),即所有其他路由器都只将各有自的链路状态信息发送给DR,再由DR 以组播方式发送至所有路由器,大大减少了OSPF 数据包的发送。
但是如果DR 由于某种故障而失效,此时网络中必须重新选举DR,并同步链路状态信息,这需要较长的时间。为了能够缩短这个过程,OSPF 协议又定义了 BDR(Backup Designated Router)概念,作为DR 路由器的备份,当DR 路由器失效时,BDR 成为DR,并再选择新的BDR 路由器。其他非DR/BDR路由器都称为 DR other 路由器。
DR 选举规则
首先比较DR 优先级,高者为DR,次高的成为BDR,如果相等,则 router-id 数值高的成为DR
如果一台路由器的 DR 优先级为 0,则不参与DR 选举。
display ospf interface
R2 因为 Router-ID 较大而当选为DR,R1为BDR,如果选举的不是这样,是因为配置的先后顺序问题,正常都是先配置 R1,再配置 R2 R3, 3 台路由清一下OSPF 进程即可 ,
先清 R3
reset ospf process
结课论文
图5-3 OSPF 邻居的建立情况图

修改R1 的DR优先级为 2,让R1 成为DR
R1:
int e0/0/0
ospf dr-priority 2
DR 不抢占,需要将接口开关一下,或重启OSPF进程
reset ospf 1 process
R1 R2都重启OSPF进程

5.3OSPF被动接口

OSPF 被动接口也称抑制接口,成为被动接口后,将不会接收和发送 OSPF 报文。如果要使OSPF 路由信息不被某一网络中的路由器获得,且使本地路由器不接收网络中其它路由器发布的路由更新信息,即已运行在 OSPF 协议进程中的接口不与本链路上其余路由器建立邻居关系时,可通过配置被动接口来禁止此接口接收和发送OSPF 报文。

路由器运行了 OSPF 协议的接口都会发hello包尝试认识新邻居,如果下面挂的pc就没有必要接受hello包了,silent-interface 以后该接口就不会发送hello包,可以减轻链路负担。
在R5 上添加一台PC 相连,使用 192.168.5.0 网段

R5:
int e0/0/0
ip add 192.168.5.5 24
ospf
area 2
net 192.168.5.5 0.0.0.0
配置完成后,在PC 的 e0/0/1 接口抓包

发现在该PC 连接的 R5 在不停地向这条线路发出 OSPF 的 hello 报文尝试发现邻居,而对于PC 而言,该报文是毫无用处的,同是也是不安全的。在 OSPF 的 hello 报文中含有很多 OSPF 网络的重要信息,如果被恶意截取,容易出现安全隐患。

配置 R5 的 e0/0/0 为被动接口
R5:
ospf
silent-interface e0/0/0
发现OSPF 报文不再周期性发送。

5.4OSPF 的认证

OSPF 支持报文验证功能,只有通过验证的报文才能接收,否则将不能正常建立邻居关系。
OSPF协议支持两种认证方式–区域认证和链路认证。
使用区域认证时,一个区域中所有的路由器在该区域下的认证模式和口令必须一致,OSPF 链路认证相比区域认证更加灵活,可专门针对某个邻居设置单独的认证模式和密码。如果同时配置了接口认证和区域认证时,优先使用接口认证建立 OSPF 邻居。
每种认证方式又分简单验证模式、MD5 验证模式。
简单验证模式在数据传递过程中,认证**和**ID 都是明文传输,很容易被截获。MD5 验证模式下的**是经过MD5 加密传输,相比简单验证模式更为安全。

R2 R4 在区域 1 ,配置区域简单验证

两边都要做,只做一边,邻居是建立不了的
R2:
ospf
area 1
authentication-mode simple plain huawei
R4:
ospf
area 1
authentication-mode simple plain huawei

区域使用的配置为 simple 简单验证模式,密码为 huawei,配置 plain 参数。
plain 在查看配置时,以明文方式显示密码

配置 R1 R2 的链路认证
R1:
int e0/0/0
ospf authentication-mode md5 1 huawei
R2:
int e0/0/0
ospf authentication-mode md5 1 huawei
MD5 验证模式,验证字标识符为1,密码为 huawei
display current-configuration | include authen

实验总结

在本次实验中,我们掌握了在路由上进行ospf配置的方法。在我们做实验中也遇到了很多的困难,我们的网关设置不正确,IP没有配对等等一系列的问题。我们最终通过我们的之间不断地讨论与查找资料,我们最终解决了我们的问题,我们实现了我们的实验,我们在本次实验中,收获了很多,最大的收获就是我们对于自己未来的学习与工作提供了充足的经验。最后,我们也明白了,学习不能闭门造车,我们要多与同学进行交流,只有我们不断地进行技术上的更新与创新,我们才能不断地进步。
通过这次实验,我知道了在做实验时不能有丝毫的粗心,我们对待实验要做到100%的用心,不然,我们很有可能就会功亏一篑。所以,我们要在我们做实验时的细心,在我们的生活中也是一样的。

参考文献

[1]程永青.浅谈OSPF协议的基本原理及其仿真-电脑知识与技术 [N].2017-12-25(5),
[2]钮 鑫.OSPF 路由协议原理及特点-福建电脑 [N].2017-09-25()2).
[3]范红艳.基于的路由协议性能分析 [D].北京邮电大学.2008
[4] 蒋磊.OSPF 协议的基本原理与实现-电子制作 [N].2017-11-15(4),

相关文章: