ARP/NDPテスター
このツールは
これは、ルーター等のネットワーク機器のARP/NDP機能のテストに使うツールです。
設定ファイルでダミーのIPアドレス/MACアドレスの対を定義することで、そのダミーIPに対するARP Request/NS(Neighbor Solicitation)に応答します。
テスト対象のネットワーク機器からみると、大量の近隣ノードが存在するかのような動作をするので、機器仕様上限までのエントリ作成テストや大量エントリ作成時のパフォーマンスのテストが簡単に行えるようになります。

ツールに与えるARPテスト用のIPv4ノードの設定例
VND0 00:00:ac:1e:00:00 10.1.1.2 VND1 00:00:ac:1e:00:01 10.1.1.3 VND2 00:00:ac:1e:00:02 10.1.1.4 VND3 00:00:ac:1e:00:03 10.1.1.5 :
ツールに与えるNDPテスト用のIPv6ノードの設定例
VND0 00:00:ac:1e:00:00 fc00:0200:0000:0000:0000:0000:0000:0002 VND1 00:00:ac:1e:00:01 fc00:0200:0000:0000:0000:0000:0000:0003 VND2 00:00:ac:1e:00:02 fc00:0200:0000:0000:0000:0000:0000:0004 VND3 00:00:ac:1e:00:03 fc00:0200:0000:0000:0000:0000:0000:0005 :
図1はテスト時の基本的な構成になります。設定ファイルで定義したIPアドレスに対するARP Request/NS(Neighbor Solicitation)について、ツールはARP Replay/NA(Neighbor Advertisement)でMACアドレスを返すので、設定ファイルで定義した仮想的なノードのARP/NDPエントリをテスト対象機器に学習させることができます。
また、本ツールはICMPv4/ICMPv6 Echo Requestについても応答します。テスト対象機器から仮想近隣ノードに対してpingを送信し、ARP/NDPエントリの学習からping疎通の確認までといった、IPレイヤーも含めたテストを行うことが可能です。
本ツールはARP Request/NS(Neighbor Solicitation)への応答のみではなく、ツールから能動的にARP Request/NSパケットを指定ターゲットに向けて送信することも可能です(図2)。この機能を使って、ネットワーク機器のARP Request/NSの処理能力をテストすることができます。

本ツールには複数Node宛のpingツールも添付しますので、これを使って簡単に大量のエントリ学習をさせることも可能です(図3)。

機能
- ARP Request/NS(Neighbor Solicitation)パケットへの応答機能(ARP Reply/NAでの応答)(*1)
- ツール側からのARP Request/NS(Neighbor Solicitation)パケット送信機能
- ICMP Echoへの応答機能(IPv4/IPv6)(*2)
- 複数宛先への同時ping機能(IPv4/IPv6)
- タグVLAN(IEEE802.1q)に対応(*3)
EthernetフレームはEthernet II(DIX仕様)のみ対応します。IEEE802.3には対応しておりません。
機能はご要望があれば対応可能なものは追加いたします。
動作環境
OS: Linux - CentOS7/CentOS8/Raspberry Pi OS(Bullseye)で確認
CPU: x86_64系/ARM系(Raspberry Pi 2 Model Bで確認)
Ethernet Portが必要です。
ツールはCUIによる操作のみなので、X-WindowのようなGUI環境は不要です。
他のディストリビューションでのご要望があれば確認します。
費用
200,000円(税別)
よくある質問
Q1.
ツールが送信するARP/NDPパケットのL2ヘッダのSource MACアドレスは何になりますか?ツールをインストールしたPCのネットワークインターフェースのMACアドレスになるのでしょうか?
A1.
本ツールが送信するパケットのL2ヘッダのSource MACアドレスは、設定ファイルで指定した仮想ノードのMACアドレスとなります。受信パケットについては、Destination MACアドレスがユニキャストの場合、設定ファイルで指定した仮想ノードのMACアドレスのものだけが各仮想ノード宛に渡されます。
L2ヘッダも含めて実際に近隣ノードが存在するのと同じ動作をしますので、L2ヘッダも含めて装置の動作を検証できます。また、テスト対象機器と本ツールをインストールしたPCの間にスイッチングハブがあっても問題ありません。
Q2.
ツールをインストールするPCのCPUのコア数が多い方がツールの送受信性能は高くなりますか?
A2.
送受信でそれぞれ1つずつスレッドを生成していますが、コア数に応じた並列処理は行っていないので、性能は変わりません。
PCの性能にもよりますが、通常はテスト対象機器の方の性能の方が先に限界に達するようです。
ツール側の性能不足を感じる時は、PCを2台用意してそれぞれにツールをインストールしてテストを行っていただいても構いません。ツールのライセンスは1台分で構いません。
Q3.
ソースコードの提供はありますか?
A3.
ありません。
Q4.
Raspberry Piでも動作しますか?
A4.
Raspberry Pi OS(Bullseye) 32bit版上で動作します。
64bit版のバイナリが必要な場合はご連絡いただければ対応いたします。
(*1) IPv6はNUD(Neighbor Unreachability Detection)のNSにも応答します。
(*2) 現状、IPフラグメントされたICMP Echoには対応していません。
(*3) 設定ファイルでVLAN IDを指定すると、ツールが送信するパケットのL2ヘッダにVLANタグが付与されるようになります。ツールが受信するパケットについてもL2ヘッダのVLANタグを識別するようになります。仮想ノード単位にVLAN IDを指定できます。