いろんなものはつながっている

UDP ホールパンチング

当初ネットワークの勉強を思いたったときにつくった理解したいリストにあるSkypeに仕組みについて調べる機会があった。Skypeの仕組みとまではいかないが、いわゆる「NAT越え」の技術についてここここなどで勉強した。ほんといろいろ考える人がいるなあと感心してしまう。

NAT超えの通信は、正確ではないかもしれないが、以下の3段階で実現することができる。
①プライベートネットワークにいるユーザがグローバルIPをもつサーバに接続し、NATで割り当てられたIPとポート番号をサーバに教える。
②サーバは各ユーザに相手のNATで割り当てられたIPとポート番号を教える。
③サーバから受け取った相手のNATで割り当てられたIPとポート番号を宛先として通信する。
UDP1

UDPホールパンチグを自分でも模倣したいと思ったがネットワークプログラミングなんてやってことないので「猫でもわかるネットワークプログラミング」を参考にソケットプログラミングの超基礎を学んでみた。あとWebだとここが参考になった。

「猫でもわかるネットワークプログラミング」はWinsockのことを丁寧に解説してくれているが、サンプルコードがネットワークに関する部分よりウィンドウに関する部分のほうがボリュームが多かったかな。とりあえず接続する、送信する、受信する、というあたりの仕組みを知るにはWebの説明のほうがすっきりしていた。

関連記事

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

スポンサード リンク

カテゴリー

スポンサード リンク