GSMP Encapsulations: General Switch Management Protocol (GSMP) Packet Encapsulations for Asynchronous Transfer Mode (ATM), Ethernet and Transmission Control Protocol (TCP)
How General Switch Management Protocol messages are wrapped for ATM, Ethernet and TCP links.
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, DOI 10.17487/RFC3293, June 2002, <https://www.rfc-editor.org/info/rfc3293>.
@misc{rfc3293,
series = {Request for Comments},
number = 3293,
howpublished = {RFC 3293},
publisher = {RFC Editor},
doi = {10.17487/RFC3293},
url = {https://www.rfc-editor.org/info/rfc3293},
author = {T. Worster and A. Doria and J. Buerkle},
title = {{General Switch Management Protocol (GSMP) Packet Encapsulations for Asynchronous Transfer Mode (ATM), Ethernet and Transmission Control Protocol (TCP)}},
pagetotal = 9,
year = 2002,
month = jun,
} RFC text
Contents
Network Working Group A. Doria
Request for Comments: 3293 Lulea University of Technology
Category: Standards Track J. Buerkle
Nortel Networks
T. Worster
June 2002
General Switch Management Protocol (GSMP)
Packet Encapsulations for Asynchronous Transfer Mode (ATM),
Ethernet and Transmission Control Protocol (TCP)
Status of this Memo
This document specifies an Internet standards track protocol for the
Internet community, and requests discussion and suggestions for
improvements. Please refer to the current edition of the "Internet
Official Protocol Standards" (STD 1) for the standardization state
and status of this protocol. Distribution of this memo is unlimited.
Copyright Notice
Copyright (C) The Internet Society (2002). All Rights Reserved.
Abstract
This memo specifies the encapsulation of GSMP (General Switch
Management Protocol) packets in ATM (Asynchronous Transfer Mode),
Ethernet and TCP (Transmission Control Protocol).
Specification of Requirements
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [7].
1. Introduction
GSMP messages are defined in [1] and MAY be encapsulated in several
different protocols for transport. This memo specifies their
encapsulation in ATM AAL-5, in Ethernet or in TCP. Other
encapsulations may be defined in future specifications.
2. ATM Encapsulation
GSMP packets are variable length and for an ATM data link layer they
are encapsulated directly in an AAL-5 CPCS-PDU [3][4] with an
LLC/SNAP header as illustrated:
0 1 2 3
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LLC (0xAA-AA-03) | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +
| SNAP (0x00-00-00-88-0C) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
~ GSMP Message ~
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Pad (0 - 47 bytes) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ AAL-5 CPCS-PDU Trailer (8 bytes) +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
(The convention in the documentation of Internet Protocols [5] is to
express numbers in decimal. Numbers in hexadecimal format are
specified by prefacing them with the characters "0x". Numbers in
binary format are specified by prefacing them with the characters
"0b". Data is pictured in "big-endian" order. That is, fields are
described left to right, with the most significant byte on the left
and the least significant byte on the right. Whenever a diagram
shows a group of bytes, the order of transmission of those bytes is
the normal order in which they are read in English. Whenever a byte
represents a numeric quantity the left most bit in the diagram is the
high order or most significant bit. That is, the bit labelled 0 is
the most significant bit. Similarly, whenever a multi-byte field
represents a numeric quantity the left most bit of the whole field is
the most significant bit. When a multi-byte quantity is transmitted,
the most significant byte is transmitted first. This is the same
coding convention as is used in the ATM layer [2] and AAL-5 [3][4].)
The LLC/SNAP header contains the bytes: 0xAA 0xAA 0x03 0x00 0x00 0x00
0x88 0x0C. (0x880C is the assigned Ethertype for GSMP.)
The maximum transmission unit (MTU) of the GSMP Message field is 1492
bytes.
The virtual channel over which a GSMP session is established between
a controller and the switch it is controlling is called the GSMP
control channel. The default VPI and VCI of the GSMP control channel
for LLC/SNAP encapsulated GSMP messages on an ATM data link layer is:
VPI = 0
VCI = 15.
The GSMP control channel MAY be changed using the GSMP MIB.
3. Ethernet Encapsulation
GSMP packets MAY be encapsulated on an Ethernet data link as
illustrated:
0 1 2 3
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Destination Address |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| Source Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Ethertype (0x88-0C) | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| |
~ GSMP Message ~
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sender Instance |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Receiver Instance |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Pad |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Frame Check Sequence |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Destination Address
For the SYN message of the adjacency protocol the Destination
Address is the broadcast address 0xFFFFFFFFFFFF. (Alternatively,
it is also valid to configure the node with the unicast 48-bit
IEEE MAC address of the destination. In this case the configured
unicast Destination Address is used in the SYN message.) For all
other messages the Destination Address is the unicast 48-bit
IEEE. MAC address of the destination. This address may be
discovered from the Source Address field of messages received
during synchronisation of the adjacency protocol.
Source Address
For all messages, the Source Address is the 48-bit IEEE MAC
address of the sender.
Ethertype
The assigned Ethertype for GSMP is 0x880C.
GSMP Message
The maximum transmission unit (MTU) of the GSMP Message field is
1492 bytes.
Sender Instance
The Sender Instance number for the link obtained from the
adjacency protocol. This field is already present in the
adjacency protocol message. It is appended to all non-adjacency
GSMP messages in the Ethernet encapsulation to offer additional
protection against the introduction of corrupt state.
Receiver Instance
The Receiver Instance number is what the sender believes is the
current instance number for the link, allocated by the entity at
the far end of the link. This field is already present in the
adjacency protocol message. It is appended to all non-adjacency
GSMP messages in the Ethernet encapsulation to offer additional
protection against the introduction of corrupt state.
Pad
After adjacency has been established the minimum length of the
data field of an Ethernet packet is 46 bytes. If necessary,
padding should be added such that it meets the minimum Ethernet
frame size. This padding should be bytes of zero and is not to be
considered part of the GSMP message.
Frame Check Sequence
The Frame Check Sequence (FCS) is defined in IEEE 802.3 [6] as
follows:
Note: This section is included for informational and historical
purposes only. The normative reference can be found in IEEE
802.3 Standard [6].
"A cyclic redundancy check (CRC) is used by the transmit and
receive algorithms to generate a CRC value for the FCS field.
The frame check sequence (FCS) field contains a 4-byte (32-bit)
cyclic redundancy check (CRC) value. This value is computed as
a function of the contents of the source address, destination
address, length, LLC data and pad (that is, all fields except
the preamble, SFD, FCS and extension). The encoding is defined
by the following generating polynomial.
G(x)=x^32+x^26+x^23+x^22+x^16+x^12+x^11+x^10+x^8+x^
7+x^5+x^4+x^2+x^1."
The procedure for the CRC calculation can be found in [6].
After the adjacency protocol has achieved synchronisation, for every
GSMP message received with an Ethernet encapsulation, the receiver
must check the Source Address from the Ethernet MAC header, the
Sender Instance, and the Receiver Instance. The incoming GSMP
message must be discarded if the Sender Instance and the Source
Address do not match the values of the Sender Instance and the Sender
Name stored by the "Update Peer Verifier" operation of the GSMP
adjacency protocol. The incoming GSMP message must also be discarded
if it arrives over any port other than the port over which the
adjacency protocol has achieved synchronisation. In addition, the
incoming message must also be discarded if the Receiver Instance
field does not match the current value for the Sender Instance of the
GSMP adjacency protocol.
4. TCP/IP Encapsulation
When GSMP messages are transported over an IP network, they MUST be
transported using the TCP encapsulation. TCP provides reliable
transport, network flow control, and end-system flow control suitable
for networks that may have high loss and variable or unpredictable
delay.
For TCP encapsulations of GSMP messages, the controller runs the
client code and the switch runs the server code. Upon
initialisation, the server is listening on GSMP's TCP port number:
6068. The controller establishes a TCP connection with each switch
it manages. The switch under control MUST be a multi-connection
server (PORT 6068) to allow creation of multiple control sessions
from N GSMP controller instances. Adjacency protocol messages, which
are used to synchronise the controller and switch and maintain
handshakes, are sent by the controller to the switch after the TCP
connection is established. GSMP messages other than adjacency
protocol messages MUST NOT be sent until after the adjacency protocol
has achieved synchronisation. The actual GSMP message flow will
occur on other ports.
4.1 Message Formats
GSMP messages are sent over a TCP connection. A GSMP message is
processed only after it is entirely received. A four-byte TLV header
field is prepended to the GSMP message to provide delineation of GSMP
messages within the TCP stream.
0 1 2 3
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type (0x88-0C) | Length |
|-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
~ GSMP Message ~
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type
This 2-byte field indicates the type code of the following
message. The type code for GSMP messages is 0x88-0C (i.e., the
same as GSMP's Ethertype).
Length
This 2-byte unsigned integer indicates the total length of the
GSMP message only. It does not include the 4-byte TLV header.
4.2 TCP/IP Security consideration
When GSMPv3 is implemented for use in IP networks, provisions for
security between the controller and client MUST be available and MUST
be provided by IP Security [IPSEC]. In this case, the IPSEC
Encapsulation Security Payload (ESP) MUST be used to provide both
integrity and confidentiality.
5. Security Considerations
The security of GSMP's TCP/IP control channel has been addressed in
Section 4.2. 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 Section 4.2. Security using ATM and Ethernet
encapsulations MAY be provided at the link layer. Discussion of
these methods is beyond the scope of this specification. For secure
operation over any media, the IP encapsulation with IPsec SHOULD be
used.
References
[1] Doria, A., Sundell, K., Hellstrand, F. and T. Worster, "General
Switch Management Protocol (GSMP) V3", RFC 3292, June 2002.
[2] "B-ISDN ATM Layer Specification," International Telecommunication
Union, ITU-T Recommendation I.361, Feb. 1999.
[3] "B-ISDN ATM Adaptation Layer (AAL) Specification," International
Telecommunication Union, ITU-T Recommendation I.363, Mar. 1993.
[4] "B-ISDN ATM Adaptation Layer specification: Type 5 AAL",
International Telecommunication Union, ITU-T Recommendation
I.363.5, Aug. 1996.
[5] Reynolds, J., Editor, "Assigned Numbers", RFC 3232, January 2002.
[6] IEEE Std 802.3, 1998 Edition
"Information technology-Telecommunications and information
exchange between systems - Local and metropolitan area networks -
Specific requirements - Part 3: Carrier sense multiple access
with collision detection (CSMA/CD) access method and physical
layer specifications"
[7] Bradner, S., "Key words for use in RFCs to Indicate Requirement
Levels", BCP 14, RFC 2119, March 1997.
Authors' Addresses
Tom Worster
Phone: +1 617 247 2624
EMail: fsb@thefsb.org
Avri Doria
Div. of Computer Communications
Lulea University of Technology
S-971 87 Lulea
Sweden
Phone: +1 401 663 5024
EMail: avri@acm.com
Joachim Buerkle
Nortel Networks Germany GmbH & Co. KG
Hahnstr. 37-39
60528 Frankfurt am Main
Germany
EMail: Joachim.Buerkle@nortelnetworks.com
Full Copyright Statement
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.
AI ELI5
On this page
§1Introduction
GSMP (General Switch Management Protocol) messages are defined in RFC 3292 and MAY be carried over several different protocols. This memo specifies three ways: ATM AAL-5, Ethernet and TCP. It notes that other encapsulations may be defined in future specifications.
GSMP is how a boss computer talks to a switch. This RFC explains the envelopes used to send those talks.
| Link | Identifier | Notes |
|---|---|---|
| ATM | LLC/SNAP with 0x880C | AAL-5 CPCS-PDU; default VPI 0, VCI 15 |
| Ethernet | Ethertype 0x880C | Adds Sender and Receiver Instance |
| TCP | Port 6068, Type 0x880C | Required for IP networks; IPsec ESP |
§2ATM Encapsulation
On an ATM link, GSMP packets are variable length and go directly into an AAL-5 CPCS-PDU with an LLC/SNAP header. That header holds the bytes 0xAA 0xAA 0x03 0x00 0x00 0x00 0x88 0x0C, where 0x880C is the assigned Ethertype for GSMP. After the message comes padding of 0 to 47 bytes and the 8-byte AAL-5 CPCS-PDU trailer.
The MTU of the GSMP Message field is 1492 bytes. The virtual channel carrying a GSMP session between a controller and its switch is the GSMP control channel. Its default is VPI 0 and VCI 15, and it MAY be changed using the GSMP MIB.
On ATM links the message goes in a special sleeve with a label saying it is GSMP, and the default lane for it is number 15.
§3Ethernet Encapsulation
On Ethernet, a frame carries a Destination Address, Source Address, Ethertype 0x880C, the GSMP message, then Sender Instance, Receiver Instance, Pad and the Frame Check Sequence. The two instance numbers come from the adjacency protocol and are appended to all non-adjacency GSMP messages to give extra protection against corrupt state being introduced.
For the SYN message of the adjacency protocol the destination is the broadcast address 0xFFFFFFFFFFFF, or alternatively a configured unicast 48-bit IEEE MAC address. All other messages use the unicast MAC address of the destination, learned from the Source Address of messages received while synchronising. The source is always the sender's 48-bit MAC address. The Pad should be zero bytes so the data field reaches the 46-byte minimum, and is not part of the GSMP message.
Once the adjacency protocol is synchronised, a receiver must discard a message if the Sender Instance and Source Address do not match those stored by the Update Peer Verifier operation, if it arrives on a different port from the one used to synchronise, or if the Receiver Instance does not match the current Sender Instance of the adjacency protocol.
On Ethernet, each message carries two small ID tags. The receiver checks them and throws away anything that does not match, like a guard checking name badges.
§4TCP/IP Encapsulation
When GSMP is carried over an IP network, it MUST use the TCP encapsulation, because TCP gives reliable transport and flow control suited to networks with high loss and variable delay. The controller runs the client code and the switch runs the server code. The switch listens on TCP port 6068 and MUST be a multi-connection server so several controller instances can each open a control session.
After the TCP connection is up, the controller sends adjacency protocol messages to synchronise with the switch. Other GSMP messages MUST NOT be sent until adjacency has synchronised.
Because TCP is a byte stream, a 4-byte TLV header is prepended to each GSMP message to mark its boundaries. Type is 2 bytes with value 0x880C. Length is a 2-byte unsigned integer giving the length of the GSMP message only, not the 4-byte header. A message is processed only after it is fully received.
TCP is like a long pipe with no breaks, so each message gets a little note on the front saying how long it is.
| Field | Name | Size | Value | Description |
|---|---|---|---|---|
TYPE | Type | 2 bytes | 0x880C | Type code of the following message, the same as GSMP's Ethertype. |
LENGTH | Length | 2 bytes | Total length of the GSMP message only, not including the 4-byte header. |
§5Security
When GSMPv3 is used in IP networks, security between controller and client MUST be available and MUST be provided by IP Security. The IPsec Encapsulating Security Payload (ESP) MUST be used for both integrity and confidentiality. For all uses over an IP network, running GSMP over TCP/IP with this protection is REQUIRED.
With ATM and Ethernet encapsulations, security MAY be provided at the link layer, and the RFC leaves those methods out of scope. For secure operation over any media, the IP encapsulation with IPsec SHOULD be used.
If the messages travel over the internet, they must be locked in a sealed, tamper-proof box so no one can read or change them.