Summary

  • RFC 3336 placed PPP segmentation, reassembly and multiplexing in AAL2 CPS. Completed short payloads could emerge without waiting for a large AAL5 multiplexed frame to be reconstructed first.
  • This changed the failure domain. In PPPMUX over AAL5, one lost ATM cell could invalidate the whole bundle; in PPP over AAL2, damage was confined to packets occupying the lost cell. The benefit remained conditional on arrival timing, TIMER_CU, payload size, cell fill and implementation.

A bundle was an engineering choice, not a natural object

Voice gateways and access equipment often had many short packets to carry. A naïve mapping of every short packet into its own ATM adaptation frame paid disproportionate overhead and padding. Bundling several PPP payloads improved utilization, but the bundle then became the unit that had to be completed, checked and either accepted or discarded.

That coupling is easy to miss when diagrams show only headers. The important question is not merely how many bytes a wrapper costs. It is where multiplexing sits relative to segmentation and reassembly. If a receiver must reconstruct one large container before discovering the small packets inside it, every occupant waits for the container and shares its integrity result.

RFC 3336 offered another arrangement. AAL2 already divided data into compact CPS packets and multiplexed them into the payload of ATM cells. By placing PPP on that service, the system could assemble each PPP packet through the Service Specific Segmentation and Reassembly function and release completed payloads as they arrived. The large bundle stopped being the mandatory gate.

One absent cell exposed the old coupling

The comparison with PPPMUX over AAL5 made the architectural difference concrete. In the AAL5 arrangement, multiplexed PPP frames sit inside a larger AAL5 protocol data unit. Reception must finish the AAL5 unit before the PPPMUX header can be used to demultiplex its contents. A missing ATM cell breaks the AAL5 reassembly or its integrity check, so otherwise intact short packets elsewhere in the same unit are lost with it.

PPP over AAL2 did not make cell loss harmless. Payloads whose fragments occupied the missing cell could still be damaged, and one cell could contain parts of more than one packet. But packets completed in other cells did not need to be condemned merely because they had once shared a scheduling opportunity. The blast radius followed placement in cells rather than membership in one large reassembled bundle.

This is a general network-design lesson. Reliability is governed partly by the size of the object to which an integrity decision applies. Aggregation can save overhead while expanding shared fate. Moving multiplexing below a reassembly boundary can recover efficiency without making every small flow wait and fail as one.

UUI values made fragment boundaries observable

RFC 3336 used the AAL2 User-to-User Indication field to mark the progress of a PPP packet. UUI code point 27 identified an intermediate fragment; code point 26 identified the final fragment. The receiver joined the fragments and used a 16-bit CRC carried for the PPP payload to test the reconstructed packet.

Those values were protocol state, not evidence of end-to-end success. A final marker could arrive after an earlier fragment had vanished. A CRC could validate a PPP packet while the application later rejected or ignored it. Conversely, an LCP link event could say the virtual link was operational without proving that delay, jitter or speech quality was acceptable.

A useful operational record therefore keeps the CID mapping, UUI sequence, CPS sequence and parity state, ATM cell loss, SSSAR result, CRC result and eventual PPP outcome separate. Collapsing them into one “delivered” flag would erase the very boundaries that RFC 3336 was designed to improve.

Less padding depended on the clock

AAL2 could place several short CPS packets into one ATM cell. That made better use of the cell payload than repeatedly padding small frames to an AAL5 boundary. Yet a cell could not wait forever for another packet. The common-part sublayer used TIMER_CU: when the timer expired, the sender had to send what it had, including padding if necessary.

Efficiency was therefore conditional. A busy stream of short payloads arriving before the timer expired could fill cells well. Sparse or poorly aligned arrivals could not. Packet size, timer settings, scheduling and implementation all changed the result. The standard's favorable comparison was a mechanism argument, not a universal measurement or a deployment report.

Latency had the same conditional character. A completed CPS payload could be extracted without waiting for a large AAL5 bundle, but a sender might still hold data while filling a cell. The correct claim is that the architecture removed one compulsory wait and one large shared failure domain. It did not abolish queuing.

PPP still required a point-to-point fiction

PPP expects a full-duplex point-to-point link. RFC 3336 consequently required a point-to-point AAL2 virtual connection and presented that connection to PPP as a bit-synchronous link. AAL2 connected and disconnected events became lower-layer indications to PPP's Link Control Protocol.

That restriction matters because ATM could support topologies more complicated than a single pair. The presence of a connection identifier did not license the implementation to treat a multipoint ATM relationship as an ordinary PPP link. Addressing inside the transport and the relationship assumed by the upper protocol were different questions.

The document also allowed one or more CIDs for a PPP session, but it did not own a general quality-class architecture. RFC 3337 supplied the extension for carrying different classes over several CIDs. Reading its priority semantics backwards into RFC 3336 would turn a clean base mechanism into a claim the base document did not make.

Nearby RFCs describe boundaries, not evidence of adoption

RFC 1661 defines the PPP framework that RFC 3336 presents with a new lower-layer service. RFC 2364 describes PPP over AAL5. RFC 3153 specifies PPP multiplexing, while RFC 2686 describes multiprotocol encapsulation over ATM AAL5 and RFC 2507 gives an IP header-compression context relevant to small payloads. Together they explain why overhead, padding and bundling mattered.

RFC 3337 extends the AAL2 mapping with classes. Later pseudowire work in RFC 3985 and the IANA allocation record in RFC 4446 place ATM and AAL2 in a broader transport history. None of these documents demonstrates that a particular carrier deployed RFC 3336, chose a particular timer or achieved a measured bandwidth or voice-quality gain.

Standards text proves protocol intent and specified behavior. Deployment claims need configuration, implementation, traffic and measurement receipts. Historical writing becomes misleading when a clean mechanism diagram is silently converted into a market-success narrative.

The durable innovation was the location of shared fate

The apparent choice in RFC 3336 was between adaptation layers. The deeper choice was where the network would create a collective object. PPPMUX over AAL5 collected small payloads and then made the whole collection pass one reassembly boundary. PPP over AAL2 let multiplexing and per-packet assembly coexist lower in the stack, so completed payloads could leave independently.

That decision redistributed three costs at once. Padding could fall when several short payloads filled a cell. Waiting could fall because extraction did not require a large frame. Loss amplification could fall because one missing cell no longer invalidated unrelated payloads elsewhere in a bundle. None was guaranteed, but all followed from the same layer placement.

RFC 3336 is therefore best remembered as an argument about failure domains. A packet's fate is not determined only by its own bytes. It is also determined by the envelope in which engineers ask the receiver to judge it. Shrink that envelope, and one physical loss need not become a much larger logical loss.

Sources