非構造化オーバーレイ
ノードを選ぶ際の制約がなく、メッセージはで隣接ノードを伝播して伝わる
メリットはメッセージにメタ情報を含めて探索するなど柔軟な探索ができること。
デメリットはFlooding Searchであるため目当てのノードに辿り着くことは保証されないことと、ノード数の増加に伴ってメッセージが溢れたり探索が遅くなったりするスケーラビリティの低さ スケーラビリティの低さの対策案として
特定のノードを他のノードよりも上位の「スーパーノード」「リレーノード」に任命する
スーパーノードは多数の一般ノードを配下におき、メッセージの伝播はスーパーノード同士で構築されたネットワークで行われる
新しくオーバーレイネットワークに参加した一般ノードの情報はスーパーノード間で共有される
リレーノードはNATの問題などで直接通信できないノード同士の通信を仲介する
スーパーノード任命はネットワークの性能やノードの性能で自律的に決定する
Skype uses the UDP hole punching technique to allow communication between users who are behind NAT. However, Skype does not use a separate server to act as a third party host. Rather it uses its users computers to act as a third party host. Any client which has a publicly reachable IP can become the third party host. Hence this may increase the load on Skype’s users as they are responsible for initiating the connection between the users who are behind NAT. Sometimes UDP hole punching may not be possible due to various reasons like port randomization by the NAT. In the cases where UDP hole punching is not possible, the third party host (i.e., a Skype user’s system having a globally reachable IP address) is used to relay the whole communication between the users who are behind NAT.
Skypeの場合はSTUN/TURNサーバーもノードが担う