Autonat
libp2pが実装している、ノードがNATの後ろにいるかどうか判断するプロトコル すげーシンプルkekeho.icon
P2Pシステムに於いて、NATの裏にいて到達不可能なアドレスを広告すると、他のノードがそのアドレスにダイヤルしようとして失敗し、無駄なリソースを消費してしまう。→ NATの裏にいるかどうか判別する必要
プロトコル
(ノードが、自身がNATの裏にいるかどうか確かめたいシーン)
ノードはMultiaddrのリストを含むDialメッセージを他のピアに送る
ピアはそれらのアドレスへ接続を試みる
少なくとも1つの接続が成功した場合、StatusがSUCCESSなDialResponseを返す
失敗した場合、StatusがERRORなDialResponseを返す
ノードはDialResponseを見て自身がNATのうらにいるかチェックできる
P2Pシステムにおいて、こんな感じでやるとよい
NATのうらにいるノード
プライベートアドレスを広告しない
リレーにつなげて、リレーのアドレスをアドバイスする
パブリックなノード
リレーとしての役割も担う