10.3
Optimizing Traffic Flow with Data Compression
10.3.5 Microsoft point-to-point compression
In March 1997, Microsoft Corporation introduced the Microsoft Point-to-Point Compression (MPPC) scheme as a means of representing arbitrary PPP packets in a compressed form. MPPC was ratified by the Internet Engineering Task Force (IETF) and is known as RFC 2118. Figure illustrates a Windows 95 client connecting to an NT server. The Windows 95 client software supports both MPPC and LZS, whereas the Microsoft NT server supports only MPPC, which is negotiated during the Compression Control Protocol (CCP) process.

PPP provides a standard method for transporting multiprotocol datagrams over point-to-point links. CCP provides a method to negotiate and utilize compression protocols over PPP encapsulated links. The MPPC algorithm is designed to optimize processor utilization and bandwidth utilization in order to support a large number of simultaneous connections. The MPPC algorithm is also optimized to work efficiently in typical PPP scenarios (1500-byte maximum transmission unit [MTU], and so on). Note that MPPC is a Layer 3 compression mechanism and should not be used with modem compression enabled on the client PC. Again, compressed data does not compress; it expands.

As you know, PPP options are negotiated. When the authentication is successful, the compression method is negotiated between both parties. In Example , you see the result of the debug ppp negotiation command.

The MPPC algorithm uses an LZ-based algorithm with a sliding window history buffer. The MPPC algorithm keeps a continuous history so that after 8192 bytes of data has been transmitted compressed, there is always 8192 bytes of history to use for compressing, except when the history is flushed. Before any MPPC packets may be communicated, PPP must reach the network-layer protocol phase, and the LCP control protocol must reach the Opened state. This is shown in Example .