2.2.31 TPTCP_defineOSI拡張機能用情報定義文

<この項の構成>
(1) 機能
(2) 定義条件
(3) 書き方
(4) オペランド
(5) 注意事項

(1) 機能

OSI拡張機能で使用する情報を指定します。この定義文を省略すると,エンドシステムとして動作するOSI拡張機能は使用できません。

(2) 定義条件

OSI拡張機能を使用する場合,configuration文の下で1回だけ定義できます。

(3) 書き方

[図データ]

(4) オペランド

(a) VASS
仮想スロット番号 ~<10進数>((1~8))

仮想スロット番号を指定します。番号は任意に指定できますが,ほかの定義文のVASS定義と同一の番号は指定できません。この番号は,上位APが指定するスロット番号と合わせる必要があります。

(b) buffer_pool
バッファプール名称 ~<英数字>((8文字以内))

OSI_buffer文で指定したバッファプール名称を指定します。TPTCP_define文の中で,一つのバッファプール名称を指定できます。このオペランドは,buf_poolと省略して指定することもできます。

ここで指定したバッファプールは,自局IPアドレス指定機能を使用する場合にも使用されます。OSI拡張高信頼化機能を使用する場合にはTPTCP_VC文に指定したバッファプールが使用されます。

このオペランドを省略してOSI通信機能を使用する場合,デフォルトのバッファプールが割り当てられます。デフォルトで割り当てられるバッファの個数とバッファ長については,「2.2.25 OSI_buffer(OSI用バッファ定義文)」を参照してください。

(c) min_reference
最小レファレンス番号 ~<10進数>((1~65535))《1》

OSI拡張機能で使用する自局レファレンス番号の最小値を指定します。使用するレファレンス番号の範囲を絞りたい場合に指定してください。このオペランドは,min_refと省略して指定することもできます。

このオペランドの指定値は,OSI拡張高信頼化機能でも有効になります。

(d) max_reference
最大レファレンス番号 ~<10進数>((1~65535))《65535》

OSI拡張機能で使用する自局レファレンス番号の最大値を指定します。使用するレファレンス番号の範囲を絞りたい場合に指定してください。このオペランドは,max_refと省略して指定することもできます。

このオペランドの指定値は,OSI拡張高信頼化機能でも有効になります。

(e) receive_buffer_size
受信バッファサイズ ~<10進数>((128~1048576))《OS設定値》

ソケットの受信バッファサイズ(バイト)を指定します。32768バイトが推奨値です。

OSI拡張高信頼化機能を使用する場合には,TPTCP_common文のreceive_buffer_sizeオペランドに指定した受信バッファサイズが使用されます。

(f) send_buffer_size
送信バッファサイズ ~<10進数>((128~1048576))

ソケットの送信バッファサイズ(バイト)を指定します。指定を省略した場合のデフォルト値を表2-28に示します。

表2-28 send_buffer_sizeオペランドのデフォルト値

OS設定値(バイト)デフォルト値(バイト)
32767以下32768
32768以上OS設定値

OSI拡張高信頼化機能を使用する場合には,TPTCP_common文のsend_buffer_sizeオペランドに指定した送信バッファサイズが使用されます。

(g) max_TPDU
最大TPDU長 ~<10進数>((128,256,512,1024,2048,65531))《65531》

OSI拡張機能で使用する,最大TPDU長(バイト)を指定します。

このオペランドの指定値は,OSI拡張高信頼化機能でも有効になります。

(h) TS1
TS1タイマ値 ~<10進数>((10~3600))《60》

OSI拡張機能で使用する,TS1タイマ値(秒)を指定します。

このオペランドの指定値は,OSI拡張高信頼化機能でも有効になります。

(i) tcp_nodelay {yes|no}

OSの機能であるTCPのNagleアルゴリズムを無効にするかどうかを指定します。省略した場合はnoが仮定されます。

OSI拡張高信頼化機能を使用する場合には,TPTCP_common文のtcp_nodelayオペランドの指定値が有効になります。

Nagleアルゴリズムは,小さなデータしか送信しない場合にデータをすぐに送信しないで,幾つかのデータを一つのパケットにまとめてから送信する機能です。Nagleアルゴリズムについては,AIXのマニュアルを参照してください。

yes:
Nagleアルゴリズムを無効にします。データをまとめないでそのまますぐに送信するため,送信済みデータが応答待ちの状態になっても,遅延させることなくデータを送信できます。ただし,通信時の送信効率が低下して,ネットワークのトラフィックが増加するおそれがあります。
no:
Nagleアルゴリズムを無効にしません。ただし,OSの設定でNagleアルゴリズムを無効にしている場合は,noを指定しても無効になります。
(j) tcp_nodelayack {yes|no}

OSの機能であるTCPの遅延ACKを無効にするかどうかを指定します。省略した場合はnoが仮定されます。

OSI拡張高信頼化機能を使用する場合には,TPTCP_common文のtcp_nodelayackオペランドの指定値が有効となります。

遅延ACKは,受信バッファのサイズに対して受信したデータが小さいと,データを受信してもすぐにACKを返信しない機能です。遅延ACKについては,AIXのマニュアルを参照してください。

yes:
遅延ACKを無効にします。受信バッファのサイズに対して受信したデータが小さくても,データを受信すると直ちにACKを返信するため,レスポンスが向上することがあります。ただし,通信時の送信効率が低下してネットワークのトラフィックが増加するおそれがあります。
no:
遅延ACKを無効にしません。ただし,OSの設定で遅延ACKを無効にしている場合は,noを指定しても無効になります。
(k) so_keepalive {yes|no}

キープアライブ機能によるデータパケットを送信するかどうかを指定します。省略した場合はyesが仮定されます。

OSI拡張高信頼化機能には,適用されません。OSI拡張高信頼化機能を使用する場合には,TPTCP_common文のpatrol_timeオペランドの指定値(パスの生存監視時間)で監視します。

yes:
キープアライブ機能によるデータパケットを送信します。
no:
キープアライブ機能によるデータパケットを送信しません。
(l) tcp_keepcnt
キープアライブ再送回数 ~<10進数>((1~255))《OS設定値》

キープアライブ機能によるデータパケットを送信後,応答がなかった場合に再送する回数を指定します。

OSI拡張高信頼化機能には,適用されません。

(m) tcp_keepidle
キープアライブ送信間隔 ~<10進数>((1~7200))《OS設定値》

TCP接続のセションが確立された状態で,通信しなくなったときからキープアライブ機能によるデータパケットを送信するまでの時間を秒単位で指定します。

OSI拡張高信頼化機能には,適用されません。

(n) tcp_keepintvl
キープアライブ再送間隔 ~<10進数>((1~255))《OS設定値》

キープアライブ機能によるデータパケットを送信後,応答がなかった場合の再送間隔を秒単位で指定します。

OSI拡張高信頼化機能には,適用されません。

(5) 注意事項

  1. 障害などによって通信が切断された場合,ソケットのバッファに滞留されていたデータは破棄されます。ソケットの送信・受信バッファサイズを小さくすることによって,滞留するデータ数を減らせますが,小さ過ぎるとスループット性能は低下します。
  2. イーサネット・アダプタ特性項目の「TCP大容量送信オフロード」が有効になっている場合,ソケットの送信バッファサイズに65535バイト未満を指定しても,有効になりません。有効にするためには,「TCP大容量送信オフロード」を無効にしてください。イーサネット・アダプタ特性の設定を変更する手順については,AIXのマニュアルを参照してください。
    設定値は,"lsattr -El イーサネットデバイス名称 -a large_send"で確認できます。
    設定値が"no"になっている場合,またはlarge_send属性が存在しない場合は設定を変更する必要はありません。
  3. 次のオペランドで指定する情報を「OSI拡張機能の共通情報」と呼びます。OSI拡張機能の共通情報は,TPTCP_define文以外にOSI拡張機能のシステムパラメタ定義文で指定できます。
    • max_TPDU
    • TS1
    OSI拡張機能のシステムパラメタ定義を登録している場合は,TPTCP_define文にOSI拡張機能の共通情報を指定しても有効になりません。有効にしたい場合は,登録済みのシステムパラメタ定義をxnftpprmgen -dコマンドで削除してください。