akisutesama が通信に興味を持たれたようです

akisutesama が今朝から通信の勉強を始めたようです. 最初のうちは読書メモのようだったのですが, V 先輩との活発なやり取りが起き非常に盛り上がった感じになりました. エアリプライのつぶやきは拾えてない可能性があるので, 自由に追加してください.
10
前へ 1 2 ・・ 7 次へ
akisute/Masashi Ono @akisutesama

UDPの理解のためにUDPでHTTPサーバを書くみたいな意味不明の苦行を考えたのだが、到達したデータの順序とかむちゃくちゃなのでダメじゃねえかという結論に

2012-02-12 10:48:34
akisute/Masashi Ono @akisutesama

@cocoatomo ルーター自作とかなかなかヤバい単語が飛んできていいっすね。俺はもう少し上のレイヤで必要としているので、オンラインゲームの技術だかなんだかという本が愛読書です

2012-02-12 10:49:32
akisute/Masashi Ono @akisutesama

ん?ホイットニーさんってひょっとしてエンダァァァァァァァの人?なんだって!?

2012-02-12 11:00:28
akisute/Masashi Ono @akisutesama

本人は1ミリも知らないんだがエンダアアアアアアア出来なくなるのはさみしいな

2012-02-12 11:00:47
akisute/Masashi Ono @akisutesama

UDPはパケットの分割制御をしないから、たとえばイーサネット上で2000byte程度のデータをUDPで送ると二つにフレームが分割されてしまうので受信側は困るな。なるほど。

2012-02-12 13:24:39
AKIRA_TRYSTAR @AKIRA_TRYSTAR

@akisutesama UDPは正確さよりも速度重視ですね。音声とか動画とか、途切れ途切れでもだいたい判れば良いやぁって利用法ですね〜

2012-02-12 13:31:44
marvelph @marvelph

@akisutesama UDPはプログラムから見た送受信の時点で最小単位に分割してある物だと思っていたのですけど、もしかしてそのパケットサイズが大きめだと、さらに分割されて受信する事があるのですか?

2012-02-12 13:34:34
akisute/Masashi Ono @akisutesama

いかん、試してもないのに断定するのはいけない。早速やってみよう。

2012-02-12 13:37:43
marvelph @marvelph

@akisutesama う、勉強不足でした。パケット受信時に、自動分割に関する情報も取得できるのでしょうから、適切に結合してやる必要がありますね。ただでさえ、パケットの並べ替えや欠落の対処で面倒なUDPが、ますます面倒に。

2012-02-12 13:42:49
akisute/Masashi Ono @akisutesama

へえ!TCPの速度はコネクションが継続すればするほど速くなるのか!ウィンドウサイズってのがあって、それがどんどん大きくなって行くイメージ。ほほー。

2012-02-12 13:52:54
akisute/Masashi Ono @akisutesama

TCPメチャメチャよくできてるなー。すげー!

2012-02-12 13:53:19
akisute/Masashi Ono @akisutesama

こんな基本すら知らずに通信やってるんだからねぇ俺は。まったく三流極まりないな。それも今日までだがなハハハハ!

2012-02-12 13:54:05
akisute/Masashi Ono @akisutesama

こうしてみるとTCPは確かに無駄が大きそうだな。UDPを飼いならす必要がある。しかしUDPでは余りにも適当。UDPの上位のプロトコルが欲しい、あるはずだ。パケットの順番がわかる程度の薄い薄いラッパが付いているものとか、はじめからゲームに特化したものとか。

2012-02-12 13:56:19
akisute/Masashi Ono @akisutesama

だろ! RT @hamatz あきすてさんは今日もおもしれーな (´∇`)

2012-02-12 13:57:00
akisute/Masashi Ono @akisutesama

ネットワーク超面白い、さっさと買い物すませてコードかきたい!

2012-02-12 13:57:53
akisute/Masashi Ono @akisutesama

@Masahito それで済ませたかったんですがどうも水道管敷設工事をすることになりましてですね><

2012-02-12 14:47:54
akisute/Masashi Ono @akisutesama

TCPは何でもてんこ盛りで非常に安定したストリーム通信が可能になるがてんこ盛り。UDPはその真逆で基本何にもない、投げ捨てて終わり。実際はUDPの上に「ある程度の、アプリケーションが必要とする程度の信頼性向上策」をのっけて使う、みたいなイメージでいる。あってる?

2012-02-12 14:58:04
akisute/Masashi Ono @akisutesama

一番わかり易いのはコネクションタイムアウトだ。通信プッツン切れました判定ね。あとはパケットの順序が逆になりましたとか。これぐらいは必要かなと。その上に更にアプリケーションプロトコル(HTTPみたいなの)を作るわけだ。やべぇ超燃える。萌え。

2012-02-12 15:00:41
akisute/Masashi Ono @akisutesama

このへんのノウハウは一マイクロメートルもないので、ウダウダ考えるよりはすでに偉い人が実装されているのをそのままパクって学ぶことにする。

2012-02-12 15:01:18
飽き性 @shkumagai

TLの流れがゆるやか。みんな何かしらやっているんだろうね…

2012-02-12 15:08:26
akisute/Masashi Ono @akisutesama

へぇTCPやUDPだけじゃなくて、SCTPとかDCCPみたいなのもあるんだ。面白いな。

2012-02-12 15:09:03
Suzuki Tomohiro @suztomo

@akisutesama ICMPとかありますよ。これを使うpingコマンドは実はroot権限じゃないと動かないのです。

2012-02-12 15:11:40
akisute/Masashi Ono @akisutesama

- データリンク層にはMTUってのがあって、要するに一フレームで何オクテット送れるかが決まってる。これはどうしようもない。 - ネットワーク層(IP)はMTUに合わせてパケットをぶった切って結合する機能がある。しかし重い。 - 最近は経路MTU探索とかいうのをやってるらしいTCP

2012-02-12 15:17:36
akisute/Masashi Ono @akisutesama

あ、訂正、経路MTU探索はIPのパケット分割結合の代わりだ。IP層ですでにMTUは隠蔽される。UDPでたとえば2000オクテット分のデータをぽいっと投げると自動的に1500+500ぐらいに分割されて投げられて、IP層がひとつにしてUDP1メッセージ分にしてアプリケーションに渡す?

2012-02-12 15:20:27
前へ 1 2 ・・ 7 次へ