Generalized Multi-Protocol Label Switching (GMPLS) Architecture
updated by
- rfc-6002 — Generalized MPLS (GMPLS) Data Channel Switching Capable (DCSC) and Channel Set Label Extensions
Extracted elements (30)
GMPLS does not define a separate UNI protocol distinct from the NNI. Instead, it built a single consistent model covering both interfaces from the outset, treating the UNI as a subset of the general GMPLS interface with a few additional particularities handled by extension.
GMPLS explicitly separates the control plane from the forwarding plane, and further divides the control plane into a signaling plane and a routing plane. This separation allows each switching layer (PSC through FSC) to use physically diverse data or forwarding planes while sharing a common control infrastructure.
Label suggestion by an upstream node is included to reduce LSP setup latency in optical networks where physically configuring the switching fabric (e.g., moving micro-mirrors) takes tens of milliseconds per hop — latency that is especially costly during rapid restoration after failures.
Link bundling was introduced because DWDM systems can place hundreds of parallel wavelengths between adjacent nodes, making it impractical to assign an IP address to each end of each link and maintain a separate routing adjacency and link-state advertisement per wavelength.
LMP control channels are not required to use the same physical medium as the data-bearing links they manage. This physical diversity means control channel health does not necessarily correlate to data link health, requiring LMP to provide independent link management mechanisms for provisioning and fault isolation.
LMP is specified independently of the GMPLS signaling specification because it operates as a local protocol between data-plane adjacent nodes. This independence allows LMP to be used in non-GMPLS contexts with other signaling protocols.
The Generalized Label deliberately omits a self-describing type field. Nodes are expected to infer the label type from context (i.e., the interface type on which the label is used), avoiding encoding overhead in every label.
GMPLS does not mandate which signaling protocol — RSVP-TE or CR-LDP — must be used. Both are extended to support GMPLS procedures, and manufacturers and operators are expected to choose based on their own requirements.
Of the twelve GMPLS signaling building blocks, only blocks 1 (Generalized Label Request), 2 (Generalized Label), and 10 (technology-specific traffic parameters) are mandatory. Blocks 6 (bi-directional LSP) and 9 (explicit label control) should typically be implemented; the remaining blocks are optional and technology-dependent.
A circuit (LSP) can be established only between, or through, interfaces of the same switching capability type. LSPs that span different interface types require nesting: a PSC LSP may be nested into an L2SC LSP, which may be nested into a TDM LSP, and so on up to FSC.
All component links in a bundle must begin and end on the same pair of LSRs and share the same Link Type, TE Metric, and set of Resource Classes. A GMPLS node with bundled links must apply admission control on a per-component link basis.
Each node must verify that the Switching Type indicated in the Generalized Label Request is supported on its incoming interface. If not, the node must generate a notification message with a 'Routing problem/Switching Type' indication.
For SONET/SDH, the content of the FLOWSPEC object in a Resv message should be identical to the SENDER_TSPEC in the corresponding Path message. The receiver is normally not permitted to change traffic parameter values, though limited negotiation is defined in RFC 3946.
GMPLS mandates downstream-on-demand label allocation and distribution with ingress-initiated ordered control, inherited from RSVP-TE and CR-LDP. Liberal label retention is normally used; conservative label retention mode may also be used.
LMP does not specify the signaling transport mechanism, but requires that messages transported over a control channel be IP encoded. A 32-bit non-zero integer Control Channel Identifier (CCId) is assigned to each direction of a control channel.
The choice of which component link to use for an LSP traversing a bundled link is always made by the upstream node. For bi-directional LSPs, the upstream node selects a component link in each direction.
Unnumbered Interface Identifiers for all unnumbered outgoing links of a given LSR — whether component links, Forwarding Adjacencies, or bundled links — must be unique within the context of that LSR.
A Forwarding Adjacency (FA) is an LSP advertised as a point-to-point TE link in OSPF or IS-IS, allowing LSPs to be reused as logical links for routing. FAs improve bandwidth utilization when bandwidth allocation is only possible in discrete units and reduce the number of required labels via forwarding-state aggregation.
Four UNI routing models are defined for edge nodes: configuration-based (manual or DHCP neighbor list, no routing exchange), partial peering (limited reachability via signaling extensions), silent listening (edge passively receives full TE routing information), and full peering (edge establishes adjacencies and advertises LSAs).
GMPLS defines five interface switching capability classes: Packet Switch Capable (PSC), Layer-2 Switch Capable (L2SC), Time-Division Multiplex Capable (TDM), Lambda Switch Capable (LSC), and Fiber-Switch Capable (FSC). Each class determines how data is forwarded — by packet header, frame/cell header, time slot, wavelength, or physical port/fiber position respectively.
GMPLS supports bi-directional LSP establishment with contention resolution. For a bi-directional LSP, an Upstream Label is carried in the Path/Label Request message to identify the label for the upstream direction, and the upstream node selects a component link in each direction.
Label restriction allows an upstream node to confine a downstream node's label choice to a Label Set specifying inclusive or exclusive ranges. It supports four optical cases: limited endpoint wavelength capability, wavelength-continuity requirements (no conversion), limiting total wavelength conversions, and mismatched wavelength sets on link endpoints.
LMP link connectivity verification sends Test messages in-band over data-bearing links. The Test message is the only LMP message transmitted over the data-bearing link; all other LMP messages, including Hello, continue over the control channel during verification.
The Generalized Label extends the MPLS label to represent time-slots, wavelengths, or space-division multiplexed positions (fibers). It carries only a single level of label hierarchy; when multiple levels are required, each LSP must be established separately.
The Generalized Label Request is a new object/TLV replacing or supplementing the regular MPLS Label Request in PATH/Label Request messages. It carries three mandatory parameters: LSP Encoding Type (the technology/framing), Switching Type (the switching capability required per link), and Generalized PID (G-PID, identifying the client-layer payload).
The Link Management Protocol (LMP) provides four services between adjacent nodes: control channel management and link property correlation (both mandatory), and link connectivity verification and fault management (both optional). LMP runs between data-plane adjacent nodes and is specified independently of GMPLS signaling.
Three mechanisms exist for signaling component link selection within a bundled link: (1) Implicit Indication via a per-component dedicated signaling channel, (2) Explicit Indication by Numbered Interface ID using the IF_ID RSVP_HOP object or IF_ID TLV carrying an IPv4/IPv6 address, and (3) Explicit Indication by Unnumbered Interface ID using a 32-bit Interface Identifier in the same object/TLV.
GMPLS control plane security relies on the security mechanisms of the underlying protocols: RSVP-TE, CR-LDP, OSPF-TE, and IS-IS-TE. Because the GMPLS control plane is separated from the data plane and may use out-of-band control channels, unauthorized access to control channels could allow disruption of LSPs, unauthorized resource reservation, or network topology disclosure without affecting the data plane directly.
A waveband label contains three fields: waveband ID, Start Label (lowest-value wavelength channel identifier), and End Label (highest-value wavelength channel identifier), from the sender's perspective.
Bandwidth for technologies without dedicated traffic parameters is encoded as a 32-bit IEEE floating-point number in bytes per second. For RSVP-TE it is carried in the Peak Data Rate field of the SENDER_TSPEC and FLOWSPEC Int-Serv objects; for CR-LDP it is in the Peak and Committed Data Rate fields of the Traffic Parameters TLV.