RFC 2043 PROPOSED STANDARD PPP · SNA · LINK LAYER

The PPP SNA Control Protocol (SNACP)

How IBM's SNA networking traffic is carried and configured over a PPP link.

On rfc-editor.org ↗
PUBLISHED
October 1996
AUTHORS
A. Fuqua
STREAM
IETF
CODES USED
1 through 7
CONFIGURATION OPTIONS
None
PROTOCOL FIELD, SNA OVER LLC
0x004B
PROTOCOL FIELD, HPR NLP
0x004D
DOI
10.17487/RFC2043

RFC text

Contents
Original text · RFC Editor View on rfc-editor.org ↗
Network Working Group                                           A. Fuqua
Request for Comments: 2043                                           IBM
Category: Standards Track                                   October 1996


                  The PPP SNA Control Protocol (SNACP)

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.

Abstract

   The Point-to-Point Protocol (PPP) [1] provides a standard method for
   transporting multi-protocol datagrams over point-to-point links.  PPP
   defines an extensible Link Control Protocol, and proposes a family of
   Network Control Protocols for establishing and configuring different
   network-layer protocols.

   This document defines the Network Control Protocols for establishing
   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.

   In order to establish communications over a point-to-point link, each
   end of the PPP link must first send LCP packets to configure and test
   the data link.  After the link has been established and optional
   facilities have been negotiated as needed by the LCP, PPP must send
   SNACP packets to choose and configure the SNA network-layer protocol.
   Once SNACP has reached the Opened state, SNA datagrams can be sent
   over the link.

   The link will remain configured for communications until explicit LCP
   or SNACP packets close the link down, or until some external event
   occurs (an inactivity timer expires or network administrator
   intervention).

1.1.  Specification of Requirements

   In this document, several words are used to signify the requirements
   of the specification.  These words are often capitalized.

   MUST      This word, or the adjective "required", means that the
             definition is an absolute requirement of the specification.

   MUST NOT  This phrase means that the definition is an absolute
             prohibition of the specification.

   SHOULD    This word, or the adjective "recommended", means that there
             may exist valid reasons in particular circumstances to
             ignore this item, but the full implications must be
             understood and carefully weighed before choosing a
             different course.

   MAY       This word, or the adjective "optional", means that this
             item is one of an allowed set of alternatives.  An
             implementation which does not include this option MUST be
             prepared to interoperate with another implementation which
             does include the option.

1.2.  Terminology

   This document frequently uses the following terms:

   datagram  The unit of transmission in the network layer (such as IP).
             A datagram may 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
             may include a header and/or a trailer, along with some
             number of units of data.

   packet    The basic unit of encapsulation, which is 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 being
             performed, or when multiple packets are incorporated into a
             single frame.

   peer      The other end of the point-to-point link.

   silently discard
             This means the implementation discards the packet without
             further processing.  The implementation SHOULD provide the
             capability of logging 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 consisting 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 basic information unit (BIU) or a BIU
             segment, that is created and used by path control to route
             message units and to 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.
             Network Layer Packet is analogous to datagram.

2.  A PPP Network Control Protocol for SNA

   The SNA Control Protocol (SNACP) is responsible for configuring,
   enabling, and disabling SNA on both ends of the point-to-point link.
   SNACP uses the same packet exchange mechanism as the Link Control
   Protocol (LCP). SNACP packets may not be exchanged until PPP has
   reached the Network-Layer Protocol phase.  SNACP packets received
   before this phase is reached should be silently discarded.

   Note that there are actually two SNA Network Control Protocols; one
   for SNA over LLC 802.2 and another for SNA without LLC 802.2.  These
   SNA NCPs are negotiated separately and independently of each other.

   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.

   Data Link Layer Protocol Field

      Exactly one SNACP packet is encapsulated in the PPP Information
      field, where the PPP Protocol field indicates type hex 804B (SNA
      over LLC 802.2) or hex 804D (SNA).

   Code field

      Only Codes 1 through 7 (Configure-Request, Configure-Ack,
      Configure-Nak, Configure-Reject, Terminate-Request, Terminate-Ack
      and Code-Reject) are used.  Other Codes should be treated as
      unrecognized and should result in Code-Rejects.

   Timeouts

      SNACP packets may not be exchanged until PPP has reached the
      Network-Layer Protocol phase. An implementation should be prepared
      to wait for Authentication and Link Quality Determination to
      finish before timing out waiting for a Configure-Ack or other
      response.  It is 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.

3.  Sending SNA PIUs and NLPs.

   Before any SNA packets may be communicated, PPP must reach the
   Network-Layer Protocol phase, and the appropriate SNA Control
   Protocol must reach the Opened state.

   The maximum length of a SNA packet transmitted over a PPP link is the
   same as the maximum length of the Information field of a PPP
   encapsulated packet.

   The format of the PPP Information field itself is the same as that
   defined in [1].  Detailed information on SNA and APPN can be found in
   [3], [4], [5], [6], and [7].

3.1.  Sending SNA XID or FID2 PIUs over LLC

   Exactly one SNA XID or FID2 PIU over LLC 802.2 is encapsulated in the
   PPP Information field, where the PPP Protocol field indicates type
   hex 004B (SNA over LLC 802.2).

   A summary of this frame structure, beginning with the PPP Protocol
   field, is shown below. The fields are transmitted from left to right.

                -- LLC portion (PPP Information Field) -------------
               |                                                    |
   -+----------+----------+----------+----------+-------------------+-
    | Protocol | DSAP     | SSAP     | Control  | LLC Information   |
    | 0x004B   | Address  | Address  | Field    | Field             |
   -+----------+----------+----------+----------+-------------------+-

   The LLC information field contains the XID or FID2 PIU. LLC(2) is
   included in this format for link-level error recovery.  Error
   recovery is done by the routers at each end of the PPP link.

3.2.  Sending HPR Network Layer Packets (NLPs)

   Exactly one HPR Network Layer Packet (NLP) is encapsulated in the PPP
   Information field, where the PPP Protocol field indicates type hex
   004D (SNA).

   A summary of this frame structure, beginning with the PPP Protocol
   field, is shown below. The fields are transmitted from left to right.

                -- HPR Network Layer Packet (NLP) --
                  |   (PPP Information Field)          |
      -+----------+--------+--------+------------------+-
       | Protocol | NHDR   | THDR   | data             |
       | 0x004D   |        |        |                  |
      -+----------+--------+--------+------------------+-

3.3.  Other Considerations

   It is architecturally possible to transport HPR NLPs over LLC over
   PPP using PPP Protocol field type hex 004B (SNA over LLC 802.2) if
   the optional HPR link-level error recover tower is included in the
   implementation.

Security Considerations

   Security issues are not discussed in this memo.

References

   [1]   Simpson, W., "The Point-to-Point Protocol (PPP)", STD 51,
         RFC 1661, Daydreamer, July 1994.

   [2]   Reynolds, J., and J. Postel, "Assigned Numbers", STD 2, RFC
         1700, USC/Information Sciences Institute, October 1994.

   [3]   "SNA Formats", GA27-3136, IBM.

   [4]   "SNA APPN Architecture Reference", SC30-3422, IBM.

   [5]   "APPN Architecture and Product Implementations Tutorial",
          GG24-3669-02, IBM.

   [6]   APPN Implementers Workshop homepage,
         http://www.raleigh.ibm.com/app/aiwhome.htm

   [7]   "APPN High Performance Routing (HPR) Architecture",
         ftp://networking.raleigh.ibm.com/pub/standards/aiw/appn/hpr


   IBM documents are orderable through 1-800-879-2755.

Acknowledgements

   Some of the text in this document is taken from previous documents
   produced by the Point-to-Point Protocol Working Group of the Internet
   Engineering Task Force (IETF).

   Some of the text in this document is taken from miscellaneous IBM
   documents.

   Many people provided suggestions and portions of text for this
   document.  Special thanks to Allen Carriker, Marcia Peters, and Scott
   G. Wasson.

Chair's Address

   The working group can be contacted via the current chair:

   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 be directed to:

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

   EMail: fuqua@vnet.ibm.com

AI ELI5

On this page
PROBLEMPPP needs a Network Control Protocol for each network-layer protocol it carries, and IBM's Systems Network Architecture (SNA) did not have one.
MECHANISMSNACP reuses the LCP packet exchange with a few changes, in two separate and independent variants: one for SNA over LLC 802.2 and one for SNA without it. It then carries one SNA message unit per PPP frame.
WHY IT MATTERSSNA can run over point-to-point links; the SNACP itself has no configuration options and the memo says nothing about security.

§1PPP and the Need for SNACP

The Point-to-Point Protocol (RFC 1661) has three main parts: a method for encapsulating multi-protocol datagrams, a Link Control Protocol (LCP) for establishing, configuring and testing the link, and a family of Network Control Protocols (NCPs) for configuring each network-layer protocol.

Both ends first use LCP to set up the link. Then PPP must send SNACP packets to choose and configure the SNA network-layer protocol. Once SNACP reaches the Opened state, SNA datagrams can flow. The link stays configured until LCP or SNACP packets close it, or until an external event such as an inactivity timer or administrator intervention.

First the two ends agree how the link works. Then they agree on the rules for SNA. Only then can SNA messages travel.

§1.2SNA Terminology

The RFC uses the usual RFC 2119 style words MUST, MUST NOT, SHOULD and MAY, and defines several SNA terms.

  • PIU (path information unit): a transmission header (TH) alone, or a TH followed by a basic information unit (BIU) or a BIU segment. It is analogous to a datagram.
  • TH: control information created by path control to route message units and control their flow.
  • BIU: the unit passed between half-sessions, a request/response header followed by a request/response unit.
  • NLP (Network Layer Packet): in High Performance Routing (HPR), the message unit that carries data over the route. It is also analogous to a datagram.

SNA has its own words for a message, such as PIU and NLP. They mean roughly the same as a packet of data.

§2The SNA Control Protocol

SNACP configures, enables and disables SNA on both ends of the link. It uses the same packet exchange mechanism as LCP, and the RFC says it is exactly the same as LCP except for a few points. There are actually two SNA NCPs, one for SNA over LLC 802.2 and one for SNA without LLC 802.2. They are negotiated separately and independently.

The differences from LCP are as follows.

  • Frame modifications: packets may use any frame format changes negotiated during link establishment.
  • Protocol field: exactly one SNACP packet goes in the PPP Information field. The text of section 2 gives the Protocol field as hex 804B (SNA over LLC 802.2) or hex 804D (SNA).
  • Codes: only Codes 1 through 7 are used (Configure-Request, Configure-Ack, Configure-Nak, Configure-Reject, Terminate-Request, Terminate-Ack and Code-Reject). Other codes are treated as unrecognized and get a Code-Reject.
  • Timeouts: an implementation should be prepared to wait for authentication and link quality determination before timing out on a Configure-Ack. It is suggested that it give up only after user intervention or a configurable amount of time.
  • Options: there are no Configuration Options for either SNA variant.

SNACP packets may not be exchanged until PPP reaches the Network-Layer Protocol phase, and packets that arrive earlier should be silently discarded.

The rules for setting up SNA are copied from the rules for setting up the link, with a few changes. There are two sets, one for each flavour of SNA, and they work separately.

§3Sending SNA Over PPP

Before any SNA packet is sent, PPP must reach the Network-Layer Protocol phase and the right SNACP must be in the Opened state. The maximum length of an SNA packet is the same as the maximum length of the PPP Information field.

For SNA XID or FID2 PIUs over LLC, exactly one PIU goes in the PPP Information field, with the PPP Protocol field set to hex 004B. The frame carries the Protocol field, then DSAP address, SSAP address, Control field and the LLC Information field holding the PIU. LLC(2) is included for link-level error recovery, which is done by the routers at each end.

For HPR, exactly one Network Layer Packet goes in the Information field, with Protocol field hex 004D. The frame holds the Protocol field, NHDR, THDR and data.

It is architecturally possible to carry HPR NLPs over LLC over PPP using type 004B, if the optional HPR link-level error recovery tower is implemented.

Each PPP envelope holds exactly one SNA message. The label on the envelope tells the other end which of the two kinds of SNA it is.

THE TWO SNA ENCAPSULATIONS (RFC 2043)
CarriesPPP Protocol fieldFrame contents
XID or FID2 PIU over LLC 802.20x004BDSAP, SSAP, Control, LLC Information
HPR Network Layer Packet0x004DNHDR, THDR, data

§4Security Considerations

The RFC contains a single statement on security: security issues are not discussed in this memo. Anything about authentication happens in PPP itself, which SNACP only waits for before it times out.

This document does not say anything about keeping SNA safe from snoopers.

§6References