PPP in Frame Relay
How to use Frame Relay frames as the wrapper for PPP on a point-to-point circuit.
Simpson, W., "PPP in Frame Relay", RFC 1973, DOI 10.17487/RFC1973, June 1996, <https://www.rfc-editor.org/info/rfc1973>.
@misc{rfc1973,
series = {Request for Comments},
number = 1973,
howpublished = {RFC 1973},
publisher = {RFC Editor},
doi = {10.17487/RFC1973},
url = {https://www.rfc-editor.org/info/rfc1973},
author = {W. Simpson},
title = {{PPP in Frame Relay}},
pagetotal = 10,
year = 1996,
month = jun,
} RFC text
Contents
Network Working Group W. Simpson
Request for Comments: 1973 Daydreamer
Category: Standards Track June 1996
PPP in Frame Relay
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.
This document describes the use of Frame Relay for framing PPP
encapsulated packets.
Applicability
This specification is intended for those implementations which desire
to use facilities which are defined for PPP, such as the Link Control
Protocol, Network-layer Control Protocols, authentication, and
compression. These capabilities require a point-to-point
relationship between peers, and are not designed for multi-point or
multi-access environments.
Table of Contents
1. Introduction .......................................... 1
2. Physical Layer Requirements ........................... 1
3. The Data Link Layer ................................... 2
3.1 Frame Format .................................... 2
3.2 Modification of the Basic Frame ................. 3
4. In-Band Protocol Demultiplexing ....................... 4
5. Out-of-Band signaling ................................. 5
6. Configuration Details ................................. 5
SECURITY CONSIDERATIONS ...................................... 7
REFERENCES ................................................... 7
ACKNOWLEDGEMENTS ............................................. 7
CHAIR'S ADDRESS .............................................. 8
AUTHOR'S ADDRESS ............................................. 8
1. Introduction
Frame Relay [2] is a relative newcomer to the serial link community.
Like X.25, the protocol was designed to provide virtual circuits for
connections between stations attached to the same Frame Relay
network. The improvement over X.25 is that Q.922 is restricted to
delivery of packets, and dispenses with sequencing and flow control,
simplifying the service immensely.
PPP uses ISO 3309 HDLC as a basis for its framing [3].
When Frame Relay is configured as a point-to-point circuit, PPP can
use Frame Relay as a framing mechanism, ignoring its other features.
This is equivalent to the technique used to carry SNAP headers over
Frame Relay [4].
At one time, it had been hoped that PPP in HDLC-like frames and Frame
Relay would co-exist on the same links. Unfortunately, the Q.922
method for expanding the address from 1 to 2 to 4 octets is not
indistinguishable from the ISO 3309 method, due to the structure of
its Data Link Connection Identifier (DLCI) subfields. Co-existance
is precluded.
2. Physical Layer Requirements
PPP treats Frame Relay framing as a bit-synchronous link. The link
MUST be full-duplex, but MAY be either dedicated (permanent) or
switched.
Interface Format
PPP presents an octet interface to the physical layer. There is
no provision for sub-octets to be supplied or accepted.
Transmission Rate
PPP does not impose any restrictions regarding transmission rate,
other than that of the particular Frame Relay interface.
Control Signals
Implementation of Frame Relay requires the provision of control
signals, which indicate when the link has become connected or
disconnected. These in turn provide the Up and Down events to the
LCP state machine.
Because PPP does not normally require the use of control signals,
the failure of such signals MUST NOT affect correct operation of
PPP. Implications are discussed in [2].
Encoding
The definition of various encodings is the responsibility of the
DTE/DCE equipment in use, and is outside the scope of this
specification.
While PPP will operate without regard to the underlying
representation of the bit stream, Frame Relay requires NRZ
encoding.
3. The Data Link Layer
This specification uses the principles, terminology, and frame
structure described in "Multiprotocol Interconnect over Frame Relay"
[4].
The purpose of this specification is not to document what is already
standardized in [4]. Instead, this document attempts to give a
concise summary and point out specific options and features used by
PPP.
3.1. Frame Format
As described in [4], Q.922 header address and control fields are
combined with the Network Layer Protocol Identifier (NLPID), which
identifies the encapsulation which follows. The fields are
transmitted from left to right.
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
+-+-+-+-+-+-+-+-+
| Flag (0x7e) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Q.922 Address | Control | NLPID(0xcf) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| PPP Protocol |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The PPP Protocol field and the following Information and Padding
fields are described in the Point-to-Point Protocol Encapsulation
[1].
3.2. Modification of the Basic Frame
The Link Control Protocol can negotiate modifications to the basic
frame structure. However, modified frames will always be clearly
distinguishable from standard frames.
Address-and-Control-Field-Compression
Because the Address and Control field values are not constant, and
are modified as the frame is transported by the network switching
fabric, Address-and-Control-Field-Compression MUST NOT be
negotiated.
Protocol-Field-Compression
Note that unlike PPP in HDLC-like framing, the Frame Relay framing
does not align the Information field on a 32-bit boundary.
Alignment to a 32-bit boundary occurs when the NLPID is removed
and the Protocol field is compressed to a single octet. When this
improves throughput, Protocol-Field-Compression SHOULD be
negotiated.
4. In-Band Protocol Demultiplexing
The PPP NLPID (CF hex) and PPP Protocol fields easily distinguish the
PPP encapsulation from the other NLPID encapsulations described in
[4].
The joining of the PPP and NLPID number space has an added advantage,
in that the LCP Protocol-Reject can be used to indicate NLPIDs that
are not recognized. This can eliminate "black-holes" that occur when
traffic is not supported.
For those network-layer protocols which have no PPP Protocol
assignment, or which have not yet been implemented under the PPP
encapsulation, or which have not been successfully negotiated by a
PPP NCP, another method of encapsulation defined under [4] SHOULD be
used.
Currently, there are no conflicts between NLPID and PPP Protocol
values. If a future implementation is configured to send a NLPID
value which is the same as a compressed Protocol field, that Protocol
field MUST NOT be sent compressed.
On reception, the first octet following the header is examined. If
the octet is zero, it MUST be assumed that the packet is formatted
according to [4].
PPP encapsulated packets always have a non-zero octet following the
header. If the octet is not the PPP NLPID value (CF hex), and
Protocol-Field-Compression is enabled, and the associated NCP has
been negotiated, then it is expected to be a compressed PPP Protocol
value. Otherwise, it MUST be assumed that the packet is formatted
according to [4].
The Protocol field value 0x00cf is not allowed (reserved) to avoid
ambiguity when Protocol-Field-Compression is enabled. The value MAY
be treated as a PPP Protocol that indicates that another PPP Protocol
packet follows.
Initial LCP packets contain the sequence cf-c0-21 following the
header. When a LCP Configure-Request packet is received and
recognized, the PPP link enters Link Establishment phase.
The accidental connection of a link to feed a multipoint network (or
multicast group) SHOULD result in a misconfiguration indication.
This can be detected by multiple responses to the LCP Configure-
Request with the same Identifier, coming from different framing
addresses. Some implementations might be physically unable to either
log or report such information.
Once PPP has entered the Link Establishment phase, packets with other
NLPID values MUST NOT be sent, and on receipt such packets MUST be
silently discarded, until the PPP link enters the Network-Layer
Protocol phase.
Once PPP has entered the Network-Layer Protocol phase, and
successfully negotiated a particular NCP for a PPP Protocol, if a
frame arrives using another equivalent data encapsulation defined in
[4], the PPP Link MUST re-enter Link Establishment phase and send a
new LCP Configure-Request. This prevents "black-holes" that occur
when the peer loses state.
An implementation which requires PPP link configuration, and other
PPP negotiated features (such as authentication), MAY enter
Termination phase when configuration fails. Otherwise, when the
Configure-Request sender reaches the Max-Configure limit, it MUST
fall back to send only frames encapsulated according to [4].
5. Out-of-Band signaling
There is no generally agreed method of out-of-band signalling. Until
such a method is universally available, an implementation MUST use
In-Band Protocol Demultiplexing for both Permanent and Switched
Virtual Circuits.
6. Configuration Details
The following Configuration Options are recommended:
Magic Number
Protocol Field Compression
The standard LCP configuration defaults apply to Frame Relay links,
except Maximum-Receive-Unit (MRU).
To ensure interoperability with existing Frame Relay implementations,
the initial MRU is 1600 octets [4]. This only affects the minimum
required buffer space available for receiving packets, not the size
of packets sent.
The typical network feeding the link is likely to have a MRU of
either 1500, or 2048 or greater. To avoid fragmentation, the
Maximum-Transmission-Unit (MTU) at the network layer SHOULD NOT
exceed 1500, unless a peer MRU of 2048 or greater is specifically
negotiated.
Some Frame Relay switches are only capable of 262 octet frames. It
is not recommended that anyone deploy or use a switch which is
capable of less than 1600 octet frames. However, PPP implementations
MUST be configurable to limit the size of LCP packets which are sent
to 259 octets (which leaves room for the NLPID and Protocol fields),
until LCP negotiation is complete.
XID negotiation is not required to be supported for links which are
capable of PPP negotiation.
Inverse ARP is not required to be supported for PPP links. That
function is provided by PPP NCP negotiation.
Security Considerations
Security issues are not discussed in this memo.
References
[1] Simpson, W., Editor, "The Point-to-Point Protocol (PPP)", STD
51, RFC 1661, July 1994.
[2] CCITT Recommendation Q.922, "ISDN Data Link Layer Specification
for Frame Mode Bearer Services", International Telegraph and
Telephone Consultative Committee, 1992.
[3] Simpson, W., Editor, "PPP in HDLC-like Framing", STD 51,
RFC 1662, July 1994.
[4] Bradley, T., Brown, C., and A. Malis, "Multiprotocol
Interconnect over Frame Relay", RFC 1490, July 1993.
[5] ISO/IEC TR 9577:1990(E), "Information technology -
Telecommunications and Information exchange between systems -
Protocol Identification in the network layer", 1990-10-15.
Acknowledgments
This design was inspired by the paper "Parameter Negotiation for the
Multiprotocol Interconnect", Keith Sklower and Clifford Frost,
University of California, Berkeley, 1992, unpublished.
Chair's Address
The working group can be contacted via the current chair:
Karl Fox
Ascend Communications
3518 Riverside Drive, Suite 101
Columbus, Ohio 43221
EMail: karl@ascend.com
Author's Address
Questions about this memo can also be directed to:
William Allen Simpson
Daydreamer
Computer Systems Consulting Services
1384 Fontaine
Madison Heights, Michigan 48071
wsimpson@UMich.edu
wsimpson@GreenDragon.com (preferred)
AI ELI5
On this page
§1Introduction and Scope
Frame Relay, like X.25, provides virtual circuits between stations attached to the same network. It is simpler than X.25 because Q.922 only delivers packets and dispenses with sequencing and flow control. When Frame Relay is configured as a point-to-point circuit, PPP can use it purely as a framing mechanism and ignore its other features.
This is meant for implementations that want PPP facilities such as the Link Control Protocol (LCP), Network-layer Control Protocols (NCPs), authentication and compression. These need a point-to-point relationship, so the specification is not designed for multi-point or multi-access environments.
The RFC notes that PPP in HDLC-like frames and Frame Relay were once expected to co-exist on the same links, but the Q.922 address expansion method cannot be told apart from the ISO 3309 method, so co-existence is precluded.
Frame Relay already knows how to move envelopes between two places. PPP just uses those envelopes and ignores the fancier mail services.
§2Physical Layer Requirements
PPP treats Frame Relay framing as a bit-synchronous link. The link MUST be full-duplex but MAY be either dedicated (permanent) or switched. PPP presents an octet interface to the physical layer and puts no limit on transmission rate beyond what the Frame Relay interface itself has.
Frame Relay needs control signals that say when the link is connected or disconnected, and these supply the Up and Down events to the LCP state machine. Since PPP does not normally need control signals, their failure MUST NOT affect correct operation of PPP. Frame Relay requires NRZ encoding, while other encodings are the job of the DTE/DCE equipment.
The wire has to carry traffic both ways at once. If the wire's signal lights fail, PPP should keep working anyway.
§3The Frame Format
The framing follows the Multiprotocol Interconnect over Frame Relay specification (RFC 1490). The Q.922 header address and control fields are combined with the Network Layer Protocol Identifier (NLPID), which identifies the encapsulation that follows. A frame starts with the flag 0x7e, then the Q.922 address, control, the NLPID (0xcf for PPP) and the PPP Protocol field. The Protocol, Information and Padding fields are as in RFC 1661.
LCP can negotiate changes to the basic frame, but modified frames stay distinguishable from standard ones. Address-and-Control-Field-Compression MUST NOT be negotiated, because the Address and Control values are not constant and change as the network switches the frame. Protocol-Field-Compression SHOULD be negotiated when it helps throughput: unlike HDLC-like framing, Frame Relay does not align the Information field on a 32-bit boundary, but removing the NLPID and compressing the Protocol field to one octet does.
Every PPP message gets a label saying 'this is PPP', and the label can be shortened to make everything line up neatly in memory. The parts of the address that the network changes along the way must not be squeezed out.
| Field | Name | Size | Value | Description |
|---|---|---|---|---|
FLAG | Flag | 1 byte | 0x7e | Frame delimiter. |
ADDRESS | Q.922 Address | 2 bytes | Frame Relay address; changed by the network. | |
CONTROL | Control | 1 byte | Q.922 control field. | |
NLPID | NLPID | 1 byte | 0xcf | Identifies PPP encapsulation. |
PROTOCOL | PPP Protocol | 2 bytes | PPP protocol field; Information and Padding follow. |
§4In-Band Protocol Demultiplexing
The PPP NLPID (0xcf) plus the PPP Protocol field distinguish PPP from the other NLPID encapsulations. Joining the number spaces also lets LCP Protocol-Reject report NLPIDs that are not recognized, which avoids black holes. Where a network protocol has no PPP assignment or has not been negotiated by an NCP, another encapsulation from RFC 1490 SHOULD be used.
On receipt, the first octet after the header is examined. If it is zero, the packet MUST be treated as RFC 1490 format. PPP packets always have a non-zero octet there. If it is not 0xcf, Protocol-Field-Compression is enabled and the NCP is negotiated, it is a compressed Protocol value; otherwise it is treated as RFC 1490 format. The Protocol value 0x00cf is reserved to avoid ambiguity.
Initial LCP packets contain cf-c0-21 after the header, and a recognized Configure-Request moves the link into Link Establishment phase. In that phase other NLPID values MUST NOT be sent, and received ones MUST be silently discarded until the Network-Layer Protocol phase. Once an NCP is up, a frame in another equivalent encapsulation forces the link back to Link Establishment with a new Configure-Request, preventing black holes if the peer lost state. If configuration fails, an implementation MAY enter Termination phase; otherwise at the Max-Configure limit it MUST fall back to sending only RFC 1490 frames.
Accidentally feeding a multipoint network SHOULD cause a misconfiguration indication, detectable by multiple responses to one Configure-Request Identifier from different framing addresses. There is no agreed out-of-band signalling method, so implementations MUST use in-band demultiplexing for both permanent and switched virtual circuits.
When a message arrives, the receiver peeks at the first byte to decide whether it is a PPP message or an older kind of message. If the sender and receiver lose track of each other, they start the conversation over.
§5Configuration Details
The recommended LCP options are Magic Number and Protocol Field Compression. Standard LCP defaults apply, except for the Maximum-Receive-Unit (MRU). To stay interoperable with existing Frame Relay implementations the initial MRU is 1600 octets, which only sets the minimum buffer space for receiving, not the size of packets sent.
To avoid fragmentation, the network-layer MTU SHOULD NOT exceed 1500 unless a peer MRU of 2048 or greater is negotiated. Some switches only handle 262 octet frames; deploying one that handles fewer than 1600 octets is not recommended, but implementations MUST be configurable to limit LCP packets to 259 octets until LCP negotiation is complete. XID negotiation and Inverse ARP are not required, since PPP NCP negotiation provides that function.
Both ends start by agreeing on a box size big enough for most messages. Very small boxes in the network are tolerated only while they set things up.
§6Security Considerations
The RFC states only that security issues are not discussed in the memo. PPP authentication is named in the applicability statement as one of the PPP facilities this framing makes available, but this document defines nothing about it.
This note does not say anything about keeping messages secret or safe.