PPP Reliable Transmission
Extracted elements (27)
Reliable transmission is most critical when the link is compressed: a lost datagram corrupts the compression dictionary, so datagrams must not be lost. Not all compression types require a reliable stream if dictionary reset is cheap.
The system with the numerically smaller magic number is designated to send SABM and to select the smaller HDLC address. Using an already-negotiated parameter (magic number) as the tiebreaker avoids additional protocol exchanges.
When both peers send address zero, the system advertising the numerically smaller window selects the smaller address (or uses magic number comparison as a tiebreaker). This deterministic rule avoids a permanent negotiation deadlock.
A Configure-Nak may force a change from Multi-Link Procedure addressing to single-link addressing, but not the reverse, since MLP implementation is optional.
Implementation of the ISO 7776 Multi-Link Procedure is deprecated. The PPP multilink procedure (RFC in progress) is recommended instead, though ISO MLP MAY still be used to restore ordering across parallel links.
Numbered-Mode affects only the Address and Control fields of the PPP frame; the Protocol, Information, Padding, FCS, and Flag fields conform to standard PPP/HDLC framing as defined in RFC 1662.
A Configure-Nak may reduce the window value but MUST NOT increase it, because both peers must agree on the same modulo (8 or 128); one peer using modulo-8 and the other modulo-128 is not permitted.
An implementation capable of but not currently using Numbered-Mode that receives a frame with correct FCS but no UI Control octet MUST send a DM message immediately followed by a LCP Configure-Request.
An implementation currently configured for Numbered-Mode that receives a DM message MUST revert to Unnumbered-Information operation and immediately send a LCP Configure-Request.
If both peers send address zero and both windows are the same size, a random choice MUST be made for address assignment; when good randomness sources are used, the link will converge in reasonable time.
If reliable transmission over the HDLC link is desired, the implementation MUST specify the Numbered-Mode Configuration Option during the Link Establishment phase.
In inverse-multiplexing configurations, every link in a single machine MUST have different Magic Numbers; each end of every link between two peers SHOULD have Magic Numbers unique to those peers to protect against patch-panel errors and loopbacks.
LAPB parameter N2 (maximum retransmission attempts) default SHOULD be 3. If this value is exceeded, the link SHOULD be terminated.
LAPB Timer T1 (retransmission timeout) SHOULD be determined dynamically based on the measured round-trip time at the LAPB level. If RTT cannot be determined, T1 SHOULD be set to (2 * link_bit_rate / max_bits_per_frame) + 100 ms.
LAPB Timer T3 (idle-state indication) must be greater than the T1 value.
Numbered-Mode LAPB or LAPD requires control signals indicating when the link becomes connected or disconnected; these provide the Up and Down events to the LCP state machine.
Once a link is established in Numbered-Mode, any re-negotiation of link configuration MUST be conducted entirely in Numbered-Mode. If Numbered-Mode is not successfully re-negotiated, the link reverts to Unnumbered-Information operation.
Once the link enters Numbered-Mode, Numbered-Mode MUST be used on all frames, as some implementations do not support intermixing Unnumbered-Information or All-Stations addresses with Numbered-Mode frames.
Should the Address field be zero upon receipt, the receiver MUST respond with a Configure-Nak containing an appropriate non-zero address.
The Address Field of the frame MUST take the value announced in the Numbered-Mode Configuration Option, and the Control Field MAY take any value valid in ISO 7776.
When Network-Layer specific compression (e.g., Van Jacobsen TCP/IP header compression) relies on sequential delivery and Multi-Link Procedure is not in use, such compression MUST be applied on a link-by-link basis.
When using Numbered-Mode, the Magic-Number Configuration Option MUST also be negotiated, and the Address-and-Control-Field-Compression Configuration Option MUST NOT be negotiated.
The Window field (1 octet, value 1–127) indicates the receiver's buffer depth and determines sequencing modulo: window < 8 uses modulo-8 sequencing; window >= 8 uses modulo-128 sequencing.
The RFC explicitly states that security issues are not discussed in this memo; no security analysis of Numbered-Mode or LAPB is provided.
After successful Numbered-Mode negotiation, the system with the numerically smaller Magic-Number sends SABM or SABM(E); the peer responds with UA. If either frame is lost, the exchange may be retried using Restart Timer and counter values. Authentication, LQD, and NCP Configuration follow.
Numbered-Mode frame: Flag (01111110, 1 octet), Address (1–2 octets), Control (1–2 octets), Protocol (1–2 octets), Information (variable), Padding (variable), FCS (16 bits), Flag (01111110).
Numbered-Mode LCP Configuration Option: Type=11, Length>=4, Window (1 octet, value 1–127), Address (variable-length HDLC address per ISO 3309). Fields transmitted left to right.