Struktura sieci
Sieć peer to peer składa się z węzłów:
- prywatnych - bez publicznego adresu ip.
- publicznych - o publicznym adresie ip.
- publicznego głównego - o publicznym adresie ip, z którym ma się łączyć każdy node dołączający do sieci. Jego adres ip jest udostępniony wraz z programem. (
Node 0
)
Połączenia w sieci
Ze względu na protokół NAT, niemożliwe jest połączenie się z węzłem prywatnym. Dlatego połączenie publiczny -> prywatny może być realizowane tylko przez połączenie węzła prywatnego do publicznego. Dodatkowo, bezpośrednie połączenie prywatny -> prywatny jest niemożliwe do realizacji. Takie połączenia realizowane są pośrednio poprzez dowolny węzeł publiczny.
Rysunek 1: Połączenia w sieci peer to peer.
Broadcast w sieci nadany przez węzeł publiczny jest wysyłany w postaci wiadomości unicastowych do wszystkich pozostałych nodów bezpośrednimi połączeniami TCP.
Rysunek 2: Broadcast nadany przez węzeł publiczny (Node 3).
Węzeł prywatny aby wysłać broadcast losuje wśród węzłów publicznych swojego reprezentanta. Wysyła do niego wiadomość oznaczoną jako broadcast, a do pozostałych węzłów publicznych wysyła wiadomości unicast. Reprezentant po otrzymaniu wiadomości broadcast przetwarza ją, i wysyła do wszystkich węzłów prywatnych jako wiadomość unicast.
Rysunek 3: Broadcast nadany przez węzeł prywatny (Node 1).