[過去ログ]
ネットワークプログラミング相談室 Port4 (1001レス)
ネットワークプログラミング相談室 Port4 http://mevius.5ch.net/test/read.cgi/tech/1034236536/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
61: デフォルトの名無しさん [sage] 02/10/18 09:38 >>55 「相手が落ちた(接続が落ちた)」の定義にもよる。 相手が単純にソケットをクローズしただけなら、TCP レベルで FIN を受信 するから、recv() が 0 return する。 相手が RST を飛ばしてきたら(強制切断) recv() が -1 return で エラーコードは ECONNRESET (WinSock の場合表現が違うかもしれない)。 相手のマシン自体がホントに落ちた(panic とか) だったら、何も おこらない。recv() でブロックしたまま。 質問する時は、どういう状況について質問するのか、できるだけ、 具体的にしよう。 とりあえず、ソケットプログラミングの一般論として ttp://www.kt.rim.or.jp/~ksk/sock-faq/unix-socket-faq-ja-2.html#ss2.1 に目を通しとけ。 http://mevius.5ch.net/test/read.cgi/tech/1034236536/61
62: デフォルトの名無しさん [sage] 02/10/18 10:22 >>61 > 相手のマシン自体がホントに落ちた(panic とか) だったら、何も > おこらない。recv() でブロックしたまま。 ある程度時間がたったらETIMEOUTで戻ってこない? http://mevius.5ch.net/test/read.cgi/tech/1034236536/62
65: 61 [sage] 02/10/18 10:58 >>62 何が TIMEOUT するのさ? 何も送信してなければ、TIMEOUT も存在しえないよ。 もし、データを送信して、TCP レベルでまだ ACK を受信していない段階で 相手がオチた(無応答になった)のなら、TCP の再送タイムアウトが発生 するので、recv() が -1 return して ETIMEDOUT エラーになるけど。 もっとも、もし、相手がオチた後にリブートして来たケースを考えると、 TCP の再送を受信した段階で相手が RST 応答するから、そこでコネクション が切れる。アプリケーションは recv() のエラーでそれを検出するから、 再送タイムアウトよりは、早いタイミングで検出できるだろう。 SO_KEEPAVLIE オプションを有効にしてれば、データを送信していなくても、 無通信状態が続いたら相手の生存確認をするから、そのうち TIMEOUT を 検出するけど、普通は 2 時間ぐらいかかるし(Windows の事情はよくわから ないのでデフォルト値がどのぐらいか知らない)。 http://mevius.5ch.net/test/read.cgi/tech/1034236536/65
90: デフォルトの名無しさん [age] 02/10/18 20:20 なんか、盛り上がってますね。 話のきっかけは、recv() で物理的な回線断、相手のクラッシュが検出できるか? ってことに関しては、判断不可能ってのが正解だと思います。 そういう状態になったら、recv() は永久に戻ってきません。 そのために、わざわざアプリで定周期にパケットをやり取りして相手の生死の 確認をするんだと思います。 その後のやり取りについても、 >>61 , >>71 , >>81 , >>84 の説明のほうが 筋が通ってて、正しいように思います。 私は、TCPの内部のソースはまだ読めないので、一部の説明は理解不能ですが。 それと、 >じゃあどうしてSYN floodのような攻撃が可能なのですか? についてですが、大抵のサーバは、コネクション毎にプロセスやスレッドを 作りますから、それらに割くリソースがシステムのリソースを食いつぶしていって、 最後にはサーバーが動けなくなる(メモリが足りなくてプロセス、スレッドがもう 作成できないとか)や、ものすごい勢いでコネクションの確立要求がくるとそれの 対応にカーネルが追われてしまって、本来のサーバーの仕事が出来ないくらいCPU パワーを使ってしまい、結果、サーバーとしての機能停止って感じじゃないのかな? よって、サーバー側のコネクション数に限界がなくても、SYN flood攻撃は成り立つ と思います。 http://mevius.5ch.net/test/read.cgi/tech/1034236536/90
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.035s