任意の順序で任意のパケットを発生させる

たとえば。例えばです。

以下のネットワークがあります。

ここで、RT1にはACLが以下の条件で設定されているとします。

・192.168.1.0/24から10.1.1.1へのICMPは許可
・全ての送信元から10.1.1.1へのHTTPは許可
・UDPの10.1.1.1への通信は192.168.1.1のみ許可

このACLが適切に設定されていることを確認するために、以下の通信を確認する必要があるとしましょう。

(1)192.168.1.1→10.1.1.1のICMP通信(成功)
(2)192.168.1.2→10.1.1.1のICMP通信(成功)
(3)192.168.2.1→10.1.1.1のICMP通信(失敗)
(4)192.168.1.1→10.1.1.1のHTTP通信(成功)
(5)192.168.1.2→10.1.1.1のHTTP通信(成功)
(6)192.168.2.1→10.1.1.1のHTTP通信(成功)
(7)192.168.1.1→10.1.1.1のUDP通信(成功)
(8)192.168.1.2→10.1.1.1のUDP通信(失敗)
(9)192.168.2.1→10.1.1.1のUDP通信(失敗)

結構面倒です。

もちろん、それぞれのデバイスにログインしてPingを実行したり、HTTPアクセスを実行する必要があるわけですが、結構手間な上に、192.168.2.1のノードはルータですから、HTTP通信を発生させるのはなかなか困難です。
また、PCからUDP通信を発生させるには、トラフィックジェネレータを使うことができますが、PC1→PC2の順番でパケットを発生させるにはどうすればよいでしょうか?

 

ここで、Packet Tracerの「シナリオ機能」と「カスタマイズPDU」を使うことで、任意のパケットを予定した順番で発生させる、ということができます。

 

■新規シナリオの作成

まずはシナリオパネルを開きましょう。

デフォルトでは、シナリオパネルのシナリオ番号は「Senario 0」となっています。
もちろんこのまま使っても問題ないのですが、せっかくなので今回は新しいシナリオを作成しましょう。

「New」をクリックすると「Senario 1」となり、シナリオパネルでシナリオが選択できるようになります。

 

■Simple PDUの作成と順番の制御

そして順番にパケットを発生させていくわけですが・・・

(1)192.168.1.1→10.1.1.1のICMP通信(成功)
(2)192.168.1.2→10.1.1.1のICMP通信(成功)
(3)192.168.2.1→10.1.1.1のICMP通信(失敗)

この3つのPDUについてはICMPですから「Simple PDU」で問題ありません。
手順は「SimplePDUによる疎通確認」を参考にしてください。

ただし、このまま実行してしまうと、ICMPの発行時間が3つとも揃ってしまうので、順番にICMPを発生させる、ということにはなりません。

そこで「PDU List Window」の「(edit)」をダブルクリックします。

PDUの編集画面が表示されるので、そこで「One Shot」の「Time」の数字を変更してPDUの実行時刻が想定した順番になるように編集します。

 

■カスタマイズPDUの作成と順番の制御

次にTCPやUDPのパケットを作成していきましょう。
前述の通り、任意のパケットを発生させるだけなら「パケットジェネレータ」で問題ありませんが、今回は順番を制御する必要があるため、セカンダリツールバーの「Add Complex PDU」を使用します。

 

カーソルの形が変わるので、PDUの送信元となるデバイスをクリックしてください。

 

以下のようなウィンドウが開くので、必要なプロトコルを選択し、宛先IPアドレスなど、必要事項を入力してください。

入力が終わったら「Create PDU」をクリックします。

 

順番の制御は、Simple PDUと同じように「(edit)」から時間の数字を変更することで変えられます。

 

なお、リスト上の順番とPDUの実行順序は関係ありません。
あくまで、Timeの順序に沿ってPDUが実行されます。
ですので、リストの並びは気にしないようにしてください。

 

順番通りにPDUが配置し終えたら、実行前に、余計なパケットが表示されないよう「Edit Filter」で表示されるパケットを絞り込んでおくことをおすすめします。

フィルタの使い方は「シミュレーションモードのイベントフィルタ」をご確認ください。

 

条件がそろったらイベントを実行してください。
リストの時間どおりにPDUがやり取りされることを確認できるはずです。

 

■シナリオの削除

不要なシナリオをまるごと削除する場合は、シナリオを選択してから「Delete」ボタンをクリックします。