常用网络协议原理大全---OSPF协议
- 格式:doc
- 大小:362.41 KB
- 文档页数:12
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消息自动发现。
ospf协议工作原理OSPF(Open Shortest Path First)协议是一种基于链路状态的路由协议,它是用来在自治系统内部进行路由选择的。
OSPF协议通过计算最短路径来确定数据包的传输路径,以实现网络的高效运行。
接下来,我们将详细介绍OSPF协议的工作原理。
首先,OSPF协议使用Dijkstra算法来计算最短路径。
它通过收集网络中各个路由器的链路状态信息,并使用这些信息来计算最短路径。
在OSPF网络中,每个路由器都会维护一个链路状态数据库(LSDB),其中包含了所有与该路由器相连的链路状态信息。
通过比较这些链路状态信息,OSPF可以计算出到达目的地的最短路径。
其次,OSPF协议使用区域的概念来优化网络的运行。
一个OSPF网络可以被划分为多个区域,每个区域内部的路由信息互相独立,只有与其他区域的边界路由器才会交换路由信息。
这样可以减少路由器之间的通信量,提高网络的运行效率。
另外,OSPF协议还使用了Hello协议和链路状态更新来维护邻居关系和链路状态信息。
当两个路由器在同一个网络中时,它们会定期发送Hello消息来确认彼此的存在,并建立邻居关系。
一旦建立了邻居关系,它们就可以交换链路状态信息,并更新各自的链路状态数据库。
此外,OSPF协议还支持网络的分层设计。
在OSPF网络中,可以将路由器划分为不同的层次,每个层次内部的路由信息互相独立,只有与其他层次的边界路由器才会交换路由信息。
这样可以进一步减少路由器之间的通信量,提高网络的运行效率。
最后,OSPF协议通过使用不同的路由类型来实现灵活的路由选择。
在OSPF网络中,可以使用不同的路由类型来实现不同的路由选择策略,如最短路径优先、等价路径和多路径等。
这样可以根据网络的实际情况来选择最合适的路由类型,从而提高网络的运行效率。
综上所述,OSPF协议是一种基于链路状态的路由协议,通过计算最短路径、使用区域、维护邻居关系、分层设计和灵活的路由类型来实现网络的高效运行。
OSPF_协议的解析及详解OSPF协议的解析及详解OSPF(Open Shortest Path First)是一种内部网关协议(IGP),用于在大型企业网络中进行路由选择。
本文将对OSPF协议进行解析和详解,包括其工作原理、协议格式、路由选择算法等内容。
一、OSPF协议的工作原理OSPF协议基于链路状态路由(LSR)算法,通过交换链路状态信息来计算最短路径。
它将网络拓扑信息分发给所有路由器,每个路由器都会构建一个链路状态数据库(LSDB),并根据该数据库计算最短路径树。
OSPF协议使用Hello消息来发现邻居路由器,并建立邻居关系。
一旦建立了邻居关系,路由器就会交换链路状态更新消息(LSU)来更新链路状态数据库。
每个路由器都会根据链路状态数据库计算最短路径,并将其存储在路由表中。
二、OSPF协议的协议格式OSPF协议使用IP协议号89,其协议格式如下:1. OSPF报文头部:- 版本号:用于指示OSPF协议的版本。
- 报文类型:用于指示报文的类型,如Hello、数据库描述、链路状态请求等。
- 报文长度:指示整个报文的长度。
- 路由器ID:唯一标识一个路由器。
- 区域ID:将网络划分为不同的区域,用于控制链路状态数据库的大小。
2. OSPF Hello消息:- 网络类型:指示网络类型,如点对点、广播、NBMA等。
- 路由器优先级:用于选举DR(Designated Router)和BDR(Backup Designated Router)。
- 邻居列表:列出与该路由器相邻的所有路由器。
3. OSPF LSU消息:- 序列号:用于标识链路状态数据库的更新。
- 链路状态记录:包含了与该路由器相邻的所有路由器的链路状态信息。
4. OSPF LSR消息:- 链路状态请求列表:列出了需要请求的链路状态信息。
三、OSPF协议的路由选择算法OSPF协议使用Dijkstra算法来计算最短路径树。
该算法通过不断更新最短路径表来选择最短路径。
OSPF路由协议概念及工作原理OSPF(Open Shortest Path First)是一种用于内部网关协议(IGP)的链路状态路由协议,用于在大型IP网络中确定数据包的最佳路径,并提供动态路由。
OSPF使用链路状态数据库(LSDB)来存储网络中的路由信息。
首先,每个路由器都会发送自己的链路状态数据包(LSP)到网络中,以告知其他路由器自己的存在和邻居关系。
然后,每个路由器将收到的LSP存储在自己的LSDB中,并更新自己的链路状态数据库。
通过交换LSP,每个路由器都能建立一张完整的网络拓扑图,并计算出到达目的地的最佳路径。
OSPF使用Dijkstra算法来计算最短路径。
在计算最佳路径之前,每个路由器需要先计算出到达其邻居的最短路径。
然后,通过将这些最短路径结合起来,每个路由器就能计算出到达其他所有路由器的最佳路径。
最佳路径是根据每个链路的成本来确定的,成本通常与链路的带宽成反比。
OSPF的路由选择是基于开销(即链路成本)的。
开销较低的路径被认为是最佳路径。
在网络中,每个路由器都会维护一张拓扑表,其中包含与其相邻的路由器以及到达目的地的最佳路径。
当网络中发生故障或路径出现改变时,路由器将发送更新信息以通知其他路由器,并更新自己的拓扑表。
OSPF支持多种类型的路由器,包括内部路由器、区域路由器和边界路由器。
内部路由器是位于同一区域内的路由器,它们只会传递对于该区域内的路由信息。
区域路由器是连接不同区域的路由器,它们不仅传递内部路由信息,还负责传递其他区域的路由信息。
边界路由器是连接不同自治系统(AS)的路由器,它们负责传递来自其他AS的路由信息。
OSPF还支持VLSM(可变长度子网掩码),即允许在同一IP网络中使用不同大小的子网掩码,从而更好地利用IP地址空间。
此外,OSPF还提供了一些可选功能,如认证、超级网关、区域间路由过滤等。
总结来说,OSPF是一种链路状态的内部网关协议,使用链路状态数据库存储路由信息,通过计算最短路径和交换LSP来确定最佳路径,以及通过开销选择路由。
常见的路由协议及工作原理如下:
1. RIP路由协议:RIP协议最初是为Xerox网络系统的Xeroxparc通用协议而设计的,是Internet中常用的路由协议。
RIP采用距离向量算法,即路由器根据距离选择路由,所以也称为距离向量协议。
路由器收集所有可到达目的地的不同路径,并且保存有关到达每个目的地的最少站点数的路径信息,除到达目的地的最佳路径外,任何其它信息均予以丢弃。
2. OSPF路由协议:OSPF协议是一种链路状态路由协议,主要应用于较大规模的网络环境中。
与RIP不同,OSPF协议通过路由设备间的链路状态交换,生成网络中所有设备的链路状态数据库。
OSPF协议使用Dijkstra的最短路径算法计算最短路径树,以得到到达目标地址的最短路径。
3. BGP路由协议:BGP协议是一种外部网关协议,主要用于不同自治系统之间的路由交换。
BGP协议通过建立和维护相邻节点间的连接关系,并交换路由信息来更新和维护路由表。
BGP协议具有支持大规模网络、路由收敛速度快、防止路由循环等特点。
以上是常见的路由协议及工作原理,不同的路由协议适用于不同的网络环境,需要根据实际情况选择合适的路由协议。
ospf协议原理
OSPF(Open Shortest Path First)是一种链路状态路由协议,
用于计算和选择最短路径来转发数据包。
1. 邻居发现:每个OSPF路由器(也称为OSPF进程)在启动时,通过向本地网络中的其他路由器发送Hello消息来发现邻居。
当两个路由器接收到对方的Hello消息时,它们将建立一
个邻居关系。
2. 路由器链路状态数据库(LSDB)同步:一旦邻居关系建立,路由器之间将开始同步链路状态信息。
每个路由器将收集关于它所连接网络的链路状态信息,并将其存储在链路状态数据库中。
链路状态信息包括连接的网络地址、链路的代价(成本)等。
3. SPF计算:一旦链路状态数据库同步完成,每个路由器将使
用Dijkstra算法计算从自身到达所有目标网络的最短路径树(SPF tree)。
在计算过程中,每个路由器将选择代价最小的
路径。
4. 路由表生成:根据SPF树的结果,每个路由器将生成本地
的路由表。
路由表中包含了到达每个目标网络的下一跳路由器以及相应的接口信息。
5. 连通性维护:一旦路由表生成完成,OSPF协议将定期发送Hello消息来维护邻居关系和链路状态信息。
如果某个邻居在
一段时间内没有收到Hello消息,将被认为是不可达的,邻居
关系将被删除,并相应地更新链路状态数据库和路由表。
6. 路由选择和数据包转发:当有数据包需要转发时,路由器将使用路由表中的信息选择最佳路径,然后将数据包发送到下一跳路由器。
总结来说,OSPF通过邻居发现、链路状态数据库同步、SPF 计算、路由表生成、连通性维护和数据包转发等步骤来实现最短路径路由的计算和选择。
OSPF协议详解OSPF(Open Shortest Path First)是一种开放式的最短路径优先(SPF)路由协议,它用于在IP网络中确定最佳转发路径。
在本文中,我们将详细介绍OSPF的工作原理、优点、协议特点以及配置方法。
1.工作原理:OSPF使用了链路状态路由算法,这种算法将网络上的每个路由器都视为一个节点(或称为“LSDB数据库中的顶点”),并通过链路状态广播(LSA)协议来交换链路信息。
每个路由器都会维护一个属于自己的图,这个图描述了整个网络的拓扑结构。
当一个链路状态发生变化时(如链路故障或新增链路),路由器会发送链路状态通告(LSA)消息给所有邻居路由器,以便更新其拓扑图。
接收到这些消息的路由器将更新自己的拓扑图,并重新计算到达目标网络的最短路径。
2.优点:(1)快速收敛:OSPF使用链路状态广播信息,并且每个路由器都维护了一个图,这使得当网络发生变化时,只需更新那些受影响的链路即可,从而加快了网络的收敛速度。
(2)支持多种网络类型:OSPF可以用于各种类型的网络,如以太网、FDDI(光纤分布式数据接口)、点对点链路和虚拟链路等。
(3)可划分区域:OSPF网络可以划分成不同的区域,每个区域都有独立的LSDB数据库和SPF计算。
这种分层结构使得OSPF对大型网络的扩展更加容易。
(4)通过区域间的路由聚合减少链路状态交换的开销。
(5)支持VLSM(可变长度子网掩码):OSPF支持VLSM,可以根据不同的子网掩码长度进行路由。
3.协议特点:(1)基于链路状态:OSPF使用链路状态来计算最佳路径,而不是基于距离向量,这使得OSPF在选择最佳路径时更加准确。
(2)通过区域间的路由聚合减少链路状态交换的开销。
(3)支持分层结构:OSPF支持网络的分层结构,将大型网络划分为多个区域,每个区域都有独立的LSDB数据库和SPF计算。
(4)使用多种类型的LSA:OSPF定义了几种不同的LSA类型(如类型1、类型2、类型3),用于交换链路状态信息和计算最佳路径。
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协议的解析及详解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协议的原理和应用场景OSPF协议的原理和应用场景OSPF(Open Shortest Path First)是一种链路状态路由协议,广泛应用于局域网和广域网的路由器之间的路由选择。
OSPF协议是由IETF(互联网工程任务组)制定的一种公共标准协议,自1990年以来一直被视为互联网核心路由协议。
OSPF协议的原理:OSPF协议的核心是Dijkstra算法和链路状态数据库。
它通过使用链路状态协议将路由器之间的网络状态信息发送到网络中的其他路由器,从而使路由器能够了解整个网络的状态。
OSPF路由器还会定期交换链路状态信息(LSA),以确定网络的最短路径(即最小成本路径)。
链路状态信息包括路由器自己的信息、与路由器相连的网络的拓扑状态、到其它网络达到的成本等。
OSPF的路由发现需要经过以下步骤:1.建立邻居关系。
路由器首先会向与之相连的路由器发送Hello 包,建立邻居关系。
在邻居关系确认后,路由器将把邻居的链路状态信息拉取到本地的链路状态数据库(LSDB)中。
2.计算最短路径树。
通过Dijkstra算法,根据链路状态信息计算最短路径树,并将每个路由器的最短路径保存在本地的路由表中。
3.确定路由。
根据最短路径树,确定具体的路由。
OSPF协议的应用场景:1.大型企业网络中的路由器部署:当企业的网络规模较大时,使用OSPF协议可以让网络管理人员更方便地管理网络,提高网络安全性和稳定性。
使用OSPF可以很容易地设置一个层次化的网络拓扑结构,让网络管理人员能够集中管理网络。
2.云计算和数据中心:OSPF协议可以在数据中心中优秀地处理虚拟机的迁移,从而确保高速的数据中心内部通信。
3.ISP和互联网:OSPF协议是ISP和互联网中最常见的路由协议之一。
它能够更好的处理路由器之间的转发和寻址,并且在优化网络的时候可以减少网络拥塞和延迟。
总结:OSPF协议通过链路状态计算和最短路径树构建,旨在提高路由器之间的通信效率和拥塞控制。
OSPF协议目录1.概述 (3)2.SPF算法 (3)3.OSPF协议原理 (5)3.1 自治系统的分区 (5)3.2 区域间路由 (6)3.3 Stub区和自治系统外路由 (6)3.4 DR和BDR (7)4.OSPF报文 (7)4.1 OSPF协议报文 (7)4.2OSPF包承载的内容 (9)5.OSPF协议的运行 (10)5.1Hello协议的运行 (10)5.2 DR和BDR的产生 (10)5.3链路状态数据库的同步 (11)5.4路由表的产生和查找 (12)1.概述OSPF协议是由Internet网络工程部(IETF)开发的一种内部网关协议(IGP),即网关和路由器都在一个自治系统内部。
OSPF是一个链路状态协议或最短路径优先(SPF)协议。
虽然该协议依赖于IP环境以外的一些技术,但该协议专用于IP,而且还包括子网编址的功能。
该协议根据IP数据报中的目的IP地址来进行路由选择,一旦决定了如何为一个IP数据报选择路径,就将数据报发往所选择的路径中,不需要额外的包头,即不存在额外的封装。
该方法与许多网络不同,因为他们使用某种类型的内部网络报头对UDP进行封装以控制子网中的路由选择协议。
另外OSPF可以在很短的时间里使路由选择表收敛。
OSPF还能够防止出现回路,这种能力对于网状网络或使用多个网桥连接的不同局域网是非常重要的。
在运行OSPF 的每一个路由器中都维护一个描述自治系统拓扑结构的统一的数据库,该数据库由每一个路由器的局部状态信息(该路由器可用的接口信息、邻居信息)、路由器相连的网络状态信息(该网络所连接的路由器)、外部状态信息(该自治系统的外部路由信息)等组成。
每一个路由器在自治系统范围内扩散相应的状态信息。
所有的路由器并行运行同样的算法,根据该路由器的拓扑数据库构造出以它自己为根节点的最短路径树,该最短路径树的叶子节点是自治系统内部的其它路由器。
当到达同一目的路由器存在多条相同代价的路由时,OSPF能够实现在多条路径上分配流量。
RFC2178中删除了OSPF的TOS功能,但是为了保证和以前版本的兼容性,在各个链路状态宣告中还保留了TOS项目。
2.SPF算法与V-D算法相比较的一组算法叫作“链接-状态”(link-state)算法,又叫最短路径优先或SPF(Shortest Path First)算法。
按照SPF算法的要求,网关寻径表依赖于一张表示整个Internet网中网关与网络拓扑结构的图。
在这张图中,节点表示网关,边表示连接网关的网络(link),我们称之为L-S 图。
在信息一致的情况下,所有网关的L-S图应该是完全相同的。
各网关的寻径表是根据相同的L-S图计算出来的。
L-S算法包括三个步骤:(1)各个网关主动测试与所有相邻网关之间的状态。
为此,网关周期性地向相邻网关发出Hello报文,询问相邻网关是否能够访问。
假如相邻网关做出反应,说明链接为“开”(UP),否则为“关”(DOWN),链接-状态的取名即出于此。
(2)各网关周期性地广播其L-S信息。
这里的“广播”是真正意义的广播,不象V-D算法那样只向相邻网关发送V-D报文,而是向所有参加SPF算法的网关发送L-S报文。
(3)网关收到L-S报文后,利用它刷新网络拓扑图,将相应链接改为“开”或“关”状态。
假如L-S发生变化,网关立即利用最短路径算法,根据L-S图重新计算本地路径。
在实际应用中有好几种最短路径选择算法,大多数是以A算法(algorithm A)为基础。
该算法已作为互连网络SPF协议的模型,并且多年来被用于优化网络设计和网络的拓扑结构。
各节点用自己拥有的统一的描述自治系统拓扑结构的数据库,以自己为根,建立一个路径选择的寻径表。
在图1中,节点A是源节点,节点J是目的节点。
其具体的步骤如下:(1)在图1中,网络中的每条路径有一个权值,该权值是根据某一标准(如考虑距离、时延、队列长度等)得出的;(2)为每个节点标上一条已知路径从源端到该节点需要的最小代价。
最初不知道任何路径,所以每个节点的标号为无穷大;(3)为每个节点检测它周围有哪些相邻的节点,源节点是第一个被考虑的节点,并且变为工作节点;(4)为工作节点的每个相邻的节点分配一个最小代价标号。
如果发现一条从该节点到源节点的更短的路径,则修改标号。
在OSPF中,当链路状态报文广播到所有其他节点时,会发生这种情况(即因发现更短的路径而修改标号);(5)在给相邻节点分配了标号以后,检测网络中的其他节点,如果某个已分配了标号的节点拥有较小的标号值,则它的标号变为永久标号,该节点变为工作节点;(6)如果某节点的标号与到它的某个相邻节点路径上的权值之和小于该相邻节点的标号,在改变该相邻节点的标号,因为发现了一条更短的路径;(7)选择另一个工作节点,重复上述过程直到穷尽所有的可能。
最后的每个节点的标号就给出了源节点和目的节点之间的一条端到端的代价最低的路径。
目的节点工作节点(7,D) (8,C) (7,D)(5,C) 工作节点(4,A) (8,A) 工作节点51 1 27 44342 1 84源点G E AD BCFHI 8 2J图1 A 算法的应用经过了上面的计算可以形成图2所示的路由选择拓扑图(即最短距离树,又称最优树):(9)(7)(6)(5) (8) (4)(3) (2) (1)5112422 14 AC H F B J IGE D图2 路由器A 的路由选择拓扑图3.OSPF 协议原理3.1 自治系统的分区OSPF 允许在一个自治系统里划分区域的做法,相邻的网络和它们相连的路由器组成一个区域(Area)。
每一个区域有该区域自己拓扑数据库,该数据库对于外部的区域是不可见的,每个区域内部路由器的链路状态信息数据库实际上只包含着该区域内的链路状态信息,他们也不能详细地知道外部的链接情况,在同一个区域内的路由器拥有同样的拓扑数据库。
和多个区域相连的路由器拥有多个区域的链路状态信息库。
划分区域的方法减少了链路状态信息数据库的大小、并极大地减少了路由器间交换状态信息的数量。
如图3所示。
图3 把自治系统分成多个OSPF 区域在多于一个区域的自治系统中,OSPF 规定必须有一个骨干区(backbone )-area 0,骨干区是OSPF 的中枢区域,它与其他区域通过区域边界路由器(ABR)相连。
区域边界路由器通过骨干区进行区域路由信息的交换。
为了达到一个区域的各个路由器保持相同的链路状态信息库,这就要求骨干区是相连的,但是并不要求它们是物理连接的。
在实际的环境中,如果它们在物理上是断开的,这时可以通过建立虚链路(Virtual Link)的方法保证骨干区域的连续性。
虚链将属于骨干区并且到一个非骨干区都有接口的两个ABR 连接起来,虚链本身属于骨干区,OSPF 将通过虚链连接的两个路由器看作是通过未编号的点对点链路(unnumbered point-to-point )连接。
3.2 区域间路由当两个非骨干区域间路由IP 包的时,必须通过骨干区。
IP 包经过的路径分为三个部分:源区域内路径(从源端到ABR )、骨干路径(源和目的区域间的骨干区路径)、目的端区域内路径(目的区域的ABR 到目的路由器的路径)。
从另一个观点来看,一个自治系统就象一个以骨干区作为Hub ,各个非骨干区域连到Hub 上的星型结构图。
各个区域边界路由器在骨干区上进行路由信息的交换,发布本区域的路由信息,同时收到其他ABR 发布的信息,传到本区域进行链路状态的更新以形成最新的路由表。
3.3 Stub 区和自治系统外路由在一个OSPF 自治系统中有这样一种特殊的区域――存根区域(Stub 区域),在这个区域中只有一个外部出口,该区域不允许外部的非OSPF 的路由信息进入。
到自治系统外的包只能依靠缺省路由。
存根区域的边界路由器必须在路由概要里向区域宣告这个缺省路由,但是不能超过这个存根区域。
缺省路由的使用可以减少链路状态信息库的大小。
对于该自治系ASArea0Area2Area1Area3Area4R R RRRR R统外部路由信息,如BGP产生的路由信息,可以通过该自治系统的区域边界路由器(ASBR)透明地扩散到整个自治系统的各个区域中,使得该自治系统内部的每一台路由器都能够获得外部的路由信息。
但是该信息不能扩散到存根区域。
这样自治系统内的路由器可以通过ASBR路由包到自治系统外的目标。
3.4 DR和BDR在自治系统内的每个广播和非广播多点访问(NBMA)网络里,都有一个指定路由器(DR -Designated Router)和一个备份指定路由器(BDR-Backup Designated Router),它们是通过Hello协议选举产生的。
DR的主要功能是:(1)产生代表本网络的网络路由宣告,这个宣告列出了连到该网络有哪些路由器,其中包括DR自己;(2)DR同本网络的所有其他的路由器建立一种星型的邻接关系,这种邻接关系是用来交换各个路由器的链路状态信息,从而同步链路状态信息库。
DR在路由器的链路状态信息库的同步上起到核心的作用。
另一个比较重要的路由器是BDR,BDR也和该网络中的其它路由器建立邻接关系。
因此,BDR的设立是为了保证当DR发生故障时尽快接替DR的工作,而不至于出现由于需重新选举DR和重新构筑拓扑数据库而产生大范围的数据库震荡。
当DR存在的情况下,BDR不生成网络链路广播消息。
在DR、BDR的选举后,该网络内其它路由器向DR、BDR发送链路状态信息,并经DR转发到和DR建立邻接关系的其它路由器。
当链路状态信息交换完毕时,DR和其它路由器的邻接关系进入了稳定态,区域范围内统一的拓扑(链路状态)数据库也就建立了,每个路由器以该数据库为基础,采用SPF算法计算出各个路由器的路由表,这样就可以进行路由转发了。
4.OSPF报文4.1 OSPF协议报文OSPF使用五种类型的路由协议包,在各个路由器间进行交换信息,如表1所示。
每种协议包都包含24字节的OSPF协议包的首部,如图4所示。
Hello协议用于寻找和维护路由器所连网络上的邻居关系。
通过周期性地发出Hello包,来确定和维护邻居路由器接口是否仍在起作用。
Hello包被发送到网络上的每个活动的路由器接口。
在广播和非广播的多点访问的网络上,DR和BDR的选举也是通过Hello包来完成的。
在不同的物理网络上,Hello包的目的地址是不同的;在点到点和广播网络上,其目的地址是AllSPFRouter(224.0.0.5);在虚链路上是单播,也就是从虚链路的源端直接发送到链路的另一端;而在点到多点的网络上,分离的Hello包分别发送到相连的每一个邻居;在非广播的多点访问网络上,Hello包的发送要看各个路由器的配置信息。
表1 OSPF路由协议包类型包类型目的Hello协议包发现和维护邻居数据库描述汇总数据库内容链路状态请求数据库下载链路状态更新数据库上载链路状态确认扩散确认版本号类型包长度路由器 ID区域 ID检验和AuType身份验证身份验证图4 OSPF协议包的首部数据库描述包是类型往为2的OSPF包,在形成邻接过程中的路由器之间交换数据库描述包,且它们描述链路状态数据库。