PPP

= = =Point-to-Point Protocol= toc


 * ===__Protocols__===
 * **PPP** - error detection; error recovery (not default); Type field; synchronous & asynchronous
 * **HDLC** - error detection; default on IOS serial links
 * ===__Framing__===
 * ====**__PPP__**====
 * Flag(1) - 7E
 * Address(1) - FF
 * Control(1) - 3
 * Protocol(1-2)
 * Data
 * FCS(4)
 * Flag(1) - 7E
 * ====**__HDLC__**====
 * Flag(1)
 * Address(1)
 * Control(1)
 * Type(2)
 * Data
 * FCS(4)
 * Flag(1)
 * ===__Link Control Protocol (LCP)__===
 * independent of layer 3 protocol
 * ====**__Network Control Protocol (NCP)__**====
 * for each layer 3 protocol supported by PPP
 * PPP IPCP - supports IP protocol
 * when router senses CTS, DSR and DCD leads come up, LCP being negotiation
 * controls which authentication method to attempt (CHAP)
 * when LCP is considered "up", layer 3 control protocol begins
 * ====**__Features__**====
 * =====**Link Quality Monitoring (LQM)**=====
 * exchanges statistics
 * link dropped if statistics fall below configured limit
 * =====**Loop Link Detection**=====
 * send magic number
 * if magic number is received back, then a loop exists
 * =====**Layer 2 Load Balancing**=====
 * Multilink PPP (MLP) balances
 * traffic fragmented each traffic by fragmenting each frame to a fragment per each link
 * =====**Authentication**=====
 * CHAP
 * PAP
 * ===__LQM and CHAP__===
 * config# username USER password 0 PASS
 * config-if# encapsulation ppp
 * config-if# ppp quality 80 (LQM percentage)
 * config-if# ppp authentication chap
 * ===__Link Fragmentation and Interleaving (LFI)__===
 * prevents small, delay-sensitive packets from having to wait on longer, delay-insensitive packets
 * config-if# ppp multilink [fragment-delay  (size=x * bandwidth)
 * ===__Compression__===
 * ====__**Fields**__====
 * Payload Compression - IP, TCP, data, data-link
 * TCP Header - IP, TCP
 * RTP Header - IP, UDP, RTP
 * ====**__Layer 2 Payload__**====
 * **Lempel-Ziv Stacker (LZS)** - LZ, HDLC, PPP, Frame Relay, ATM, ATM-to-Frame Relay Service Interworking (using MLP)
 * **Microsoft Point-to-Point Compression (MPPC)** - LZ, PPP, ATM, ATM-to-Frame Relay Service
 * **Predictor** - uses less memory, predictor algorithm, PPP, ATM, ATM-to-Frame Relay Service
 * ====**__Compression Control Protocol (CCP)__**====
 * is another NCP
 * ====**__Header Compression__**====
 * voice & video flows use RTP
 * have low bitrate codecs
 * small data fields
 * Legacy Commands
 * config-if# ip [tcp | rtp] header-compression [passive] (passive waits for other router to initiate IPCP negotiation)
 * MQC
 * config-pmap-c# compress header ip [rtp | tcp]

=Multilink=

config# interface multilink 1 config-if# encapsulation ppp config-if# ip address ..... ..... config-if# multilink-group 1

=Compression=

config-if# compress mppc (Microsoft) config-if# compress predictor (MEM) config-if# compress stac (CPU) config-if# ip tcp header-compression

=Error Correction=

config-if# ppp reliable-link (layer 2, good for UDP) config-if# ppp quality ... (checks each byte, drop line if below threshold, good for modems with a bad line)

=Viewing & Debugging=

show ppp multilink debug ppp authentication debug ppp negotiation