ARP/NDPテスター

このツールは

これは、ルーター等のネットワーク機器のARP/NDP機能のテストに使うツールです。

設定ファイルでダミーのIPアドレス/MACアドレスの対を定義することで、そのダミーIPに対するARP Request/NS(Neighbor Solicitation)に応答します。

テスト対象のネットワーク機器からみると、大量の近隣ノードが存在するかのような動作をするので、機器仕様上限までのエントリ作成テストや大量エントリ作成時のパフォーマンスのテストが簡単に行えるようになります。

基本的な構成
図1 基本的な構成

ツールに与える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の処理能力をテストすることができます。

テスト対象機器にARP Request/NSを送信する例
図2 テスト対象機器にARP Requestを送信する例

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

pingツールを使ったエントリの大量学習の構成例
図3 pingツールを使ったエントリの大量学習の構成例

動作環境

OS: Linux (CentOS7/CentOS8で確認)
CPU: x86_64系 (ARM系は動作未確認で準備中です)
Ethernet Port

ツールはCUIによる操作のみなので、X-WindowのようなGUI環境は不要です。

他のディストリビューションでのご要望があれば確認します。

費用

200,000円(税別)

機能

EthernetフレームはEthernet II(DIX仕様)のみ対応します。IEEE802.3には対応しておりません。

機能はご要望があれば対応可能なものは追加いたします。

よくある質問

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.
ありません。

(*1) IPv6はNUD(Neighbor Unreachability Detection)のNSにも応答します。

(*2) 現状、IPフラグメントされたICMP Echoには対応していません。

(*3) 設定ファイルでVLAN IDを指定すると、ツールが送信するパケットのL2ヘッダにVLANタグが付与されるようになります。ツールが受信するパケットについてもL2ヘッダのVLANタグを識別するようになります。仮想ノード単位にVLAN IDを指定できます。