3.5.3 送信先対応付け定義(address_destination/TCPスルーのサーバの場合)
形式
{{address_destination -p tcp {{-s "ipaddr=既存システムのサーバIPアドレス [portno=既存システムのサーバポート番号]"}} [{{-c "ipaddr=外部システムのクライアントIPアドレス [portno=外部システムのクライアントポート番号]"}}] -h "[ipaddr=HSICのクライアントIPアドレス] portno=HSICのクライアントポート番号" [-b "[syssndsize=システムメッセージ送信バッファ長]"] [-k "[nodelay={Y|N}] [cnrelease={fin|rst}] cnmode=server [cnrlssync={Y|N}] [agent={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定義の-sオプションかつ、-hオプションで同一のIPアドレス、ポート番号の組み合わせを指定する事はできません。同一のIPアドレス、ポート番号の組み合わせを指定した場合、システムテスト支援はプロセスダウンします。
同一のaddress_destination定義で-tを複数指定した場合、-tで指定したIPアドレス、ポート番号の組み合わせが重複した場合、システムテスト支援はプロセスダウンします。
-
-sで指定したIPアドレスへの要求電文、および-sで指定したIPアドレスからの応答電文をキャプチャします。また、-sオプションは定義一つに対して100個まで指定することができます。
-
-hで指定したIPアドレス、ポートにキャプチャした要求電文を送信します。
-
-sまたは、-cを指定する場合、以下のようになります。
- -s portnoを指定する場合
-
既存システム側の特定のポート番号を使用する要求電文をキャプチャすることができます。また、指定したポート番号のパケットを-hの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))
省略すると、すべてのポート番号を対象にします。
- 説明
-
外部システムから電文を送信する送信先の既存システムのポート番号を指定します。
オプション:-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が自動割当します。
-hで指定したIPアドレスとポート番号の組み合わせは、他のaddress_destination定義の-hオプションで使用しないで下さい。
- portno
-
- 設定値と省略値
-
システムテスト支援のポート番号〈符号なし整数〉((1〜65535))《0》
- 説明
-
テスト対象システムへ電文を送信するシステムテスト支援のポート番号を指定します。
このフラグメンバを省略した場合、または0を指定した場合は、ポート番号はOSが自動割当します。
-kオプションcnmodeフラグメンバでserverを指定する場合、このフラグメンバを省略、または0を指定出来ません。
-kオプションcnmodeフラグメンバでserverを指定する場合、このフラグメンバには以下の条件を満たす値を指定してください。
・-hで指定したIPアドレスとポート番号の組み合わせが一意になるように指定してください。(後述の例の定義1+定義3のケースは不可)
・-hでipaddrに0.0.0.0、もしくはipaddrを省略した場合、-hのポート番号が一意になるように指定してください。
(後述の例の定義2+定義3、定義2+定義4のケースは不可)
・-hでIPアドレスを指定する場合、以下のいずれかのケースに当てはまる他のaddress_destination定義の-hのポート番号と、重複しないように指定してください。
-hでipaddrに0.0.0.0、もしくはipaddrを省略したaddress_destination定義
(後述の例の定義1+2、定義1+定義4のケースは不可)
[例] 以下のような定義の組み合わせの指定可否を表に記述します。
定義1:address_destination -k "cnmode=server"
-h "ipaddr=1.1.1.1 portno=10000"
:
定義2:address_destination -k "cnmode=server"
-h "portno=10000"
:
定義3:address_destination -k "cnmode=client"
-h "ipaddr=1.1.1.1 portno=10000"
:
定義4:address_destination -k "cnmode=client"
-h "portno=10000"
:
-
定義1
定義2
定義3
定義4
定義1
-
×
×
×
定義2
×
-
×
×
定義3
×
×
-
○
定義4
×
×
○
-
(凡例)
○:同時指定可能
×:同時指定不可
オプション:-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
-
- 設定値と省略値
-
server
- 説明
-
コネクションの確立方式を指定します。
server:コネクション確立を待ちます。
- cnrlssync
-
- 設定値と省略値
-
Y|N《Y》
- 説明
-
システム検証支援基盤が本番環境のコネクション障害を検知した場合に、テスト対象システムとのコネクションを解放するかを指定します。
Y:テスト対象システムとのコネクションを解放します。
N:テスト対象システムとのコネクションを解放しません。
- 指定値の目安
-
既存システムと外部システム間のコネクション解放が発生している状態で取得した蓄積ファイル、pcap形式ファイルを使用したテストを実施する際に、コネクションを維持したい場合は指定してください。
- agent
-
- 設定値と省略値
-
Y|N《N》
- 説明
-
エージェント機能を使用するかどうかを指定します。
Y:エージェント機能を使用します。
N:エージェント機能を使用しません。
- 前提条件
-
エージェント機能はTCPスルーのサーバモードを使用します。そのため、次のどちらかの条件を満たす場合、システムテスト支援の起動に失敗します。
-pオプションに「tcp」以外を指定
-kオプションのcnmodeフラグメンバに「server」以外を指定
オプション:-i
- watchtime
-
- 設定値と省略値
-
〈符号なし整数〉((0〜65535))《300》(単位:秒)
- 説明
-
外部システムと既存システム間のコネクションの無通信時間を指定します。
対象のコネクションにおいて、最後に電文を処理した時刻からこの定義時間以上経過後も電文登録がない場合、テスト対象システムとの間のコネクションを解放します。
このフラグメンバに0を指定した場合は、コネクションを解放しません。
- 利点
-
外部システムと既存システム間のコネクションが解放されたときに、FINやRSTをキャプチャ出来なかった場合でも、コネクションを解放することができます。
- connect_stopmsg
-
- 設定値と省略値
-
Y|N《Y》
- 説明
-
テスト対象システムのコネクションを相手プロセス側が切断(RST検知)した場合に、KFSE43310-Wメッセージを出力するかどうかを指定します。
Y:メッセージを出力します。
N:メッセージを出力しません。
- 利点
-
メッセージが大量に出力されることを抑止できます。