您现在的位置: 飞速资源网文章中心电脑教学系统集成OSPF协议工作过程

OSPF协议工作过程

飞速资源网| http://www.ff70.com |系统集成|人气:884次| 06-11
OSPF协议工作过程 OSPF协议工作过程
OSPF路由协议针对每一个区域分别运行一套独立的计算法则,对于ABR来说,由于一个区域边界路由器同时与几个区域相联,因此一个区域边界路由器上会同时运行几套OSPF计算方法,每一个方法针对一个OSPF区域。下面对OSPF协议运算的全过程作一概括性的描述。

区域内部路由

当一个OSPF路由器初始化时,首先初始化路由器自身的协议数据库,然后等待低层次协议(数据链路层)提示端口是否处于工作状态。

如果低层协议得知一个端口处于工作状态时,OSPF会通过其Hello协议数据包与其余的OSPF路由器建立交互关系。一个OSPF路由器向其相邻路由器发送Hello数据包,如果接收到某一路由器返回的Hello数据包,则在这两个OSPF路由器之间建立起OSPF交互关系,这个过程在OSPF中被称为adjacency。在广播性网络或是在点对点的网络环境中,OSPF协议通过Hello数据包自动地发现其相邻路由器,在这时,OSPF路由器将Hello数据包发送至一特殊的多点广播地址,该多点广播地址为ALLSPFRouters。在一些非广播性的网络环境中,我们需要经过某些设置来发现OSPF相邻路由器。在多接入的环境中,例如以太网的环境,Hello协议数据包还可以用于选择该网络中的指定路由器DR。

一个OSPF路由器会与其新发现的相邻路由器建立OSPF的adjacency,并且在一对OSPF路由器之间作链路状态数据库的同步。在多接入的网络环增中,非DR的OSPF路由器只会与指定路由器DR建立adjacency,并且作数据库的同步。OSPF协议数据包的接收及发送正是在一对OSPF的adjacency间进行的。

OSPF路由器周期性地产生与其相联的所有链路的状态信息,有时这些信息也被称为链路状态广播LSA(Link State Advertisement)。当路由器相联接的链路状态发生改变时,路由器也会产生链路状态广播信息,所有这些广播数据是通过Flood的方式在某一个OSPF区域内进行的。Flooding算法是一个非常可靠的计算过程,它保证在同一个OSPF区域内的所有路由器都具有一个相同的OSPF数据库。根据这个数据库,OSPF路由器会将自身作为根,计算出一个最短路径树,然后,该路由器会根据最短路径树产生自己的OSPF路由表。

建立OSPF交互关系adjacency

OSPF路由协议通过建立交互关系来交换路由信息,但是并不是所有相邻的路由器会建立OSPF交互关系。下面将OSPF建立adjacency的过程简要介绍一下。

OSPF协议是通过Hello协议数据包来建立及维护相邻关系的,同时也用其来保证相邻路由器之间的双向通信。OSPF路由器会周期性地发送Hello数据包,当这个路由器看到自身被列于其它路由器的Hello数据包里时,这两个路由器之间会建立起双向通信。在多接入的环境中,Hello数据包还用于发现指定路由器DR,通过DR来控制与哪些路由器建立交互关系。

两个OSPF路由器建立双向通信这后的第二个步骤是进行数据库的同步,数据库同步是所有链路状态路由协议的最大的共性。在OSPF路由协议中,数据库同步关系仅仅在建立交互关系的路由器之间保持。

OSPF的数据库同步是通过OSPF数据库描述数据包(Database Des cription Packets)来进行的。OSPF路由器周期性地产生数据库描述数据包,该数据包是有序的,即附带有序列号,并将这些数据包对相邻路由器广播。相邻路由器可以根据数据库描述数据包的序列号与自身数据库的数据作比较,若发现接收到的数据比数据库内的数据序列号大,则相邻路由器会针对序列号较大的数据发出请求,并用请求得到的数据来更新其链路状态数据库。

我们可以将OSPF相邻路由器从发送Hello数据包,建立数据库同步至建立完全的OSPF交互关系的过程分成几个不同的状态,分别为:

w Down:这是OSPF建立交互关系的初始化状态,表示在一定时间之内没有接收到从某一相邻路由器发送来的信息。在非广播性的网络环境内,OSPF路由器还可能对处于Down状态的路由器发送Hello数据包。

w Attempt:该状态仅在NBMA环境,例如帧中继、X.25或ATM环境中有效,表示在一定时间内没有接收到某一相邻路由器的信息,但是OSPF路由器仍必须通过以一个较低的频率向该相邻路由器发送Hello数据包来保持联系。

w Init:在该状态时,OSPF路由器已经接收到相邻路由器发送来的Hello数据包,但自身的IP地址并没有出现在该Hello数据包内,也就是说,双方的双向通信还没有建立起来。

w 2-Way:这个状态可以说是建立交互方式真正的开始步骤。在这个状态,路由器看到自身已经处于相邻路由器的Hello数据包内,双向通信已经建立。指定路由器及备份指定路由器的选择正是在这个状态完成的。在这个状态,OSPF路由器还可以根据其中的一个路由器是否指定路由器或是根据链路是否点对点或虚拟链路来决定是否建立交互关系。

w Exstart:这个状态是建立交互状态的第一个步骤。在这个状态,路由器要决定用于数据交换的初始的数据库描述数据包的序列号,以保证路由器得到的永远是最新的链路状态信息。同时,在这个状态路由器还必须决定路由器之间的主备关系,处于主控地位的路由器会向处于备份地位的路由器请求链路状态信息。

w Exchange:在这个状态,路由器向相邻的OSPF路由器发送数据库描述数据包来交换链路状态信息,每一个数据包都有一个数据包序列号。在这个状态,路由器还有可能向相邻路由器发送链路状态请求数据包来请求其相应数据。从这个状态开始,我们说OSPF处于Flood状态。

w Loading:在loading状态,OSPF路由器会就其发现的相邻路由器的新的链路状态数据及自身的已经过期的数据向相邻路由器提出请求,并等待相邻路由器的回答。

w Full:这是两个OSPF路由器建立交互关系的最后一个状态,在这时,建立起交互关系的路由器之间已经完成了数据库同步的工作,它们的链路状态数据库已经一致。

域间路由

前面一节描述了OSPF路由协议的单个区域中的计算过程。在单个OSPF区域中,OSPF路由协议不会产生更多的路由信息。为了与其余区域中的OSPF路由器通讯,该区域的边界路由器会产生一些其它的信息对域内广播,这些附加信息描绘了在同一个AS中的其它区域的路由信息。具体路由信息交换过程如下:

在OSPF的定义中,所有的区域都必须与区域0相联,因此每一个区域都必须有一个区域边界路由器与区域0相联,这一个区域边界路由器会将其相联接的区域内部结构数据通过Summary Link广播至区域0,也就是广播至所有其它区域的边界路由器。在这时,与区域0相联的边界路由器上有区域0及其它所有区域的链路状态信息,通过这些信息,这些边界路由器能够计算出至相应目的地的路由,并将这些路由信息广播至与其相联接的区域,以便让该区域内部的路由器找到与区域外部通信的最佳路由。

AS外部路由

一个自治域AS的边界路由器会将AS外部路由信息广播至整个AS中除了残域的所有区域。为了使这些AS外部路由信息生效,AS内部的所有的路由器(除残域内的路由器)都必须知道AS边界路由器的位置,该路由信息是由非残域的区域边界路由器对域内广播的,其链路广播数据包的类型为类型4。


如果觉得《OSPF协议工作过程》系统集成,弱电系统集成,全国计算机系统集成不错,可以推荐给好友哦。
本文Tags: 电脑教学 - 系统集成,弱电系统集成,全国计算机系统集成,
广告联系|管理下载|游戏下载|公文中心|驾驶考试|电脑教学|教育教学|名言名句|网站地图|热门专题
Copyright © 资源下载. All Rights Reserved .
本页提供OSPF协议工作过程,系统集成,弱电系统集成,全国计算机系统集成参考。
1 2 3 4 5 6 7 8 9 10 11 12