PPP in X.25
Extracted elements (20)
Co-existence of PPP HDLC frames and X.25 frames on the same links, and gradual migration, are precluded because some switches remove the X.25 header, transport packets using a different protocol (e.g., Frame Relay), and reconstruct the X.25 header at the final hop.
PPP call setup is preferred over the Zero NLPID technique because Zero NLPID can be expensive when users are charged per packet or connect time, due to the probing of PPP configuration packets at each call. Additionally, the Zero NLPID technique can result in 'black-holes', whereas PPP configuration provides a direct indication of service availability.
The triggered update mechanism described in this document runs unmodified on LANs. Because LAN interfaces typically do not have the WAN demand-circuit characteristics, the additional complexity for WAN optimization has no adverse effect on LAN operation.
X.25 requires NRZ encoding at the physical layer. While PPP operates without regard to the underlying bit stream representation, implementors must ensure the X.25 physical layer provides NRZ encoding.
Accidental connection of a PPP link to a multipoint network SHOULD result in a misconfiguration indication. This can be detected by receiving multiple responses to a single LCP Configure-Request with the same Identifier from different framing addresses.
Address-and-Control-Field-Compression MUST NOT be negotiated over X.25, because the Address and Control field values are not constant and are modified by the network switching fabric during transit.
Because PPP does not normally require control signals, the failure of such signals MUST NOT affect correct operation of PPP.
Conformance with this specification requires that the PPP NLPID (0xCF) be supported. Conformance with RFC 1356 additionally requires support for the IP NLPID (0xCC); other NLPID values such as Zero (0x00), SNAP (0x80), CLNP (0x81), or ES-IS (0x82) are not required.
Multipoint networks (or multicast groups) MUST refuse calls which indicate the PPP NLPID in the CUD, since PPP requires point-to-point relationships.
PPP encapsulation over X.25 MUST be indicated by the PPP NLPID value 0xCF. Any subsequent octet in the CUD field after the NLPID is extraneous and MUST be ignored.
The Maximum-Transmission-Unit (MTU) at the network layer SHOULD NOT exceed 1500 octets to avoid fragmentation, unless a peer MRU of 2048 or greater is specifically negotiated.
The PPP NLPID value SHOULD NOT be used to demultiplex circuits which use the Zero NLPID in call setup. When such a Zero NLPID circuit coexists with PPP-encapsulated circuits, only network layer traffic not negotiated by the associated NCP is sent over the Zero NLPID circuit.
The X.25 link used for PPP MUST be full-duplex, but MAY be either dedicated (permanent) or switched.
To ensure interoperability with existing X.25 implementations, the initial Maximum-Receive-Unit (MRU) for X.25 links is 1600 octets (per RFC 1356), rather than the standard PPP default.
Unlike HDLC framing, X.25 framing does not align the Information field on a 32-bit boundary; alignment to a 16-bit boundary occurs when Protocol-Field-Compression reduces the Protocol field to one octet. Protocol-Field-Compression SHOULD be negotiated when this improves throughput.
When IP address negotiation and/or VJ header compression are desired, PPP call setup SHOULD be attempted first. If PPP call setup fails, the normal IP call setup MUST be used.
For Switched Virtual Circuits (SVC), the first octet of the Call User Data (CUD) field in the Call Request packet carries a one-octet Network Layer Protocol Identifier (NLPID) per ISO/IEC TR 9577, used for protocol demultiplexing over the X.25 virtual circuit.
PDUs are sent as X.25 'complete packet sequences': PDUs begin on X.25 data packet boundaries and the M bit ('more data') is used to fragment PDUs larger than one X.25 data packet. The X.25 packet size is not directly related to the PPP MRU.
Implementations MUST NOT consider PPP authentication on one call setup circuit between two systems to apply to concurrent call setups for other circuits between those same systems. Relying on switching system integrity for authentication may allow an attacker spoofing the same calling identity to bypass link authentication, or enable undetected insertion attacks.
The PPP-in-X.25 frame substitutes the X.25 header for the smaller HDLC header. Fields in order: Flag (0x7e, 1 octet), Address (1 octet), Control (1 octet), D bit, Q bit, SVC# hi (6 bits), SVC# lo (1 octet), p(r) (3 bits), M bit, p(s) (3 bits), zero bit, PPP Protocol (2 octets), followed by Information and Padding.