HN32
【Show HN】ICMP Destination UnreachableパケットでNAT越えを実装してみた
Show HN: Nat traversal using ICMP Destination Unreachable packets
hajoon22・約2か月前
Show HN: Nat traversal using ICMP Destination Unreachable packets
NATトラバーサル(NAT越え)の新たなアプローチとして、ICMP Destination Unreachableパケットを活用する手法を公開しました。従来のUDPホールパンチング等で苦戦していた環境でも、この手法が突破口になるかもしれません。詳細はプロジェクトのリポジトリを確認してみてください。
なぜICMPが必要なんだ?知る限りでは、NATはステートレスだからUDPの通信を開始すれば一定時間は応答を受け入れられるようになってるよね。これがいわゆるNATパンチングってやつだ。なんでICMPが使われるのか、それによってどんなメリットがあるのか気になる。ちなみにNATパンチングは、ゲームサーバーで中央サーバーを介してNAT越しの両者をつなぐP2P通信なんかによく使われる手法だよ。