- 1 名前:デフォルトの名無しさん mailto:sage [2008/09/28(日) 21:09:04 ]
- 主にソケットに関しての質疑応答スレッドです。
Programming UNIX Socket FAQ (日本語訳) www.kt.rim.or.jp/~ksk/sock-faq/indexj.html Winsock Programmer's FAQ (日本語訳) www.kt.rim.or.jp/~ksk/wskfaq-ja/ 関連リンクは>>2-10辺り 足りなかったら適当に付け足してね 前スレ ネットワークプログラミング相談室 Port20 pc11.2ch.net/test/read.cgi/tech/1186418855/ 関連スレ Java ネットワークプログラミング 【教えて!】 pc11.2ch.net/test/read.cgi/tech/1086238859/
- 877 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 00:02:31 ]
- 誰が消して誰がICMPを送ってるんですか?
- 878 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 00:24:46 ]
- 1. ルータやホスト。(TCP/IPの前提)
2. その人。
- 879 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 00:32:52 ]
- 消えるってことは残って誰かの迷惑になるというわけでもないってことでしょうか?
- 880 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 00:40:26 ]
- 相手が受信しなかったときって具体的に何だ?
recv/readしなかったときか? それはTCPが受信してバッファにとりあえず入れとく。
- 881 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 00:47:41 ]
- >>878
ええ?OSやIPのライブラリ(ソフト)じゃないですか?
- 882 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 01:19:33 ]
- TCPの場合だとコネクトした状態でsendを行ってrecvを行う前に切断してしまったケースとか
UDPならrecvしなかった場合とかです
- 883 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 02:38:32 ]
- 1のような仕組みはあえて仕込まない限り知らないが、
2はアタック検知したユーザが誰だよてめえと思ってみるということかなぁと。 でも俺ならdigする。んで、80番にアクセスすることはあるけどnmapは滅多にしない
- 884 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 03:14:10 ]
- sendした以上、相手には届いている。
- 885 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 05:07:30 ]
- sendしただけでは自分のTCPスタックの中にとどまっているかもしれなくね?
- 886 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 20:15:46 ]
- バウンスしたら迷惑だろ
- 887 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 20:40:46 ]
- >>877
NET UNREACH 郵便局(ルータ)の中の人「なんだよこんな番地(ルーティング)存在しねーよ。宛先が存在しません、と…」 HOST UNREACH 郵便配達(エンドルータ)の中の人「このマンションにこんな部屋番号(mac address)存在しねーよ。宛先に届けられません、と…」 PORT UNREACH 家の人(ホスト)「『ひろゆき様へ』って…誰だよそんな奴(port)この家にいねーよ、と…」 PROTOCOL UNREACH ニホンゴワカリマセーン 他にもいろいろあるけどこんな感じ。
- 888 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 20:47:11 ]
- ローカルIP宛てのパケットを外に出しちゃったら
消えずに迷子になるから迷惑って聞いたんですけど 結局どこに行きますか?
- 889 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 20:50:47 ]
- 冥王星あたり
- 890 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 21:17:06 ]
- プライベートアドレスでなくても
あて先が突然切断したりしてルートを見失った場合、 パケットは TTLがなくなるまでたらいまわしにされる? それとも最も近くにあったルータまで行ってそこで見なかったことにされる?
- 891 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 21:25:49 ]
- ルータやホストはいつでもパケットを捨てていい。
最大努力配送が期待されているだけ。 これがTCP/IPの基本的な原則。
- 892 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 21:52:27 ]
- IPパケットが(何かの力によって)勝手に消えて、ネットワークのせいでいつまで経っても自ネット・目的先へ届かないってことはあるけど、
そういう時はTCPは再送信が送信元にいくからいいけど、UDPはICMPで再送の通知がされるの?もしかしてもみ消し?
- 893 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 21:55:07 ]
- UDPだと、UDPパケットが消滅したとき、ルータが必ずICMPとか何か使って再送してねの再送要求を送信先に必ず送るんでしょうか?
それとも、このパケットがちゃんと届いたかどうかもアプリの方が管理するんですか?
- 894 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 21:57:32 ]
- UDPは何も言わずに捨ててよい
- 895 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 21:58:34 ]
- UDPはアプリの方で管理
- 896 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 22:04:02 ]
- パケットの消失は、基本的にはルータやエンドで処理しきれず捨てられるか、寿命が尽きるかのどちらか。
sendしたパケットが相手に届いてちゃんと受けとればけば、recv使用がしなかろうが、TCPのバッファには残る。
- 897 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 22:13:26 ]
- 最近はファイヤーウォールももみ消すよ。
>>893 ICMPもなくなる可能性があります。 基本的に、パケットがなくしてしまってもいいから、 どんどんネットワークをつないでいくってのがInternetの設計方針。 送信保証はエンドツーエンドでやる。つまりサーバとクライアントの仕事。 なくしていいよってことを認めないと、 PC買ってきて家ですぐにつなげなくなる。 電話みたいにISPのルータでの設定が必要になってしまう。 そういうネットワークはみんな滅亡した。 自分でやるのが面倒なプログラマはTCPを使うべき。 まともな再送機構作るのはかなり難しい。
- 898 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 22:26:37 ]
- UDPは消える
ヤバイくらい消える ローカルなネットで2台しか繋がっていないテスト環境でも消える っつーか取りこぼす
- 899 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 22:29:10 ]
- そりゃ送りすぎなんじゃないの?
- 900 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 22:30:39 ]
- でも最近では、バルクデータもUDPで送るようなソフトが出てきてるよな。
SINET等の高速回線ではそのほうがいいらしい。
- 901 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 22:33:22 ]
- >>900
> SINET等の高速回線ではそのほうがいいらしい。 TCP実装するくらいの実力があればね。
- 902 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 22:46:56 ]
- d.hatena.ne.jp/asin/4774136042
- 903 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 23:16:05 ]
- みんなクリスマスの夜だというのに饒舌だなぁ。
もういいから彼女の元に戻ってやれよ
- 904 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 23:53:05 ]
- >>901
imihumei
- 905 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 23:55:33 ]
- 状況によりけりだろうな。
SINETでもノードによっては遅延がでかいし。
- 906 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 03:47:52 ]
- UDPの方が意図通りに組める
- 907 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 05:00:00 ]
- 新規にブラウザのレンダリングエンジンを作りたいんですけど、
とりあえず何が難しいのか分からない
- 908 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 05:15:35 ]
- ですよねー
- 909 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 06:24:24 ]
- 彼女いないし
- 910 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 09:25:06 ]
- >>907
頼もしいな。
- 911 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 16:01:10 ]
- >>898
それは単に送りすぎなだけだよw 通信対戦ゲーム作る時、いろいろな環境で実験したが 時々ごっそり消える(しばらく通じなくなる)が、普段は快適。って結果だったな。 最初ネットで拾ってきたテストコードでやったらごっそり消えまくって、UDPひでえって思ったけど、 単にそのテストコードがデータ送りすぎなだけだった。
- 912 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 16:29:43 ]
- データ送りすぎもいいけど、それはOSやルータ側が処理しきれないで破棄するっていう問題なのか、それともUDPの仕様(の限界)なのかってことじゃないのか?
極端に言えば「処理できるのは1秒に1パケットだけだからそれ以外は破棄よ」ってこともありえる(例えば同期の問題とかで)。
- 913 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 16:33:49 ]
- 送りすぎってのは一回の送信で沢山送ろうとしてるだけなんでは?
それならバシバシ消えると思う
- 914 名前:デフォルトの名無しさん mailto:sage [2008/12/26(金) 20:55:05 ]
- ビジーループみたいなループの中で100バイトのパケットを送り続けるとかやったんでしょ?
テストコードとしてはやりがちだからね。 でもこれだとポロポロ落ちるんじゃね? スリープ入れないと。
|

|