RFC 3294

General Switch Management Protocol (GSMP) Applicability

๐Ÿ“… published June 2002, from ietf

RFC 3294: General Switch Management Protocol (GSMP) Applicability ๐ŸŽ€

Title block tea: this one is an Informational RFC from the Network Working Group, dated June 2002 ๐ŸŒธ Written by A. Doria (Lulea University of Technology) and K. Sundell (Nortel Networks). The header doesn't list anything it obsoletes or updates, so it's standing on its own โœจ


Status of This Memo ๐Ÿ’…

Okay so this memo is just giving info to the Internet community. It's not a standard of any kind, and it doesn't specify one ๐Ÿซถ You can share it as much as you want, because distribution is unlimited ๐Ÿฆ‹

Copyright (C) The Internet Society (2002). All Rights Reserved. ๐Ÿ’œ

Abstract โœจ

Okay, so the main thing: this memo gives you the lowdown on GSMP (General Switch Management Protocol) and how it can be used in an IP network inside an MPLS environment ๐ŸŒˆ It does not talk about deploying it in an ATM (Asynchronous Transfer Mode) network or in a raw ethernet setup ๐Ÿ™ˆ

1. Overview โœจ

Okay so GSMP has been floating around the IETF community for several years now as informational RFCs ๐Ÿ“š Both GSMPv1.1 (released in March 1996 as RFC 1987 [2]) and GSMPv2.0 (released in August 1998 as RFC 2297 [3]) are out there, and several vendors have implemented GSMPv1.1 ๐Ÿ’–

In V1.1 and V2, GSMP was only meant for ATM switches. But over the last two years, the GSMP working group decided to glow up ๐Ÿ’… The goal is for it to control lots of different kinds of switches, so it can actually live up to its name as a general switch management protocol ๐Ÿ‘‘ That meant generalising commands and arguments, and adding sections about how the generalised protocol applies to specific switch and port types. Basically, the protocol has gone through major changes in the last 24 months, and it's giving completely new energy ๐Ÿฆ‹

Here's the vibe: GSMP gives you an interface to separate the data forwarder from the routing and other control plane protocols, like LDP ๐Ÿงš That means service providers can move away from monolithic systems that stick the control plane and data plane together in one tightly coupled box, usually in a single chassis ๐Ÿ™… Separating the control parts from the forwarding parts, and using GSMP for switch management, lets service providers build multi-service systems out of equipment from different vendors ๐Ÿ“ It also makes it way easier to add new services to their networks over time โญ

The IETF GSMP working group was set up in the routing area, because GSMP was seen as an optional piece of the MPLS solution ๐ŸŒธ In an MPLS system, you can run the routing and label distribution protocols on one system while passing data across a generic switch, like an ATM switch. GSMP provides the switch resource management mechanism you need in that scenario ๐ŸŽ€

GSMP has also been picked by the Multiservice Switching Forum (MSF) as its protocol of choice for the Switch Control Interface in their architecture ๐Ÿ’œ The MSF is an industry forum that figures out what its members need, then works with the right standards bodies to push those goals forward ๐Ÿค For GSMP, the MSF handed the IETF GSMP Working Group a set of requirements, and the working group made a seriously determined effort to comply with them in its specifications ๐Ÿซถ

2. GSMP V3 Document Set ๐Ÿ“š

The current version of GSMP is documented in 3 documents:

  • GSMP: General Switch Management protocol V3 [5]
  • GSMP-ENCAPS: General Switch Management Protocol (GSMP) Packet Encapsulations for Asynchronous Transfer Mode (ATM), Ethernet and Transmission Control Protocol (TCP) [4]
  • GSMP-MIB: Definitions of Managed Objects for the General Switch Management Protocol [1]

3. General Description ๐Ÿงš

Okay, so GSMPv3 [5] is a general purpose protocol for controlling a label switch ๐Ÿฆ‹ It lets a controller set up and tear down connections across the switch, add and delete leaves on a multicast connection, reserve resources, manage switch ports, ask for configuration info, and request statistics ๐Ÿ“Š It also lets the switch tell the controller about asynchronous events, like a link going down โšก GSMPv3 is asymmetric: the controller is the master and the switch is the slave ๐Ÿ‘‘

A physical switch can be split into lots of virtual switches. GSMPv3 doesn't support defining switch partitions, though. It just treats a virtual switch as if it were a physical switch ๐ŸŽ€

GSMPv3 can be carried in three ways:

  • GSMPv3 operation across an IP network is specified.
  • GSMPv3 operation across an ATM virtual channel is specified.
  • GSMPv3 operation across an Ethernet link is specified.

Other encapsulations are possible, but they haven't been defined. The encapsulations live in [4] ๐Ÿซถ

A label switch is a frame or cell switch that does connection oriented switching, using the exact match forwarding algorithm based on labels attached to incoming cells or frames ๐Ÿ’…

A label switch can support multiple label types, but each switch port can only support one label type ๐ŸŒˆ The label type a port supports is indicated in a port configuration message. Connections can be made between ports that support different label types using the adaptation methods ๐Ÿฆ‹ GSMPv3 supports TLV labels similar to the ones defined in MPLS. Examples of labels that are defined include ATM, Frame Relay, DS1, DS3, E1, E3, MPLS Generic Labels and MPLS FECs ๐Ÿ’–

A connection across a switch is formed by linking an incoming labelled channel to one or more outgoing labelled channels ๐Ÿ”— Connections are usually referenced by the input port they arrive on and the label values of their incoming labelled channel. In some messages, connections are referenced by the output port instead ๐Ÿงš

GSMPv3 supports point-to-point and point-to-multipoint connections. A multipoint-to-point connection is set up by establishing multiple point-to-point connections, each specifying the same output label. A multipoint-to-multipoint connection is set up by establishing multiple point-to-multipoint connections, each specifying a different input label with the same output labels ๐ŸŒธ

Connections are generally established with a certain quality of service (QoS). GSMPv3 includes a default QoS Configuration and also lets you negotiate alternative, optional QoS configurations โœจ The default QoS Configuration includes three QoS Models: a default service model, a simple priority model and a QoS profile model ๐Ÿ’œ GSMPv3 also supports reserving resources when the labels aren't known yet. This ability can be used to support MPLS ๐ŸŽ€

GSMP contains an adjacency protocol ๐Ÿค It's used to synchronise states across the link, negotiate which version of GSMP to use, discover the identity of the entity at the other end of a link, and detect when that identity changes ๐Ÿ‘€

3.1 Switch Partitioning ๐Ÿฐ

In GSMPv3, switch partitioning is static and happens before the protocol runs ๐Ÿ”’ The partitions of a physical switch are isolated from each other by the implementation. The controller assumes the resources allocated to a partition are always available to that partition and only that partition ๐Ÿ’… A partition looks to its controller like a physical label switch, and its resources look like the actual physical resources of a physical switch ๐Ÿฆ‹ For example, if a port's bandwidth is divided among several partitions, each partition appears to the controller to have its own independent port with its fixed set of resources ๐ŸŒˆ

GSMPv3 controls a partitioned switch using a partition identifier that is carried in every GSMPv3 message ๐Ÿท๏ธ Each partition has a one-to-one control relationship with its own logical controller entity (which, for the rest of the document, is just called a controller), and GSMPv3 independently maintains adjacency between each controller-partition pair ๐Ÿซถ

3.2 Switch and controller interactions ๐Ÿค

Multiple switches can be controlled by a single controller, using multiple instances of the protocol over separate control connections ๐Ÿงš

Or, multiple controllers can control a single switch. Each controller sets up a control connection to the switch using the adjacency protocol. The adjacency mechanism keeps a state table showing the control connections that are being maintained by the same partition ๐Ÿ“‹ The switch tells the controller group how many controllers are attached and who they are. But the switch does nothing to coordinate what the controllers are doing, and it executes every command as it arrives ๐Ÿ‘€ Coordinating use of the switch is the controller group's job ๐Ÿ‘‘ This setup is most commonly used for controller redundancy and load sharing ๐Ÿ’– How the controllers coordinate their control is not within GSMPv3's scope ๐Ÿ™ˆ

3.3 Service support ๐Ÿ’…

Every GSMPv3 switch supports the default QoS Configuration. A GSMPv3 switch may also support one or more alternative QoS Configurations ๐ŸŒˆ GSMP includes a negotiation mechanism that lets a controller pick from the QoS configurations a switch supports โœจ

The default QoS Configuration includes three models:

  • The Service Model is based on service definitions found outside GSMP, such as in CR-LDP, Integrated Services or ATM Service Categories. Each connection is assigned a specific service that defines how the switch handles that connection. Traffic parameters and traffic controls may also be assigned to the connection, depending on the assigned service ๐ŸŽ€
  • The Simple Abstract Model assigns a priority to a connection when it's established. For connections that share the same output port, it can be assumed that a cell or frame on a higher priority connection is much more likely to leave the switch before a cell or frame on a lower priority connection, if both are in the switch at the same time ๐Ÿƒโ€โ™€๏ธ๐Ÿ’จ
  • The QoS Profile Model is a simple mechanism that lets QoS semantics defined outside GSMP be assigned to connections. Each profile is an opaque indicator that has been predefined in both the controller and the switch ๐Ÿ”ฎ

4. Summary of Message Set ๐Ÿ“

Here's a table summing up the messages defined in this version of the spec ๐Ÿ“‹ It also recommends a minimal set of messages that should be supported in an MPLS environment ๐Ÿงš These messages are labelled "Required", even though the other messages provide services that are essential for carrier quality controller/switch operations ๐Ÿ’Ž GSMPv1.1 or GSMPv2 commands that are no longer support are marked as "Obsolete" and should no longer be used ๐Ÿ™…โ€โ™€๏ธ๐Ÿ’€

That's the first half, bestie! ๐ŸŒˆ๐Ÿ’–

4.1 Messages Table ๐Ÿ“‹โœจ

okay so bestie, this table is the whole GSMP message cheat sheet ๐Ÿงš Every message gets a name, a number, and sometimes a status, and the statuses are literally the vibe check for what's a must-have and what's been retired. Here it is, exactly as written:

   Message Name                      Message Number  Status

   Connection Management Messages
        Add Branch........................16          Required
            ATM Specific - VPC............26
        Delete Tree.......................18
        Verify Tree.......................19          Obsoleted
        Delete All Input..................20
        Delete All Output.................21
        Delete Branches...................17          Required
        Move Output Branch................22
            ATM Specific - VPC............27
        Move Input Branch.................23
            ATM Specific - VPC............28

   Port Management Messages
        Port Management...................32          Required
        Label Range.......................33

   State and Statistics Messages
        Connection Activity...............48
        Port Statistics...................49          Required
        Connection Statistics.............50
        QoS Class Statistics..............51          Reserved
        Report Connection State...........52

   Configuration Messages
        Switch Configuration..............64          Required
        Port Configuration................65          Required
        All Ports Configuration...........66          Required
        Service Configuration.............67

   Reservation Messages
        Reservation Request...............70          Required
        Delete Reservation................71          Required
        Delete All Reservations...........72

   Event Messages
        Port Up...........................80
        Port Down.........................81
        Invalid Label.....................82
        New Port..........................83
        Dead Port.........................84

      Abstract and Resource Model Extension Messages
          Reserved.Message Range.........200-249

      Adjacency Protocol.................10           Required

5. Security Considerations ๐Ÿ”๐Ÿ’€

okay this section is giving main character energy, so pay attention ๐Ÿ‘‘ The security of GSMP's TCP/IP control channel has been addressed in [4]. Lowkey the big rule here: for all uses of GSMP over an IP network, it is REQUIRED that GSMP be run over TCP/IP using the security considerations discussed in [4]. No cap, that's not a suggestion, that's a requirement ๐Ÿ˜ญ๐Ÿซถ


References ๐Ÿ“š

[1] Sjostrand, H., Buerkle, J. and B. Srinivasan, "Definitions of Managed Objects for the General Switch Management Protocol (GSMP)", RFC 3295, June 2002.

[2] Newman, P., Edwards, W., Hinden, R., Hoffman, E., Ching Liaw, F., Lyon, T. and Minshall, G., "Ipsilon's General Switch Management Protocol Specification Version 1.1", RFC 1987, August 1996.

[3] Newman, P., Edwards, W., Hinden, R., Hoffman, E., Ching Liaw, F., Lyon, T. and G. Minshall, "Ipsilon's General Switch Management Protocol Specification Version 2.0", RFC 2297, March 1998.

[4] Worster, T., Doria, A. and J. Buerkle, "General Switch Management Protocol (GSMP) Packet Encapsulations for Asynchronous Transfer Mode (ATM), Ethernet and Transmission Control Protocol (TCP)", RFC 3293, June 2002.

[5] Doria, A., Sundell, K., Hellstrand, F. and T. Worster, "General Switch Management Protocol (GSMP) V3", RFC 3292, June 2002.


Authors' Addresses ๐Ÿฆ‹

   Avri Doria
   Div. of Computer Communications
   Lulea University of Technology
   S-971 87 Lulea
   Sweden

   Phone: +1 401 663 5024
   EMail: avri@acm.org


   Kenneth Sundell
   Nortel Networks AB
   S:t Eriksgatan 115 A
   P.O. Box 6701
   SE-113 85 Stockholm Sweden

   EMail: sundell@nortelnetworks.com

Copyright (C) The Internet Society (2002). All Rights Reserved.

This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English.

The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns.

This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.


Acknowledgement ๐Ÿซถ

Funding for the RFC Editor function is currently provided by the Internet Society. โœจ

๐Ÿ“ฆ where this page comes from