summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc1975.txt
blob: f0cd33fc34c5cf2e21b3c17ccf5014bbc3c82b12 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
Network Working Group                                         D. Schremp
Request for Comments: 1975                                      J. Black
Category: Informational                                         J. Weiss
                                                               Magnalink
                                                             August 1996

              PPP Magnalink Variable Resource Compression

Status of This Memo

   This memo provides information for the Internet community.  This memo
   does not specify an Internet standard of any kind.  Distribution of
   this memo is unlimited.

Abstract

   The Point-to-Point Protocol (PPP) [1] provides a standard method of
   encapsulating multiple protocol datagrams over point-to-point links.
   The PPP Compression Control Protocol [2] provides a method for
   negotiating data compression over PPP links.

   The Magnalink Variable Resource Compression Algorithm (MVRCA) allows
   a wide range of interoperable compression implementations whose
   performance characteristics are a function of available CPU and
   memory resources.

Introduction

   The Magnalink variable resource compression algorithm defines a
   family of interoperable compression solutions with compression
   performance as a function of available CPU and memory resources.  It
   addresses the need for an algorithm which can be tailored to the
   system on which it is implemented without compromising
   interoperability.

Licensing

   Source licenses are available on a non-discriminatory basis.

   The contact person for evaluation under NDA and Licensing is:

           Director of OEM Sales
           Magnalink Communications Division
           Telco Systems Inc.
           63 Nahatan Street
           Norwood, Mass. 02062
           Phone: (617) 255-9400, Fax: (617) 255-5885
           oem@magna.telco.com



Schremp, Black & Weiss       Informational                      [Page 1]
^L
RFC 1975      PPP Magnalink Variable Resource Compression    August 1996


MVRCA Packets

   Before any MVRCA packets may be communicated, PPP must reach the
   Network-Layer Protocol phase[1], and the Compression Control Protocol
   must reach the Opened state.

   The text of a Packet to be compressed begins with PPP Protocol
   number.  The Packet header including the PPP Protocol number may have
   already been compressed when Protocol-Field-Compression has been
   negotiated.

Reliability and Sequencing

   MVRCA packets may be sent across an unreliable link or may use a
   reliable link as described in "PPP Reliable Transmission"[3] if the
   reliable link has been negotiated. If frames are delivered out of
   order or a frame is dropped, the decompressor will detect this and
   requests a resynchronization using the Reset-Req and Reset-Ack types
   of the CCP[2], with the compressor for the affected context.

Data Expansion

   Although the compression algorithm may occasionally expand a data
   packet, there is no expansion in MVRCA since any expanded data is
   instead sent uncompressed. Dictionary synchronization is maintained
   across uncompressed packets.

Encapsulation

   The encapsulation consists of the PPP Protocol Identifier, a bit to
   indicate if the data is compressed, the Context Identifier(CID), a
   proprietary flag bit (E), a Packet Integrity Byte(PIB), and the
   Compressed data.

       0                   1
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | PPP Protocol Identifier       |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |C|E|   CID     |     PIB       |  C compressed flag
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  1 data is compressed
      | Compressed data  ...             0 data is not compressed
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+








Schremp, Black & Weiss       Informational                      [Page 2]
^L
RFC 1975      PPP Magnalink Variable Resource Compression    August 1996


Compressed/Uncompressed Flag (C)

   When attempting to compress certain types of Packets or Fragments the
   compressor may not be effective. When this occurs the uncompressed
   data is added to the compression History Buffer and sent across the
   link in frame with the Compressed/Uncompressed Flag(C) set to 0.

Context Identifier (CID)

   Since PPP will transport multiple protocol datagrams it may be
   advantageous to compress each protocol or each virtual circuit in a
   different History Buffer or Context. The CID allows the compressor to
   indicate to the decompressor which History Buffer the compressor
   decided to use for a given Packet. The basis of this decision is up
   to the implementor. The number of buffers and size of each buffer is
   negotiated.

   A CID of 0 indicates that the Packet by Packet context will be used
   if it has been negotiated. The Packet by Packet context is cleared
   between Packets so that this History Buffer is not maintained across
   Packet boundaries.

Packet Integrity Byte (PIB)

   To ensure that Packets are being compressed and decompressed
   correctly and to ensure History Buffer synchronization is maintained,
   a Packet Integrity Byte is added to the packet header.

   The packet integrity byte is defined in the full protocol
   specification.

Configuration Option Format

   Description

   The CCP MVRCA Configuration Option negotiates the use of MVRCA on the
   link. By default or ultimate disagreement, no compression is used.

     0                   1                   2                   3
     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |     Type      |    Length     |FE |P| History |  # Contexts   |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+








Schremp, Black & Weiss       Informational                      [Page 3]
^L
RFC 1975      PPP Magnalink Variable Resource Compression    August 1996


   Type

      24

   Length

       4


   FE  - Features

   Negotiates features specific to this compression algorithm.


   History

   Defines the size of the compression history buffer.  Valid values are
   defined in the full protocol specification.


   # Contexts

   This is the number of contexts. Each context implies the  creation of
   a History Buffer for that context of the size  indicated in the
   Context History field. Values are  1-63.  This value includes both
   the Packet by Packet context and the number of contexts for which
   history is maintained.  Therefore, when this value is 1 and the P
   (Packet by Packet) flag is also 1, then only in packet compression is
   supported and history context is not retained across packet
   boundaries.  The Context Identifier (CID) starts with 1 for contexts
   where the history is maintained.


   P - Packet by Packet flag

   When 1, packet by packet compression is enabled for the context whose
   context ID is 0.  When P is 0, packet by packet compression is not
   supported.













Schremp, Black & Weiss       Informational                      [Page 4]
^L
RFC 1975      PPP Magnalink Variable Resource Compression    August 1996


Security Considerations

   Security issues are not discussed in this memo.

References

   [1] Simpson, W., Editor, "The Point-to-Point Protocol (PPP)", STD 51,
       RFC 1661, July 1994.

   [2] Rand, D., "The PPP Compression Control Protocol (CCP)", RFC 1962,
       June 1996.

   [3] Rand, D., "PPP Reliable Transmission", RFC 1663, July 1994.

Acknowledgments

Chair's Address

   The working group can be contacted via the current chair:

   Karl Fox
   Ascend Communications
   3518 Riverside Drive, Suite 101
   Columbus, Ohio 43221

   EMail: karl@ascend.com

























Schremp, Black & Weiss       Informational                      [Page 5]
^L
RFC 1975      PPP Magnalink Variable Resource Compression    August 1996


Authors' Addresses

   Comments about this document may also be directed to the authors.

   Doug Schremp
   Telco Systems, Inc.
   Magnalink Communications Division
   63 Nahatan Street
   Norwood Ma. 02062

   Phone: (617) 255-9400
   EMail: dhs@magna.telco.com


   Jeffrey Black
   Telco Systems, Inc.
   Magnalink Communications Division
   63 Nahatan Street
   Norwood Ma. 02062

   Phone: (617) 255-9400
   EMail: jtb@magna.telco.com


   Jeffrey Weiss
   Telco Systems, Inc.
   Magnalink Communications Division
   63 Nahatan Street
   Norwood Ma. 02062

   Phone: (617) 255-9400
   EMail: jaw@magna.telco.com



















Schremp, Black & Weiss       Informational                      [Page 6]
^L