As we read about Layer 2 VPN's, Pseudowires, etc, there comes a need for MPLS OAM (Operations, Administration and Maintenance) mechanisms that can we can use for fault detection, administration and multiple other functions over a PW and a LSP. These functions can be used between any two LERs or LSRs and specifically in a MPLS TP environment. There are existing tools which can serve similar functions:
1. VCCV - Virtual Circuit Connectivity Verification
2. BFD MPLS
3. LSP Ping
4. BFD VCCV
Note: VCCV is basically a control channel between a PWs ingress and egress points over which the connectivity verification messages can be sent. Further more description is out of the scope of this post. I will try to put another post explaining VCCV.
But there has been a requirement of more specific functions like performance monitoring, automatic protection switching and support for management and signalling communication channels. VCCV can use an Associated Channel Header (ACH) to provide a PW associated control channel between PW's endpoints over which OAM and other control messages can be exchanged. The generalization of such control channel for LSPs, MPLS Sections and PWs is known as Generic Associated Channel (G-ACh).
There is also a label based exception mechanism defined that serves to inform an LSR or LER that a packet it receives on an LSP belongs to an associated control channel. GAL (G-ACh Label) is the one defined for that purpose. The purpose of the above two developments was for the situation when IP based demultiplexing cannot be used which is particularly in the case of MPLS-TP. Although this mechanism can be used with IP based multiplexing. GAL provides an alert based mechanism to:
1. Differentiate G-ACh packets from others
2. Indicate that the ACH appears immediately after the bottom of the label stack.
Below is the structure of the G-ACh packet:
| ACH |
| ACH TLV Header |
~ zero or more ACH TLVs ~
~ G-ACh Message ~
G-ACh Packet Payload
Note: VCCV defines three Control Channel (CC) Types that may be used to exchange OAM messages through a PW. CC Type 1 uses an ACH and is referred to as "In-band VCCV"; CC Type 2 uses the MPLS Router Alert Label to indicate VCCV packets and is referred to as "Out-of-Band VCCV"; CC Type 3 uses the TTL to force the packet to be processed by the targeted router control plane and is referred to as "MPLS PW Label with TTL == 1". There will be a generalized header for LSPs and to MPLS Sections.
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
| Length | Reserved |
Associated Channel Header
In case of LSP, lets say from A to D as below
A ------ B ------ C ------ D
The G-ACh exists on the LSP that extends between LERs A and D via LSRs B and C. Only A and D will process new G-ACh packets. All the nodes may process and respond to G-ACh packets where as in case of MPLS Section, only A and D will be able to insert, extract, or process the G-ACh packets.
In short, G-ACh provides MPLS-TP OAM functionality. G-ACh is the control channel mechanism associated with MPLS LSPs in addition to PW. The G-ACh Label (GAL) - taken from the reserved MPLS label space, which has a fixed value of 13 is a generic alert label to identify the presence of the G-ACh in the label packet. The OAM messages are used for fault management, connection verification, continuity check and other functions.