ACE: [事例] throughput 値が実際に流した traffic の値と一致しない

ドキュメント

2010/07/29 - 20:13
7月 27th, 2010
User Badges:
  • Cisco Employee,

    今回紹介する事例は、ACE show resource usage throughput を確認すると、実際に流した traffic よりも大きな値になっているという事例です。


    実際に traffic を流し、throughput を確認してみます。 throughput を確認するのが目的なので、ACE では routing を行い、client から 1000 byte ping を実行してみます。


    # 構成

    imph_01.png

    # client から ping (1000byte) 実行


    client:/# ping -s 1000 192.168.72.11

    PING    192.168.72.11 (192.168.72.11) 1000(1028) bytes of data.

    1008 bytes    from 192.168.72.11: icmp_seq=2 ttl=64 time=0.269 ms

    1008 bytes    from 192.168.72.11: icmp_seq=3 ttl=64 time=0.207 ms

    1008 bytes    from 192.168.72.11: icmp_seq=4 ttl=64 time=0.242 ms

    1008 bytes    from 192.168.72.11: icmp_seq=5 ttl=64 time=0.190 ms

    1008 bytes    from 192.168.72.11: icmp_seq=6 ttl=64 time=0.231 ms

    1008 bytes    from 192.168.72.11: icmp_seq=7 ttl=64 time=0.209 ms


    # ping 実行前


    ACE20/Admin# show resource usage | i    throughput

        throughput                82     105997          0 1998749952          0

    ACE20/Admin#


    # ping 実行中


    ACE20/Admin# show resource usage | i    throughput

        throughput               2202     105997          0 1998749952          0

    ACE20/Admin#


    普段、82byte 程度の traffic が流れているので、ping 実行前後の差分は 2202byte - 82byte = 2120 byte に、往復なので、半分にすると 2120byte / 2 = 1060byte になります。

    ping の長さを FCS + MAC header + IP header + ICMP  header + data で計算してみると、4byte + 14byte + 20byte + 8 byte +  1000byte = 1046 byte となり、1060byte に達しません。



    # ACE 設定


    ACE20/Admin# sh run

    Generating    configuration....


    hostname    ACE20

    boot system    image:c6ace-t1k9-mz.A2_3_1.bin


    access-list    all line 8 extended permit ip any any


    access-group    input all


    interface    vlan 771

      ip address 192.168.71.250 255.255.255.0

      no shutdown

    interface    vlan 772

      ip address 192.168.72.250 255.255.255.0

      no shutdown




    これは、ACE architecture に起因した現象です。 Connection Handling within the  Cisco Application Control Engine Module Hardware に記載されているように、ACE は内部でのやり取りのため、CDE IMPH という 18byte header を付加します。 throughput 計算時には、この IMPH header が負荷された状態で計算されるため、client から実際に流した traffic よりも大きな値になります。


    正しい、ACE throughput 計算式は下記になります。


    IMPH +  MAC header + IP header + ICMP header + data = 18 + 14 + 20 + 8 + 1000 = 1060  byte


    Capture をすると確認できますが、最初の show resource usage 82 byte というのは、BPDU packet (18+64=82 byte) です。

    ちなみに、show  interface counter は、前者の計算式 (FCS+L2+L3+ICMP+data=1046byte) になります。


Loading.

アクション

このドキュメントについて