http over UDP

Unixネットワークプログラミングの本を勉強中。これまで、UDPで動くプログラムを作ったことがなかったので、何か作ってみたくなった。

UDP Hole Punchingを使って、P2Pでバリバリ動くアプリケーションを一回作ってみたかった。例えば、http over UDPって可能だろうか? サーバ・クライアントでTCP<->UDPの変換を行うプロキシを使用し、実際のデータはUDPで流れるようにする。

これができたら、NAT内のマシンでWebサーバを立てられるようになる。しかし、それで何が嬉しいかは、なかなか難しい。Webコンテンツがどこかのサーバにあることと、自分のPC内にあることの違いは、コンテンツをuploadする手間が必要かそうでないかだけにも見える。しかし、PC同士で非同期コミュニケーションを行う世界がくるとしたら、それはhttpで行われるのが自然なので、需要はあるかもしれない。