3.5.2 送信先対応付け定義(address_destination/TCPスルーのクライアントの場合)
形式
{{address_destination -p tcp {{-s "ipaddr=既存システムのサーバIPアドレス [portno=既存システムのサーバポート番号]"}} [{{-t "ipaddr=テスト対象システムのサーバIPアドレス portno=テスト対象システムのサーバポート番号 [,テスト対象システムのサーバポート番号…] [rcv_ipaddr=テスト対象システムのIPアドレス [,テスト対象システムのIPアドレス…]] [rcv_portno=テスト対象システムのサーバポート番号 [,テスト対象システムのサーバポート番号…]]"}}] [{{-c "ipaddr=外部システムのクライアントIPアドレス [portno= 外部システムのクライアントポート番号]"}}] [{{-h "[ipaddr=HSICのクライアントIPアドレス] [portno= HSICのクライアントポート番号]"}}] [-b "[syssndsize=システムメッセージ送信バッファ長]"] [-k "[nodelay={Y|N}] [cnrelease={fin|rst}] [cnmode=client] [cnrlssync ={Y|N}]"] [-i "[watchtime=無通信時間] [connect_stopmsg={Y|N}]"] }}
機能
送信先対応付け定義
HSICがクライアントの場合の既存システムサーバの要求電文送信先と、テスト対象システムのサーバの送信先IPアドレス、ポート番号を対応付ける定義です。
複数のaddress_destination定義の-sオプションで同一のIPアドレス、ポート番号の組み合わせを指定した場合、先に定義した定義が有効となります。ただし、-sオプションが同一のaddress_destination定義でも-cオプションのIPアドレス/ポート番号が異なる場合は、そのaddress_destination定義は有効となります。しかし、電文が複数のaddress_destination定義に該当した場合は先に定義した定義が有効となります。
- 例1)
-
- 定義A
-
-s“ipaddr=192.168.172.2 portno=30000”
-c“ipaddr=192.168.172.3 portno=10000”
- 定義B
-
-s“ipaddr=192.168.172.2 portno=30000”
-c“ipaddr=192.168.172.4 portno=20000”
定義Aと定義Bの-sオプションは同一ですが、-cオプションが異なるので、定義A、B共に有効となります。
- 例2)
-
- 定義A
-
-s“ipaddr=192.168.172.2 portno=30000”
(-c 省略)
- 定義B
-
-s“ipaddr=192.168.172.2 portno=30000”
-c“ipaddr=192.168.172.3 portno=10000”
定義Aにも定義Bにも該当する電文は定義Aが有効となります。それ以外の電文も、定義Aが有効となります。
- 例3)
-
- 定義A
-
-s“ipaddr=192.168.172.2 portno=30000”
-c“ipaddr=192.168.172.3 portno=10000”
- 定義B
-
-s“ipaddr=192.168.172.2 portno=30000”
(-c 省略)
定義Aにも定義Bにも該当する電文は定義Aが有効となります。それ以外の電文は、定義Bが有効となります。
また、IPアドレスが同一でポート番号が範囲指定で重複した場合は先に記述した定義のポート番号の範囲をその定義で有効とし、重複していない範囲を後に記述した定義で有効とします。
- 例)
-
定義A -s“ipaddr=192.168.172.2 portno=10000-30000”
定義B -s“ipaddr=192.168.172.2 portno=20000-40000”
上記の場合、定義AはIPアドレス192.168.172.2、ポート番号10000-30000、
定義BはIPアドレス192.168.172.2、ポート番号30001-40000が有効となります。
複数のaddress_destination定義の-tオプションかつ、-hオプションで同一のIPアドレス、ポート番号の組み合わせを指定する事はできません。同一のIPアドレス、ポート番号の組み合わせを指定した場合、システムテスト支援はプロセスダウンします。
同一のaddress_destination定義で-tを複数指定した場合、-tで指定したIPアドレス、ポート番号の組み合わせが重複した場合、システムテスト支援はプロセスダウンします。
-
-sで指定したIPアドレスへの要求電文、および-sで指定したIPアドレスからの応答電文をキャプチャします。また、-sオプションは定義一つに対して100個まで指定することができます。
-
-tで指定したIPアドレス、ポートにキャプチャした要求電文を送信します。
-
-hで指定したIPアドレス/ポート番号でHSICはパケットを送信します。
-hオプションは複数指定できます。-hオプションを複数指定することで、パケットを送信するHSICのクライアント単位に、電文送信元のIPアドレス/ポート番号を割り当てることができます。-hオプションは最大1000個まで指定できます。
-hオプションを複数指定する場合、ipaddrは省略できません。また、-hオプションのipaddr、およびportnoに指定する値の組み合わせは、全address_destination定義で一意になるように指定してください。
-
-sまたは、-cを指定する場合、以下のようになります。
- -s portnoを指定する場合
-
既存システム側の特定のポート番号を使用する要求電文をキャプチャすることができます。
- -c ipaddr、portnoを指定する場合
-
特定の外部システムのIPアドレス、ポート番号からの要求電文のみキャプチャすることができます。
指定数
0〜99999
オプション:-p
- なし
-
- 設定値と省略値
-
tcp
- 説明
-
電文の通信プロトコルを指定します。
tcp:TCPスルー
オプション:-s
(注)-sは一つのaddress_destination定義に対して最大100個定義することができます。また、全てのaddress_destination定義の-sは合計で最大99999個定義できます。
- ipaddr
-
- 設定値と省略値
-
既存システムのIPアドレス(nnn.nnn.nnn.nnn)
〈符号なし整数〉((0〜255))
- 説明
-
外部システムから電文を送信する送信先の既存システムのIPアドレスをnnn.nnn.nnn.nnnの形式で指定します。
nnnは0以上255以下の数を指定してください。
ただし、0.0.0.0および255.255.255.255は指定できません。
- ほかのオペランドとの関連
-
本オペランドで指定するIPアドレスは、capture_definition定義の-fオプションipaddrオペランドで指定した範囲内のIPアドレスを指定してください。
本オペランドで指定したIPアドレスがcapture_definition定義-fオプションipaddrオペランドの指定範囲外の場合、パケットをキャプチャされません。
詳細は「3.4.1 パケットキャプチャに関する定義(capture_definition)」を参照してください。
- portno
-
- 設定値と省略値
-
既存システムのポート番号〈符号なし整数〉((1〜65535))
省略すると、すべてのポート番号を対象にします。
- 説明
-
外部システムから電文を送信する送信先の既存システムのポート番号を指定します。
オプション:-t
(注)TCPスルーでは-tフラグは指定必須です。ただし、蓄積実行のときだけ、-tは省略できます。また他の実行形態をesmodaddコマンドで追加することもできません。
- ipaddr
-
- 設定値と省略値
-
テスト対象システムのIPアドレス(nnn.nnn.nnn.nnn)
〈符号なし整数〉((0〜255))
- 説明
-
外部システムからの電文を送信する送信先のテスト対象システムのIPアドレスをnnn.nnn.nnn.nnnの形式で指定します。
nnnは0以上255以下の数を指定してください。
ただし、0.0.0.0および255.255.255.255は指定できません。
- portno
-
- 設定値と省略値
-
テスト対象システムのポート番号〈符号なし整数〉((1〜65535))
- 説明
-
外部システムからの電文を送信する送信先のテスト対象システムのポート番号を指定します。
- rcv_ipaddr
-
- 設定値と省略値
-
テスト対象システムのIPアドレス(nnn.nnn.nnn.nnn)
〈符号なし整数〉((0~255))《ipaddrで指定したIPアドレス》
- 説明
受信専用のコネクションを使用する場合、外部システムからの電文を送信する送信先のテスト対象システムのIPアドレスをnnn.nnn.nnn.nnnの形で指定します。nnnは0以上255以下の数を指定してください。ただし、0.0.0.0および255.255.255.255は指定できません。
テスト対象システムと複数のコネクションを接続したいときは、カンマ区切りで複数のIPアドレスを指定します。なお、複数指定する場合は、指定する順番をrcv_portnoフラグメンバと合わてください。
テスト対象システム1(IPアドレス=11.11.11.11、ポート番号=11111)、テスト対象システム2(IPアドレス=22.22.22.22、ポート番号=22222)、テスト対象システム3(IPアドレス=33.33.33.33、ポート番号=33333)を定義する場合の定義例を示します。
- 前提条件
-
本フラグメンバは、次の条件をすべて満たす場合だけ有効です。それ以外の場合、フラグメンバの指定値は無視されます。
-
framework_definition定義の-uオプションのuseフラグメンバにYを指定
-
address_destination定義の-pオプションにtcpを指定
-
address_destination定義の-tオプションのrcv_portnoを指定
-
- rcv_portno
-
- 設定値と省略値
-
テスト対象システムのサーバポート番号
〈符号なし整数〉((1~65535))
- 説明
-
受信専用のコネクションを使用する場合、テスト対象システムのポート番号を指定します。
テスト対象システムと複数のコネクションを接続したい場合は、カンマ区切りで複数のポート番号を指定します。
複数指定する場合は、最大で10個のポート番号を指定できます。
- 前提条件
-
本フラグメンバは、次の条件をすべて満たす場合だけ有効です。それ以外の場合、フラグメンバの指定値は無視されます。
-
framework_definition定義の-uオプションのuseフラグメンバにYを指定
-
address_destination定義の-pオプションにtcpを指定
-
オプション:-c
(注)-cは1つのaddress_destination定義に対して最大64個定義することができます。65個以上定義した場合、HSICの起動に失敗します。
- ipaddr
-
- 設定値と省略値
-
外部システムのIPアドレス(nnn.nnn.nnn.nnn)
〈符号なし整数〉((0〜255))《0.0.0.0》
- 説明
-
既存システムへ電文を送信する外部システムのIPアドレスをnnn.nnn.nnn.nnnの形式で指定します。
nnnは0以上255以下の数を指定してください。
本フラグメンバを省略した場合、または、0.0.0.0を指定した場合は、外部システムのIPアドレスは任意となります。
- portno
-
- 設定値と省略値
-
外部システムのポート番号〈符号なし整数〉((0〜65535))《0》
- 説明
-
外部システムのポート番号を指定します。
本フラグメンバを省略した場合、または0を指定した場合は、外部システムのポート番号は任意となります。
ポート番号は範囲指定での指定が可能です。
ポート番号の範囲指定
xxxx-yyyy
xxxxからyyyyまでのポート番号を外部システムのポート番号とします。xxxxはyyyy以下の値を指定してください。また、xxxxに0は指定できません。
- 利点
-
テスト対象システムが特定のIPアドレスからのパケットしか受信しないような場合に、本フラグメンバを指定することで、IPアドレスを特定することができます。
オプション:-h
- ipaddr
-
- 設定値と省略値
-
システムテスト支援のIPアドレス(nnn.nnn.nnn.nnn)
〈符号なし整数〉((0〜255))《0.0.0.0》
- 説明
-
テスト対象システムへ電文を送信するシステムテスト支援のIPアドレスをnnn.nnn.nnn.nnnの形式で指定します。
nnnは0以上255以下の数を指定してください。
本フラグメンバを省略した場合、または、0.0.0.0を指定した場合、IPアドレスはOSが自動割当します。
- portno
-
- 設定値と省略値
-
システムテスト支援のポート番号〈符号なし整数〉((0〜65535))《0》
- 説明
-
テスト対象システムへ電文を送信するシステムテスト支援のポート番号を指定します。
本フラグメンバを省略した場合、または0を指定した場合は、ポート番号はOSが自動割当します。
-hオプションでportnoのみを指定する場合は、-kオプションcnmodeフラグメンバでserverを指定した定義と重複する値を使用しないでください。
- 利点
-
テスト対象システムが特定のポート番号からのパケットしか受信しないような場合に、本フラグメンバを指定することで、ポート番号を特定することができます。
オプション:-b
- syssndsize
-
- 設定値と省略値
-
〈符号なし整数〉((1〜2147483647))《OSのデフォルト値》
(単位:バイト)
- 説明
-
TCPスルーで使用するソケットのソケット送信バッファのサイズをバイト単位で指定します。
本フラグメンバの指定を省略するとOSのデフォルト値が仮定されます。
- 備考
-
Linux版では、カーネルの仕様によりソケット送信バッファは本フラグメンバ指定値の2倍のサイズが確保されます。また、ソケット送信バッファサイズの最大値はカーネルパラメタにより制限されており、最大値より大きいサイズを確保しようとした場合、確保サイズは最大値となります。その為、以下の条件が成立するよう本フラグメンバ及び、カーネルパラメタを調整してください。
「(本フラグメンバ指定値×2) <= net.ipv4.tcp_wmemのmax値」
Windows版では設定値の上限はありません。
オプション:-k
- nodelay
-
- 設定値と省略値
-
Y|N《N》
- 説明
-
TCP/IPが提供するソケットオプション「TCP_NODELAY」を使用するかどうかを指定します。
Y:「TCP_NODELAY」を使用する
N:「TCP_NODELAY」を使用しない
- 利点
-
「TCP_NODELAY」を使用することで送信済みデータの応答待ちの状態でも遅延させることなくデータ送信ができるようになります。
- 注意事項
-
「TCP_NODELAY」を使用することでネットワークの負荷は大きくなります。
- cnrelease
-
- 設定値と省略値
-
fin|rst《fin》
- 説明
-
コネクションの解放形態を指定します。
fin:FINパケットを送信してコネクションを解放します
rst:RSTパケットを送信してコネクションを解放します
- 注意事項
-
本フラグメンバにfinを設定したとしても、ネットワーク上のデータのすれ違い等により指示とは関係なくRSTパケットを送信する場合があります。
- cnmode
-
- 設定値と省略値
-
client
- 説明
-
コネクションの確立方式を指定します。
client:コネクション確立を要求します。
- cnrlssync
-
- 設定値と省略値
-
Y|N《Y》
- 説明
-
システム検証支援基盤が本番環境のコネクション障害を検知した場合に、テスト対象システムとのコネクションを解放するかを指定します。
Y:テスト対象システムとのコネクションを解放します
N:テスト対象システムとのコネクションを解放しません
- 指定値の目安
-
既存システムと外部システム間のコネクション解放が発生している状態で取得した蓄積ファイル、pcap形式ファイルを使用したテストを実施する際に、コネクションを維持したい場合は指定してください。
オプション:-i
- watchtime
-
- 設定値と省略値
-
〈符号なし整数〉((0〜65535))《300》(単位:秒)
- 説明
-
外部システムと既存システム間のコネクションの無通信時間を指定します。
対象のコネクションにおいて、最後に電文を処理した時刻から本定義時間以上経過後も電文登録がない場合、テスト対象システムとの間のコネクションを解放します。
本フラグメンバに0を指定した場合は、コネクションを解放しません。
- 利点
-
外部システムと既存システム間のコネクションが解放されたときに、FINやRSTをキャプチャ出来なかった場合でも、コネクションを解放することができます。
- connect_stopmsg
-
- 設定値と省略値
-
Y|N《Y》
- 説明
-
テスト対象システムのコネクションを相手プロセス側が切断(RST検知)した場合に、KFSE43310-Wメッセージを出力するかどうかを指定します。
Y:メッセージを出力します。
N:メッセージを出力しません。
- 利点
-
メッセージが大量に出力されることを抑止できます。