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 .
|