版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1基于多点网络的双向转发检测(BFD)机制的技术要求本文件规定了基于多点网络的双向转发检测机制的技术要求,包括多点BFD控制报文格式,会话模型,状态变量,状态机,BFD控制报文的发送和接收,以及尾节点扩展功能等本文件适用于支持多点网络的双向转发检测机制的网络设备2规范性引用文件下列文件中的内容通过文中的规范性引用而构成本文件必不可少的条款。其中,注日期的引用文件,仅该日期对应的版本适用于本文件:不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件YD/T2447-2013公众IP网络可靠性双向转发检测(BFD)机制技术要求IETFRFC5884MPLS标签交换路径的BFD(BidirectionalForwardingDetection(BFD)forIETFRFC5885伪线虚拟电路连接确认(VCCV)的BFD(BidirectionalForwardingDetection(BFD)forthePseudowireVirtualCircuitConnectivityVeFailuresinPoint-to-MultipointMPLS-ExtensionstoLSPPiIETFRFC8029检测MPLS数据平台故障(DetectingMultiprotocolLabelSwitched(MPLS)Data-PlaneFailures)IETFRFC8287基于SR-WPLS的IGP前级和邻接SID的LSPdPath(LSP)Ping/TracerouteforSegnentRouting(SR)IGP-PrefixandIGP-AdjactIdentifiers(SIDs)withMPLSDataPlIETFRFC9026多播VPN快速上行故障切换(MulticastVPNFastUpstreamFailover)3术语和定义YD/T2447-2013界定的以及下列术语和定义适用于本文件。多点网络multipointnetwork多点网络是一个发送端设备(头节点)与一个或多个接收端设备(尾节点)所组成的网络。头节点是多点发送端设备。头节点的会话类型为MultipointHead,设备将头节点会话绑定到多点路径上,沿着多点路径发送多点BFD控制报文。尾节点是多点接收端设备。尾节点的会话类型为MultipointTail,设备将尾节点会话绑定到一条多点路径上,后续由多点路径接收来自于头节点的BFD控制报文。2多点轮询是一种头节点跟踪尾节点的BFD会话状态的方法。头节点通过发送多点BFD控制报文,将其中的Poll(P)比特置位,尾节点向其回应一个单播的BFD控制报文,并将其中的Final(F)比特置位未在检测时长内进行响应的尾节点即表示可能存在多点连通性故障下列缩略语适用于本文件。BFD双向转发检测BFIR位转发入口路由器BFER位转发出口路由器BGP边界网关协议BIER位索引显式复制技术BIFT位索引转发路由表FEC转发等价类ID标识符IGP内部路由协议IP网络协议LSP标记交换路径LSR标签交换路由器MPLS多协议标签交换OAM操作、管理、维护P2MP点到多点PW-ACH伪线关联通道帧头TLV类型、长度、域值UDP用户数据报协议BidirectionalForwardingDeteBitForwardingEgrBorderGatewayProtocolForwardingEquivalenceInteriorGatewayPrOperations,AdninistrationPseudo-WireAssociatedChannelHeaderUserDatagramProtocolBFD用来检测与转发平面的下一跳之间的通信故障。在转发和控制引擎分离的情况下,BFD一般在系统的转发引擎的某些部件上实现。这不仅将BFD更多的绑定到了转发平面,还降低了BFD与路由协议引擎耦合,使各种协议均能实现平滑重启。BFD也可以用在控制引擎,但这样可能会导致某些故障的检测困YD/T2447-2013中所规范的BFD采用单向点对点的运行模式,本文件对YD/T2447-2013进行了扩展,使BFD支持在一个多点发送端设备(头节点)和一个或多个多点接收端设备(尾节点)间的多点连通性验证。多点BFD协议使头节点沿着多点路径周期性地向所有尾节点发送BFD控制报文,尾节点在规定的检测时间内未收到BFD控制报文则识别路径故障,并根据需要,选择是否向头节点通告该故障。36多点BFD控制报文位(图1中灰色比特位,M比特)的置位予以表示。PFCADM接收BFD控制报文(如需要尾节点向头节点发送多点路径故障的通知,应符合第9章关于尾节点扩展功能的相关要求)。尾节点的会话类型为MultipointTail,应符合7.2.1的要求,尾节点会话绑定到多点路径上,后续由该多点路径接收来自于头节点的BF对于头节点,由于其会话是管理开启或管理禁用的,所以MultipointHead会话不会出现中断状态。对于尾节点,其MultipointTail会话7.2多点BFD新增的状态变量功能要求7.2.1新增状态变量本文件中的所有状态变量均以"bfd.Xx"的形式表示,以与协议报文中携带的字段区别。应设置该变量为PointToPoint:头节点设备上的会话应初始化该变量为MultipointHead,尾节点设备上的会话应初始化该变量为MultipointTail。7.2.2其它状态变量的初始化过程—-bfd.RequiredMinRxInterval:对于会话类型为MultipointHead,该变量应初始化为0:—-bfd.DemandMode:对于会话类型为MultipoinHead,该变量应初始化为1;对于会话类型为MultipointTail,该变量应初始化为0。当会话类型是MultipointHead时,状态域设置为5头节点应通过将bfd.SessionState管理置Down/AdminDown,并设置bfd.RequiredMinRxInterval(Down/AdminDoun)的BFD控制报文,在检测时长到时后,尾端将认为多点会话关闭。7.8BFD发送和接收报文的计时器控制功能要求由于一对多映射的特性,头节点会话在更改计时器时不应同步进行初始化PollSequence的操作。如果在报文中有任何更改,应将报文中的P比特置位。当头节点会话调高传输间隔时,为了避免尾节点上因计时器超时而造成错误检测,应在使用新的计时器之前仍以原传输间隔继续发送一段时间P比特置位的BFD控制报文。尾节点收到BFD控制报文,该报文的M和P比特已置位,且bfd.RequiredMinRxInterval为0时,则尾节点不应回复该报文。由于未使用PollSequence,尾节点无法与头节点就传输间隔进行协商,如果尾节点收到的BFD控制报文中的DesiredlinTxInterval(需要的最小TX间隔)过大,则必须由本地策略进行控制(比如关闭该尾节点会话)。7.9BFD报文接收的检测时长计算多点BFD的本质上是不对称的,因此,每种会话类型均具有不同的关于检测时长的计算方法。对于头节点,由于其不接收报文,因此不需要计算检测时长对于尾节点,由于一到多映射的特性,无法通过使用RequiredMinRxInterval(需要的最小RX间隔)域来影响头节点的发送速率,所以尾节点不使用bfd.RequiredNinRxInterval来计算检测时长,而是依据最后收到的DesiredMinTXInterval(需要的最小TX间隔)域和DetectMult(OMult检测)域的乘积。在该周期内如果没有收到任何BFD报文,会话即被认为失败,这与点到点BFD的故障确认机制是一致的。8多点BFD控制报文的接收和传输8.1BFD控制报文的接收下述内容整体取代YD/T2447-2013中的7.9.7部分,目的是使其支持多点BFD,但同时不改变点对点BFD的处理流程。8.1.2BFD控制报文的接收收到BFD控制报文后,必须遵守如下步骤按顺序进行处理。如果控制报文按照下述规则被丢弃,在丢弃时必须同时停止对BFD控制报文的处理。a)如果版本号不正确(不是1),报文必须被丢弃:b)如果Length(长度)字段的值小于报文长度的最小值(A比特为零时是24字节,A比特置位时为26字节),报文必须被丢弃;c)如果Length字段大于报文长度,报文必须被丢弃:d)如果DetectMult(Mult检测)字段为0,报文必须被丢弃:e)如果MyDiscriminator(本地鉴别值)字段为0,报文必须被丢弃:f)根据8.1.3将接收到的报文进行解析,根据解析结果,解析为一种相应类型的会话,或者丢弃该报文(同时报文处理过程应终止)。68)如果A比特置位,但是没有使用认证方法(bfd.AuthType为0),报文必须被丢弃:h)如果A比特为零,使用了认证方法(bfd.AuthType不为0),报文必须被丢弃:i)如果A比特置位,控制报文必须遵守YD/T2447-2013中的7.8节的规定,按照正在使用的认证类型(bfd.AuthType)进行认证,这可能会导致报文的丢弃:k)设置bfd.RemoteState为State(Sta)字段的值:m)设置bfd.RemoteMinRxInterval为RequiredMinRXInterval(需要的最小RX间隔)的值;n)如果RequiredMinEchoRXInterval(需要的最小EchoRX间隔)字段为0,如果有正在传输的Echo报文,必须停止传输Echo报文;o)本地系统正在执行PollSequence时,如果收到置位了Final(F)位的报文,PollSequence必须结束;p)如果bfd.SessionType是PointToPoint,则按照YD/T2447-2013中的7.9.2节要求更新传输间隔q)如果bfd.SessionType是PointToPoint,则按照YD/T2447-2013中的7.9.4要求更新Detections)如果bfd.SessionStatet)如果接收到的状态域(Sta)是AdainDown,则依据下述内容进一步操作:u)如果接收到的状态域(Sta)不是AdminDown,则依据下述内容进一步操作:进一步判断bfd.SessionType类型,如果是PointToPoint,则判断接收到的状态域(Sta),如果接收到的状态域(Sta)是Down,则设置bfd.SessionState为Init:如果接收到的状态域(Sta)是Init,则设置bfd.SessionState为Up;——进一步判断bfd.SessionType类型,如果不是PointToPoint,则判断接收到的状态域(Sta),如果接收到的状态是Up,则设置bfd.SessionState为Up:2)如果bfd.SessionState是Init:进一步判断接收到的状态域(Sta)是否为Init或Up,如果是,则设置bfd.SessionState为Up;3)如果bfd.SessionState是Up:进一步判断接收到的状态域(Sta)是否为Down,如果是,则设置bfd.LocalDiag为3,设置bfd.Sessiov)检查是否应修改Demandmode(命令模式)为active(应符合YD/T2447-2013中的7.7节):W)如果bfd.RemoteDemandMode为1,bfd.SessionState状态为Up,并且bfd.RemoteSessionState状态为Up,远端系统正在使用Denandmode(命令模式),本地系统必须停止周期性发送的BFD控制报文(应符合YD/T2447-2013中的7.8.7节)x)如果bfd.RemoteDemandMode不为bfd.RenoteSessionState状态不是Up,远端系统没有使用Demandmode(命令模式),本地系统必须周期性地发送BFD控制报文:y)如果接收到的报文中Pol1(P)位置位,且bfd.SessionType为PointToPoint,则向远端系统发送一个Poll(P)为0、Final(F)置位的BFD控制报文(应符合YD/T2447-2013中的7.9.7节):z)如果报文没有被丢弃,接收后应遵守YD/T2447-2013中的7.9.4检测时长超时规则。8.1.3BFD控制报文的会话解析过程本节为8.1.2的一部分内容,为便于澄清与8.1.2进行了拆分。BFD控制报文处理到本节所述内i)如果bfd.SessionType是PointToPoint或MultipointHead,在当前报文内容与先前传输的报文内容不同时(Poll(P)和Final(F)位除外),应将当前报文在周期性发送的时间点的中间进行发送,以便更快地传递状态变化;j)传输的BFD控制报文的内容必须设置如下:--Version(版本):设置为当前版本号(1);--Diag(诊断):设置为bfd.LocalDiag:—-State(Sta):设置为bfd.SessionState表示的值;--Poll(P):如果系统正在执行PollSequence或者请求尾部标识的MultipointHead类型的会话。则设置为1,否则设为0;--Final(F):如果本地系统正在发送的控制报文是对Poll(P)位的响应,设为1,否则为0;—-ControlPlaneIndependent(C):如果本地系统的BFD执行和控制平面无关(也就是说控制平面中断时,可以不受影响继续执行BFD有关操作),设为1;—-AuthenticationPresent(A):如果会话使用了认证机制(bfd.AuthType非0),设为1,否则为0;--Demand(D):如果bfd.SessionState是Up且bfd.RemoteSessionState设为bfd.Denandlode:如果bfd.SessionType是MultipointHead,设置为1;其它情况设置为0;—-Multipoint(M):如果bfd.SessionType为MultipointHead设置为1,否则设置为—-DetecMult(Mult检测):设置为bfd.DetectMult:—-Length(长度):固定报文头长度加上认证部分的和;—-MyDiscriminator(本地鉴别值):设置为bfd.LocalDiser;—-YourDiscrininator(对端鉴别值):设置为bfd.RenoteDiscr;—-DesiredMinTXInterval(需要的最小TX间隔):设置为bfd.DesiredMinTxInterva—-RequiredMinRXInterval(需要的最小RX间隔):设置为bfd.RequiredNinRxInterva-RequiredMinEchoRXInterval(需要的最小EchoRX间隔):如果bfd.SessionType是MultipointHead或者MultipointTail,设置为0,否则,设置为本地能够接受的Echo报文的最小间隔。如果这个域设置为0,本地系统不对远端系统的BFDEcho报文进行环回,远端系统也不会发送Echo报文:—-AuthenticationSection:使用认证功能(bfd.AuthType非0)时,根据YD/T2447-2013中的7.8节的规则进行设置9尾节点扩展功能如果出现多点连通故障问题,在某些场景下需要尾节点主动通知头节点,使头节点些尾节点已经失去联系。因此,可以通过对多点BFD进行扩展来实现该功能。需要使用尾节点主动通知9.2多点客户端会话模型功能要求如果头节点在跟踪部分尾节点的连通性状态,会针对其每个关注的尾节点均产生一个type为9MultipointClient的会话。该会话需要与相应的MultipointHead会话进行关联。当头节点需要验证连通性状态时,通过MultipointClient会话向尾节点发送一个PollSequence。MultipointClient会话不进行周期性地发送BFD控制报文,而是仅用于执行PollSequence和接收尾端发来的BFD控制报文。需要注MultipointHead会话的相关设置9.3新增的状态变量功能要求9.3.1新增状态变量尾节点扩展功能在7.2.1规定的bfd.SessionType新增MultipointClient类型。用于在头节点上根据需要时跟踪单个尾节点的状态。另外新增三个状态变量,具体如下:——bfd.SilentTail:默认值为1,表示尾节点始终静默,即使头节点在向尾节点发出请求也保持静默。设置为0,则表示尾节点可以向头节点发送报文。该值仅在bfd.SessionType是NultipointTail时有意义,且在MultipointTail会话建立后不允许修改:——bfd.ReportTailDown:默认值为0,表示尾节点永远不会周期性地发送BFD控制报文,因此头节点也不会收到来自尾节点的会话故障的通知。设置为1,则表示头节点希望在出现BFD会话故障时,尾节点能够通过周期性发送BFD控制报文的方式通知头节点。该值仅在bfd.SessionType是MultipointHead——bfd.UnicastRevd:该值应初始化为0。当尾节点在Up状态时收到来自头节点的单播BFD控制报文后,设置为1。当会话状态从Up状态转移到其它状态时将该值设置为0。该值仅在bfd.SessionType是MultipointTail时有意义。9.3.2其它状态变量的初始化过程依据会话类型的不同,YD/T2447-2013中7.9.2所规定的部分状态变量的初始化和控制也有所区别,具体如下:——bfd.LocalDiscr:对于会话类型为MultipointClient,该值应始终等于相关联的MultipointHead会话中的bfd.LocalDiscr:——bfd.DesiredNinTxInterval:对于会话类型为MultipointClient,该值应始终等于相关联的MultipointHead——bfd.RequiredMinRxInterval:将MultipointHead会话中该值设置为0,表示抑制来自所有尾节点的报文:将MultipointClient会话中该值设置为0,表示抑制来自单个尾节点的报——bfd.DemandMode:对于会话类型是MultipointClient,该值应初始化为1:——bfd.DetectMult:对于会话类型是MultipointClient,该值应始终等于相关联的9.4尾节点扩展功能下的状态机功能要求会话类型为MultipointClient的状态机与7.3章的状态机相同。9.5尾节点扩展功能下的会话鉴别值尾节点在MultipointTail会话中向头节点发送BFD控制报文时,仅通过YourDiscriminator字段(头节点的本地鉴别值)不足以使头节点将其从众多的尾节点中区分出来,因为所有的尾节点均会使用相同Discriminator(头节点的本地鉴别值)来共同唯一识别尾节点和多点路径。刻未开启Demand模式),则首个发送的报文必须延迟一段时间,该时间在0到2)BFER-D/E/F依据1)中收到的信息,触发建立多点BFD会话,会话类型为MultipointTail:4)BFER-D/E/F收到3)的BFD报文后,将状态机迁移至Up状态;5)BFIR与BFER间进行正常的BFD发送:6)BFER依据收到的BFD情况以识别BIER转发路径的状态。Q国FA-2图3BIERBFD的信息流示意图BFIR通过使BFER通知BFIR来获知BFER的连通性情况,当某BFER检测到故障后,该BFER可以发送一个BFD控制报文,报文内容如下:——Poll(P)比特位置位:——Status(Sta)域置为D——Diagnostic(Diag)域置为ControlDetection——YourDiscriminator(对端鉴别值)域设置为BFER用于解析BFD多点会话的值——BFD控制报文封装于IP/UDP中,目的IP地址设置为BFIR的地址,目的UDP端口号设置为——BFD控制报文以每秒一个的速度进行发送。BFER应在短时间内连续发送三个BFD控制报文。BFIR在收到该BFD控制报文后,向BFER单播IP/UDP封装的BFD控制报文(Final(F)比特置位)。10.2点到多点标签交换协议中应用多点BFD在MPLSP2MP和SRP2MP的场景下,可使用多点BFD进行数据面故障的检测。启动P2MPMPLSLSPBFD可采用LSPPing或控制面方法,具体如下:——LSPPing:如果使用LSPPing方法,应依据RFC5884,包含TargetFECTLV和BDiscriminator
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 个人借款给公司合同书样本
- 个人汽车购销合同范本
- 上海租赁合同范本
- 个人还款合同范本大全
- 产品分销合同代理协议
- 2025年调解与和谐协议规范
- 2025年大型水库地基处理工程承包协议书
- 2025年标准职工雇佣协议文本
- 个性化服务定制合作协议范例
- 产品代言宣传合同范本
- 安全生产网格员培训
- 小学数学分数四则混合运算300题带答案
- 林下野鸡养殖建设项目可行性研究报告
- 心肺复苏术课件2024新版
- 苜蓿青贮料质量分级DB41-T 1906-2019
- 新鲜牛肉购销合同模板
- 2024年内蒙古呼和浩特市中考文科综合试题卷(含答案)
- 大型商场招商招租方案(2篇)
- 会阴擦洗课件
- 2024年交管12123学法减分考试题库和答案
- 临床下肢深静脉血栓的预防和护理新进展
评论
0/150
提交评论