初识OSPF

OSPF(Open Shortest Path First)是一个内部网关协议(Interior Gateway Protocol,简称IGP)。与RIP相对,OSPF是链路状态路由协议,而RIP是距离向量路由协议.ospf有两个版本,一个是v2,针对的是ipv4,一个是v3,针对的是ipv6

OSPF具有一下几个特点:

(1)无环路,采用SPF算法

(2)收敛速度快,具有出发更新机制

(3)扩展性好

(4)支持认证,可采用md5认证

OSPF采用hello报文来建立和维护邻居关系,每10s发送一次hello报文,如果40s后没收到hello报文,则认为邻居关系断开。

ospf报文封装在IP报文中,协议号为89,采用的组播地址为224.0.0.5和224.0.0.6;224.0.0.5是DR用来发送LSA信息时的组播地址,224.0.0.6是DRother用来发送LSA信息时的组播地址也是DR和BDR用来接受LSA的组播地址。DRonter采用224.0.0.6发送LSA时,只有DR和BDR能接受,DRthoer是接受不到的,而DR和BDR发送LSA时,必须采用224.0.0.5这个组播地址才能让所有的DRother都接受到LSA,因为DRthoer接受LSA时采用的组播地址是224.0.0.5。

OSPF有五种报文类型:

hello报文:用来建立和维护邻居关系,互相发送hello报文来确认关系

DD(DatabaseDescription)报文:两个路由器交互LSA并不是把对方全部的LSA都一次性发过去,而是先通过DD报文来交互LSA的头部信息,选择主从关系,DD报文包含routerID和***,选取routerID较大的作为主,***用于双方交互确认。通过DD报文交互LSA头部信息,就可以知道对方有哪些LSA,从而向对方发出LSA报文

LSR报文:向邻居请求LSA

LSU报文:作为LSR报文的确认,回复邻居所需要的LSA

LSACK报文:作为LSU报文的确认

ospf邻居状态机如下:

初识OSPF

Down状态:没收到邻居发送的hello包

Init状态:收到了邻居发送过来的hello包,但是邻居发送过来的hello包中并没有包含我本身的routerID,也就是说邻居并没有发现我

2way状态:收到了邻居发送过来的包含自己本身routerID的hello包,表示邻居关系已经建立

ExStart状态:发送DD报文,选举主从关系

Exchange状态:进行LSA头部信息交互

Loading状态:进行LSA,LSU,Lsack的发送

FULL状态:邻接关系建立完成

OSPF的路由器有三种角色,分别为DR、BDR、Drother。DR和Brother、BDR都是邻接关系,可以交互LSA报文,Drother和Drother是邻居关系,不交互LSA报文。DR和BDR的选举发生在邻居关系形成之后邻接关系形成之前,如果邻居关系是DRother,那就不用进入EXStart状态来交互DD报文了。

DR和BDR的选举原则:先比较优先级,优先级最大的成为DR,如果优先级相同,则比较routerID,routerID最大的,成为DR。优先级的范围为1-255。优先级为0则表示不参与DR的选举。DR和BDR是针对一个网段来说的,也就是说一个路由器可以在一个网段内充当DR的角色,也可以在另一个网段内充当BDR的角色。DR和BDR具有非抢占式和稳定性的特点,即是,一个DR和BDR选举完成的网络,即使有另一个优先级更高,routerID更大的路由器接入进来,也不会再次进行新一轮的选举,避免发生网络的动荡.

OSPF多区域概念:每个区域维护一个独立的LSDB数据库,同个区域内的每台路由器拥有相同的LSDB数据库。区域内传递的信息包括路由信息和拓扑信息,区域间只传递路由信息,由于区域间传递的仅仅是路由信息,采用的是DV型路由算法,所以可能产生环路问题,为了避免产生环路,ospf设置了区域0这个区域,也就是骨干区域,所有区域都必须与区域0相连接,才能传递路由信息。

附上ospf单区域配置命令:如下图所示

初识OSPF

通过display ospf peer 查看邻居信息

通过display ospf interface 查看ospf接口信息

通过reset ospf process 重置ospf进程,可以重新进行DR选举

通过display ospf lsdb 查看区域LSA数据库

在接口下通过ospf cost X 可以修改ospf的开销值

ospf的认证分为接口认证和区域认证,接口认证是针对的是两个接口之间的一段链路,区域认证针对的是一个区域,区域认证其实可以说是简化了接口认证,这样我们就不用在每个接口下进行认证配置。

接口认证配置命令如图所示:

初识OSPF

区域认证配置命令:

ospf 1 routerID 1.1.1.1      进入ospf进程制定routerID

area 0             进入区域0

ospf authentication-mode md5 1 cipher huawei             配置认证模式与**