RFC 2043

The PPP SNA Control Protocol (SNACP)

πŸ“… published October 1996, from ietf

The PPP SNA Control Protocol (SNACP) 🧚✨

okay bestie πŸŽ€ so this is RFC 2043, and it's all about the PPP SNA Control Protocol (SNACP). It was written by A. Fuqua at IBM, it's a Standards Track doc, and it's dated October 1996 πŸ’… It came out of the Network Working Group. The header doesn't list anything it obsoletes or updates, so no drama there 🌸

Status of this Memo πŸ“œ

This document is an Internet standards track protocol for the Internet community, and it's literally asking for discussion and suggestions for improvements πŸ¦‹ To check the standardization state and status of this protocol, look at the current edition of the "Internet Official Protocol Standards" (STD 1). Distribution of this memo is unlimited πŸ’–

Abstract 🌈

PPP [1] gives us a standard method for carrying multi-protocol datagrams over point-to-point links πŸš€ It has an extensible Link Control Protocol, plus a whole family of Network Control Protocols for setting up and configuring different network-layer protocols ✨

This document defines the Network Control Protocols for setting up and configuring Systems Network Architecture (SNA) over PPP, and SNA over LLC 802.2 over PPP πŸ’œ

Table of Contents πŸ“

   1.     Introduction ..........................................    2
      1.1       Specification of Requirements ...................    2
      1.2       Terminology .....................................    3
   2.     A PPP Network Control Protocol for SNA ................    4
   3.     Sending SNA PIUs and NLPs. ............................    5
      3.1       Sending SNA XID or FID2 PIUs over LLC ...........    5
      3.2       Sending HPR Network Layer Packets (NLPs) ........    5
      3.3       Other Considerations ............................    6
   SECURITY CONSIDERATIONS ......................................    6
   REFERENCES ...................................................    6
   ACKNOWLEDGEMENTS... ..........................................    7
   CHAIR'S ADDRESS ..............................................    7
   AUTHOR'S ADDRESS .............................................    7

1. Introduction 🧚

PPP has three main components:

  1. A method for encapsulating multi-protocol datagrams.
  2. A Link Control Protocol (LCP) for establishing, configuring, and testing the data-link connection.
  3. A family of Network Control Protocols for establishing and configuring different network-layer protocols.

So to set up communications over a point-to-point link, each end of the PPP link has to send LCP packets first to configure and test the data link πŸ”§ Once the link is up and any optional facilities have been negotiated as needed by LCP, PPP has to send SNACP packets to choose and configure the SNA network-layer protocol πŸ’… When SNACP hits the Opened state, SNA datagrams can finally go over the link πŸš€

The link stays configured for communications until explicit LCP or SNACP packets close it down, or until some external event happens (an inactivity timer expires, or a network administrator steps in) πŸ’€

1.1. Specification of Requirements πŸ”₯

In this document, a few words are used to signal the requirements of the spec. They're usually capitalised, so you'll spot them easily πŸ‘€

  • MUST: this word, or the adjective "required", means the definition is an absolute requirement of the specification. πŸ’–
  • MUST NOT: this phrase means the definition is an absolute prohibition of the specification. 🚫
  • SHOULD: this word, or the adjective "recommended", means there may be valid reasons in particular circumstances to ignore this item, but the full implications have to be understood and carefully weighed before you pick a different course πŸ€”
  • MAY: this word, or the adjective "optional", means this item is one of an allowed set of alternatives. An implementation that doesn't include this option MUST be ready to interoperate with another implementation that does include it πŸ¦‹

1.2. Terminology πŸ“š

This document uses a handful of terms a lot, so here's the tea β˜•

  • datagram: the unit of transmission in the network layer (like IP). A datagram can be encapsulated in one or more packets passed to the data link layer.
  • frame: the unit of transmission at the data link layer. A frame can include a header and/or a trailer, along with some number of units of data.
  • packet: the basic unit of encapsulation, passed across the interface between the network layer and the data link layer. A packet is usually mapped to a frame. The exceptions are when data link layer fragmentation is happening, or when multiple packets get bundled into a single frame.
  • peer: the other end of the point-to-point link.
  • silently discard: this means the implementation throws the packet away without any further processing. The implementation SHOULD give you the ability to log the error, including the contents of the silently discarded packet, and SHOULD record the event in a statistics counter πŸ™ˆ
  • PIU: Path information unit. A message unit made of a transmission header (TH) alone, or a TH followed by a basic information unit (BIU) or a BIU segment. PIU is analogous to datagram 🧚
  • TH: Transmission header. Control information, optionally followed by a BIU or a BIU segment, that path control creates and uses to route message units and control their flow within the network πŸ›£οΈ
  • BIU: Basic information unit. In SNA, the unit of data and control information passed between half-sessions. It consists of a request/response header (RH) followed by a request/response unit (RU) ✨
  • message unit: in SNA, the unit of data processed by any layer. For example, a basic information unit (BIU), a path information unit (PIU), or a request/response unit (RU) 🌸
  • NLP: Network Layer Packet. In High Performance Routing (HPR), the message unit used to carry data over the route. NLP is analogous to datagram πŸ’œ

2. A PPP Network Control Protocol for SNA πŸ’…

The SNA Control Protocol (SNACP) is in charge of configuring, enabling, and disabling SNA on both ends of the point-to-point link πŸ‘‘ It uses the same packet exchange mechanism as the Link Control Protocol (LCP). SNACP packets can't be exchanged until PPP has reached the Network-Layer Protocol phase. SNACP packets received before that phase is reached should get silently discarded πŸ™ˆ

Note that there are actually two SNA Network Control Protocols. One is for SNA over LLC 802.2, and the other is for SNA without LLC 802.2. These SNA NCPs get negotiated separately and independently of each other, so they're basically two different vibes πŸ¦‹

The SNA Control Protocol is exactly the same as the Link Control Protocol [1], with the following exceptions:

Frame Modifications

The packet may utilize any modifications to the basic frame format which have been negotiated during the Link Establishment phase πŸŽ€

Exactly one SNACP packet is encapsulated in the PPP Information field, and the PPP Protocol field indicates type hex 804B (SNA over LLC 802.2) or hex 804D (SNA) πŸ”₯

Code field

Only Codes 1 through 7 are used: Configure-Request, Configure-Ack, Configure-Nak, Configure-Reject, Terminate-Request, Terminate-Ack and Code-Reject πŸ’– Other Codes should be treated as unrecognized, and should result in Code-Rejects 😭

Timeouts

SNACP packets can't be exchanged until PPP has reached the Network-Layer Protocol phase 🚫 An implementation should be ready to wait for Authentication and Link Quality Determination to finish before it times out waiting for a Configure-Ack or other response ⏳ It's suggested that an implementation give up only after user intervention or a configurable amount of time 🌈

Configuration Option Types

There are no Configuration Options for SNA or for SNA over LLC 802.2. Zero options, full vibes 🧚✨


Acknowledgements ✨

okay so this part is all about the bestie squad 🫢 some of the text in this doc was borrowed from earlier docs written by the Point-to-Point Protocol Working Group of the IETF, which is so iconic of them πŸ™Œ

some of the text also came from assorted IBM documents πŸ’Ό

and honestly so many people helped out with suggestions and bits of writing πŸ’– special shoutout to Allen Carriker, Marcia Peters, and Scott G. Wasson, you literally carried πŸ«ΆπŸŽ€

Chair's Address 🌸

if you need to reach the working group, the way to do it is through the current chair, Karl F. Fox 🧚

Karl F. Fox
Ascend Communications
3518 Riverside Dr., Suite 101
Columbus, Ohio  4322

EMail: karl@ascend.com

Author's Address πŸ’…

questions about this memo can also go straight to the author, Andrew M. Fuqua πŸ¦‹

Andrew M. Fuqua
International Business Machines Corporation
P. O. Box 12195
Research Triangle Park, NC  27709

EMail: fuqua@vnet.ibm.com

that's the whole doc, bestie!! πŸŒˆπŸ’œβœ¨

πŸ“¦ where this page comes from