RFC1978 日本語訳

1978 PPP Predictor Compression Protocol. D. Rand. August 1996. (Format: TXT=17424 bytes) (Status: INFORMATIONAL)
プログラムでの自動翻訳です。
英語原文

Network Working Group                                            D. Rand
Request for Comments: 1978                                        Novell
Category: Informational                                      August 1996

コメントを求めるワーキンググループD.底ならし革要求をネットワークでつないでください: 1978年のノベルカテゴリ: 情報の1996年8月

                   PPP Predictor Compression Protocol

ppp予言者圧縮プロトコル

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.

Pointからポイントへのプロトコル(PPP)[1]は複数のプロトコルデータグラムをポイントツーポイント接続の上に要約する標準方法を提供します。

   The PPP Compression Control Protocol [2] provides a method for
   transporting multi-protocol datagrams over PPP encapsulated links.

PPP Compression Controlプロトコル[2]はPPPの上でマルチプロトコルデータグラムを輸送するための方法に要約のリンクを提供します。

   This document describes the use of the Predictor data compression
   algorithm for compressing PPP encapsulated packets.

PPPを圧縮するとパケットがカプセルに入れられたので、このドキュメントはPredictorデータ圧縮アルゴリズムの使用について説明します。

Table of Contents

目次

     1.     Introduction ......................................    1
     2.     Licensing .........................................    2
     3.     Predictor Packets .................................    2
        3.1       Predictor theory ............................    2
        3.2       Encapsulation for Predictor type 1 ..........    7
        3.3       Encapsulation for Predictor type 2 ..........    8
     4.     Configuration Option Format .......................    9
     SECURITY CONSIDERATIONS ..................................    9
     REFERENCES ...............................................    9
     ACKNOWLEDGEMENTS .........................................    9
     CHAIR'S ADDRESS ..........................................    9
     AUTHOR'S ADDRESS .........................................    9

1. 序論… 1 2. 認可します。 2 3. 予言者パケット… 2 3.1予言者理論… 2 3.2 Predictorのためのカプセル化は1をタイプします… 7 3.3 Predictorのためのカプセル化は2をタイプします… 8 4. 設定オプション形式… 9 セキュリティ問題… 9つの参照箇所… 9つの承認… 9 議長のアドレス… 9作者のアドレス… 9

1.  Introduction

1. 序論

   Predictor is a high speed compression algorithm, available without
   license fees.  The compression ratio obtained using predictor is not
   as good as other compression algorithms, but it remains one of the
   fastest algorithms available.

予言者は実施料なしで利用可能な高速圧縮アルゴリズムです。 予言者を使用することで得られた圧縮比は他の圧縮アルゴリズムほど良くはありませんが、それは利用可能な最も速いアルゴリズムの1つのままで残っています。

   Note that although care has been taken to ensure that the following
   code does not infringe any patents, there is no assurance that it is

以下のコードがどんな特許も侵害しないのを保証するために注意しましたが、保証が全くないことに注意してください。

Rand                         Informational                      [Page 1]

RFC 1978                   Predictor Protocol                August 1996

[1ページ]RFC1978予言者プロトコル1996年8月の情報の底ならし革

   not covered by a patent.

特許で、覆われません。

2.  Licensing

2. 認可

   There are no license fees or costs associated with using the
   Predictor algorithm.

Predictorアルゴリズムを使用すると関連しているどんな実施料もコストもありません。

   Use the following code at your own risk.

自分の責任で以下のコードを使用してください。

3.  Predictor Packets

3. 予言者パケット

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

どんなPredictorパケットも伝えられるかもしれない前に、PPPはNetwork-層のプロトコルフェーズに達しなければなりません、そして、Compression ControlプロトコルはOpened状態に達しなければなりません。

   Exactly one Predictor datagram is encapsulated in the PPP Information
   field, where the PPP Protocol field indicates type hex 00FD
   (compressed datagram).

ちょうど1個のPredictorデータグラムがPPP情報分野で要約されます。そこで、PPPプロトコル分野はタイプ十六進法00FD(圧縮されたデータグラム)を示します。

   The maximum length of the Predictor datagram transmitted over a PPP
   link is the same as the maximum length of the Information field of a
   PPP encapsulated packet.

PPPリンクの上に送られたPredictorデータグラムの最大の長さはPPPの情報分野の最大の長さがパケットをカプセルに入れったのと同じです。

   Prior to compression, the uncompressed data begins with the PPP
   Protocol number.  This value MAY be compressed when Protocol-Field-
   Compression is negotiated.

圧縮の前に、解凍されたデータはPPPプロトコル番号で始まります。 プロトコル分野圧縮が交渉されるとき、この値は圧縮されるかもしれません。

   PPP Link Control Protocol packets MUST NOT be send within compressed
   data.

PPP Link Controlプロトコルパケットは圧縮されたデータの中で発信することであるはずがありません。

3.1.  Predictor theory

3.1. 予言者理論

   Predictor works by filling a guess table with values, based on the
   hash of the previous characters seen. Since we are either emitting
   the source data, or depending on the guess table, we add a flag bit
   for every byte of input, telling the decompressor if it should
   retrieve the byte from the compressed data stream, or the guess
   table. Blocking the input into groups of 8 characters means that we
   don't have to bit-insert the compressed output - a flag byte preceeds
   every 8 bytes of compressed data. Each bit of the flag byte
   corresponds to one byte of reconstructed data.

予言者は、見られた前のキャラクタの細切れ肉料理に基づいて値で推測テーブルを満たすことによって、働いています。 ソースデータを放つか、または推測テーブルによっているので、私たちはあらゆるバイトの入力のためにフラグビットを加えます、圧縮されたデータ・ストリーム、または推測テーブルからそれがバイトを検索するべきであるかどうか減圧装置に言って。 8つのキャラクタのグループに入力を妨げるのは、私たちがビット差し込みに圧縮された出力を持っていないことを意味します--フラグバイトは8バイト毎の圧縮されたデータをpreceedsします。 フラグバイトの各ビットは1バイトの再建されたデータに対応しています。

Take the source file:

ソースファイルを取ってください:

000000    4141 4141 4141 410a  4141 4141 4141 410a    AAAAAAA.AAAAAAA.
000010    4141 4141 4141 410a  4141 4141 4141 410a    AAAAAAA.AAAAAAA.
000020    4142 4142 4142 410a  4241 4241 4241 420a    ABABABA.BABABAB.
000030    7878 7878 7878 780a                         xxxxxxx.

000000 4141 4141 4141 410a4141 4141 4141 410a AAAAAAA.AAAAAAA。 000010 4141 4141 4141 410a4141 4141 4141 410a AAAAAAA.AAAAAAA。 000020 4142 4142 4142 410a4241 4241 4241 420a ABABABA.BABABAB。 000030 7878 7878 7878 780a xxxxxxx。

Rand                         Informational                      [Page 2]

RFC 1978                   Predictor Protocol                August 1996

[2ページ]RFC1978予言者プロトコル1996年8月の情報の底ならし革

Compressing the above data yields the following:

上記のデータを圧縮すると、以下はもたらされます:

000000    6041 4141 4141 0a60  4141 4141 410a 6f41    `AAAAA.`AAAAA.oA
000010    0a6f 410a 4142 4142  4142 0a60 4241 4241    .oA.ABABAB.`BABA
000020    420a 6078 7878 7878  0a                     B.`xxxxx.

000000 6041 4141 4141 0a60 4141 4141 410a 6f41'AAAAA'AAAAA.oA000010 0a6f 410a4142 4142 4142 0a60 4241 4241 .oA.ABABAB'ラム酒入りケーキ000020 420a6078 7878 7878 0a B.'xxxxx'。

Reading the above data says:

上記のデータを読むのは言います:

flag = 0x60 - 2 bytes in this block were guessed correctly, 5 and 6.
     Reconstructed data is:    0 1 2 3 4 5 6 7
        File:                  A A A A A
        Guess table:                     A A
flag = 0x60 - 2 bytes in this block were guessed correctly, 5 and 6.
     Reconstructed data is:    0 1 2 3 4 5 6 7
        File:                  A A A A A
        Guess table:                     A A
flag = 0x6f - 6 bytes in this block were guessed correctly, 0-3, 5 and 6.
     Reconstructed data is:    0 1 2 3 4 5 6 7
        File:                          A
        Guess table:           A A A A   A A
flag = 0x6f - 6 bytes in this block were guessed correctly, 0-3, 5 and 6.
     Reconstructed data is:    0 1 2 3 4 5 6 7
        File:                          A
        Guess table:           A A A A   A A
flag = 0x41 - 2 bytes in this block were guessed correctly, 0 and 6.
     Reconstructed data is:    0 1 2 3 4 5 6 7
        File:                    B A B A B
        Guess table:           A           A
flag = 0x60 - 2 bytes in this block were guessed correctly, 5 and 6.
     Reconstructed data is:    0 1 2 3 4 5 6 7
        File:                  B A B A B
        Guess table:                     A B
flag = 0x60 - 2 bytes in this block were guessed correctly, 5 and 6
     Reconstructed data is:    0 1 2 3 4 5 6 7
        File:                  x x x x x
        Guess table:                     x x

これの0×60--2バイトが妨げる旗=が正しく推測された、5と6 再建されたデータは以下の通りです。 0 1 2 3 4 5 6 7はファイルされます: A A A A Guessテーブル: このブロックの0×60--2A旗=バイトが正しく推測された、5と6 再建されたデータは以下の通りです。 0 1 2 3 4 5 6 7はファイルされます: A A A A Guessテーブル: A旗は0x6fと等しいです--このブロックの6バイトが正しく、0-3に推測された、5と6 再建されたデータは以下の通りです。 0 1 2 3 4 5 6 7はファイルされます: Guessテーブル: A A A A A旗は0x6fと等しいです--このブロックの6バイトは正しく推測されました、0-3、5と6 再建されたデータは以下の通りです。 0 1 2 3 4 5 6 7はファイルされます: Guessテーブル: A A A A A旗の=0x41--このブロックの2バイトが正しく推測された、0と6 再建されたデータは以下の通りです。 0 1 2 3 4 5 6 7はファイルされます: B A B A B Guessは以下をテーブルの上に置きます。 このブロックの0×60--2A旗=バイトが正しく推測された、5と6 再建されたデータは以下の通りです。 0 1 2 3 4 5 6 7はファイルされます: B A B A B Guessは以下をテーブルの上に置きます。 B旗の=0x60--このブロックの2バイトは正しく推測されて、5と6つのReconstructedデータは以下の通りです。 0 1 2 3 4 5 6 7はファイルされます: x x x x x推測テーブル: x x

   And now, on to the source - note that it has been modified to work
   with a split block. If your data stream can't be split within a block
   (e.g., compressing packets), then the code dealing with "final", and
   the memcpy are not required.  You can detect this situation (or
   errors, for that matter) by observing that the flag byte indicates
   that more data is required from the compressed data stream, but you
   are out of data (len in decompress is <= 0). It *is* ok if len == 0,
   and flags indicate guess table usage.

ソースへの現在--そして、それが分裂ブロックで働くように変更されたことに注意してください。 データ・ストリームがそうすることができないなら、次に、ブロック(例えば、パケットを圧縮する)、「決勝」に対処するコードの中で分けられてください。そうすれば、memcpyは必要ではありません。 あなたがこの状況を検出できる、(または、誤り、さらに言えば)、フラグバイトがそのより多くのデータを示すのを観測するのが圧縮されたデータ・ストリームから必要でしたが、あなたはデータを使い果たしました(コネが減圧するlenは<=0です)。 それ、len=0であるなら、*はOKに*であり、旗は推測テーブル用法を示します。

   #include <stdio.h>
   #ifdef __STDC__

#<stdio.h>#ifdef__STDC__を含めてください。

Rand                         Informational                      [Page 3]

RFC 1978                   Predictor Protocol                August 1996

[3ページ]RFC1978予言者プロトコル1996年8月の情報の底ならし革

   #include <stdlib.h>
   #endif
   #include <string.h>
   /*
    * pred.c -- Test program for Dave Rand's rendition of the
    * predictor algorithm
    * Updated by: iand@labtam.labtam.oz.au (Ian Donaldson)
    * Updated by: Carsten Bormann <cabo@cs.tu-berlin.de>
    * Original  : Dave Rand <dlr@bungi.com>/<dave_rand@novell.com>
    */

#<stdlib.h>#endif#インクルード<string.h>/**pred.cを含めてください--デーヴRandの以下によってアップデートされた*予言者アルゴリズム*の表現のためのテストプログラム 以下によってアップデートされた iand@labtam.labtam.oz.au (イアン・ドナルドソン)* カルステン Bormann <cabo@cs.tu-berlin.de 、gt;、*オリジナル: デーヴ Rand <dlr@bungi.com 、gt;、/<dave_底ならし革@novell.com>*/

   /* The following hash code is the heart of the algorithm:
    * It builds a sliding hash sum of the previous 3-and-a-bit
    * characters which will be used to index the guess table.
    * A better hash function would result in additional compression,
    * at the expense of time.
    */
   #define HASH(x) Hash = (Hash << 4) ^ (x)

以下の細切れ肉料理がコード化する/*はアルゴリズムの心です: * それは推測テーブルに索引をつけるのに使用される前の3としばらく*キャラクタの滑っている細切れ肉料理合計を築き上げます。 * より良いハッシュ関数は時間を犠牲にして追加圧縮、*をもたらすでしょう。 */#は細切れ肉料理(x)細切れ肉料理=(細切れ肉料理<<4)^を定義します。(x)

   static unsigned short int Hash;
   static unsigned char GuessTable[65536];

静的な無記名の短いint Hash。 静的な無記名の炭のGuessTable[65536]。

   static int
   compress(source, dest, len)
   unsigned char *source, *dest;
   int len;
   {
       int i, bitmask;
       unsigned char *flagdest, flags, *orgdest;

静的なint湿布(ソース、dest、len)の無記名の炭*ソース、*dest。 int len。 int i、ビットマスク;、無記名、*最もflagdestに焦げて、*最もorgdestに弛みます。

       orgdest = dest;
       while (len) {
           flagdest = dest++; flags = 0; /* All guess wrong initially */
           for (bitmask=1, i=0; i < 8 && len; i++, bitmask <<= 1) {
               if (GuessTable[Hash] == *source) {
                   flags |= bitmask; /* Guess was right - don't output */
               } else {
                   GuessTable[Hash] = *source;
                   *dest++ = *source; /* Guess wrong, output char */
               }
               HASH(*source++);len--;
           }
           *flagdest = flags;
       }
       return(dest - orgdest);
   }

最もorgdestな=dest。 等しい..旗..すべて..推測..虐待..初めは..ビットマスク..等しい..ビットマスク..等しい..細切れ肉料理..ソース..旗..ビットマスク..推測..権利..出力..ほか..細切れ肉料理..ソース..等しい..ソース..推測..悪事..出力..炭..ソース..等しい..旗..戻る }

   static int

静的なint

Rand                         Informational                      [Page 4]

RFC 1978                   Predictor Protocol                August 1996

[4ページ]RFC1978予言者プロトコル1996年8月の情報の底ならし革

   decompress(source, dest, lenp, final)
   unsigned char *source, *dest;
   int *lenp, final;
   {
       int i, bitmask;
       unsigned char flags, *orgdest;
       int len = *lenp;
       orgdest = dest;
       while (len >= 9) {
           flags = *source++;
           for (i=0, bitmask = 1; i < 8; i++, bitmask <<= 1) {
               if (flags & bitmask) {
                   *dest = GuessTable[Hash];       /* Guess correct */
               } else {
                   GuessTable[Hash] = *source;     /* Guess wrong */
                   *dest = *source++;          /* Read from source */
                   len--;
               }
               HASH(*dest++);
           }
           len--;
       }
       while (final && len) {
           flags = *source++;
           len--;
           for (i=0, bitmask = 1; i < 8; i++, bitmask <<= 1) {
               if (flags & bitmask) {
                   *dest = GuessTable[Hash];       /* Guess correct */
               } else {
                   if (!len)
                       break;  /* we seem to be really done -- cabo */
                   GuessTable[Hash] = *source;     /* Guess wrong */
                   *dest = *source++;          /* Read from source */
                   len--;
               }
               HASH(*dest++);
           }
       }
       *lenp = len;
       return(dest - orgdest);
   }

無記名の炭*ソース、*destを減圧してください(ソース、dest、lenp、決勝)。 int*lenp、決勝。 { int i(無記名の炭は*最もorgdestに弛みます; int lenが*lenpと等しいというビットマスク)は最もorgdestにdestと等しいです; *(旗とビットマスク)であるなら、dest=GuessTableHash; /*は正しい*/を推測します。(len>=9)である、旗が(1; i<8; i++、ビットマスク<<i=0、ビットマスク==1)のための*ソース++と等しい、GuessTableHashは*ソースと等しいです; ほかに、/*推測間違った*/*dest=*ソース++(ソース*/lenから読まれた/*)、HASH(*dest++);、len--、;、(最終的である、len); 旗..等しい..ソース..ビットマスク..ビットマスク..旗..ビットマスク..推測..修正..ほかに..中断..見える..本当..ソース..推測..間違う..ソース..読む..ソース..等しい; 戻ってください(dest、最もorgdest); }

   #define SIZ1 8192

#SIZ1 8192を定義してください。

   static void
   compress_file(f) FILE *f; {
       char bufp[SIZ1];
       char bufc[SIZ1/8*9+9];

静的な空の湿布_ファイル(f)FILE*f。 bufp[SIZ1]を炭にしてください; 炭のbufc[SIZ1/8*9+9]

Rand                         Informational                      [Page 5]

RFC 1978                   Predictor Protocol                August 1996

[5ページ]RFC1978予言者プロトコル1996年8月の情報の底ならし革

       int len1, len2;
       while ((len1 = fread(bufp, 1, SIZ1, f)) > 0) {
           len2 = compress((unsigned char *)bufp,
           (unsigned char *)bufc, len1);
           (void) fwrite(bufc, 1, len2, stdout);
       }
   }

int len1、len2。 len2は湿布((無記名の炭*)bufp、(無記名の炭*)bufc、len1)と等しいです; (len1=fread(bufp、1、SIZ1、f)>0)である間の(空)のfwrite(bufc、1、len2、stdout)

   static void
   decompress_file(f) FILE *f; {
       char bufp[SIZ1+9];
       char bufc[SIZ1*9+9];
       int len1, len2, len3;

静的な空間は_ファイル(f)FILE*fを減圧します。 炭のbufp[SIZ1+9]; bufc[SIZ1*9+9]を炭にしてください; int len1、len2、len3

       len1 = 0;
       while ((len3 = fread(bufp+len1, 1, SIZ1, f)) > 0) {
           len1 += len3;
           len3 = len1;
           len2 = decompress((unsigned char *)bufp,
           (unsigned char *)bufc, &len1, 0);
           (void) fwrite(bufc, 1, len2, stdout);
           (void) memcpy(bufp, bufp+len3-len1, len1);
       }
       len2 = decompress((unsigned char *)bufp,
       (unsigned char *)bufc, &len1, 1);
       (void) fwrite(bufc, 1, len2, stdout);
   }

len1=0。 等しい..減圧..無記名..炭..無記名..炭..空..空..減圧..無記名..炭..無記名..炭 (空間) fwrite(bufc、1、len2、stdout)。 }

   int
   main(ac, av)
       int ac;
       char** av;
   {
       char **p = av+1;
       int dflag = 0;

intの主な(ac、av)int ac。 **avを炭にしてください。 炭**pはav+1と等しいです; int dflag=0

       for (; --ac > 0; p++) {
           if (!strcmp(*p, "-d"))
               dflag = 1;
           else if (!strcmp(*p, "-"))
               (dflag?decompress_file:compress_file)(stdin);
           else {
               FILE *f = fopen(*p, "r");
               if (!f) {
                   perror(*p);
                   exit(1);
               }
               (dflag?decompress_file:compress_file)(f);

ほかに..減圧..ファイル..圧縮..ファイル..ほかに..ファイル..等しい..出口..減圧..ファイル..圧縮..ファイル

Rand                         Informational                      [Page 6]

RFC 1978                   Predictor Protocol                August 1996

[6ページ]RFC1978予言者プロトコル1996年8月の情報の底ならし革

               (void) fclose(f);
           }
       }
       return(0);
   }

(空)のfclose(f)。 } リターン(0)。 }

3.2.  Encapsulation for Predictor type 1

3.2. Predictorタイプ1のためのカプセル化

   The correct encapsulation for type 1 compression is the protocol
   type, 1 bit indicating if the data is compressed or not, 15 bits of
   the uncompressed data length in octets, compressed data, and
   uncompressed CRC-16 of the two octets of unsigned length in network
   byte order, followed by the original, uncompressed data packet.

1つの圧縮がデータが圧縮されているかどうかを示す1ビット、八重奏における、解凍されたデータの長さの15ビットのプロトコルタイプであり、データを圧縮して、無記名の長さの2つの八重奏のCRC-16を解凍したタイプがオリジナルがあとに続いたバイトオーダーをネットワークでつなぐので、正しいカプセル化はデータ・パケットを解凍しました。

    0                   1
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | CCP Protocol Identifier       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |*| Uncompressed length (octets)|   * is compressed flag
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+   1 means data is compressed
   | Compressed data...            |   0 means data is not compressed
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | CRC - 16                      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CCPプロトコル識別子| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |*| 解凍された長さ(八重奏)| * 1が意味する圧縮された旗の+++++++++++++++++データは圧縮されていますか?| データを圧縮します… | 0が、データがそうであることを意味する、+++++++++++++++++を圧縮しません。| CRC--16| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   The CCP Protocol Identifier that starts the packet is always 0xfd.
   If PPP Protocol field compression has not be negotiated, it MUST be a
   16-bit field.

いつもパケットを始めるCCPプロトコルIdentifierは0xfdです。 PPPプロトコル分野圧縮が交渉されていないなら、それは16ビットの分野であるに違いありません。

   The Compressed data is the Protocol Identifier and the Info fields of
   the original PPP packet described in [1], but not the Address,
   Control, FCS, or Flag.  The CCP Protocol field MAY be compressed as
   described in [1], regardless of whether the Protocol field of the CCP
   Protocol Identifier is compressed or whether PPP Protocol field
   compression has been negotiated.

Compressedデータは、Address、Control、FCS、またはFlagではなく、オリジナルのPPPパケットの分野が[1]で説明したプロトコルIdentifierとInfoです。 [1]で説明されることCCPプロトコルIdentifierのプロトコル分野が圧縮されるかどうか、またはPPPプロトコル分野圧縮が交渉されたかどうかにかかわらずCCPプロトコル分野は圧縮されるかもしれません。

   It is not required that any of the fields land on an even word
   boundary - the compressed data may be of any length.  If during the
   decode procedure, the CRC-16 does not match the decoded frame, it
   means that the compress or decompress process has become
   desyncronized.  This will happen as a result of a frame being lost in
   transit if LAPB is not used.  In this case, a new configure-request
   must be sent, and the CCP will drop out of the open state.  Upon
   receipt of the configure-ack, the predictor tables are cleared to
   zero, and compression can be resumed without data loss.

分野のどれかが同等の語境界に着陸するのが必要ではありません--圧縮されたデータはどんな長さのものであるかもしれません。 手順を解読してください、そして、CRC-16は解読されたフレームに合わないで、それは、湿布か減圧の過程がdesyncronizedされるようになったことを意味します。 これは、フレームの結果、LAPBが使用されていないならトランジットで失われていながら、起こるでしょう。 この場合a、要求を新しく構成するのは、送って開口状態からのCCP意志の低下であるに違いありません。 ackを構成することを受け取り次第、予言者テーブルをゼロまできれいにします、そして、データの損失なしで圧縮を再開できます。

Rand                         Informational                      [Page 7]

RFC 1978                   Predictor Protocol                August 1996

[7ページ]RFC1978予言者プロトコル1996年8月の情報の底ならし革

3.3.  Encapsulation for Predictor type 2

3.3. Predictorタイプ2のためのカプセル化

   The correct encapsulation for type 2 compression is the protocol
   type, followed by the data stream.  Within the data stream is the
   current frame length (uncompressed), compressed data, and
   uncompressed CRC-16 of the two octets of unsigned length in network
   byte order, followed by the original, uncompressed data.  The data
   stream may be broken at any convenient place for encapsulation
   purposes.  With type 2 encapsulation, LAPB is almost essential for
   correct delivery.

タイプ2圧縮のための正しいカプセル化はデータ・ストリームがいうことになったプロトコルタイプです。 中では、データ・ストリームが現在のフレームの長さ(解凍される)です、圧縮されたデータ、そして、オリジナルがあとに続いたネットワークバイトオーダーにおける、無記名の長さの2つの八重奏の解凍されたCRC-16がデータを解凍しました。 データ・ストリームはカプセル化目的のためのどんな便利な場所でも中断しているかもしれません。 タイプ2カプセル化によって、正しい配送に、LAPBはほとんど不可欠です。

    0                   1
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | CCP Protocol Identifier       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |*| Uncompressed length (octets)|   * is compressed flag
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+   1 means data is compressed
   | Compressed data...            |   0 means data is not compressed
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | CRC-16                        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |*| Uncompressed length (octets)|   * is compressed flag
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
            ...

0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CCPプロトコル識別子| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |*| 解凍された長さ(八重奏)| * 1が意味する圧縮された旗の+++++++++++++++++データは圧縮されていますか?| データを圧縮します… | 0が、データがそうであることを意味する、+++++++++++++++++を圧縮しません。| CRC-16| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |*| 解凍された長さ(八重奏)| * 圧縮された旗の+++++++++++++++++です…

   The CCP Protocol Identifier that starts the packet is always 0xfd.
   If PPP Protocol field compression has not be negotiated, it MUST be a
   16-bit field.

いつもパケットを始めるCCPプロトコルIdentifierは0xfdです。 PPPプロトコル分野圧縮が交渉されていないなら、それは16ビットの分野であるに違いありません。

   The Compressed data is the Protocol Identifier and the Info fields of
   the original PPP packet described in [1], but not the Address,
   Control, FCS, or Flag.  The CCP Protocol field MAY be compressed as
   described in [1], regardless of whether the Protocol field of the CCP
   Protocol Identifier is compressed or whether PPP Protocol field
   compression

Compressedデータは、Address、Control、FCS、またはFlagではなく、オリジナルのPPPパケットの分野が[1]で説明したプロトコルIdentifierとInfoです。 [1]で説明されるように圧縮されていて、CCPプロトコル分野はそうするかもしれません、CCPプロトコルIdentifierのプロトコル分野が圧縮されるかどうか、またはPPPプロトコルが圧縮をさばくかどうかにかかわらず

   It is not required that any field land on an even word boundary - the
   compressed data may be of any length.  If during the decode
   procedure, the CRC-16 does not match the decoded frame, it means that
   the compress or decompress process has become desyncronized.  This
   will happen as a result of a frame being lost in transit if LAPB is
   not used.  In this case, a new configure-request must be sent, and
   the CCP will drop out of the open state.  Upon receipt of the
   configure-ack, the predictor tables are cleared to zero, and
   compression can be resumed without data loss.

どんな分野も同等の語境界に着陸するのが必要ではありません--圧縮されたデータはどんな長さのものであるかもしれません。 手順を解読してください、そして、CRC-16は解読されたフレームに合わないで、それは、湿布か減圧の過程がdesyncronizedされるようになったことを意味します。 これは、フレームの結果、LAPBが使用されていないならトランジットで失われていながら、起こるでしょう。 この場合a、要求を新しく構成するのは、送って開口状態からのCCP意志の低下であるに違いありません。 ackを構成することを受け取り次第、予言者テーブルをゼロまできれいにします、そして、データの損失なしで圧縮を再開できます。

Rand                         Informational                      [Page 8]

RFC 1978                   Predictor Protocol                August 1996

[8ページ]RFC1978予言者プロトコル1996年8月の情報の底ならし革

4.  Configuration Option Format

4. 設定オプション形式

   There are no options for Predictor type one or two.

Predictorタイプ1かtwoのためのオプションが全くありません。

Security Considerations

セキュリティ問題

   Security issues are not discussed in this memo.

このメモで安全保障問題について議論しません。

References

参照

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

[1] シンプソン、W.、「二地点間プロトコル」、STD51、RFC1661、1994年7月。

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

D.、「ppp圧縮制御プロトコル(CCP)」、RFC1962 1996年6月の[2]底ならし革。

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

[3] 底ならし革、D.、「pppの信頼できる送信」、RFC1663、1994年7月。

Acknowledgments

承認

   The predictor algorithm was originally implemented by Timo Raita, at
   the ACM SIG Conference, New Orleans, 1987.

予言者アルゴリズムはACM SIGコンファレンス、ニューオリンズ、1987年に元々、ティモRaitaによって実行されました。

   Bill Simpson helped with the document formatting.

ビル・シンプソンはドキュメント形式で助けました。

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

カールフォックスはオハイオ コミュニケーション3518リバーサイド・ドライブ、Suite101コロンブス、43221を昇ります。

   EMail: karl@ascend.com

メール: karl@ascend.com

Author's Address

作者のアドレス

   Questions about this memo can also be directed to:

また、このメモに関する質問による以下のことよう指示できます。

   Dave Rand
   Novell, Inc.
   2180 Fortune Drive
   San Jose, CA  95131

Driveサンノゼ、デーヴ底ならし革ノベルInc.2180Fortuneカリフォルニア 95131

   +1 408 321-1259
   EMail: dave_rand@novell.com

+1 408 321-1259 メールしてください: dave_rand@novell.com

Rand                         Informational                      [Page 9]

底ならし革情報です。[9ページ]

一覧

 RFC 1〜100  RFC 1401〜1500  RFC 2801〜2900  RFC 4201〜4300 
 RFC 101〜200  RFC 1501〜1600  RFC 2901〜3000  RFC 4301〜4400 
 RFC 201〜300  RFC 1601〜1700  RFC 3001〜3100  RFC 4401〜4500 
 RFC 301〜400  RFC 1701〜1800  RFC 3101〜3200  RFC 4501〜4600 
 RFC 401〜500  RFC 1801〜1900  RFC 3201〜3300  RFC 4601〜4700 
 RFC 501〜600  RFC 1901〜2000  RFC 3301〜3400  RFC 4701〜4800 
 RFC 601〜700  RFC 2001〜2100  RFC 3401〜3500  RFC 4801〜4900 
 RFC 701〜800  RFC 2101〜2200  RFC 3501〜3600  RFC 4901〜5000 
 RFC 801〜900  RFC 2201〜2300  RFC 3601〜3700  RFC 5001〜5100 
 RFC 901〜1000  RFC 2301〜2400  RFC 3701〜3800  RFC 5101〜5200 
 RFC 1001〜1100  RFC 2401〜2500  RFC 3801〜3900  RFC 5201〜5300 
 RFC 1101〜1200  RFC 2501〜2600  RFC 3901〜4000  RFC 5301〜5400 
 RFC 1201〜1300  RFC 2601〜2700  RFC 4001〜4100  RFC 5401〜5500 
 RFC 1301〜1400  RFC 2701〜2800  RFC 4101〜4200 

スポンサーリンク

シェルスクリプトを実行すると『そのようなファイルやディレクトリはありません』や『コマンドが見つかりません』と出る場合

ホームページ製作・web系アプリ系の製作案件募集中です。

上に戻る