HCIE 面试资料-BFD/NSF/NSR/NTP

BFD检测

BFD简介
双向转发检测BFD(Bidirectional Forwarding Detection)

为了减小设备故障对业务的影响,提高网络的可靠性,网络设备需要能够尽快检测到与相邻设备间的通信故障,以便及时采取措施,保证业务继续进行。

依靠上层协议自身的Hello报文机制来进行故障检测。上层协议的检测时间都在1秒以上,这样的故障检测时间对某些应用来说是不能容忍的。

BFD协议就是在这种背景下产生的,BFD提供了一个通用的标准化的介质无关和协议无关的快速故障检测机制。具有以下优点:

  • 对相邻转发引擎之间的通道提供轻负荷、快速故障检测。这些故障包括接口、数据链路,甚至有可能是转发引擎本身。
  • 用单一的机制对任何介质、任何协议层进行实时检测。

BFD可以实现快速检测并监控网络中链路或IP路由的转发连通状态,改善网络性能。相邻系统之间通过快速检测发现通信故障,可以更快地帮助用户建立起备份通道以便恢复通信,保证网络可靠性。

发送间隔默认1000毫秒,接收间隔默认1000毫秒,检测为故障时间为3倍,优先级为7(最高)

BFD应用场景
1、两台OSPF邻居设备间的链路故障了,并不会马上感知,需要10s的未收到hello报文才会发现
2、当使用了vrrp主备网关,出口路由器和外网间的链路故障,导致下游设备产生次优
3、静态路由没有检测机制,通过SDH告警检测链路故障。硬件检测的优点是可以很快发现故障,但并不是所有介质都能提供硬件检测。

检测故障的方法
BFD会话建立后会周期性地快速发送BFD报文,如果在检测时间内没有收到对端BFD报文则认为该双向转发路径发生了故障,通知被服务的相关层应用进行相应的处理。
本身并没有邻居发现机制,而是靠被服务的上层应用通知其邻居信息以建立会话。
不管是物理接口状态、二层链路状态、网络层地址可达性、还是传输层连接状态、应用层协议运行状态,都可以被BFD感知到。

BFD会话建立方式和检测机制
在这里插入图片描述
BFD的标识符:

  • BFD建立会话存在标识符的概念,类似于OSPF建立邻居需要一个路由器的Router ID。
  • 标识符分为本地标识符和远端标识符,本地标识符用于表示本端设备,远端标识符用于表示对端设备。
  • 静态建立BFD会话是指通过命令行手工配置BFD会话参数,包括配置本地标识符和远端标识符等,然后手工下发BFD会话建立请求。
  • 动态建立BFD会话是指由应用程序触发创建BFD会话,当应用程序动态触发创建BFD会话时,系统分配属于动态会话标识符区域的值作为BFD会话的本地标识符。然后向对端发送Remote Discriminator的值为0的BFD控制报文,进行会话协商。当BFD会话的一端收到Remote Discriminator的值为0的BFD控制报文时,判断该报文是否与本地BFD会话匹配,如果匹配,则学习接收到的BFD报文中Local Discriminator的值,获取远端标识符。

BFD的检测机制:

  • BFD的检测机制是两个系统建立BFD会话,并沿它们之间的路径周期性发送BFD控制报文,如果一方在既定的时间内没有收到BFD控制报文,则认为路径上发生了故障,BFD控制报文是UDP报文,端口号3784。
  • BFD提供异步检测模式。在这种模式下,系统之间相互周期性地发送BFD控制报文,如果某个系统连续3个报文都没有接收到,就认为此BFD会话的状态是Down。

BFD会话建立过程
在这里插入图片描述

1、RTA和RTB各自启动BFD状态机,初始状态为Down,发送状态为Down的BFD报文。对于静态配置BFD会话,报文中的Remote Discriminator的值是用户指定的;对于动态创建BFD会话,Remote Discriminator的值是0。
2、RTB收到状态为Down的BFD报文后,状态切换至Init,并发送状态为Init的BFD报文。
3、RTB本地BFD状态为Init后,不再处理接收到的状态为Down的报文。
4、RTB收到状态为Init的BFD报文后,本地状态切换至Up。
5、RTA的BFD状态变化同RTB。
6、邻居会话建立成功后,RTA和RTB周期性的向对方发送状态为Up的控制报文。

OSPF使用BFD工作流程
1、OSPF通过自己的Hello机制发现邻居并建立连接。
2、OSPF在建立了邻居关系后,将邻居信息(包括目的地址和源地址等)通告给BFD。
3、BFD根据收到的邻居信息建立会话。
4、BFD快速发送BFD探测报文检测到链路故障,如果在规定时间内无响应,BFD会话状态变为Down。
5、BFD通知本地OSPF进程BFD邻居不可达。
6、本地OSPF进程中断OSPF邻居关系。

联动功能简介
1、监测模块负责对链路状态、网络性能等进行监测,并将探测结果通知给Track模块 。
2、Track模块收到监测模块的探测结果后,及时改变Track项的状态,并通知应用模块。
3、应用模块根据Track项的状态,进行相应的处理,从而实现联动。

BFD配置指令
当两台设备都支持BFD

与OSPF联动:
在系统视图下开启bfd bfd
进入区域视图在两端都开启 bfd all-interface enable

与VRRP联动:
在主网关VRRP视图下 vrrp vrid 1 track bfd-session name 1 reduced 100监视bfd会话实现降低优先级切换主备
在两台设备系统视图配置BFD会话 bfd 1 bind peer-ip 10.0.45.5 source-ip

与静态路由联动:
静态路由没有检测机制
在主链路上两端开启BFD检测和配置BFD会话 bfd 1 bind peer-ip 10.0.12.1 source-ip 10.0.12.2 auto
在发出端配置主链路联动BFD会话 ip route-static 0.0.0.0 0.0.0.0 10.0.12.2 track bfd-session 1
在发出端配置备链路优先级高于默认(静态默认60)ip route-static 0.0.0.0 0.0.0.0 10.0.13.2 preference 100

与BGP联动:
在系统视图下开启bfd bfd
在BGP视图下指定IBGP邻居开启BFD检测 peer 2.2.2.2 bfd enable

单臂回声
一端支持BFD功能一端不支持BFD功能

为了能够快速的检测这两台设备之间的故障,可以在支持BFD功能的设备RTA上创建单臂回声功能的BFD会话。RTA主动发起回声请求功能,不支持BFD功能的设备RTB接收到该报文后直接将其环回,从而实现转发链路的连通性检测功能。

支持BFD功能的路由器RTA在出接口发送目的地址和源地址都是自己的BFD探测报文,不支持BFD功能的路由器RTB收到探测报文就直接回发给路由器RTA。

NSF

NSF(Non-Stopping Forwarding,不间断转发)

  • 当由于某种原因系统发生故障时,在主备倒换过程中,转发平面(业务)不中断。
  • 系统恢复后,设备能够重新建立邻居关系,从邻居处获取路由信息并重建路由表。

NSF需要满足条件

  • 硬件要求,系统双主控RP冗余配置,一块做主用主控板,一块做备用主控板,主用主控板重启,备用主控板成为新的主板
  • 软件要求,主板正常运行的过程中,会把配置信息、接口状态信息备份到备用板;主备倒换的时候,接口板不需要重启,接口保持Up,接口板转发表不撤销。
  • 协议要求,需要网络协议支持GR。

NSR

NSR( Non-Stopping Routing,不间断路由):通过协议备份机制,实现主备倒换时控制平面(路由)和转发平面(业务)均不中断。

  • 在设备发生倒换的过程中,路由处理不中断,因为:邻居和拓扑信息不丢失
  • 邻居关系不中断

NSR工作流程

  • 批量备份,NSR功能使能后,备板复位重启时,主用主控板上的业务进程会收到备用主控板上线的消息。业务进程开始进行内部数据的批量备份。
    批量数据备份完毕后,系统进入冗余保护状态。进入该状态后,如果主控板出现故障,备板升主后就可以利用之前从主板备份过来的数据进行升主,恢复业务。
    如果业务批量备份尚未结束时,主控板故障,备板升主后可能会因为业务数据不全而导致无法升主,因此这个种状态下无法完成NSR倒换,设备会整机重启,恢复故障前状态。
  • 实时备份,完成批量备份后,系统进入实时备份阶段,在该阶段当邻居状态或路由信息发生时,主用主控板会实时将变化信息备份到备用主控板。
  • 主备倒换,完成批量备份,进入冗余保护状态的系统,当主用主控板发生软件或硬件故障后,备用主控板会从底层应该感知到主用主控板的故障,并自行升主。升主后业务进程会使用之前从主用主控板备份来的数据进行工作。同时也会向接口板平滑倒换期间变化的信息。实现真正的路由不中断,转发不中断。

NSR优点

  • 不依赖也不影响对端设备,没有互通问题。
  • 路由的收敛速度要比NSF快。

NTP

NTP (Network Time Protocol,网络时间协议)
NTP报文通过UDP传输,端口号是123。
用于在一系列分布式时间服务器与客户端之间同步时钟。
在NTP的网络结构中,主要存在如下概念:

  • 同步子网:由主时间服务器、二级时间服务器、PC客户端和它们之间互连的传输路径组成同步子网。
  • 主时间服务器:通过线缆或无线电直接同步到标准参考时钟,标准参考时钟通常是Radio Clock或卫星定位系统等。
  • 二级时间服务器:通过网络中的主时间服务器或者其他二级服务器取得同步。二级时间服务器通过NTP将时间信息传送到局域网内部的其它主机。
  • 层数(stratum):层数是对时钟同步情况的一个分级标准,代表了一个时钟的精确度,取值范围1~16,数值越小,精确度越高。1表示时钟精确度最高,16表示未同步。

在正常情况下,同步子网中的主时间服务器和二级时间服务器呈现出一种分层主从结构。在这种分层结构中,主时间服务器位于根部,二级时间服务器向叶子节点靠近,层数递增,准确性递减,降低的程度取决于网络路径和本地时钟的稳定性。

NTP的同步流程

  • R1发送一个NTP报文给R2,该报文中带有它离开R1时的时间戳10:00:00a.m.(T1)。
  • 此NTP报文到达R2时,R2加上到达时间戳11:00:01a.m.(T2)。
  • 此NTP报文离开R2时,R2再加上离开时间戳11:00:02a.m.(T3)。
  • R1接收到该响应报文时,加上新的时间戳10:00:03a.m.(T4)。至此,RouterA获得了足够信息来计算以下两个重要参数:
    NTP报文来回一个周期的时延:Delay= ( T4 - T1 ) - ( T3 – T2 )。
    R1相对R2的时间差:Offset= ( ( T2- T1 ) + ( T3 – T4 ) ) / 2。
  • R1根据计算得到Delay为2秒,Offset为1小时。R1根据这些信息来设定自己的时钟,实现与R2的时钟同步。

猜你喜欢

转载自blog.csdn.net/PanJWei/article/details/115272654