Komunikacja PC1-NAT1-INTERNET-NAT2-PC2

EdFred

Użytkownik
Dołączył
Czerwiec 24, 2013
Posty
1
PC1-NAT1-INTERNET-NAT2-PC2 w jaki sposób mogę zrobic tego typu komunikację bo szukałem po forach nie mogę niczego znaleźć a chce się doszkolić w tej materii. Jedyne rozwiązanie jakie przychodzi mi do głowy to oparcie tego o gg czyli będzie jakiś serwer ale nie jestem pewien jak to do końca działa bo wydaje mi sie ze serwer gg robi tak:

PC1 jest połączony z serwerem bo on ma publiczne IP i nie stoi za NATem to mu wciska dane ktore maja byc słane do PC2
Jak PC2 się połączy to zbiera te dane a w trybie normalnym to serwer dostaje śle dalej.

Jak to jest realizowane np w torrentach bo tego ni rozumiem tam dane nie idą po serwerze tylko zestawia się połączenie nawet jak komputery są za NATem

Jak to robicie wy bo ja nie mam pomysłu jak to rozwiązać chce napisać aplikacje w C o sockety oparta, będzie ona serwerem i będzie odbierała polecenia które interpretowała będzie odpowiadając jakoś Masterowi czyli mojej aplikacji bo to widzę tak

MasterPC zawiera aplikacje kontrolująca która jest w stanie wydawać komunikaty do slave'ow
Slave odbiera dane od MasterPC i daje mu odpowiedzi (np jakieś polecenie do konsoli i odpowiedz)
 

maciejkaczkowski

Użytkownik
Dołączył
Listopad 15, 2012
Posty
34
Znalezione w google, nie implementowałem:
http://natblaster.sourceforge.net
http://natblaster.sourceforge.net/doc/presentation/natblaster_sigcomm_asia_05.ppt

Polega na utworzeniu sesji TCP pomiędzy dwoma użytkownikami z użyciem strony trzeciej (w VNC jest to NAT Helper)
http://www.uvnc.com/addons/nat2nat.html

Poszukaj jeszcze NAT/TCP Hole Punching, tutaj najlepsze wyjaśnienie na jakie kiedyś trafiłem:
http://www.brynosaurus.com/pub/net/p2pnat/

Możesz pomyśleć również o implementacji na bazie XMPP.
 
Do góry Bottom