动态路由选择协议OSPF的原理及应用
- 格式:doc
- 大小:79.00 KB
- 文档页数:6
OSPF协议原理及配置详解OSPF(Open Shortest Path First)是一种用于计算机网络中的内部网关协议(IGP),用于在大型网络中动态确定数据包的传输路径。
其算法基于Dijkstra最短路径算法,并支持IPv4和IPv6网络。
OSPF的工作原理如下:1. 链路状态数据库(Link State Database):每个OSPF路由器都维护着一个链路状态数据库,其中存储了它所连接的所有网络的信息,包括链路的状态、带宽、延迟等。
每个OSPF路由器通过发送链路状态更新(Link State Update)将自己的链路状态信息告知其他路由器。
2.路由器之间的邻居关系建立:OSPF路由器之间通过邻居发现过程建立邻居关系。
当一个OSPF路由器启动时,它会向网络广播HELLO消息来寻找其他路由器。
当两个路由器之间收到彼此的HELLO消息时,它们可以建立邻居关系。
3. 路由计算:每个OSPF路由器通过收集链路状态信息来计算最短路径。
路由器将链路状态信息存储在链路状态数据库中,并使用Dijkstra 最短路径算法来确定到达目标网络最短路径。
4.路由更新:当链路状态发生变化时,OSPF路由器将会发送更新消息通知其他路由器。
其他路由器接收到更新消息后,会更新自己的链路状态数据库,并重新计算最短路径。
OSPF的配置如下:1. 启用OSPF协议:在路由器配置模式下使用"router ospf"命令启用OSPF协议。
2. 配置区域(Area):将网络划分为不同的区域。
在配置模式下使用"area <区域号> range <网络地址> <网络掩码>"命令将网络地址加入到区域中。
3. 配置邻居:使用"neighbor <邻居IP地址>"命令来配置OSPF邻居关系。
邻居IP地址可以手动配置或通过HELLO消息自动发现。
rip协议与ospf协议协议名称:RIP协议与OSPF协议协议概述:RIP(Routing Information Protocol)和OSPF(Open Shortest Path First)是两种常用的动态路由协议,用于在计算机网络中实现路由选择和数据包转发。
本协议旨在详细介绍RIP协议和OSPF协议的定义、特点、工作原理、应用场景以及优缺点。
一、RIP协议1. 定义:RIP协议是一种距离向量路由协议,用于在小型网络中实现动态路由选择。
它通过交换路由信息来确定最佳路径,并使用跳数(hop count)作为度量标准。
2. 特点:- RIP协议使用UDP协议进行路由信息的交换,使用端口号520。
- RIP协议支持最大15跳的路由,超过15跳的路由会被认为是不可达。
- RIP协议每30秒广播一次路由表,以更新网络中的路由信息。
- RIP协议使用跳数作为度量标准,即选择跳数最少的路径作为最佳路径。
3. 工作原理:- RIP协议通过路由器之间的RIP消息交换来更新路由表。
- 路由器会周期性地广播自己的路由表给相邻的路由器,同时接收相邻路由器发送的路由表。
- 路由器根据接收到的路由表更新自己的路由表,并选择最佳路径。
- 当网络拓扑发生变化时,路由器会重新计算路由表。
4. 应用场景:- RIP协议适用于小型网络环境,如家庭网络、办公室网络等。
- 由于RIP协议的简单性和易于配置,它在一些简单的网络中仍然广泛使用。
5. 优缺点:- 优点:RIP协议配置简单,适用于小型网络环境,具有较好的兼容性。
- 缺点:RIP协议的收敛速度较慢,对于大型网络环境不适用,且容易产生路由环路。
二、OSPF协议1. 定义:OSPF协议是一种链路状态路由协议,用于在大型网络中实现动态路由选择。
它通过交换链路状态信息来确定最佳路径,并使用带宽、延迟等作为度量标准。
2. 特点:- OSPF协议使用IP协议进行路由信息的交换,使用标准的IP协议号89。
ospf的原理是什么OSPF(Open Shortest Path First)是一种用于动态路由协议的开放式标准,用于在局域网(LAN)或广域网(WAN)中选择最佳路径。
OSPF的原理可以概括为以下几个方面:1.链路状态数据库(LSDB):OSPF中的每个路由器都会维护一个链路状态数据库(LSDB),其中包含了网络中所有路由器的信息。
每个路由器收集与其直接相连的其他路由器的链路状态信息,并通过OSPF协议进行广播通告给其他路由器。
这些信息包括链路的状态、链路的带宽、链路的延迟、链路的可靠性等。
2.路由计算:路由器在收到链路状态信息后,使用Dijkstra算法计算最短路径树(SPF tree)。
Dijkstra算法通过比较路径的成本来确定最佳的路径。
每个路由器根据自身的链路状态数据库计算出最短路径,并将其存储在路由表中。
3.路由更新:当网络中发生拓扑变化(如链路故障、链路状态改变)时,路由器会将这些变化的信息通过LSA(链路状态广播)包发送给其他路由器,以便其他路由器可以更新其链路状态数据库和路由表。
这个过程是动态的,可以快速适应网络拓扑变化。
4.路由选择:每个路由器根据其路由表中的路径成本来选择最佳路径。
OSPF使用距离矢量协议,其中距离是通过成本值(如链路带宽或延迟)来表示的。
路由器选择最低成本的路径作为最佳路径,并将其用于转发数据包。
5.区域划分:为了减少网络中的路由器之间的交互和信息传输,OSPF将网络划分为不同的区域。
每个区域内的路由器只需要与自己相邻的路由器交换链路状态信息,并计算最短路径。
然后,每个区域内的路由器将汇总的最短路径信息发送到其他区域的边界路由器上。
总之,OSPF通过收集和交换路由器之间的链路状态信息,计算出最短路径并更新路由表,使路由器能够选择最佳路径来转发数据包。
它具有高度灵活性和可伸缩性,并且能够适应网络中的拓扑变化。
这使得OSPF 成为广泛应用于大型网络环境的常用路由协议之一。
OSPF的原理及应用一、概述OSPF(Open Shortest Path First)是一种开放式链路状态路由协议,广泛应用于企业网络和互联网中。
本文将介绍OSPF的原理及应用,包括路由算法、网络拓扑构建、路由计算及路由表更新等内容。
二、路由算法OSPF使用Dijkstra算法来计算最短路径,在路由器之间选择最佳路径进行数据传输。
其基本原理如下:•每个OSPF路由器维护一个链路状态数据库(Link State Database),其中存储了与其相邻的路由器和链路信息;•路由器之间通过交换链路状态更新消息(Link State Update)来交换各自的链路状态信息;•使用Dijkstra算法计算最短路径树,确定从一个路由器到其他所有路由器的最佳路径;•计算出的最短路径存储在路由表中,作为数据包转发的依据。
三、网络拓扑构建OSPF使用Hello协议来发现邻居路由器,并建立邻居关系以及网络拓扑信息。
具体步骤如下:1.路由器发送Hello消息到直连网络上,以广播的方式通告自己的存在。
2.监听到Hello消息的其他路由器返回相应的Hello消息,建立邻居关系。
3.邻居关系建立后,交换链路状态更新消息(LSU);4.路由器根据接收到的LSU消息更新链路状态数据库;5.每个路由器使用链路状态数据库构建网络拓扑,计算最短路径。
四、路由计算OSPF路由计算包括从链路状态数据库中获取网络拓扑、使用Dijkstra算法计算最短路径以及构建路由表等步骤。
1.路由器将链路状态数据库中的网络拓扑提取出来,形成一个拓扑图。
2.使用Dijkstra算法计算出到达其他路由器的最短路径。
3.根据最短路径计算出下一跳路由器以及出接口。
4.构建路由表,将最短路径、下一跳路由器和出接口信息存储其中。
五、路由表更新在OSPF中,路由表更新是一种动态的过程,当网络中发生拓扑变化时,OSPF 会对路由表进行更新。
1.监听邻居路由器发送的Hello消息,检测邻居关系是否保持正常。
ospf协议原理OSPF(Open Shortest Path First)是一种用于在IP网络中进行路由的动态路由协议,它基于链路状态算法,通过收集网络中所有路由器的信息,计算出最短路径,并将这些信息交换给网络中的其他路由器。
本文将介绍OSPF协议的原理和工作流程。
OSPF协议使用Dijkstra算法来计算最短路径,该算法通过比较各个路径的权值来选择最短路径。
在OSPF中,每个路由器都维护一个链路状态数据库(Link State Database,LSDB),该数据库记录了与该路由器相邻的所有路由器以及与之相邻的链路的状态信息。
OSPF协议的工作流程如下:1. 发现邻居:当路由器启动时,它会发送Hello消息来寻找与之相邻的其他路由器,并建立邻居关系。
通过交换Hello消息,路由器可以确认邻居路由器的可达性,并获取对方路由器的ID和链路状态。
2. 建立邻居关系:当路由器发现邻居路由器后,会发送LSA (Link State Advertisement)消息来交换链路状态信息。
这些信息包括链路的带宽、延迟、可靠性等指标。
3. 构建链路状态数据库:每个路由器根据接收到的LSA消息更新自己的LSDB。
LSDB是一个图,其中每个节点表示一个路由器,每条边表示两个相邻路由器之间的链路。
路由器使用链路状态信息来构建一个完整的拓扑图。
4. 计算最短路径:每个路由器通过遍历自己的LSDB来计算到达其他路由器的最短路径。
使用Dijkstra算法,路由器比较各个路径的权值,选择最短路径并将其记录在路由表中。
5. 更新路由信息:当网络中发生变化时,如链路故障或新增链路,路由器会发送链路状态更新消息,通知其他路由器网络的变化。
其他路由器收到更新消息后,会根据接收到的消息更新自己的LSDB,并重新计算最短路径。
6. 转发数据包:一旦路由器计算出最短路径,它就可以根据路由表将数据包转发到相应的目的地址。
OSPF协议有许多优点。
动态路由-----OSPF协议原理与单区域实验配置⼀.OSPF协议的介绍1.OSPF的概述OSPF(Open Shortest Path First)是⼀个内部⽹关协议(Interior Gateway Protocol,简称IGP)。
与RIP相对,OSPF是链路状态路协议,⽽RIP是距离向量路由协议。
链路是路由器接⼝的另⼀种说法,因此OSPF也称为接⼝状态路由协议。
OSPF通过路由器之间通告⽹络接⼝的状态来建⽴链路状态数据库,⽣成最短路径树,每个OSPF路由器使⽤这些最短路径构造路由表。
⽹络,OSPFv3⽤在⽹络。
可⽤于⼤型⽹络。
OSPF路由器收集其所在⽹络区域上各路由器的连接状态信息,即链路状态信息(Link-State),⽣成链路状态数据库(Link-State Database)。
路由器掌握了该区域上所有路由器的链路状态信息,也就等于了解了整个⽹络的拓扑状况。
OSPF路由器利⽤“最短路径优先算法(Shortest Path First, SPF)”,独⽴地计算出到达任意⽬的地的路由。
在OSPF协议下的路由器⼯作流程:2.OSPF的区域简介外部AS:⼀般来讲是运⾏另⼀个路由选择协议的区域,⽐如RIP,EIGRP等。
⾻⼲区域:Area 0,所有区域都必须(⼀般情况下)通过⾻⼲区域进⾏区域间的路由。
标准区域:同上,即最普通的区域。
末梢区域:Stub Area,不接收外部AS(AS代表同⼀路由协议下的路由区域)的路由信息。
完全末梢区域:Totally Stub Area,不接收外部AS的路由信息,同时也不接收本AS中其他Area的。
⾮纯末梢区域:NSSA(Not-So-Stub-Area),允许接收外部AS中以类型7的LSA发送的路由信息,并且ABR将类型7的LSA转换成类型5的LSA 在本AS内进⾏发送...3.OSPF的五种路由器DR:指定路由器,⼀个区域中的主路由器,当其他路由发数据给它时,指定路由器负责通知所有路由器。
OSPF_协议的解析及详解OSPF协议的解析及详解OSPF(Open Shortest Path First)是一种用于在IP网络中进行路由选择的动态路由协议。
它基于链路状态算法,通过交换链路状态信息来计算最短路径,并维护一个最短路径树,从而实现网络中的路由选择。
一、OSPF协议的概述OSPF是一种开放式协议,它具有以下特点:1. OSPF是基于链路状态的路由协议,每个路由器通过交换链路状态信息来计算最短路径。
2. OSPF支持VLSM(可变长度子网掩码),可以更好地利用IP地址资源。
3. OSPF使用Hello协议来发现邻居路由器,建立邻居关系,并交换链路状态信息。
4. OSPF使用Dijkstra算法计算最短路径,并维护一个最短路径树。
5. OSPF支持分层设计,可以将网络划分为不同的区域,减少链路状态信息的交换量。
6. OSPF支持多种路由类型,如内部路由、外部路由、汇总路由等。
二、OSPF协议的工作原理1. 邻居关系建立OSPF使用Hello协议来发现邻居路由器,并建立邻居关系。
路由器通过发送Hello消息来宣告自己的存在,并等待其他路由器的响应。
当两个路由器之间的Hello消息交换成功时,它们就建立了邻居关系。
2. 链路状态信息交换OSPF邻居路由器之间通过交换链路状态信息(LSA)来了解网络拓扑,并计算最短路径。
每个路由器将自己的链路状态信息发送给邻居路由器,邻居路由器将收到的链路状态信息存储在链路状态数据库(LSDB)中。
3. 最短路径计算OSPF使用Dijkstra算法来计算最短路径。
每个路由器根据收到的链路状态信息,计算出到达目标网络的最短路径,并维护一个最短路径树。
最短路径树由根节点和各个子节点组成,根节点为网络的出口路由器。
4. 路由表生成OSPF根据最短路径树生成路由表,将最短路径信息存储在路由表中。
路由表包含了到达目标网络的下一跳路由器和距离等信息,路由器根据路由表来进行数据转发。
OSPF技术的原理和应用场景1. OSPF简介Open Shortest Path First(开放式最短路径优先,OSPF)是一种内部网关协议(IGP),用于在企业、校园网和互联网中实现动态路由。
OSPF通过使用链路状态数据库和最短路径优先算法,以确定网络中的最佳路径。
本文将介绍OSPF技术的原理和应用场景。
2. OSPF的工作原理OSPF使用链路状态路由协议(Link State Routing Protocol)来确定网络中各个路由器之间的最佳路径。
以下是OSPF的工作原理:2.1 OSPF邻居关系的建立OSPF通过发送Hello消息来发现其他的OSPF路由器,并建立邻居关系。
路由器通过交换Hello消息来交流彼此的路由器ID、优先级和Hello间隔等信息。
当路由器之间收到对方的Hello消息后,就可以建立邻居关系。
2.2 OSPF路由器的选举每个OSPF路由器都有一个路由器ID,它可以是IP地址的任意组合。
当OSPF 路由器建立邻居关系后,它们会互相交换链路状态信息。
通过比较链路状态信息的优先级、成本以及路由器ID等,最终选出最佳的OSPF路由器作为区域内的DR (Designated Router,指定路由器),其他路由器则成为BDR(Backup Designated Router,备份指定路由器)或DRother(非指定路由器)。
2.3 接收和更新链路状态数据库OSPF路由器会定期发送链路状态广播消息(Link State Advertisement,LSA)来更新链路状态数据库(Link State Database,LSDB)。
当网络拓扑发生变化时,路由器会发送LSA来通知其他路由器更新网络状态。
接收到LSA信息后,路由器会更新自己的链路状态数据库。
2.4 最短路径优先计算OSPF使用最短路径优先算法(SPF算法)来计算最佳路径。
该算法基于路由器收集到的链路状态信息,计算出到达目标网络的最短路径。
OSPF协议概述一、引言OSPF(Open Shortest Path First)是一种内部网关协议(IGP),用于在大型企业网络中动态选择最佳路径进行数据包转发。
本协议的目标是实现高效的路由选择和快速的网络收敛,以提高网络的可靠性和性能。
本文将对OSPF协议的概念、特点、工作原理和应用进行详细介绍。
二、OSPF协议概念1. OSPF协议是基于链路状态的路由协议,每个路由器都维护一个链路状态数据库(LSDB),其中保存了网络拓扑信息。
2. OSPF协议使用Dijkstra算法计算最短路径,并将其存储在路由表中,以便进行数据包转发。
3. OSPF协议支持VLSM(可变长度子网掩码)和CIDR(无类别域间路由)技术,可以更灵活地划分IP地址空间。
4. OSPF协议使用多种类型的报文进行邻居发现、链路状态更新和路由更新等操作。
三、OSPF协议特点1. 开放性:OSPF协议是公开的,任何厂商都可以实现和部署该协议。
2. 分层设计:OSPF协议采用分层设计,将网络分为区域(area),以减少链路状态数据库的规模和计算复杂度。
3. 支持多种网络类型:OSPF协议可以应用于各种网络环境,包括LAN、WAN、点对点链路和多点链路等。
4. 高可靠性:OSPF协议具有快速收敛和路由冗余等机制,可以提高网络的可靠性和容错性。
5. 支持负载均衡:OSPF协议可以根据链路的带宽、延迟和可靠性等因素进行负载均衡,以提高网络的性能和利用率。
四、OSPF协议工作原理1. 邻居发现:OSPF协议通过发送Hello报文来发现相邻路由器,并建立邻居关系。
Hello报文包含路由器的ID、接口IP地址和区域ID等信息。
2. 链路状态更新:OSPF协议使用LSA(链路状态通告)报文来更新链路状态数据库。
每个路由器定期发送LSA报文,以通知其他路由器自己的链路状态。
3. 路由计算:每个路由器根据收到的LSA报文更新自己的链路状态数据库,并使用Dijkstra算法计算最短路径。
OSPF协议概述OSPF(开放最短路径优先)是一种用于路由选择的动态路由协议,它基于链路状态算法,并采用分层结构来实现网络的可扩展性。
OSPF协议由RFC 2328定义,是互联网工程任务组(IETF)的标准协议之一。
1. 引言OSPF协议是一种内部网关协议(IGP),用于在自治系统(AS)内部的路由器之间交换路由信息。
它通过计算最短路径来选择最优的路由,以实现高效的数据传输。
本协议概述将介绍OSPF协议的基本原理、特点和工作过程。
2. OSPF协议的特点- 开放性:OSPF协议是公开的,任何厂商都可以实现该协议。
- 分层结构:OSPF协议使用区域的概念,将网络划分为多个区域,以提高网络的可扩展性。
- 支持VLSM:OSPF协议支持可变长度子网掩码(VLSM),允许更灵活的地址分配。
- 支持多种网络类型:OSPF协议可以在多种网络类型上运行,包括点对点链路、广播网络、NBMA网络和虚拟链路网络等。
- 支持认证:OSPF协议支持对路由器之间的邻居关系进行身份验证,以确保网络的安全性。
3. OSPF协议的工作原理- 链路状态数据库:每个OSPF路由器都维护着一个链路状态数据库(LSDB),其中存储了整个区域内的链路状态信息。
- 链路状态更新:OSPF路由器通过发送链路状态更新(LSU)消息来通知邻居路由器自己的链路状态信息。
- 最短路径计算:OSPF路由器使用Dijkstra算法来计算从自己到其他路由器的最短路径,并更新自己的路由表。
- 路由表更新:OSPF路由器根据最短路径计算的结果更新自己的路由表,并将路由信息传播给其他路由器。
4. OSPF协议的消息类型- Hello消息:用于建立和维护邻居关系,包括邻居路由器的IP地址、接口类型和优先级等信息。
- LSU消息:用于传输链路状态信息,包括路由器的ID、邻居路由器的ID和链路状态类型等。
- LSR消息:用于请求邻居路由器的链路状态信息。
- LSAck消息:用于确认接收到的LSU消息。
动态路由选择协议OSPF的原理及应用
2006-11-17 | 作者:吴伟民 | 来源:国土资源信息化 | 【大中小】【打印】【关闭】
一、动态路由选择协议简介
1.路由和路由选择协议
顾名思义,动态路由选择协议是一些能够动态生成(或学习到)路由信息的协议。
路由是指导IP报文发送的一些路径信息。
动态路由选择协议是网络设备如路由器(Router)学习网络中路由信息的方法之一,这些协议使路由器能动态地随着网络拓扑中产生(如某些路径的失效或新路由的产生等)的变化,更新其保存的路由表,使网络中的路由器在较短时间内,无需网络管理员介入自动地维持一致的路由信息,使整个网络达到路由收敛状态,从而保持网络的快速收敛和高可用性。
路由器学习路由信息、生成并维护路由表的方法包括直接路由(Direct)、静态路由(Static)和动态路由(Dynamic)。
直接路由是由链路层协议发现的,一般指去往路由器的接口地址所在网段的路径,该路径信息不需要网络管理员维护,也不需要路由器通过某种算法进行计算获得,只要该接口处于活动状态(Active),路由器就会把通向该网段的路由信息填写到路由表中去,直接路由无法使路由器获取与其不直接相连的路由信息。
静态路由是由网络规划者根据网络拓扑,使用命令在路由器上配置的路由信息,这些静态路由指导报文发送,静态路由方式也不需要路由器进行计算,但是它完全依赖于网络规划者,当网络规模较大或网络拓扑经常发生改变时,网络管理员需要做的工作将会非常复杂并且容易产生错误。
而动态路由的方式使路由器能够按照特定的算法自动计算新的路由信息,适应网络拓扑结构的变化。
2.动态路由选择协议的分类
按照自治系统,动态路由选择协议可分为内部网关协议IGP(InteriorGatewayProtocol)和外部网关协议EGP(ExteriorGatewayProtocol)。
按照所执行的算法,动态路由协议可分为距离矢量型路由选择协议(DistanceVector)、链路状态型路由选择协议(LinkState),以及混合型路由选择协议,如图1所示。
目前,局域网中,常用的是OSPF协议。
二、OSPF路由选择协议的基本概念和术语
OSPF作为一种内部网关协议,用于在同一个自治域(AS)中的路由器之间发布路由信息。
区别于距离矢量协议(RIP),OSPF具有支持大型网络、路由收敛快、占用网络资源少等特点,在目前应用的路由选择协议中占有相当重要的地位。
1.链路状态
OSPF路由器收集其所在网络区域上各路由器的连接状态信息,即链路状态信息(Link-State),生成链路状态数据库(Link-StateDatabase)。
路由器掌握了该区域上所有路由器的链路状态信息,也就等于了解了整个网络的拓扑状况。
OSPF路由器利用“最短路径优先算法(ShortestPathFirst,SPF)”,独立地计算出到达任意目的地的路由。
2.区域
OSPF协议引入“分层路由”的概念,将网络分割成一个“主干”连接的一组相互独立的部分,这些相互独立的部分被称为“区域”(Area),“主干”的部分称为“主干区域”。
每个区域就如同一个独立的网络,该区域的OSPF路由器只保存该区域的链路状态。
每个路由器的链路状态数据库都可以保持合理的大小,路由计算的时间、报文数量也都不会过大。
3.OSPF网络类型
根据路由器所连接的物理网络不同,OSPF将网络划分为四种类型:广播多路访问型(BroadcastmultiAccess)、非广播多路访问型(NoneBroadcastMultiAccess,NBMA)、点到点型(Point-to-Point)、点到多点型(Point-to-MultiPoint)。
广播多路访问型网络如:Ethernet、TokenRing、FDDI。
NBMA型网络如:FrameRelay、X.25、SMDS。
Point-to-Point型网络如:PPP、HDLC。
4.指派路由器(DR)和备份指派路由器(BDR)
在多路访问网络上可能存在多个路由器,为了避免路由器之间建立完全相邻关系而引起的大量开销,OSPF要求在区域中选举一个DR。
每个路由器都与之建立完全相邻关系。
DR负责收集所有的链路状态信息,并发布给其他路由器。
选举DR的同时也选举出一个BDR,在DR失效的时候,BDR担负起DR的职责。
点对点型网络不需要DR,因为只存在两个节点,彼此间完全相邻。
当路由器开启一个端口的OSPF路由时,将会从这个端口发出一个Hello报文,以后它也将以一定的间隔周期性地发送Hello报文。
OSPF路由器用Hello报文来初始化新的相邻关系以及确认相邻的路由器邻居之间的通信状态。
对广播型网络和非广播型多路访问网络,路由器使用Hello协议选举出一个DR。
在广播型网络里,Hello报文使用多播地址224.0.0.5周期性广播,并通过这个过程自动发现路由器邻居。
在NBMA网络中,DR负责向其他路由器逐一发送Hello报文。
三、OSPF路由选择协议的操作
第一步建立路由器的邻接关系
所谓“邻接关系”(Adjacency)是指OSPF路由器以交换路由信息为目的,在所选择的相邻路由器之间建立的一种关系。
路由器首先发送拥有自身ID信息(Loopback端口或最大的IP地址)的Hello报文。
与之相邻的路由器如果收到这个Hello报文,就将这个报文内的ID信息加入到自己的Hello报文内。
如果路由器的某端口收到从其他路由器发送的含有自身ID信息的Hello报文,则它根据该端口所在网络类型确定是否可以建立邻接关系。
在点对点网络中,路由器将直接和对端路由器建立起邻接关系,并且该路由器将直接进入到第三步操作:发现其他路由器。
若为MultiAccess网络,该路由器将进入选举步骤。
第二步选举DR/BDR
不同类型的网络选举DR和BDR的方式不同。
MultiAccess网络支持多个路由器,在这种状况下,OSPF需要建立起作为链路状态和LSA更新的中心节点。
选举利用Hello报文内的ID和优先权(Priority)字段值来确定。
优先权字段值大小从0到255,优先权值最高的路由器成为DR。
如果优先权值大小一样,则ID值最高的路由器选举为DR,优先权值次高的路由器选举为BDR。
优先权值和ID值都可以直接设置。
第三步发现路由器
在这个步骤中,路由器与路由器之间首先利用Hello报文的ID信息确认主从关系,然后主从路由器相互交换部分链路状态信息。
每个路由器对信息进行分析比较,如果收到的信息有新的内容,路由器将要求对方发送完整的链路状态信息。
这个状态完成后,路由器之间建立完全相邻(FullAdjacency)关系,同时邻接路由器拥有自己独立的、完整的链路状态数据库。
在MultiAccess网络内,DR与BDR互换信息,并同时与本子网内其他路由器交换链路状态信息。
第四步选择适当的路由器
当一个路由器拥有完整独立的链路状态数据库后,它将采用SPF算法计算并创建路由表。
OSPF路由器依据链路状态数据库的内容,独立地用SPF算法计算出到每一个目的网络的路径,并将路径存入路由表中。
OSPF利用量度(Cost)计算目的路径,Cost最小者即为最短路径。
在配置OSPF路由器时可根据实际情况,如链路带宽、时延或经济上的费用设置链路Cost大小。
Cost越小,则该链路被选为路由的可能性越大。
第五步维护路由信息
当链路状态发生变化时,OSPF通过Flooding过程通告网络上其他路由器。
OSPF路由器接收到包含有新信息的链路状态更新报文,将更新自己的链路状态数据库,然后用SPF算法重新计算路由表。
在重新计算过程中,路由器继续使用旧路由表,直到SPF完成新的路由表计算。
新的链路状态信息将发送给其他路由器。
值得注意的是,即
使链路状态没有发生改变,OSPF路由信息也会自动更新,默认时间为30分钟。
OSPF路由器之间使用链路状态通告(LSA)来交换各自的链路状态信息,并把获得的信息存储在链路状态数据库中。
各OSPF路由器独立使用SPF算法计算到各个目的地址的路由。
OSPF协议支持分层路由方式,这使得它的扩展能力远远超过RIP协议。
当OSPF网络扩展到100、500甚至上千个路由器时,路由器的链路状态数据库将记录成千上万条链路信息。
为了使路由器的运行更快速、更经济、占用的资源更少,网络工程师们通常按功能、结构和需要把OSPF网络分割成若干个区域,并将这些区域和主干区域根据功能和需要相互连接从而达到分层的目的。
四、应用实例
下面以某内部局域网为例,对OSPF的具体应用进行说明。
某内部局域网采用分层化结构设计方法,将整个办公区分为核心层、分布层、接入层三部分,在分布层和核心层之间使用第3层交换技术(即路由技术)来构造核心主干网。
形成了以100M全交换快速以太网作接入,以千兆以太网作为主干的高速宽带网络。
由于在核心网络上使用的是完全的第三层交换结构,所以抑制了广播信息、减小了故障域、实现了冗余线路的负载均衡、提高了网络效率。
分布层交换机与核心层交换机形成如下的拓扑关系(图2):
该局域网采用快速以太网技术连接,属于广播多路访问型网络,应用OSPF后,需要选举DR及BDR,通过修改交换机路由模块的OSPF优先级,可以指定DR和BDR,满足应用的需求。