From the blog.

Managing Digital Racket
The more I tune out, the less I miss it. But that has presented me with some complex choices for a nuanced approach to curb
Complexity – My Friend, My Enemy
Over my years of network engineering, I've learned that the fewer features you can implement while still achieving a business goal, the better. Why? Fewer

OECG – Chapter 17

780 Words. Plan about 5 minute(s) to read this.

For point-to-point links, you’ll commonly find High-Level Data Link Control (HDLC) and Point-to-Point Protocol (PPP).

  • HDLC is older than PPP.
  • Both HDLC and PPP offer error detection.
  • PPP offers error recovery, assuming you enable reliable PPP, which is off by default in IOS. HDLC does not offer error recovery.
  • PPP offers a standard protocol type field, while HDLC does not.
  • HDLC is the default on an IOS serial link.
  • PPP can be used on synchronous and asynchronous links, while HDLC only support synchronous links.
  • PPP framing, defined in RFC 1662, is very similar to HDLC framing, but PPP adds a Protocol field and an optional padding field to the an HDLC frame. The padding allows PPP to make the frame total an even number of bytes.

PPP Link Control Protocol – these are features independent of a specific L3 protocol.

  • When a serial link has come up, PPP begins to negotiate settings with the other end of the link using LCP. (Authentication methods to try and their order, and then allowing those auth protocols to do their thing, for example.)
  • LCP performs these key functions.
    • Link Quality Monitoring (LQM) – LCP tracks stats for error-free frames received. If the percentage of good frames gets too low, the link is dropped. “ppp quality <percentage>” enables this feature in an interface paragraph.
    • Looped link detection (no spiffy acronym) – each router created a random magic number. If the router gets its own magic number, then the routers suspects a looped link and may drop it.
    • Layer 2 load balancing – Multilink PPP (MLP or MP or MLPPP) fragments each frame into one fragment per link, and then sending a fragment per link.
    • Authentication – CHAP and PAP are supported by LCP. “ppp authentication <method>” enables this feature.
  • Enable PPP with “encapsulation ppp” on a serial interface. Use “debug ppp negotiation” to monitor the process of a PPP link coming up.
  • Multilink PPP combines multiple parallel serial links at L2.
    • Fragments each frame into one fragment per link, and then sending a fragment per link.
    • So that the fragments can be reassembled into a frame at the other end, MLP adds a 4 or 2 byte header to each of the fragments. Included in the header is a sequence number field and flags describing the beginning and ending fragments.
    • You can configure them with either multilink interfaces (my preference) or virtual templates.
      • “interface multilink1” would create a new multilink interface 1.
      • The Mu1 interface and serial interfaces you wish to participate in this MLP group would have “ppp multilink group 1” statements in their interface paragraphs.
    • Link Fragmentation and Interleaving (LFI) is a QoS tool that will take small, delay-sensitive packets (say, VoIP) and make sure they get down the MLP wires fast enough to avoid a service issue. LFI does this by interleaving the delay-sensitive fragments with fragments of larger packets that may not be delay-sensitive.
      • “ppp multilink interleave” enables interleaving.
      • “ppp multilink fragment-delay <x>” tells how large the fragments size will be, where size = <x> * bandwidth.
      • Available on one or multiple links.
      • The scheduler on the interface determines what packet will be sent next; therefore, many will use a LLQ so be sure that delay-sensitive traffic gets interleaved.

PPP Compression – PPP gives the ability to compress TCP headers, RTP headers or L2 payloads. Don’t forget that this process eats CPU and memory of the routers involved.

  • Payload compression is a better payoff if you push a lot of large packets through the link; header compression for small packets.
  • PPP L2 Payload Compression
    • The “compress” statement on the interface, with matching parameters, starts off Compression Control Protocol (CCP).
    • There’s 3 different compression algorithms supported.
      • Stacker
        • Uses Lempel-Ziv (LZ)
        • Supported on HDLC, PPP, FR, FRASI and ATM using MLP.
      • Microsoft Point to Point Compression (MPPC)
        • Uses LZ
        • Supported on PPP, FRASI and ATM using MLP.
      • Predictor
        • Uses Predictor algorithm instead of LZ.
        • Supported on PPP, FRASI and ATM using MLP.
  • Header Compression
    • TCP header compression
      • Will compress IP and TCP headers.
      • Compresses a combined IP and TCP header of an aggregate 40 bytes into 3 or 5 bytes.
      • “ip tcp header-compression [passive]” will enable the IP Control Protocol (IPCP) to negotiate this feature, “passive” implying that this side will accept an incoming negotiation for header compression, but won’t start it himself.
    • RTP header compression
      • Will compress IP, UDP and RTP headers.
      • Useful for voice and video flows that typically have small data fields.
      • Usually gets a 40 byte header into 2 or 4 bytes.
      • “ip rtp header-compression [passive]”.
    • You can also configure header compression as a part of a policy map, using “compress header ip tcp” or “compress header ip rtp” as a part of your class.