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 ...
随机推荐
- 2016/11/16 周三 <使用LocalStore记住用户密码方法示例>
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...
- Get-FilewithExtension
1: <# 2: 用途: 3: 根据指定的路径和文件类型查找出文件,显示其完整路径以及大小 4: 使用方法: 5: Get-FilewithExtension -path path1,path2 ...
- 微信双开是定时炸弹?关于非越狱iOS上微信分身高危插件ImgNaix的分析
作者:蒸米@阿里移动安全 序言 微信作为手机上的第一大应用,有着上亿的用户.并且很多人都不只拥有一个微信帐号,有的微信账号是用于商业的,有的是用于私人的.可惜的是官方版的微信并不支持多开的功能,并且频 ...
- ABP理论学习之设置管理
返回总目录 本篇目录 介绍 定义设置 获取设置值 更改设置 关于缓存 介绍 每个应用程序都需要存储一些设置信息,然后在应用程序中的某个地方使用这些设置.ABP提供了健壮的基础设施来存储或检索服务端和客 ...
- SQL Azure (16) 创建PaaS SQL Azure V12数据库
<Windows Azure Platform 系列文章目录> 本文介绍的是国内由世纪互联运维的Azure China 最新的Azure PaaS SQL Database(SQL Azu ...
- linux下使用adb连接android手机
一.新建文件 cat /etc/udev/rules.d/51-android.rules SUBSYSTEM==" 二.重启 udev sudo /etc/init.d/udev rest ...
- css垂直居中那点事
这是我技术博客生涯的第一篇文章,想想还是有点小鸡冻...菜鸟的征程现在要开始了 学习css的时候经常被各种问题纠结到不要不要的,没办法,只能写写博客帮助整理一下自己的思绪和帮助一下和我遇到同样问题的小 ...
- EF优缺点的理解
原先用的是三层架构中ADO.NET做底层开发,纯手工sql语句拼装.后来遇到一个MVC+EF项目,体会到了EF的强大性. 它是微软封装好一种ADO.NET数据实体模型,将数据库结构以ORM模式映射到应 ...
- Java 网络爬虫获取页面源代码
原博文:http://www.cnblogs.com/xudong-bupt/archive/2013/03/20/2971893.html 1.网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网 ...
- C#设计模式-建造者模式
在软件系统中,有时需要创建一个复杂对象,并且这个复杂对象由其各部分子对象通过一定的步骤组合而成. 例如一个采购系统中,如果需要采购员去采购一批电脑时,在这个实际需求中,电脑就是一个复杂的对象,它是由C ...