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上传输,当服务功能收到路由跟踪请求消息,该服务功能将自己的标识加入服务功能链的末尾,产生一个路由跟踪响应消息返回给探测节点。因此探测节点通过解析路由请求消息响应包获取服务功能列表,如果存在故障,可以定位故障位置。