このドキュメントでは、非同期転送モード(ATM)のキューイングにおいてどのバイトが IP でカウントされるかを見積もる際に役立つ情報について説明します。
このドキュメントに特有の要件はありません。
このドキュメントの内容は、特定のソフトウェアやハードウェアのバージョンに限定されるものではありません。
ドキュメント表記の詳細は、『シスコ テクニカル ティップスの表記法』を参照してください。
Q. QoSサービスポリシーのbandwidthステートメントの値を決定する必要があります。ATM による permanent virtual circuit(PVC; 相手先固定接続)では、この値はどのように見積もればよいですか。ATM セルの 53 バイト全体がカウントされますか。
A.サービスポリシーでbandwidthおよびpriorityコマンドを設定し、クラスベース重み付け均等化キューイング(CBWFQ)および低遅延キューイング(LLQ)を有効にするには、show interfaceコマンドの出力でカウントされる同じオーバーヘッドバイトをkbps値をを値を使用します。特に、レイヤ3キューイングシステムでは次の項目がカウントされます。
オーバーヘッド フィールド | 長さ | show policy-map interface でのカウント |
---|---|---|
論理リンク制御/サブネットワーク アクセス プロトコル(LLC/SNAP) | 8(パケットごと) | Yes |
ATM アダプテーション レイヤ 5(AAL5)トレーラー | 4 | いいえ。AAL5トレーラと巡回冗長検査(CRC)がSegmentation and Reassembly(SAR)に追加されているため、IOSでは考慮されません。カウントされる4バイトは、内部仮想回線(VC)カプセル化バイトです。 |
最後のセルを 48 バイトの偶数倍にするためのパディング | 可変 | No |
ATM セル ヘッダー | 5(セルごと) | No |
このセクションでは、レイヤ3キューイングシステムによってカウントされるオーバーヘッドバイトを判別するために、show policy-map interfaceコマンドの出力でカウンタを使用する方法を示します。
従来、シスコのデバイスはAAL5PDUバイトとATMセルバイトの定義を使用します。
ATM_cell_byte = roundup(aal5_pdu/48)*53
aal5_pdu_byte = ip_size + snap(8)+aal5_ovh(8) = ether_size - 2
このテストでは、60バイトのIPペイロードの50パケット/秒(pps)がPVC 0/3に送信されます。これはAAL5SNAPカプセル化に設定されています。
r1#show policy-map interface ATM5/0.33: VC 0/33 - Service-policy output: llq (1265) Class-map: p5 (match-all) (1267/4) 14349 packets, 1033128 bytes 30 second offered rate 28000 bps, drop rate 0 bps Match: ip precedence 5 (1271) Weighted Fair Queueing Strict Priority Output Queue: Conversation 136 Bandwidth 40 (kbps) Burst 1000 (Bytes) (pkts matched/bytes matched) 0/0 (total drops/bytes drops) 0/0
1033128 バイト / 14349 パケット = パケットあたり 72 バイト
8(SNAP ヘッダー) + 60 IP ペイロード + 4(AAL5 トレーラの最初の 4 バイト) = 72
テストの後、show policy-map int コマンドを実行すると、14,349 パケットと 1,033,128 バイトの値が表示されます。これらの値は、このクラスの基準に一致するパケットの数をカウントしたものです。pkts matched/bytes matchedの値は、VCが輻輳しているか、パケットがプロセス交換されている場合にのみ増加します。プロセス交換パケットはすべて、レイヤ3キューイングエンジンに送信されます。
show interface atmコマンドで同じオーバーヘッド・バイトがカウントされていることを確認します。このテストでは、100バイトの5つのpingが送信されます。
7500-1#ping 192.168.66.70 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 192.168.66.70, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/4 ms 7500-1#
show interface atm コマンドの出力には、5 つの入力パケットと、560 バイトが表示されます。IPペイロードの500バイトより大きい40バイトの余分なバイトは、次の結果になります。
40 バイト / 5 パケット = パケットあたり 8 バイトのオーバーヘッド
LLC/SNAP ヘッダーの 8 バイト
7500-b#show interface atm 4/1/0 ATM4/1/0 is up, line protocol is up Hardware is cyBus ATM Internet address is 192.168.66.70/30 MTU 4470 bytes, sub MTU 4470, BW 155520 Kbit, DLY 80 usec, rely 255/255, load 1/255 NSAP address: BC.CDEF01234567890ABCDEF012.345678901334.13 Encapsulation ATM, loopback not set, keepalive not supported Encapsulation(s): AAL5, PVC mode 2048 maximum active VCs, 1024 VCs per VP, 1 current VCCs VC idle disconnect time: 300 seconds Last input 00:00:03, output 00:00:03, output hang never Last clearing of "show interface" counters 00:00:21 Queueing strategy: fifo Output queue 0/40, 0 drops; input queue 0/75, 0 drops 5 minute input rate 0 bits/sec, 1 packets/sec 5 minute output rate 0 bits/sec, 0 packets/sec 5 packets input, 560 bytes, 0 no buffer Received 0 broadcasts, 0 runts, 0 giants, 0 throttles 0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort 5 packets output, 560 bytes, 0 underruns 0 output errors, 0 collisions, 0 interface resets 0 output buffer failures, 0 output buffers swapped out
これは、イーサネットインターフェイスで行われるテストで、74バイトの100パケットを送信します。
louve(TGN:OFF,Et3/0:2/2)#show pack Ethernet Packet: 74 bytes Dest Addr: 0050.73d1.6938, Source Addr: 0010.2feb.b854 Protocol: 0x0800 IP Version: 0x4, HdrLen: 0x5, TOS: 0x00 Length: 60, ID: 0x0000, Flags-Offset: 0x0000 TTL: 60, Protocol: 1 (ICMP), Checksum: 0x74B8 (OK) Source: 0.0.0.0, Dest: 5.5.5.5 ICMP Type: 0, Code: 0 (Echo Reply) Checksum: 0x0EFF (OK) Identifier: 0000, Sequence: 0000 Echo Data: 0 : 0001 0203 0405 0607 0809 0A0B 0C0D 0E0F 1011 1213 .................... 20 : 1415 1617 1819 1A1B 1C1D 1E1F ............
show policy-map interface コマンドと show interface ethernet コマンドはどちらも 740 バイトとしてカウントされます。
few#show policy-map interface ethernet 2/2 Ethernet2/2 Service-policy output: a-test Class-map: icmp (match-all) 10 packets, 740 bytes few#show interface ethernet 2/2 10 packets output, 740 bytes, 0 underruns(0/0/0)
60 IP ペイロード + 2 * 6(送信元と宛先の MAC アドレス) + 2(プロトコル タイプ) = 74
この計算から、イーサネットCRCがshow interfaceコマンドまたはshow policy-mapコマンドの出力に含まれていないことがわかります。重要なのは、CRC が含まれているかどうかにかかわらず、2 つの値にばらつきがないことです。
最後に、ハイレベルデータリンク制御(HDLC)カプセル化を使用するシリアルインターフェイスでカウントされるバイトを示します。このテストでは、100バイトの5つのパケットが送信されます。
r3#show policy interface Serial4/2:0 Service-policy output: test Class-map: icmp (match-all) 5 packets, 520 bytes
Cisco HDLCフレームの定義を次に示します。
flag:フレームの開始または終了= 0x7E
address:フレームタイプフィールド:
0x0F:ユニキャストフレーム
0x80:ブロードキャストフレーム
0x40:パディングフレーム
0x20:圧縮フレーム
protocol:カプセル化されたデータのイーサネットタイプ(IP用0x0800など)
シリアルテストのshow policy interfaceコマンドの出力には、520バイトが表示されます。フレームごとに追加される4バイトには、開始フレームフラグと終了フレームフラグは含まれません。代わりに、バイトにはアドレスフィールド、コントロールフィールド、プロトコルフィールドが含まれます。重要なのは、このバイトには frame check sequence(FCS; フレーム チェック シーケンス)が含まれないことです。
レイヤ3キューイングシステムによってカウントされるオクテットの数と、物理層に到達したパケットによって実際に使用されるオクテットの数には違いがあることを理解することが重要です。64バイトのパケットで使用される実際の帯域幅は、ATMインターフェイスではイーサネットインターフェイスよりもはるかに大きくなります。特に、CBWFQとLLQでは、次の2つのATM固有のオーバーヘッドは考慮されません。
パディング:パケットの最後のセルを48バイトの偶数倍にします。このパディングは、パケットが ATM 層に到達したときに SAR によって追加されます。
5バイトATMセルヘッダー
言い換えれば、CBWFQ と LLQ では 64 バイトを 64 バイトとして見積もりますが、実際には、ATM および物理層でこのパケットは 106 バイトを占め、2 つのセルを使用します。すべてのインターフェイスで、フラグとCRCも存在しますが、レイヤ3キューイングシステムには含まれません。
Cisco Bug ID CSCdt85156(登録ユーザ専用)は、CRCをカウントする機能要求です。CRCなど、すべての固定および予測可能なレイヤ2オーバーヘッドをpriority文に含めて、フローが物理回線に到達したときに実際に消費される量に可能な限り正確かつ近づけるようにする必要があると主張しています。
改定 | 発行日 | コメント |
---|---|---|
1.0 |
03-Nov-2006 |
初版 |