学习日记Day14:OSPF协议工作原理

一、邻接关系的建立过程。

在这里插入图片描述
(1)当一台OSPF路由器收到其他路由器发来的首个Hello报文时会从初始Down状态切换为Init状态。当OSPF路由器收到的Hello报文中的邻居字段包含自己的Router ID时,从Init切换2-way状态。

在这里插入图片描述
(2)邻居状态机从2-way转为Exstart状态后开始主从关系选举:

  • R1向R2发送的第一个DD报文内容为空,其Seq序列号假设为X。
  • R2也向R1发出第一个DD报文,其Seq序列号假设为Y。
  • 选举主从关系的规则是比较Router ID,越大越优。R2的Router ID比R1大,因此R2成为真正的主设备。主从关系比较结束后,R1的状态从Exstart转变为Exchange。

(3)R1邻居状态变为Exchange后,R1发送一个新的DD报文,包含自己LSDB的描述信息,其序列号采用主设备R2的序列号。R2收到后邻居状态从Exstart转变为Exchange。
(4)R2向R1发送一个新的DD报文,包含自己LSDB的描述信息,序列号为Y+1。
(5)R1作为从路由器需要对主路由R2发送的每个DD报文进行确认,回复报文的序列号与主路由R2一致。
(6)发送完最后一个DD报文后,R1将邻居状态切换为Loading。

在这里插入图片描述

(7)邻居状态转变为Loading后,R1向R2发送LSR报文,请求那些在Exchange状态下通过DD报文发现的,但是在本地LSDB中没有的LSA。
(8)R2收到后向R1回复LSU。在LSU报文中包含被请求的LSA的详细信息。
(9)R1收到LSU报文后,向R2回复LS ACK报文,确认已接收到,确保信息传输的可靠性。
(10)此过程中R2也会向R1发送LSA请求。当两端LSDB完全一致时,邻居状态变为Full,表示成功建立邻接关系。

             点击查看更详细的邻接关系建立过程可以。

二、OSPF的网络类型。

      OSPF网络类型是一个非常重要的接口变量,这个变量将影响OSPF在接口上的操作,例如采用什么方式发送OSPF协议报文,以及是否需要选举DR、BDR等。接口默认的OSPF网络类型取决于接口所使用的数据链路层封装。如图所示,OSPF的有四种网络类型,Broadcast、NBMA、P2MP和P2P。
在这里插入图片描述
四种网络类型的说明见下表:

网络类型 说明
P2P 指的是在一段链路上只能连接两台网络设备的环境。典型的例子是PPP链路。当接口采用PPP封装时,OSPF在该接口上采用的缺省网络类型为P2P 。
BMA BMA也被称为Broadcast,指的是一个允许多台设备接入的、支持广播的环境。典型的例子是Ethernet(以太网)。当接口采用Ethernet封装时,OSPF在该接口上采用的缺省网络类型为BMA。
NBMA NBMA指的是一个允许多台网络设备接入且不支持广播的环境。典型的例子是帧中继(Frame-Relay)网络。
P2MP P2MP相当于将多条P2P链路的一端进行捆绑得到的网络。没有一种链路层协议会被缺省的认为是P2MP网络类型。该类型必须由其他网络类型手动更改。常用做法是将非全连通的NBMA改为点到多点的网络。

      OSPF默认网络类型的确定:

  • 接口如果是PPP、HDLC(高级数据链路控制),则认为是P2P链路。
  • 接口如果是ETH、FDDI(光纤分布式数据接口),则认为是broadcast(广播)链路。
  • 接口如果是Frame-Relay、ATM(异步传输模式),则认为是NBMA(非广播多路访问)链路。
  • 没有任何一种链路层协议被认为是P2MP(点到多点),需要管理员手动配置。

      一般情况下,链路两端的OSPF接口网络类型必须一致,否则双方无法建立邻居关系。

三、DR与BDR。

      MA(Multi-Access)多路访问网络有两种类型:广播型多路访问网络(BMA)及非广播型多路访问网络(NBMA)。以太网(Ethernet)是一种典型的广播型多路访问网络。在MA网络中,如果每台OSPF路由器都与其他的所有路由器建立OSPF邻接关系,便会导致网络中存在过多的OSPF邻接关系,增加设备负担,也增加了网络中泛洪的OSPF报文数量。当拓扑出现变更,网络中的LSA泛洪可能会造成带宽的浪费和设备资源的损耗。
      为优化MA网络中OSPF邻接关系,OSPF指定了三种OSPF路由器身份DR(Designated Router,指定路由器)、BDR(Backup Designated Router,备用指定路由器)和DRother路由器。只允许DR、BDR与其他OSPF路由器建立邻接关系。DRother之间不会建立全毗邻的OSPF邻接关系,双方停滞在2-way状态。BDR会监控DR的状态,并在当前DR发生故障时接替其角色。
在这里插入图片描述
      DR和BDR要监听两个组播地址:224.0.0.5,224.0.0.6,DRother仅监听224.0.0.5。DRother使用地址224.0.0.6将自己的LSA发送给DR,之后DR会将其通过地址224.0.0.5发送给其他的路由器。其实BDR也会受到DRother的LSA但是它不做处理。关于DR和BDR的选举主要遵循下面这两条规则:

  • 选DR:通过接口的优先级选举DR,优先级越大,优先成为DR;如果优先级相同则比较Router ID,Router ID越大,优先成为DR。
  • 选BDR:优先级次高的成为BDR;如果优先级相同则比较Router ID,Router ID次高的成为BDR。

      另外优先级的取值范围是0~255,优先级等于0只能成为DRouther。DR如果失效,BDR会成为新的DR,然后重新选举BDR。BDR如果失效,会在DRother之间重新选举BDR。而且DR/BDR还不具备抢夺性,当一个网络中新加入了一台拥有更高优先级或更大Router ID的路由器时不会抢夺现存网络中的DR/BDR的身份,这样做的目的是为了尽可能的维护网络的稳定性。

四、OSPF的多区域。

      OSPF域(Domain)是指,一系列使用相同策略的连续OSPF网络设备所构成的网络。OSPF路由器在同一个区域(Area)内网络中泛洪LSA。为了确保每台路由器都拥有对网络拓扑的一致认知,LSDB需要在区域内进行同步。如果OSPF域仅有一个区域,随着网络规模越来越大,OSPF路由器的数量越来越多,这将导致诸多问题。

      OSPF单区域的弊端:

  1. LSDB维护的LSA的数量过多,消耗资源,路由表项增加。
  2. 网络不稳定时,全网路由器都要通过SPF算法进行路由的重新计算。
  3. 网络性能优化手段比较少,无法进行路由汇总。

      OSPF引入区域(Area)的概念,将一个OSPF域划分成多个区域,可以使OSPF支撑更大规模组网。OSPF多区域的设计减小了LSA泛洪的范围,有效的把拓扑变化的影响控制在区域内,达到网络优化的目的。在区域边界可以做路由汇总,减小了路由表规模。多区域提高了网络扩展性,有利于组建大规模的网络。关于OSPF多区域有以下几个重要的优势:

  1. 整个OSPF的网络,分为骨干区域(area 0)和非骨干区域,两层区域结构。
  2. 区域0有且只有一个并且连续。
  3. 非骨干区域必须和骨干区域直接相连。
  4. 多区域可以进行故障隔离,增强网络整体的稳定性。

五、OSPF路由器的类型。

  • IR(区域内路由器,Internal Router):所有接口都在同一个区域的路由器。
  • ABR(区域边界路由器,Area Border Router):连接2个以上区域,至少有一个活动的接口属于区域0的路由器。
  • BR(骨干路由器,Backbone Router):区域0中的IR和ABR。
  • ASBR(自治系统边界路由器ASBR,AS Boundary Router):引入其他协议的路由或者其他OSPF进程的路由的路由器。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章