SFC中的故障管理
1.SFC中包的格式
网络服务包头,当Obit被设置为1时,表示一个SFC OAM消息
OAM Type:SFC OAM的类型(1、连接认证,2、持续性检验,3、路由跟踪,4、性能度量)
SFC OAM的有效负载描述如下:

Version:SFC OAM消息的版本,总共8bit,当前的版本是0x01
Message Type:SFC OAM消息类型(1持续性检验,2跟踪请求消息,3跟踪响应消息)
Originator Handle:消息原始发送端
Remote Handle:终端,通常用来验证部分SFP,当验证整条SFC时,该字段为0xffff
Sequence Number:该字段由SFC请求消息发送端配置,用来跟踪正确的应答消息。
The Sending Timestamp:发送时间
The Receiving Timestamp:消息接受的时间(接收端的时间)
TLVs:Type-Length-Value

类型尚未定义,长度表示有效字节的长度,value字段会根据Type判断是否可用。
2.工作原理
SFC OAM参考模型

2.1 SFC的连接认证和持续性检验
主动持续性检测探测一个MEG中两个MEP之间的连接性;主动连接认证用来探测两个MEG之间或者MEG意想不到的连接性故障。BFD可以用来主动发送CC & CV包,发送的包按照监测的SFC路径传输。SFC CC-CV包中封装SFC Header,message Type必须被设置为1。

SFF收到CC-CV包,将包转发到下一个SF或者SFF;SF收到CC-CV包,它仅仅是将包返回给SFF;MEP终止一个SFC的CC-CV包,MEP当一段持续时间没有收到主动发送的CC-V包,则存在持续性故障,当MEP对收到CC-V包进行解析,发现连接故障时,产生告警给故障管理系统。
2.2 SFC路由跟踪
SFC可以分为连个抽象层,服务功能层和数据转发层,服务功能层是一个个服务功能的连接,SFC转发层服务功能和转发节点相连,从而使转发路径更加清晰,故障可能发生在服务功能或者服务功能转发节点上,所以路由跟踪需要探测服务功能和转发结点来发现故障位置。
服务功能层:服务功能标识可以作为一个目的MEP来响应路由请求消息,通过对比服务功能标识链和预配置的服务功能链,可以发现服务功能之间是否存在连接性故障,当存在故障时,可以定位故障的位置。
SFC转发层:服务功能和服务功能转发节点都可以设置为目的MEP来响应路由请求消息,通过对比服务功能和服务转发功能结点标识链和预配置的链,从而发现在转发层是否存在故障,如果存在故障,可以定位故障是在服务功能转发节点还是在服务功能上。
路由跟踪机制中存在两种策略:
TTL策略
和IP路由跟踪类似,探测节点发送一系列的跟踪请求包在特定的SFC上,生存时间分别被设置为1,2,......等。当路由跟踪请求包经过每一个服务功能时,服务功能将TTL减1,当生存时间减为0时,服务功能返回响应消息,因此探测节点通过解析路由请求消息响应包获取服务功能列表,如果存在故障,可以定位故障位置。
记录路由机制
探测节点发送一条路由请求消息,消息在特定的SFP上传输,当服务功能收到路由跟踪请求消息,该服务功能将自己的标识加入服务功能链的末尾,产生一个路由跟踪响应消息返回给探测节点。因此探测节点通过解析路由请求消息响应包获取服务功能列表,如果存在故障,可以定位故障位置。
SFC中的故障管理的更多相关文章
- 第十七周翻译-SQL Server中事务日志管理的阶梯,级别5:以完全恢复模式管理日志
SQL Server中事务日志管理的阶梯,级别5:以完全恢复模式管理日志 作者:Tony Davis,2012/01/27 翻译:赖慧芳 译文: 该系列 本文是Stairway系列的一部分:SQL ...
- SQL Server中事务日志管理的步骤,第5级:完全恢复模式管理日志(译)
SQL Server中事务日志管理的步骤,第5级:完全恢复模式管理日志 作者:Tony Davis,2012/01/27 系列 本文是进阶系列的一部分:SQL Server中事务日志管理的步骤 当事情 ...
- Eclipse中发布Maven管理的Web项目时找不到类的问题根源和解决办法(转)
转自:http://blog.csdn.net/lvguanming/article/details/37812579?locationNum=12 写在前面的话 现在是越来越太原讨厌Eclipse这 ...
- .NET Core中的认证管理解析
.NET Core中的认证管理解析 0x00 问题来源 在新建.NET Core的Web项目时选择“使用个人用户账户”就可以创建一个带有用户和权限管理的项目,已经准备好了用户注册.登录等很多页面,也可 ...
- [转].NET Core中的认证管理解析
本文转自:http://www.cnblogs.com/durow/p/5783089.html 0x00 问题来源 在新建.NET Core的Web项目时选择“使用个人用户账户”就可以创建一个带有用 ...
- Unity游戏开发中的内存管理_资料
内存是手游的硬伤——Unity游戏Mono内存管理及泄漏http://wetest.qq.com/lab/view/135.html 深入浅出再谈Unity内存泄漏http://wetest.qq.c ...
- 深入理解javascript中的焦点管理
× 目录 [1]焦点元素 [2]获得焦点 [3]失去焦点[4]焦点事件 前面的话 焦点作为javascript中的一个重要功能,基本上和页面交互都离不开焦点.但却少有人对焦点管理系统地做总结归纳.本文 ...
- C++中的内存管理
在C++中也是少不了对内存的管理,在C++中只要有new的地方,在写代码的时候都要想着delete. new分配的时堆内存,在函数结束的时候不会自动释放,如果不delete我分配的堆内存,则会造成内存 ...
- iOS 如何在一个已经存在多个project的workspace中引入cocoapods管理第三方类库
一种新的第三方库管理工具:Carthage 如何使用Carthage管理iOS依赖库 Podfile Syntax Reference v1.1.0.rc.3 https://guides.cocoa ...
随机推荐
- DSY2287*消失之物
Description ftiasch 有 N 个物品, 体积分别是 W1, W2, ..., WN. 由于她的疏忽, 第 i 个物品丢失了. "要使用剩下的 N - 1 物品装满容积为 x ...
- PHP常用算法
//二维数组的按某字段来排序(从小到大排序) function number_array_sort_asc($array,$key_name){ $arr = array(); foreach ($a ...
- final 评论ii
按照演讲顺序 1.约跑app 约跑app,从界面的单调,到最后的final发布,实现界面的友好性,有了很大的提高.约跑app,如果在约定地点可以显示出,所在位置,以及约定地址.就可以达 ...
- 系统吞吐量(TPS)、用户并发量、性能测试概念和公式
分享一个概念: http://www.ha97.com/5095.html
- 你所不知道的JavaScript数组
相信每一个 javascript 学习者,都会去了解 JS 的各种基本数据类型,数组就是数据的组合,这是一个很基本也十分简单的概念,他的内容没多少,学好它也不是件难事情.但是本文着重要介绍的并不是我们 ...
- ASP.NET MVC 路由(一)
ASP.NET MVC路由(一) 前言 从这一章开始,我们即将进入MVC的世界,在学习MVC的过程中在网上搜索了一下,资料还是蛮多的,只不过对于我这样的初学者来看还是有点难度,自己就想看到有一篇引导性 ...
- ASP.NET Web API的Controller是如何被创建的?
Web API调用请求的目标是定义在某个HttpController类型中的某个Action方法,所以消息处理管道最终需要激活目标HttpController对象.调用请求的URI会携带目标HttpC ...
- [译]libev和libevent的设计差异
本文译自what's the difference between libev and libevent? 作者是libev作者 [问]两个库都是为异步io调度而设计,在Linux上都是使用epoll ...
- 浅谈JavaScript之原型
上一篇谈new关键字也是给这一篇写关于原型的文章买个伏笔,我对原型的理解可能会有偏差,如有错误,望指正一定修改,望各位道友如果想真正的理解原型的概念一定要再看完各方言论再回归教材. 言归正传谈原型,首 ...
- 使用Ado.net执行SP很慢,而用SSMS执行很快
今天遇到一个问题,有用户反应,在site上打开报表,一直loading,出不来结果. 遇到这种问题,我立刻simulate用户使用Filter Condition,问题repro,看来不是偶然事件,通 ...