Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 OpenTP1 プロトコル TP1/NET/TCP/IP編


付録B.3 バージョン5以前でのソケット関数の処理の流れ

ここでは,バージョン5以前のTP1/NET/TCP/IPが,次の場合に発行するソケット関数の処理の流れを次の図に示します。

TCP/IPソケットと相手システム間のパケット送受信のタイミングはTP1/NET/TCP/IPが動作するOSの実装に依存します。実装によっては,実際のパケット送受信のタイミングが,図に示したパケット送受信のタイミングと異なる場合があります。

なお,バージョン7でのソケット関数の処理の流れについては,「付録G ソケット関数の処理の流れ」を参照してください。

図B‒1 クライアント型コネクションの確立(バージョン5以前)

[図データ]

(凡例)

ACK:確認応答フラグ

SYN:コネクション確立要求フラグ

注※1

キープアライブを使用する場合(コネクション定義(mcftalccn -k)のkeepaliveオペランドにyesを指定),発行します。

注※2

TCP_NODELAYを使用する場合(コネクション定義(mcftalccn -k)のnodelayオペランドにyesを指定),発行します。

注※3

自システムのポート番号を指定した場合,発行します。

注※4

自システムのホスト名,IPアドレスまたはポート番号を指定した場合,発行します。

注※5

パケットの送受信は,TP1/NET/TCP/IPと非同期に行われます。バージョン5以前のTP1/NET/TCP/IPは,相手システムからのSYNおよびACKを待ち合わせません。

図B‒2 クライアント型コネクションの確立障害(相手システムのサービス未起動)(バージョン5以前)

[図データ]

(凡例)

SYN:コネクション確立要求フラグ

RST:コネクション強制切断フラグ

注※1

キープアライブを使用する場合(コネクション定義(mcftalccn -k)のkeepaliveオペランドにyesを指定),発行します。

注※2

TCP_NODELAYを使用する場合(コネクション定義(mcftalccn -k)のnodelayオペランドにyesを指定),発行します。

注※3

自システムのポート番号を指定した場合,発行します。

注※4

自システムのホスト名,IPアドレスまたはポート番号を指定した場合,発行します。

注※5

同じ処理を行います。

注※6

パケットの送受信は,TP1/NET/TCP/IPと非同期に行われます。バージョン5のTP1/NET/TCP/IPは,相手システムからのRSTを待ち合わせません。

注※7

コネクション確立障害時の確立再試行間隔(コネクション定義(mcftalccn -b)のbretryintオペランドの指定値)だけ待ち合わせます。

注※8

最大でコネクション確立障害時の確立再試行回数(コネクション定義(mcftalccn -b)のbretrycntオペランドの指定値)だけ繰り返します。

図B‒3 クライアント型コネクションの確立障害(相手システム未起動またはネットワーク障害)(バージョン5以前)

[図データ]

(凡例)

SYN:コネクション確立要求フラグ

注※1

キープアライブを使用する場合(コネクション定義(mcftalccn -k)のkeepaliveオペランドにyesを指定),発行します。

注※2

TCP_NODELAYを使用する場合(コネクション定義(mcftalccn -k)のnodelayオペランドにyesを指定),発行します。

注※3

自システムのポート番号を指定した場合,発行します。

注※4

自システムのホスト名,IPアドレスまたはポート番号を指定した場合,発行します。

注※5

コネクション確立障害時の確立再試行間隔(コネクション定義(mcftalccn -b)のbretryintオペランドの指定値)だけ待ち合わせます。

注※6

最大でコネクション確立障害時の確立再試行回数(コネクション定義(mcftalccn -b)のbretrycntオペランドの指定値)だけ繰り返します。