OSPF的基本原理,自治系统、区域、单区域、多区域、骨干区域、非骨干区域、内部路由器、骨干路由器、区域边界路由器、自治系统边界路由器的概念

OSPF基本原理:在OSPF协议中,路由器会将自己的链路状态信息一次性地泛洪给所有其他的路由器

(1)如果一个OSPF网络中包含一个区域,则被称为单区域OSPF网络,如果存在多个区域,则被称为多区域OSPF网络

(2)骨干区域:Area-ID为0的区域

(3)非骨干区域:多区域OSPF网络中,包含一个骨干区域以及若干个非骨干区域,他们都与骨干区域直连,但是非骨干区域之间,不能直连,必须通过骨干区域来进行联通

(4)内部路由器:一台路由器的所有接口都属于同一个区域

(5)骨干路由器:有一个接口属于骨干区域的路由器(包含内部路由器)

(6)区域边界路由器:一些接口属于骨干区域,另一些属于其他区域的路由器

(7)自治系统边界路由器:与本自治系统之外的网络相连的路由器,可以将外部网络的路由信息引入到本自治网络中

OSPF支持的网络类型(广播网络、NBMA、点到点网络、点到多点网络);链路状态、链路状态通告(LSA)及类型、OSPF报文结构及类型

1、点到点网络

即Point-to-point(P2P)型网络,是指该接口通过点到点的方式与一台路由器相连。此类型网络不需要进行OSPF的DR、BDR选举。当链路层协议是PPP或HDLC时,OSPF缺省认为网络类型是P2P。在此类型的网络中,OSPF以组播方式(224.0.0.5)发送协议报文。

2、广播型多路访问网络

 即Broadcast型网络,网络本身支持广播功能。当链路层协议是Ethernet、FDDI时,OSPF缺省认为网络类型是广播型。此类型网络需要进行OSPF的DR、BDR选举。在该类型的网络中,OSPF通常以组播方式(224.0.0.5和224.0.0.6)发送协议报文。

3、NBMA型网络

NBMA(Non-BroadcastMultipleAccess)型网络,虽然从一个接口可以到达多个目的节点,但是网络本身不支持广播功能,当链路层协议是帧中继、ATM或X.25时,OSPF缺省认为网络类型是NBMA。此时OSPF的邻居需要管理员手工指定。在该类型的网络中,以单播方式发送协议报文。

 4、点到多点网络

即Point-to-multipoint(P2MP)型网络,是指该接口通过点到多点的网络与多台路由器相连。P2MP型网络比较特殊,没有一种链路层协议会被缺省地认为是点到多点类型。点到多点必须是由其他网络类型强制更改而来。常用做法是将NBMA改为点到多点的网络。在该类型的网络中,缺省情况下以组播方式(224.0.0.5)发送协议报文,也可以根据用户需要,以单播形式发送协议报文。

链路状态:所谓链路状态,其实是指路由器的接口状态。

LSA(状态链路通告):简单来说LSA是链路状态信息的主要载体,链路状态信息主要是包含在LSA中并通过LSA的通告(泛洪)来实现共享。

1.Router LSA:

每一个路由器都会产生,通告自己路由器所有接口的状态;在域内泛洪。Link id(为router id)一般等于ADV router,即产生并公告。

2.Network LSA:

由网络中的DR产生(DR为为路由器的接口特性),通告本域内每个DR下所属的DRother的router id(包括DR自己的),由DR公告,Link id为DR路由器接口ip地址(即通告所有DR接口下的DRother的router id);在域内泛洪。

注意:一个区域可由多个DR,一个网段一个DR(路由器分隔网段)

3.Network Summary LSA:

由本域内同时为area 0的ABR路由器始发,学习其它区域的LSA,只通告到已知网段的最优路径(是本域内路由器到ABR的最优路径,到最终目的地的总的路径其不管,所以当有多个ABR时,容易引起次优路径的问题,用设置cost值可解决,域内路由器收到后直接加入路由表RIP 的方法)link id为某一网段(表示某一网段的状态);AS中泛洪。

4.ASBR Summary LSA:

本域内由ABR始发,公告(即到最后的ABR时被替换表示要去ASBR就找ABR),通告ASBR的router id主机路由,ASBR的router id为link id。, AS中泛洪。有几个ASBR就有几个4类。

5.External LSA:

ASBR公告,以link id为外面AS域的子网号,通告ASBR外面的子网,由ASBR公告(要去外网找ASBR), AS内泛洪

7.NSSA External LSA:

同5,只是在区域为非纯末梢区域(not so stub by area)内公告并泛洪,到达ABR时变为5类通告给其它区域。

OSPF报文本身有五种类型,分别是Hello报文,DD报文、LSB报文、LSU报文、LSAck报文。  

链路状态数据库、最短路径树(SPT)、SPF算法、OSPF路由表及与IP路由表的区别;邻居关系、邻接关系;DR、BDR及选举方法

OSPF是一种基于链路状态的动态路由协议,每台OSPF路由器都会生成相关的LSA,并将这些LSA通告出去。路由器收到LSA后,会将它们存放在数据链路状态数据库LSDB中。

最短路径树(SPT):由于环路的存在,路由器是可以通过不同的路径(路线)从自己的位置去往同一个目的地的路线,然而,由于环路的存在,路由器必须根据路径开销的情况从不同的路径中选择出最优(即开销最小)的路径,这个过程也就是最短路径树(SPT)的生成过程。

SPF算法:SPT具有无环结构,其树根就是生成这颗STP的路由器,并且,从树根出发沿树干的指引去往某个目的地时,所经过的路径一定就是最优路径。

OSPF路由表:OSPF路由器在生成自己的SPT后,便可以很容易地根据自己的SPT计算出从自己的位置去往各个目的地的路由,这些路由信息的集合,便是所谓的OSPF路由表。

邻居关系是指,当双方收到对方的hello报文的时候,报文里面的参数(hello time.dead interval , area id.authentication ,mask 等)一致的时候,并且邻居关系为2-way的时候,这个就可以成为是建立了邻居关系,但是还不是邻接关系。

邻接关系是指在建立的邻居关系之后继续发送DD,LSR,LSU等报文,最终双方的LSDB达到同步之后,邻居状态为FULL时,才成为邻接关系。

DR/BDR的选举过程:

路由器之间首先必须为2-way,也就是已经建立起了双向通信,接着路由器会在发出的Hello中的DR/BDR字段中,设置为始发接口的IP地址,以此宣称自己为DR/BDR,接着路由器将检查所有收到的Hello包,并列出具有选举资格的接口的列表(列入,优先级不为0,邻居状态为2-way等)

从具有选取资格的路由器列表中,创建一个没有被宣告为DR的所有路由的集合

如果在这个集合中,有一台或多台邻居路由器,并且他们在hello中的BDR字段设置了自己的接口IP,那么他们将进行比较,优先级高的,成为BDR,当优先级相同时,Router-id高的,成为BDR,注意,当BDR选举出来之后,BDR会自动成为DR,因为之前就说道了,当网络中没有DR时,BDR自动成为 ,这个动作并不会产生任何数据包来通知其他邻居,只是在这之后发出的所有Hello中,DR字段都是 DR接口的IP地址