1、简介SFC
Service Function Chain(SFC):一系列服务功能的顺序组合,主要是针对网络中的数据包/帧分类处理,还包括能够动态排序部署的网络功能并且这些网络功能间拓扑结构独立,以及保证能够在参与的网络实体间交换元数据。
2、SFC层次模型
部署SFC需要很多层协调工作,包括服务层、网络层、传输层、物理链路层等,如下图是一个SFC的层次模型:
服务层主要由:分类器以及一些服务功能组成,利用传送网在分类器向服务功能或者服务功能之间传输数据;传送网:指传输层和网络层,是服务功能之间的传送介质,几乎对服务功能透明,通过各种各样的覆盖网络技术连接服务功能以及建立服务功能路径;物理链路层:依赖于物理技术,这一层普遍部署以太网,其他的还有POS、DWDM等。
3、SFC的OAM监测方面
SFC的操作主要是在服务层,基于此来定义SFC的OAM框架,如下几个方面是SFC必须能够监测到的:
1>服务功能
服务功能可分为SFC可感知的和SFC不可感知的,一个SFC可感知的服务功能就是能够解析带有服务功能转发组件和服务功能子组件的SFC封包,而SFC不可感知的服务功能正好相反,并且需要通过一个单独的具有服务代理功能的服务功能转发结点(SFF)访问,不管是基于SFC感知的服务功能还是SFC不可感知的,都需要通过SFF访问,因此SFC的OAM必须能够监测和服务功能相连的SFF。
2>服务功能路径(Service Function Path)
SFP就是指服务功能的集合,SFC的OAM框架必须能够监测SFP,以及能够呈现特定数据包的服务路径。
3>分类器
分类器决定哪些包将映射到一条SFP上,SFC的OAM也必须能够监测分类器的操作。
SFC的OAM监测的方面如下图所示:
3.1服务功能的操作与性能
1>监测服务功能的操作
SFC的OAM通过监测一个SFC可感知的网络设备(SFF)来获取服务功能组件的信息。一般的监测服务功能组件操作的方式都不属于SFC的OAM的范围,因为服务功能提供的服务不在SFC的覆盖内,服务功能都有自己的监测工具。但是SFF也提供了一个可选的功能来监测和它相连的服务功能的操作并反馈监测信息。
2>服务功能的性能测量
SFC通过SFC可感知的网络设备来检测特定服务功能的丢包和延迟,特定的服务功能可以是部署在本地网络设备上的也可以是其它网络设备上的。
3.2服务功能路径的操作和性能
1>监测服务功能路径的操作
SFC的OAM必须能够监测SFP来获取SFC以及报告链接、提供故障隔离。
为了执行SFP的服务链接认证,OAM工具必须能够从任何一个SFC可感知的网络设备进行端到端的路径或者终止于SFP特定网络功能的部分路径进行探测。OAM的功能就是确保被连接起来的服务功能具有连通性,需要在OAM的响应包中定义必要的返回信息,用来认证是否联通。对于给定的SFC当服务层存在等价路由时,OAM必须呢够发现并且遍历所有可用路径。
2>服务功能链性能测量
SFC的入口或者SFC可感知的网络设备必须有能力进行SFC的数据包的丢失和延迟的测量。
3>监测分类器
一个分类器定义一个流到特定的SFC,因此分类器将到来的流正确的映射到SFC至关重要,所以SFC的OAM必须能够测试测试流程的定义和功能映射到预期的SFC上。
4、SFC的OAM功能
1>连接功能(Connectivity Functions)
连接功能是用来验证网络元素的连通性以及服务功能的可用性,Ping就是一个用来测联通性的工具,当探测SFC组件时,发送的OAM消息应该封装SFC的表头以及OAM的标识。而当探测服务功能组件时,发送的OAM消息可能封装SFC的表头以及OAM的标识。
2>连续性(Continuity Function)
连续性就是通过周期性的发送OAM消息来确认SFC或者到给定的服务功能的可达性,这就要求操作者能够监测网络设备并且快速的探测故障(链路故障、网络故障、服务功能中断、SFC中断),OAM连续性检查的功能能够将检测到的故障告知其它OAM功能,并采取正确的故障恢复措施。BFD就是一个快速故障探测的工具。
3>路由功能
路由功能是一个重要的OAM功能,操作测试层上的传输设备会触发一个Action(产生响应),该功能典型应用于收集传输设备的信息、隔离故障点到服务功能或者SFC。
4>性能度量功能
性能管理功能涉及测量SFC包的丢失率、延迟等,这些都应该是主动按需测量。利用统计的方法测量给定SFC的包丢失率。SFC的延迟就是包从SFC的入端口到出端口的时差,由于SFC通常是单向的,所以测量单向延迟十分重要,测量延迟需要时钟同步,用到NTP,GPS等。
5、存在的不足
1>存在的OAM功能
各种OAM工具提供OAM功能在网络层、协议层、链路层,这些工具支持不同的网络类型,如IP,MPLS,TRILL等,但是在覆盖网络中提供链接和持续性检验仍需要继续研究。如下是OAM工具,但是这些工具都没有统一的标准:
2>OAM功能需求
当前主要的OAM功能在网络层、传输层、链路层。配置、编排、管理服务功能和服务功能链都需要CLI、Netconf等
6、未解决的问题
1、性能度量上需要更加细化
2、Call out which OAM functions can be achieved by protocol design vs requiring synthetic traffic。
7、安全性
1、通过OAM通道防止DDOS攻击
2、防止两条服务功能链之间的OAM包的泄露
3、防止信息在SFC的管理域之外泄露