FreeBSDのpkt-gen(netmap)で性能を測定する前に

Posted on 2014/11/02(Sun) 18:10 in technical

さまり

BSDRPをnetmap由来のpkt-gen試験機としても使うので、手元の環境で基準値性能を測定しておく。

構成図

こう、自分から自分に向けて。

bsdrp_netmap_001.jpg

動作環境

USBメモリにBSDRP 1.52を入れて、下記の物理マシン(C2550D4I + 16GMem(SMD-16G28ECP-16KL-D DDR3-1600) + Intel EXPI9402PT)の上で動かします。

# grep Atom /var/run/dmesg.boot
CPU: Intel(R) Atom(TM) CPU  C2550  @ 2.40GHz (2400.14-MHz K8-class CPU)
# grep memory /var/run/dmesg.boot
real memory  = 17179869184 (16384 MB)
avail memory = 16534040576 (15768 MB)
# grep em0 /var/run/dmesg.boot
em0: <Intel(R) PRO/1000 Network Connection 7.4.2> port 0xd020-0xd03f mem 0xdf7a0000-0xdf7bffff,0xdf780000-0xdf79ffff irq 16 at device 0.0 on pci1
em0: Using an MSI interrupt
em0: Ethernet address: 00:15:17:3a:84:aa
001.000008 [2705] netmap_attach             success for em0 tx 1/2048 rx 1/2048 queues/slots
# grep em1 /var/run/dmesg.boot
em1: <Intel(R) PRO/1000 Network Connection 7.4.2> port 0xd000-0xd01f mem 0xdf740000-0xdf75ffff,0xdf720000-0xdf73ffff irq 17 at device 0.1 on pci1
em1: Using an MSI interrupt
em1: Ethernet address: 00:15:17:3a:84:ab
001.000009 [2705] netmap_attach             success for em1 tx 1/2048 rx 1/2048 queues/slots
# ifconfig em0
em0: flags=8c02<BROADCAST,OACTIVE,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=4209b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC,VLAN_HWTSO>
        ether 00:15:17:3a:84:aa
        nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
        media: Ethernet autoselect (1000baseT <full-duplex>)
        status: active
# ifconfig em1
em1: flags=8c02<BROADCAST,OACTIVE,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=4009b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,VLAN_HWTSO>
        ether 00:15:17:3a:84:ab
        nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
        media: Ethernet autoselect (1000baseT <full-duplex>)
        status: active

初期設定

完全にゼロスタートです。rootでログインしたら:

# passwd
# sysrc quagga_enable="NO"
# service quagga stop
# sysrc ifconfig_igb0="inet 192.168.0.1 netmask 255.255.255.0"
# service netif restart
# sysrc sshd_enable="YES"
# service sshd start

rootのパスワードと管理用のIPは適当に決めます。保存しないで再起動したら何も残らないし。

測定コマンド

FCSを含む長さでそれぞれ 64/128/256/512/1024/1280/1518[Byte] に加え、フロー数を 1/100(src)/100(dst)/10000(src+dst) にばらした計28パターン。

pkt-genの長さ指定はFCSを含まないので、コマンド的には4[Byte]少ない値になる。

パケット数は指定フレーム長で180[sec]分となる数を理論値から算出し、100未満の数値を適当に切り上げて、おおよそ180[sec]の試験時間としている。

通報

  • 60[Byte]を指定した場合は (1000000000[bps]/8[bit]) / (60+4+12+8) = 1488095 なので、 1488100[pps]
  • 124[Byte]を指定した場合は (1000000000[bps]/8[bit]) / (124+4+12+8) = 844594 なので、 844600[pps]
  • 252[Byte]を指定した場合は (1000000000[bps]/8[bit]) / (252+4+12+8) = 452898 なので、 452900[pps]
  • 508[Byte]を指定した場合は (1000000000[bps]/8[bit]) / (508+4+12+8) = 234962 なので、 235000[pps]
  • 1020[Byte]を指定した場合は (1000000000[bps]/8[bit]) / (1020+4+12+8) = 119731 なので、 119800[pps]
  • 1276[Byte]を指定した場合は (1000000000[bps]/8[bit]) / (1276+4+12+8) = 96153 なので、 96200[pps]
  • 1514[Byte]を指定した場合は (1000000000[bps]/8[bit]) / (1514+4+12+8) = 81274 なので、 81300[pps]

それぞれ180[sec]掛けて、トータルのパケット数とします。

受信側は常に pkt-gen -i em1 -f rx なので特段語ることも無し。

基本手順は以下の通り。(cshの場合):

# pkt-gen -i em1 -f rx -w 4 >& 1-1_pkt-gen_rx_em1.log &
# pkt-gen -i em0 -f tx -w 5 -l 60 -S 00:15:17:3a:84:aa -D 00:15:17:3a:84:ab -s 192.0.2.1 -d 192.0.2.101 -n 267858000 >& 1-1_pkt-gen_tx_em0.log
# killall pkt-gen

適当にシェルスクリプト風テキストファイルに書き直し、実行するだけ。( /bin/sh を使うのでバックグラウンド実行の書式は上記と少し違うよ)

#!/bin/sh

send()
{
    pkt-gen -i em1 -f rx -w 4 > ${EXAM}_pkt-gen_rx_em1.log 2>&1 &
    pkt-gen -i em0 -f tx -w 5 -l ${LENGTH} -S 00:15:17:3a:84:aa -D 00:15:17:3a:84:ab -s ${SRC} -d ${DST} -n ${COUNT} > ${EXAM}_pkt-gen_tx_em0.log 2>&1
    sleep 1
    kill -INT `ps a | grep "[p]kt-gen -i em1 -f rx" | cut -f 1 -d " "`
    sleep 5
}

EXAM="1-1"; LENGTH="60";   SRC="192.0.2.1";             DST="192.0.2.101";             COUNT=267858000; send
EXAM="1-2"; LENGTH="60";   SRC="192.0.2.1-192.0.2.100"; DST="192.0.2.101";             COUNT=267858000; send
EXAM="1-3"; LENGTH="60";   SRC="192.0.2.1";             DST="192.0.2.101-192.0.2.200"; COUNT=267858000; send
EXAM="1-4"; LENGTH="60";   SRC="192.0.2.1-192.0.2.100"; DST="192.0.2.101-192.0.2.200"; COUNT=267858000; send

EXAM="2-1"; LENGTH="124";  SRC="192.0.2.1";             DST="192.0.2.101";             COUNT=152028000; send
EXAM="2-2"; LENGTH="124";  SRC="192.0.2.1-192.0.2.100"; DST="192.0.2.101";             COUNT=152028000; send
EXAM="2-3"; LENGTH="124";  SRC="192.0.2.1";             DST="192.0.2.101-192.0.2.200"; COUNT=152028000; send
EXAM="2-4"; LENGTH="124";  SRC="192.0.2.1-192.0.2.100"; DST="192.0.2.101-192.0.2.200"; COUNT=152028000; send

EXAM="3-1"; LENGTH="252";  SRC="192.0.2.1";             DST="192.0.2.101";             COUNT=81522000; send
EXAM="3-2"; LENGTH="252";  SRC="192.0.2.1-192.0.2.100"; DST="192.0.2.101";             COUNT=81522000; send
EXAM="3-3"; LENGTH="252";  SRC="192.0.2.1";             DST="192.0.2.101-192.0.2.200"; COUNT=81522000; send
EXAM="3-4"; LENGTH="252";  SRC="192.0.2.1-192.0.2.100"; DST="192.0.2.101-192.0.2.200"; COUNT=81522000; send

EXAM="4-1"; LENGTH="508";  SRC="192.0.2.1";             DST="192.0.2.101";             COUNT=42300000; send
EXAM="4-2"; LENGTH="508";  SRC="192.0.2.1-192.0.2.100"; DST="192.0.2.101";             COUNT=42300000; send
EXAM="4-3"; LENGTH="508";  SRC="192.0.2.1";             DST="192.0.2.101-192.0.2.200"; COUNT=42300000; send
EXAM="4-4"; LENGTH="508";  SRC="192.0.2.1-192.0.2.100"; DST="192.0.2.101-192.0.2.200"; COUNT=42300000; send

EXAM="5-1"; LENGTH="1020"; SRC="192.0.2.1";             DST="192.0.2.101";             COUNT=21564000; send
EXAM="5-2"; LENGTH="1020"; SRC="192.0.2.1-192.0.2.100"; DST="192.0.2.101";             COUNT=21564000; send
EXAM="5-3"; LENGTH="1020"; SRC="192.0.2.1";             DST="192.0.2.101-192.0.2.200"; COUNT=21564000; send
EXAM="5-4"; LENGTH="1020"; SRC="192.0.2.1-192.0.2.100"; DST="192.0.2.101-192.0.2.200"; COUNT=21564000; send

EXAM="6-1"; LENGTH="1276"; SRC="192.0.2.1";             DST="192.0.2.101";             COUNT=17316000; send
EXAM="6-2"; LENGTH="1276"; SRC="192.0.2.1-192.0.2.100"; DST="192.0.2.101";             COUNT=17316000; send
EXAM="6-3"; LENGTH="1276"; SRC="192.0.2.1";             DST="192.0.2.101-192.0.2.200"; COUNT=17316000; send
EXAM="6-4"; LENGTH="1276"; SRC="192.0.2.1-192.0.2.100"; DST="192.0.2.101-192.0.2.200"; COUNT=17316000; send

EXAM="7-1"; LENGTH="1514"; SRC="192.0.2.1";             DST="192.0.2.101";             COUNT=14634000; send
EXAM="7-2"; LENGTH="1514"; SRC="192.0.2.1-192.0.2.100"; DST="192.0.2.101";             COUNT=14634000; send
EXAM="7-3"; LENGTH="1514"; SRC="192.0.2.1";             DST="192.0.2.101-192.0.2.200"; COUNT=14634000; send
EXAM="7-4"; LENGTH="1514"; SRC="192.0.2.1-192.0.2.100"; DST="192.0.2.101-192.0.2.200"; COUNT=14634000; send

出力はこんな感じで得られるので、適当に切り取ってまとめます。:

# tail -15 1-1_pkt-gen_tx_em0.log
678.018381 main_thread [1502] 1488174 pps (1489662 pkts in 1001000 usec)
679.020381 main_thread [1502] 1488171 pps (1491147 pkts in 1002000 usec)
680.021380 main_thread [1502] 1488172 pps (1489659 pkts in 1000999 usec)
681.023381 main_thread [1502] 1488176 pps (1491152 pkts in 1002000 usec)
681.598795 sender_body [1162] flush tail 83 head 80 on thread 0x801806800
681.598843 sender_body [1170] pending tx tail 158 head 80 on ring 0
681.598875 sender_body [1170] pending tx tail 178 head 80 on ring 0
681.598896 sender_body [1170] pending tx tail 226 head 80 on ring 0
681.598925 sender_body [1170] pending tx tail 270 head 80 on ring 0
681.598946 sender_body [1170] pending tx tail 301 head 80 on ring 0
682.076911 main_thread [1502] 812798 pps (856308 pkts in 1053531 usec)
Sending on netmap:em0: 1 queues, 1 threads and 1 cpus.
192.0.2.1 -> 192.0.2.101 (00:15:17:3a:84:aa -> 00:15:17:3a:84:ab)
Sent 267858000 packets, 60 bytes each, in 179.99 seconds.
Speed: 1.49 Mpps Bandwidth: 714.32 Mbps (raw 1.00 Gbps)
# tail 1-1_pkt-gen_rx_em1.log
679.011387 main_thread [1502] 1488236 pps (1491212 pkts in 1002000 usec)
680.012386 main_thread [1502] 1488171 pps (1489659 pkts in 1001000 usec)
681.013386 main_thread [1502] 1488174 pps (1489662 pkts in 1001000 usec)
682.076908 main_thread [1502] 821267 pps (873435 pkts in 1063521 usec)
683.090414 main_thread [1502] 0 pps (0 pkts in 1013506 usec)
683.278584 sigint_h [326] received control-C on thread 0x801806800
684.153901 main_thread [1502] 0 pps (0 pkts in 1063488 usec)
Receiving from netmap:em1: 1 queues, 1 threads and 1 cpus.
Received 267858000 packets, in 181.67 seconds.
Speed: 1.47 Mpps

警告

ここで、TX側のSentとRX側のReceivedが一致することを確認し、一致していない場合は途中経路でロスが発生しているとみなすことが出来ます。

ただし、全くのロスなしと言うのも保証しきれないので、どうしても厳密な測定に用いる場合を除いては秒間の統計を横に並べるだけでも十分だと言えます。

また、全く同様の試験を複数サンプル取得して、中央値を採用するなどの方法を取るのも良いでしょう。

受信側の出力は、通常のkillで停止すると最後の統計が取得できないので、kill -INTを使うようにしましょう。

!危険!

また、処理能力が不足する環境では "dev.em.0.rx_overruns" や "dev.em.0.mac_stats.missed_packets" が計上されることがあります。

pkt-genを使用している装置側の問題だと考えられますが、出来ることはバッファを少し深くすること位かと思います。

方法例はこんな感じ。:

# mount -uw /
# vi /boot/loader.conf.local
hw.em.rxd="4096"
# reboot
# sysctl dev.netmap.ring_size=100000

netmapのdev.netmap.generic_mitと言うのもあるのだけど、 "Controls interrupt moderation for emulated mode"って書いてあった ので、試してないけど多分効果ないんじゃないかな。

測定結果

測定結果を見て行きます。

理論値レートと比較しながらご確認ください。

Packet rate for 1Gbps
Packet size(include RCS) Maximum packet rate
64[Byte] 1488095[pps]
128[Byte] 844594[pps]
256[Byte] 452898[pps]
512[Byte] 234962[pps]
1024[Byte] 119731[pps]
1280[Byte] 96153[pps]
1518[Byte] 81274[pps]

まずは、全体の送信レートを簡単に確認しておきます。:

# grep "Speed" *_tx_*.log
1-1_pkt-gen_tx_em0.log:Speed: 1.49 Mpps Bandwidth: 714.32 Mbps (raw 1.00 Gbps)
1-2_pkt-gen_tx_em0.log:Speed: 1.49 Mpps Bandwidth: 714.32 Mbps (raw 1.00 Gbps)
1-3_pkt-gen_tx_em0.log:Speed: 1.49 Mpps Bandwidth: 714.32 Mbps (raw 1.00 Gbps)
1-4_pkt-gen_tx_em0.log:Speed: 1.49 Mpps Bandwidth: 714.31 Mbps (raw 1.00 Gbps)
2-1_pkt-gen_tx_em0.log:Speed: 844.63 Kpps Bandwidth: 837.88 Mbps (raw 1.00 Gbps)
2-2_pkt-gen_tx_em0.log:Speed: 844.63 Kpps Bandwidth: 837.88 Mbps (raw 1.00 Gbps)
2-3_pkt-gen_tx_em0.log:Speed: 844.63 Kpps Bandwidth: 837.87 Mbps (raw 1.00 Gbps)
2-4_pkt-gen_tx_em0.log:Speed: 844.63 Kpps Bandwidth: 837.88 Mbps (raw 1.00 Gbps)
3-1_pkt-gen_tx_em0.log:Speed: 452.92 Kpps Bandwidth: 913.09 Mbps (raw 1.00 Gbps)
3-2_pkt-gen_tx_em0.log:Speed: 452.92 Kpps Bandwidth: 913.09 Mbps (raw 1.00 Gbps)
3-3_pkt-gen_tx_em0.log:Speed: 452.92 Kpps Bandwidth: 913.08 Mbps (raw 1.00 Gbps)
3-4_pkt-gen_tx_em0.log:Speed: 452.92 Kpps Bandwidth: 913.09 Mbps (raw 1.00 Gbps)
4-1_pkt-gen_tx_em0.log:Speed: 234.97 Kpps Bandwidth: 954.93 Mbps (raw 1.00 Gbps)
4-2_pkt-gen_tx_em0.log:Speed: 234.97 Kpps Bandwidth: 954.93 Mbps (raw 1.00 Gbps)
4-3_pkt-gen_tx_em0.log:Speed: 234.97 Kpps Bandwidth: 954.93 Mbps (raw 1.00 Gbps)
4-4_pkt-gen_tx_em0.log:Speed: 234.41 Kpps Bandwidth: 952.66 Mbps (raw 997.66 Mbps)
5-1_pkt-gen_tx_em0.log:Speed: 119.74 Kpps Bandwidth: 977.05 Mbps (raw 1.00 Gbps)
5-2_pkt-gen_tx_em0.log:Speed: 119.74 Kpps Bandwidth: 977.05 Mbps (raw 1.00 Gbps)
5-3_pkt-gen_tx_em0.log:Speed: 119.74 Kpps Bandwidth: 977.05 Mbps (raw 1.00 Gbps)
5-4_pkt-gen_tx_em0.log:Speed: 119.74 Kpps Bandwidth: 977.05 Mbps (raw 1.00 Gbps)
6-1_pkt-gen_tx_em0.log:Speed: 96.16 Kpps Bandwidth: 981.58 Mbps (raw 1.00 Gbps)
6-2_pkt-gen_tx_em0.log:Speed: 96.16 Kpps Bandwidth: 981.58 Mbps (raw 1.00 Gbps)
6-3_pkt-gen_tx_em0.log:Speed: 96.16 Kpps Bandwidth: 981.58 Mbps (raw 1.00 Gbps)
6-4_pkt-gen_tx_em0.log:Speed: 96.16 Kpps Bandwidth: 981.58 Mbps (raw 1.00 Gbps)
7-1_pkt-gen_tx_em0.log:Speed: 81.28 Kpps Bandwidth: 984.43 Mbps (raw 1.00 Gbps)
7-2_pkt-gen_tx_em0.log:Speed: 81.28 Kpps Bandwidth: 984.43 Mbps (raw 1.00 Gbps)
7-3_pkt-gen_tx_em0.log:Speed: 81.28 Kpps Bandwidth: 984.43 Mbps (raw 1.00 Gbps)
7-4_pkt-gen_tx_em0.log:Speed: 81.28 Kpps Bandwidth: 984.43 Mbps (raw 1.00 Gbps)

いずれも理論限界に近い値が出ています。(若干起動、停止時の統計取得間隔のずれがあるので、ぴったりとはいきません)

次に、ロスが無いかを確認します。:

# grep -e "Sent" -e "Received" *.log
1-1_pkt-gen_rx_em1.log:Received 267858000 packets, in 181.67 seconds.
1-1_pkt-gen_tx_em0.log:Sent 267858000 packets, 60 bytes each, in 179.99 seconds.
1-2_pkt-gen_rx_em1.log:Received 267858000 packets, in 181.65 seconds.
1-2_pkt-gen_tx_em0.log:Sent 267858000 packets, 60 bytes each, in 179.99 seconds.
1-3_pkt-gen_rx_em1.log:Received 267858000 packets, in 181.57 seconds.
1-3_pkt-gen_tx_em0.log:Sent 267858000 packets, 60 bytes each, in 179.99 seconds.
1-4_pkt-gen_rx_em1.log:Received 267858000 packets, in 181.60 seconds.
1-4_pkt-gen_tx_em0.log:Sent 267858000 packets, 60 bytes each, in 179.99 seconds.
2-1_pkt-gen_rx_em1.log:Received 152028000 packets, in 181.60 seconds.
2-1_pkt-gen_tx_em0.log:Sent 152028000 packets, 124 bytes each, in 179.99 seconds.
2-2_pkt-gen_rx_em1.log:Received 152028000 packets, in 181.52 seconds.
2-2_pkt-gen_tx_em0.log:Sent 152028000 packets, 124 bytes each, in 179.99 seconds.
2-3_pkt-gen_rx_em1.log:Received 152028000 packets, in 181.73 seconds.
2-3_pkt-gen_tx_em0.log:Sent 152028000 packets, 124 bytes each, in 179.99 seconds.
2-4_pkt-gen_rx_em1.log:Received 152028000 packets, in 181.62 seconds.
2-4_pkt-gen_tx_em0.log:Sent 152028000 packets, 124 bytes each, in 179.99 seconds.
3-1_pkt-gen_rx_em1.log:Received 81522000 packets, in 181.72 seconds.
3-1_pkt-gen_tx_em0.log:Sent 81522000 packets, 252 bytes each, in 179.99 seconds.
3-2_pkt-gen_rx_em1.log:Received 81522000 packets, in 181.83 seconds.
3-2_pkt-gen_tx_em0.log:Sent 81522000 packets, 252 bytes each, in 179.99 seconds.
3-3_pkt-gen_rx_em1.log:Received 81522000 packets, in 181.73 seconds.
3-3_pkt-gen_tx_em0.log:Sent 81522000 packets, 252 bytes each, in 179.99 seconds.
3-4_pkt-gen_rx_em1.log:Received 81522000 packets, in 181.57 seconds.
3-4_pkt-gen_tx_em0.log:Sent 81522000 packets, 252 bytes each, in 179.99 seconds.
4-1_pkt-gen_rx_em1.log:Received 42300000 packets, in 181.92 seconds.
4-1_pkt-gen_tx_em0.log:Sent 42300000 packets, 508 bytes each, in 180.02 seconds.
4-2_pkt-gen_rx_em1.log:Received 42300000 packets, in 181.67 seconds.
4-2_pkt-gen_tx_em0.log:Sent 42300000 packets, 508 bytes each, in 180.02 seconds.
4-3_pkt-gen_rx_em1.log:Received 42300000 packets, in 181.83 seconds.
4-3_pkt-gen_tx_em0.log:Sent 42300000 packets, 508 bytes each, in 180.02 seconds.
4-4_pkt-gen_rx_em1.log:Received 42300000 packets, in 182.21 seconds.
4-4_pkt-gen_tx_em0.log:Sent 42300000 packets, 508 bytes each, in 180.45 seconds.
5-1_pkt-gen_rx_em1.log:Received 21564000 packets, in 182.02 seconds.
5-1_pkt-gen_tx_em0.log:Sent 21564000 packets, 1020 bytes each, in 180.09 seconds.
5-2_pkt-gen_rx_em1.log:Received 21564000 packets, in 181.64 seconds.
5-2_pkt-gen_tx_em0.log:Sent 21564000 packets, 1020 bytes each, in 180.09 seconds.
5-3_pkt-gen_rx_em1.log:Received 21564000 packets, in 181.80 seconds.
5-3_pkt-gen_tx_em0.log:Sent 21564000 packets, 1020 bytes each, in 180.09 seconds.
5-4_pkt-gen_rx_em1.log:Received 21564000 packets, in 181.78 seconds.
5-4_pkt-gen_tx_em0.log:Sent 21564000 packets, 1020 bytes each, in 180.09 seconds.
6-1_pkt-gen_rx_em1.log:Received 17316000 packets, in 181.58 seconds.
6-1_pkt-gen_tx_em0.log:Sent 17316000 packets, 1276 bytes each, in 180.08 seconds.
6-2_pkt-gen_rx_em1.log:Received 17316000 packets, in 181.71 seconds.
6-2_pkt-gen_tx_em0.log:Sent 17316000 packets, 1276 bytes each, in 180.08 seconds.
6-3_pkt-gen_rx_em1.log:Received 17316000 packets, in 181.86 seconds.
6-3_pkt-gen_tx_em0.log:Sent 17316000 packets, 1276 bytes each, in 180.08 seconds.
6-4_pkt-gen_rx_em1.log:Received 17316000 packets, in 181.71 seconds.
6-4_pkt-gen_tx_em0.log:Sent 17316000 packets, 1276 bytes each, in 180.08 seconds.
7-1_pkt-gen_rx_em1.log:Received 14634000 packets, in 182.02 seconds.
7-1_pkt-gen_tx_em0.log:Sent 14634000 packets, 1514 bytes each, in 180.05 seconds.
7-2_pkt-gen_rx_em1.log:Received 14634000 packets, in 181.85 seconds.
7-2_pkt-gen_tx_em0.log:Sent 14634000 packets, 1514 bytes each, in 180.05 seconds.
7-3_pkt-gen_rx_em1.log:Received 14634000 packets, in 181.78 seconds.
7-3_pkt-gen_tx_em0.log:Sent 14634000 packets, 1514 bytes each, in 180.05 seconds.
7-4_pkt-gen_rx_em1.log:Received 14634000 packets, in 181.76 seconds.
7-4_pkt-gen_tx_em0.log:Sent 14634000 packets, 1514 bytes each, in 180.05 seconds.

一応無さそう。でもタイミングが悪いとロスったりするので...。

それでは、個別にグラフを描いて見てみましょう。

1 / 64[Byte](1フロー/100フロー(src)/100フロー(dst)/10000フロー(src+dst))

bsdrp_netmap_1.png

2 / 128[Byte](1フロー/100フロー(src)/100フロー(dst)/10000フロー(src+dst))

bsdrp_netmap_2.png

3 / 256[Byte](1フロー/100フロー(src)/100フロー(dst)/10000フロー(src+dst))

bsdrp_netmap_3.png

4 / 512[Byte](1フロー/100フロー(src)/100フロー(dst)/10000フロー(src+dst))

bsdrp_netmap_4.png

5 / 1024[Byte](1フロー/100フロー(src)/100フロー(dst)/10000フロー(src+dst))

bsdrp_netmap_5.png

6 / 1280[Byte](1フロー/100フロー(src)/100フロー(dst)/10000フロー(src+dst))

bsdrp_netmap_6.png

7 / 1518[Byte](1フロー/100フロー(src)/100フロー(dst)/10000フロー(src+dst))

bsdrp_netmap_7.png

はい、とても面白みのないグラフでした。

面白みが無くて非常に助かります。これで変にインパルスなんてあろうものなら、原因がピーーーーーガガガガガですよ。

まとめ

とにかく、BSDRPをUSBメモリに焼いて適当にスクリプト書けば、立派なパケット試験機になるということが分かりました。

CPUは貧弱そうなAtom C2550(2.4GHz)でも平気でした。

とりあえず今回はここまで。