OSPF协议的工作原理
OSPF协议是一种链路状态协议,那末OSPF是如何来描写链路连接状态呢?
抽象模型Model1表示路由器的一个以太网接口不连接其他路由器,只连接了一个以太网段。此时,对运行OSPF的路由器R1,只能辨认本身,没法辨认该网段上的装备(主机等);抽象模型Model2表示路由器R1通过点对点链路(如PPP、HDLC等)连接一台路由器R2;抽象模型Model3表示路由器R1通过点对多点(如FrameRelay、X.25等)链路连接多台路由器R3、R4等,此时路由器R5、R6之间不进行互联;抽象模型Model4表示路由器R1通过点对多点(如FrameRelay、X.25等)链路连接多台路由器R5、R6等,此时路由器R5、R6之间互联。以上抽象模型侧重于各类链路层协议的特点,而不触及具体的链路层协议细节。该模型基本表达了当前网络链路的连接种类。
在OSPF协议中,分别对以上四种链路状态类型作了描写:
对抽象模型Model1(以太网链路),使用LinkID(连接的网段)、Data(掩码)、Type(类型)和Metric(代价)来描写。此时的LinkID即为路由器R1接口所在网段,Data为所用掩码,Type为3(Stubnet),Metric为代价值。
对抽象模型Model2(点对点链路),先使用LinkID(连接的网段)、Data(掩码)、Type(类型)和Metric(代价)来描写接口路由,以上各参数与Model1类似。接下来描写对端路由器R2,四个参数名不变,但其含义有所不同。此时LinkID为路由器R2的RouterID,Data为路由器R2的接口地址,Type为1(Router),Metric仍为代价值。
对抽象模型Model3(点对多点链路,不全连通),先使用LinkID(连接的网段)、Data(掩码)、Type(类型)和Metric(代价)来描写接口路由,以上各参数与Model1类似。接下来分别描写对端路由器R3、R4的方法,与在Model2中描写R2类似。
对抽象模型Model4(点对多点链路,全连通),先使用LinkID(网段中DR的接口地址)、Data(本接口的地址)、Type(类型)和Metric(代价)来描写接口路由。此时Type值为2(Transnet),然后是本网段中DR(指定路由器)描写的连接通告。
路由器在通报其获知的链路状态(即上面所述的参数)前,加上LSA头(LinkStateAdvertisementHead),从而生成LSA(链路状态广播)。到此,路由器通过LSA完成周边网络的拓扑结构描写,并发送给网络中的其他路由器。