人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

TCPについてお伺いいたします。

setsockopt(sock, SOL_SOCKET, SO_LINGER, ...)で指定する
リンガータイマーは、*正確*には
どのTCP状態からどのTCP状態までの間の時間なのですか?

1.状態Aから状態Bまでの時間という回答。
2.あなたの回答の根拠を示すURLや書籍を紹介してください。

1, 2の両方とも示せない場合は回答不要です。

●質問者: aukjs
●カテゴリ:コンピュータ 科学・統計資料
✍キーワード:TCP URL あなた タイマー リンガー
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● nyori3
●20ポイント

ftp://ftp.isi.edu/in-notes/rfc793.txt

RFC793の状態遷移から、ESTABLISHEDからFIN_WAIT_1まで、もしくはCLOSE_WAITからLAST_ACKまでの時間だと思います。

http://docs.hp.com/ja/B2355-90854/getsockopt.2.html

getsockopt(2)

なお、HP-UX限定かもしれませんが、こちらのSO_LINGERの項を読むと、「l_linger の値は論理値として単純な取扱いを受けます。非ゼロの値は時間制限として解釈され ません 」とあり、時間設定はできないと考えています。

◎質問者からの返答

> RFC793の状態遷移から、ESTABLISHEDからFIN_WAIT_1まで、もしくはCLOSE_WAITから

> LAST_ACKまでの時間だと思います。

「思います」って。。。

そもそも、そのrfc793をみても、lingerで引っかかりません。

TCPの状態遷移なら知っています。知っているので、「TCP状態」でいうと

正確にはどこかという疑問があるのです。

> なお、HP-UX限定かもしれませんが、こちらのSO_LINGERの項を読むと、

>「l_linger の値は論理値として単純な取扱いを受けます。

> 非ゼロの値は時間制限として解釈され ません 」とあり、

> 時間設定はできないと考えています。

参考にしておきます。


2 ● tonolove
●20ポイント

http://d.hatena.ne.jp/dummyddddddddd

ピアソン・エデュケーション

UNIXネットワークプログラミングVOL1

[P181] 〜 に記述されています。¥8000

です。どうぞ。

この件についてはいくつかのCASEがあり数ページにわたっています。

冒頭のみ簡単にワープロ打ちします。

l_onoffが非ゼロで、l_lingerが非ゼロの場合、そのソケットのクローズに対して、カーネルはリンガー動作を行う。

ソケットの送信バッファ中にデータがある場合、

(a)全てのデータが送信され相手のTCPによって承認されるか,

(b)リンガー時間が糸冬 了するまで、プロセスはスリープ状態になる。

ソケットがノンブロッキングの場合、リンガー時間が設定されていてもcloseの終了を待たない。

残りのデータが承認される前にリンガー時間が終了するとcloseがEWOULDBLOCKを返す。(アプリがCLOSEの戻り値をチェックする事!)

頑張ってください。

以上

◎質問者からの返答

すなわちTCP状態との対応があるわけではないということでしょうか?もしかしてトンチンカンな質問だったのでしょうか?

それならそれで、そういう回答もOKです。

ただし根拠も示してください。

根拠の無い思い込みならお断りします。


3 ● tonolove
●20ポイント

http://d.hatena.ne.jp/dummydummyd

1.closeが制御を返す時のシーケンス図が3つ4つ記載があります。

状態も示されています。

2.図7.5 種々のTCP状態を検出する方法 マトリクスあり。

(相手ホストの状態と、4つのシナリオに対応した検出方法。)

xxxxのときESTABLISH状態である...とかそんな応答状態も含まれて居ます。

状態としては、こういったものを見て判断するのかなと。

残念ですがこの部分の実装経験が無い為、状態A->状態B!とビシッと回答不能。

回答が少なかったので、気になり本を紹介して差し上げたつもりで(その点、言葉たりず)

気になるようであれば、読んでみてはどうでしょうか。

手探りで実装を終えても気持ち悪いですからね。

ポイントは不要です。

◎質問者からの返答

丁寧にありがとうございます。

ちなみに、その本はよんでます。

#全部理解したか?とたずねられると辛いですが

親切なつもりとは思いますが

示せないのなら回答はいりません。

-----------------------

難しいようなので、一旦締めます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ