RFC 1598

PPP in X.25

πŸ“… published March 1994, from ietf

PPP in X.25 πŸ¦‹

Okay bestie, let's get the vibes straight first πŸ’… This is RFC 1598, titled PPP in X.25. It was written by W. Simpson from Daydreamer and dated March 1994. It's a Standards Track doc, so it's an actual Internet standards-track protocol spec πŸ‘‘ The header doesn't list any RFCs it obsoletes or updates, so it isn't replacing or patching anything else 🌸


Status of This Memo πŸ“œ

This doc is an Internet standards track protocol for the whole Internet community, and it's basically asking everyone for discussion and suggestions for improvements πŸ’¬ For the official standardization state and status of this protocol, check the current edition of the "Internet Official Protocol Standards" (STD 1). Distribution of this memo is unlimited, so share away 🫢

Abstract 🌈

PPP [1] is the standard way to carry multi-protocol datagrams over point-to-point links, and this doc explains how to use X.25 to frame PPP encapsulated packets 🧚 It's a product of the Point-to-Point Protocol Working Group of the IETF. Comments go to the ietf-ppp@merit.edu mailing list βœ‰οΈ

Applicability πŸŽ€

This spec is for implementations that want the PPP goodies, like the Link Control Protocol, Network-layer Control Protocols, authentication, and compression ✨ Those features need a point-to-point relationship between peers. They aren't designed for multi-point or multi-access environments, so don't try to force it πŸ™ˆ

Table of Contents πŸ—‚οΈ

     1.     Introduction ..........................................    1

     2.     Physical Layer Requirements ...........................    2

     3.     The Data Link Layer ...................................    2
        3.1       Frame Format ....................................    3
        3.2       Modification of the Basic Frame .................    3

     4.     Call Setup ............................................    4

     5.     Configuration Details .................................    5

     SECURITY CONSIDERATIONS ......................................    6

     REFERENCES ...................................................    6

     ACKNOWLEDGEMENTS .............................................    6

     CHAIR'S ADDRESS ..............................................    7

     AUTHOR'S ADDRESS .............................................    7

1. Introduction ✨

Okay so, CCITT recommendation X.25 [2] describes a network layer protocol that gives you error-free, sequenced, flow controlled virtual circuits πŸ”₯ X.25 also has a data link layer called X.25 LAPB, which uses ISO 3309, 4335 and 6256 πŸ’…

PPP also uses ISO 3309 HDLC as the basis for its framing [3] πŸŽ€ So they're cousins, honestly 🧚

When X.25 is set up as a point-to-point circuit, PPP can just use X.25 as its framing mechanism and ignore all of X.25's other features πŸ’– It's the same trick that's used to carry SNAP headers over X.25 [4], so it's not a brand new idea, just a very iconic reuse ⭐

Here's the tea 🍡 At one point people really hoped PPP HDLC frames and X.25 frames would coexist on the same links, so equipment could gradually move over to PPP 🌸 Then it turned out some switches actually strip off the X.25 header, send the packets across another switch using a different protocol like Frame Relay, and then rebuild the X.25 header at the final hop πŸ’€ So coexistence and gradual migration are off the table, sadly 😭

2. Physical Layer Requirements 🌊

PPP treats X.25 framing like a bit synchronous link πŸ¦‹ The link MUST be full-duplex, but it MAY be either dedicated (permanent) or switched πŸ’œ

Interface Format

PPP shows up to the physical layer as an octet interface πŸ’… There's no provision for sub-octets to be supplied or accepted, so it's all whole bytes, always πŸ“

Transmission Rate

PPP doesn't put any restrictions on transmission rate. The only limit is whatever the particular X.25 interface can do πŸš€

Control Signals

X.25 needs control signals that tell you when the link has connected or disconnected ⚑ Those signals feed the Up and Down events into the LCP state machine, so they're kind of a big deal πŸ‘‘

Because PPP doesn't normally need those control signals, a failure of them MUST NOT affect correct operation of PPP 🫢 The implications are discussed in [2] πŸ“–

Encoding

How the various encodings work is up to the DTE/DCE equipment in use, and it's outside the scope of this spec πŸ€·β€β™€οΈ PPP will operate no matter how the bit stream is represented underneath, but X.25 requires NRZ encoding πŸ’«


This spec uses the principles, terminology, and frame structure from "Multiprotocol Interconnect on X.25 and ISDN in the Packet Mode" [4] ✨

The point isn't to re-document what's already standardized in [4], because that would be so extra πŸ™„ Instead, this doc gives a concise summary and points out the specific options and features that PPP uses πŸŽ€

3.1. Frame Format πŸ–ΌοΈ

Since both "PPP in HDLC Framing" [3] and X.25 use ISO 3309 as a basis for framing, the X.25 header can easily be swapped in for the smaller HDLC header πŸ¦‹ Fields are transmitted from left to right, so read the diagram in that order πŸ‘€

    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)  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    Address    |    Control    |D|Q| SVC# (hi) |   SVC# (lo)   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |p(r) |M|p(s) |0|         PPP Protocol          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

The PPP Protocol field and the Information and Padding fields that follow are described in the Point-to-Point Protocol Encapsulation [1] 🌸

3.2. Modification of the Basic Frame πŸ› οΈ

The Link Control Protocol can negotiate changes to the basic frame structure πŸ’¬ The good news is that modified frames will always be clearly distinguishable from standard frames, so nobody gets confused πŸ™Œ

Address-and-Control-Field-Compression

The Address and Control field values aren't constant. They get modified as the frame travels through the network switching fabric, so this one is a hard no πŸ™…β€β™€οΈ Address-and-Control-Field-Compression MUST NOT be negotiated 🚫

Protocol-Field-Compression

Heads up, unlike HDLC framing, X.25 framing doesn't align the Information field on a 32-bit boundary πŸ‘€ Alignment to a 16-bit boundary happens when the Protocol field gets compressed down to a single octet πŸ’œ When that improves throughput, Protocol-Field-Compression SHOULD be negotiated πŸš€


(Part 1 of 2. Section 4, Call Setup, is up next πŸ‘€)

Acknowledgments ✨

okay so this whole design was inspired by a paper called "Parameter Negotiation for the Multiprotocol Interconnect" πŸ“„ by Keith Sklower and Clifford Frost from the University of California, Berkeley, 1992. it's still unpublished, but it's giving real inspo energy πŸ™Œ 🌸


Chair's Address πŸŽ€

if you want to reach the working group, the chair is Fred Baker 🫢

Fred Baker
Advanced Computer Communications
315 Bollay Drive
Santa Barbara, California  93117

EMail: fbaker@acc.com

Author's Address πŸ’œ

if you have questions about this memo, you can also reach the author, William Allen Simpson, at Daydreamer, Computer Systems Consulting Services 🧚

William Allen Simpson
Daydreamer
Computer Systems Consulting Services
1384 Fontaine
Madison Heights, Michigan  48071

EMail: Bill.Simpson@um.cc.umich.edu
       bsimpson@MorningStar.com

periodt, that's the whole doc πŸ’…βœ¨

πŸ“¦ where this page comes from