UDP hole punching
お互いにNATしている環境下では,ファイル転送などに色々支障があって不便.
(家庭用ルータなら,UPnP対応でなんとかなるのだけど,業務用は対応してないので)
UDPの仕組みをうまく使えば,NAT越えも可能ということは前々から気づいていたのだけど,既にそういうアプリはないかな?と探してみると,少ないながらあるようで.
また,UDP hole punching,STUN という名前があることを発見.知らなかった…
アプリの方は
FileXC 2.0
Skype
などがこの技術を採用している模様.
この手法は,RFCにもなっている模様.
STUN (RFC3489)
TURN
ここにかなり詳しく書いてある.
しかしながら,FileXC2はシェアな上,試したところまともに動かなかった.
実装が甘いのかも.
掲示板を見る限り,サポートもあまりよろしくないようで…
UDPで自力で作ってみたい気はするのだけど,パケット再送を最小限にしつつ速度を最大限に出すのはなかなか難しそう.
暇が出来たらチャレンジしてみたい…けど,既に誰か作ってないかなぁ...
The comments to this entry are closed.
Comments
UDP hole punching実験のコメントありがとうございます。行きのパケットのSource portとDistination portに合わせて、帰りのパケットも設定しないとNAT超えはできませんね。でも気が付きませんでした。試してみたいと思います。ありがとうございます。
Posted by: ごろ猫 | Sunday, June 27, 2004 12:42 AM
Could you show us the udp hole punching code?
Posted by: dan | Friday, August 13, 2004 03:04 PM
I have not written the code yet.
Posted by: みかげ | Saturday, August 14, 2004 03:31 AM
今、NAT越えルーチンを作っていますが、まだ動作していません。STUNも良くわからず、自分なりにUDP hole punching的なものを作りP2Pでstreamを転送しようとしています。
>暇が出来たらチャレンジしてみたい…けど,既に
>誰か作ってないかなぁ...
とありますが、どなたか、一緒に実験しませんか?サーバーはGlobalにあります。
Posted by: 大岩伸之 | Thursday, December 10, 2009 04:01 PM