Cisco IOS QoS – PPP Payload Compressionの設定

スポンサーリンク

payload(ヘッダー以外の部分)圧縮は、メモリまたはCPUリソースを消費してデータを小さくする技術です。今日では珍しいですが、低帯域に大量のデータを流したい時に有効な技術です。

PPP Payload Compression

PPP Payload Compression 概要

PPPで使用可能なPayload Compressionには以下の2つが挙げられます。

stac predictor
概要 連続した符号を置換 次の文字列を予測
サポート対象 PPP, HDLC, Frame Relayなど PPPのみ
CPU負荷
memory負荷
用途 LAN WAN
圧縮効率 ×
処理速度 ×

stacker Compression

Stacker CompressionはLempel-Zivアルゴリズムを使用する圧縮形式です。連続した文字列を符号に置き換える事で圧縮を実現します。連続した文字列が発生するかどうかは、データの変化の少なさ(同じようなアプリケーションの通信かどうか)次第です。従って、LANはWANよりも同一のアプリケーションによる通信が発生しやすいので、LANで使用するのが効率的なアルゴリズムと言えます。メモリ負荷は少ないですが、CPUに与える負荷は大きいです。

Predictor Compression

Predictor Compressionは辞書に基づいて文字列の予測を試みます。他のアルゴリズムに比べて圧縮効率は良くないですが、処理速度では優れたアルゴリズムです。CPU負荷は少ないですが、メモリに与える負荷は大きいです。

PPP Payload Compression 必須設定

以下のコマンドで圧縮形式を指定すると、payloadが圧縮されます。

Router(config-if)# compression [ stac | predictor ]

動作確認

以下の環境で動作確認を行います。

        s0/0      s0/0
  +------+.1      .2+------+
  |  R1  +----------+  R2  |
  +------+          +------+
       192.168.12.0/24
 [R1]
interface Serial0/0
 ip address 192.168.12.1 255.255.255.0
 encapsulation ppp
 compress stac

 [R2]
interface Serial0/0
 ip address 192.168.12.2 255.255.255.0
 encapsulation ppp
 compress stac

以下のコマンドで圧縮されているかどうかを確認する事ができます。detailオプションを使用すると、圧縮アルゴリズムなどより詳細な情報を表示させる事ができます。

R1#show compress details
 Serial0/0
         Software compression enabled
         uncompressed bytes xmt/rcv 15306/14872
         compressed bytes   xmt/rcv 3318/3375
         Compressed bytes sent:      3318 bytes   0 Kbits/sec  ratio: 4.613
         Compressed bytes recv:      3375 bytes   0 Kbits/sec  ratio: 4.406
         1  min avg ratio xmt/rcv 1.701/14.666
         5  min avg ratio xmt/rcv 2.455/2.656
         10 min avg ratio xmt/rcv 2.455/2.656
         no bufs xmt 0 no bufs rcv 0
         resyncs 0
         Additional Stac Stats:
         Transmit bytes:  Uncompressed =        0 Compressed =       3318
         Received bytes:  Compressed =       3507 Uncompressed =        0

         Compression   Protocol used: LZS-DCP
         R-Req/R-Ack 0x10/0x20
         Check Mode = 2
         Decompression Protocol used: LZS-DCP
         R-Req/R-Ack 0x10/0x20
         Check Mode = 2
R1#

FRF9 Payload Compression

FRF9 Payload Compression 必須設定

Frame Relay Forum(FRF)はフレームリレーに関する仕様を策定する団体で、FRF.9は圧縮に関する規定が定められています。CiscoルータはFRF.9 Compressionを実装しており、FRF.9を使用するには以下のコマンドを投入します。なお、Frame relayのカプセル化タイプにはCisco, IETFが存在しますが、FRF.9はIETFのみサポートされています。

Router(config-if)# frame-relay map ip <ip_address> <dlci> [ broadcast ] IETF payload-compression FRF9 stac

動作確認

以下の環境で動作確認を行います。

        s0/0      s0/0
  +------+.1      .2+------+
  |  R1  +----------+  R2  |
  +------+          +------+
       192.168.12.0/24
 [R1]
interface Serial0/0
 ip address 192.168.12.1 255.255.255.0
 encapsulation frame-relay
 no keepalive
 clock rate 9600
 frame-relay map ip 192.168.12.2 100 broadcast IETF payload-compression FRF9 stac

 [R2]
interface Serial0/0
 ip address 192.168.12.2 255.255.255.0
 encapsulation frame-relay
 no keepalive
 frame-relay map ip 192.168.12.1 100 broadcast IETF payload-compression FRF9 stac

show compress, show frame-relay mapなどで設定確認が可能です。

R1#show compress
 Serial0/0 - DLCI: 100
         Software compression enabled
         uncompressed bytes xmt/rcv 1040/1040
         compressed bytes   xmt/rcv 305/308
         Compressed bytes sent:       305 bytes   0 Kbits/sec  ratio: 3.409
         Compressed bytes recv:       308 bytes   0 Kbits/sec  ratio: 3.376
         1  min avg ratio xmt/rcv 0.000/0.000
         5  min avg ratio xmt/rcv 0.000/0.000
         10 min avg ratio xmt/rcv 0.000/0.000
         no bufs xmt 0 no bufs rcv 0
         resyncs 0
         Additional Stac Stats:
         Transmit bytes:  Uncompressed =        0 Compressed =        235
         Received bytes:  Compressed =        238 Uncompressed =        0

R1#
R1#
R1#show frame-relay map
Serial0/0 (up): ip 192.168.12.2 dlci 100(0x64,0x1840), static,
              broadcast,
              IETF
              Payload Compression FRF9
R1#

General Header Compression

General Header Compression 必須設定

Cisco IOSはtcp header compressionとrtp header compressionをサポートします。以下のコマンドでcompressionを有効にする事ができます。なお、passiveを指定すると入力パケットが圧縮されている場合のみ出力パケットを圧縮するようになります。

Router(config-if)# ip { tcp | rtp } header-compression [ passive ]

header compressionはCPUリソースを消費する機能です。そのため、CPUリソースを枯渇させないよう圧縮を行うコネクション数の上限を定義する事ができます。以下のコマンドで、片方向のコネクション数を定義する事ができます。(例えば、双方向の通信で15コネクションを許容したいならば、<num>に30を指定して下さい。)

Router(config-if)# ip tcp compression-connections <num>

動作確認

以下の環境で動作確認を行います。

        s0/0      s0/0
  +------+.1      .2+------+
  |  R1  +----------+  R2  |
  +------+          +------+
       192.168.12.0/24
 [R1]
interface Serial0/0
 ip address 192.168.12.1 255.255.255.0
 ip tcp header-compression
 ip tcp compression-connections 32
 ip rtp header-compression
 ip rtp compression-connections 10
 clock rate 9600

 [R2]
interface Serial0/0
 ip address 192.168.12.2 255.255.255.0
 ip tcp header-compression passive
 ip tcp compression-connections 32
 ip rtp header-compression passive
 ip rtp compression-connections 10

以下のコマンドで設定確認が可能です。

R1#show ip tcp header-compression
TCP/IP header compression statistics:
  Interface Serial0/0 (compression on, VJ)
    Rcvd:    14 total, 13 compressed, 0 errors, 0 status msgs
             0 dropped, 0 buffer copies, 0 buffer failures
    Sent:    23 total, 21 compressed, 0 status msgs, 0 not predicted
             736 bytes saved, 223 bytes sent
             4.30 efficiency improvement factor
    Connect: 32 rx slots, 32 tx slots,
             1 misses, 0 collisions, 0 negative cache hits, 32 free contexts
             95% hit ratio, five minute miss rate 0 misses/sec, 0 max

R1#

Frame Relay Header Compression

Frame Relay Header Compression 必須設定

HDLC同様に、Frame Relayもheader compressionは設定可能です。Frame Relayの場合はPVC毎の柔軟な設定が可能です。

以下のコマンドで特定のPVCのみ圧縮を有効にします。”tcp header-compression”を指定した場合はTCP header compressionのみが有効に、”rtp header-compression”を指定した場合はRTP header compressionのみが有効に、”compress”を指定した場合はTCP, RTPの両方が有効になります。

Router(config-if)# frame-relay map ip <ip_addr> <dlci> [ broadcast ] { tcp header-compression | rtp header-compression | compress } { passive | active } [ connections <num> ]

以下のような設定方法で、全てのPVCに対してデフォルトで圧縮を有効にします。また、特定のPVCのみ圧縮を無効化したい場合は”nocompress”を指定します。

 frame-relay ip tcp header-compression passive
 frame-relay ip tcp compression-connections <num>
 frame-relay map ip <ip_addr> <dlci> [ broadcast ] nocompress

動作確認

以下の環境で動作確認を行います。R1, R2間のみheader compressionを実装します。

           192.168.123.0/24
                             +------+
                     ┌------+  R2  |
       s0/0         2│    .2+------+
 +------+.1   1+-----+--+  s0/0.1
 |  R1  +------+  FRSW  |
 +------+      +-----+--+  s0/0.1
                    3│    .3+------+
                     └------+  R3  |
                             +------+
             1:102 = 2:201
             1:103 = 3:301
             2:203 = 3:302
 [R1]
interface Serial0/0
 ip address 192.168.123.1 255.255.255.0
 encapsulation frame-relay
 frame-relay map ip 192.168.123.2 102 broadcast compress active connections 10
 frame-relay map ip 192.168.123.3 103 broadcast

 [R2]
interface Serial0/0
 no ip address
 encapsulation frame-relay
!
interface Serial0/0.1 multipoint
 ip address 192.168.123.2 255.255.255.0
 frame-relay map ip 192.168.123.1 201
 frame-relay map ip 192.168.123.3 203 broadcast nocompress
 frame-relay ip tcp header-compression passive
 frame-relay ip tcp compression-connections 10
 frame-relay ip rtp header-compression passive
 frame-relay ip rtp compression-connections 10

 [R3]
interface Serial0/0
 no ip address
 encapsulation frame-relay
!
interface Serial0/0.1 multipoint
 ip address 192.168.123.3 255.255.255.0
 frame-relay map ip 192.168.123.1 301 broadcast
 frame-relay map ip 192.168.123.2 302 broadcast

以下のコマンドで設定確認が可能です。PVC102のみ、圧縮が有効になっている事が読み取れます。

R1#show frame-relay map
Serial0/0 (up): ip 192.168.123.2 dlci 102(0x66,0x1860), static,
              broadcast,
              CISCO, status deleted
              TCP/IP Header Compression (enabled), connections: 10
              RTP Header Compression (enabled), connections: 10
Serial0/0 (up): ip 192.168.123.3 dlci 103(0x67,0x1870), static,
              broadcast,
              CISCO, status deleted
R1#
タイトルとURLをコピーしました