Network Working Group R. Pazhyannur
Request for Comments: 3153 I. Ali
Category: Standards Track Motorola
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.
Copyright (C) The Internet Society (2001). All Rights Reserved.
This document describes a method to reduce the PPP (Point-to-Point
Protocol) framing overhead used to transport small packets over slow
The method, PPP Multiplexing, sends multiple PPP encapsulated packets
in a single PPP frame. As a result, the PPP overhead per packet is
reduced. PPP encapsulation (for example with PPP in HDLC framing)
adds several bytes of overhead: a HDLC flag (at least one to separate
adjacent packets), the Address (0xFF) and Control (0x03) field bytes,
a two byte PPP Protocol ID, and the two byte CRC field. Even with
the Address and Control Fields negotiated off and the PPP Protocol ID
compressed, each PPP encapsulated frame will include four bytes of
overhead. When PPP frames are tunneled, as in L2TP , the L2TP
overhead per PPP frame is significant.
The key idea is to concatenate multiple PPP encapsulated frames into
a single PPP multiplexed frame by inserting a delimiter before the
beginning of each frame. The description of the delimiters is
provided in Subsection 1.1. The delimiters are used by the
demultiplexor to separate the PPP frames within the multiplexed
frame. Each PPP encapsulated frame within the multiplexed frame is
called a PPP subframe.
Pazhyannur, et al. Standards Track [Page 1]RFC 3153 PPP Multiplexing August 2001
During the NCP negotiation phase of PPP, a receiver can offer to
receive multiplexed frames using the PPP Mux Control Protocol
(PPPMuxCP), as described in Section 2. Once PPPMuxCP has been
negotiated, the transmitter may choose which PPP frames to multiplex.
Frames should not be re-ordered by either the transmitter or receiver
regardless of whether they arrive as part of the PPP multiplexed
frame or by themselves.
The scheme proposed is similar to the concatenated framing option
. The key differences are that PPP multiplexing is more efficient
and that it allows concatenation of variable sized frames. This is
unlike concatenated framing which restricts all frames to be of fixed
As with any concatenation scheme, the implementer has to consider the
tradeoff between increased delay for multiplexing/demultiplexing and
reduced packet overhead as the length of the multiplexed frame
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 .
1.1. Payload Format
The format of the complete PPP frame along with multiple subframes
for PPP in HDLC-like framing  is shown in Figure 1. Note that
regardless of the order in which individual bits are transmitted,
i.e., LSB first or MSB first, the PFF bit will be seen to be the MSB
of a byte that contains both the PFF and the subframe length field.
| +P|L| + + + +P|L| + + + |
| PPP/ +F|X|Len1 + PPP + + +F|X|LenN + PPP + + |
| HDLC +F|T| + Prot. +Info1+ ~ +F|T| + Prot. +InfoN+ CRC |
| Header+ | | + Field1+ + + | | +FieldN + + |
| (2-5) + (1-2 ) + (0-2) + + + (1-2) + (0-2) + + (2) |
Figure 1. Multiplexing subframes in a PPP frame.
The PPP header contains the PPP Protocol Field for a PPP
Multiplexed Frame (0x0059). The PPP header compression
options (ACFC and PFC) may be negotiated during LCP and
could thus affect the format of this header.