CFM工作机制
CFM基本功能包括连通性检测(CC)、环回功能(LB)和链路跟踪功能(LT)。
连通性检测(CC)
连通性检测功能用来检测维护端点之间的连通状态,由维护端点MEP周期性的发送CCM(Continuity Check Message)组播报文,相同维护联盟的其他维护端点接收该报文。当维护端点在3个超时周期内未收到源端维护端点发送的CCM报文,则认为链路有问题。
CCM的产生
CCM由MEP产生并发送。如图8-10所示,MEP1、MEP2和MEP3是同一个MA的3个MEP。当使能了CCM发送功能后,MEP1定期以组播方式向MEP2和MEP3发送CCM。同样,MEP2以相同的周期向MEP1和MEP3发送CCM,MEP3也以相同的周期向MEP1和MEP2发送CCM。
CCM中携带有该CCM的级别信息。CCM的级别等于发送该CCM的MEP的级别。
MEP数据库的建立
每个启动了以太网CFM功能的设备上都有一个MEP数据库。MEP数据库中记录着本设备上的MEP(即本地MEP)和同一MA内的其它设备上的MEP(即远端MEP)。本地MEP和远端MEP均由用户手工配置后由设备自动记入MEP数据库。
故障判定
如果某个MEP连续3个CCM发送周期没有接收到另一个远端MEP发送的CCM,则认为链路有问题。会输出日志报告,用户可以通过环回功能或链路跟踪功能来进行故障区间的定位。当维护域内的多个MEP在发送CCM报文时,就实现了多点到多点之间的链路检测。
CCM终结
CCM由MEP产生也由MEP终结。当MEP接收到大于自身级别的CCM时,继续转发该CCM;当MEP接收到小于或等于自身级别的CCM时,不再转发该CCM,以确保低级别MD内的CCM不会扩散到高级别MD中。
环回功能(LB)
环回功能即802.1ag MAC Ping功能与IP层的Ping类似,用于验证本地设备与远端设备之间的连接状态。
由MEP发起,目的节点可以是同一MA内的或不同MA内的,与发起节点级别相同的MEP或MIP。指定地址的MP收到LBM(Loopback Message)后,将向源MEP回应LBR(Loopback)。故障位置前的MP能够响应环回消息,而故障位置后的MP不能够响应环回消息,从而实现故障的定位。LBM和LBR均为单播报文。
下面以图8-11为例,介绍环回功能实现的具体过程。
PE1和PE4之间建立端到端的CFM,MD的级别为6,PE2和PE3设备上存在两个级别为6的MIP节点。当发现PE1到PE4之间链路故障或者通过CC检测到PE1到PE4之间链路发生故障时,可以采用如图8-12所示的方式定位故障点。
另外,发起端MEP1还可以根据802.1ag MAC Ping操作时的回显结果,计算出网络的时延;或者发起端发送多个LBM,观察LBR的返回情况,从而了解网络的丢包情况。
链路跟踪功能(LT)
链路跟踪功能即802.1ag MAC Trace与Traceroute类似,用于确定源端到目的维护端点的路径。
由MEP发起,目的节点可以是同一MA内的或不同MA内的,与发起节点级别相同的MEP或MIP。源端MEP构造LTM消息帧,发送到目的MP。在转发到目的MEP或者MIP的过程中,MIP会回复LTR,同时转发LTM,到达目的MEP则终止LTM的转发同时回复LTR。这样,远端MEP就会得到整个路径的信息。LTM是组播报文,LTR是单播报文。
下面以图8-13为例,介绍链路跟踪功能实现的具体过程。
MEP1向MEP2发送LTM(Linktrace Message)消息。LTM消息中包含有TTL(Time to Live)和目的节点MEP2的MAC地址。
当LTM到达MIP1时,MIP1将LTM中的TTL字段的值减1,若此值为0不再转发,否则继续转发该LTM。同时向MEP1回复LTR(Linktrace Reply)。LTR中还携带了分析报文路径的转发信息和收到的LTM报文的TTL字段。
MIP2和MEP2收到LTM后,会做和MIP1相同的处理。但是,由于根据LTM中携带的目的节点MAC地址MEP2可以判断出自己是LTM的目的节点,因此MEP2不会再转发该LTM。
MEP1接收到MIP1、MIP2、MEP2回复的LTR后,根据LTR携带的信息即可得到从MEP1到MEP2的转发路径。
如果MEP1到MEP2之间的路径有故障,则故障点下游的MEP或MIP将无法收到LTM,也不会回复LTR,可据此判定故障点的位置。例如当MEP1到MIP2之间的路径正常,而MIP2和MEP2之间的路径有故障时,MEP1可以收到MIP1、MIP2回复的LTR,但收不到MEP2回复的LTR,于是可判定MIP2和MEP2之间的链路或设备有故障。