-
1. Data: 2020-01-15 14:51:51
Temat: Aplikacja rozproszona a adres IP
Od: Borneq <b...@a...hidden.pl>
Serwer nasłuchuje na jakimś konkretnym porcie (pytanie jak wybrać port
dla swojej aplikacji, gdy jest ich 64K a wiele już jest użytych przez
różne aplikacje?) a klient łączy się sam mając jakiś wolny port.
Aplikacja P2P to serwer i klient w jednym. Jak identyfikować węzeł?
Teoretycznie przez IP, ale:
- wielu dostawców zmienia IP klienta, chyba minimalny czas na jednym IP
to 24h lub czas połączenia
- jest tłumaczenie adresów NAT, jeden IP może odpowiadać wielu użytkownikom
- ja np. mam internet od dostawcy, gdzie w domu rozgłaszany jest przez
Wifi na różne urządzenia w sieci lokalnej 192.168.x.x
jak w taki sposób napisać serwer? mogę mieć 192.168.0.1:port
ale jak wyjść na świat? będzie zewnętrzne ip i ten sam port, a drugi
komputer? czy też zostanie przetłumaczone to na inny port, wtedy jak
łączyć się z innym? Może będę mógł zainicjować połączenie jako client
ale nie będę mógł być dostępny z zewnątrz? Dostępne z zewnątrz tylko
takie z zewnętrznym IP?
Może dwóch bez zewnętrznego adresu może łączyć się za pomocą trzeciego,
który musi mieć zewnętrzny?
Czy natomiast IPv6 załatwia sprawę?
Skąd rozproszona sieć będzie znała swoje adresy IP? Kiedyś klienty
Bitcoina rejestrowały się na liście IRC, teraz w jakiś inny sposób.
Jak postawić dostępny 24h serwer/client na jakimś hostingu? Zazwyczaj
jest tam miejsce na html i php ale czy jest tam możliwość uruchomienia
programu C/C++, na przykład w OVH czy Nazwa.pl?
-
2. Data: 2020-01-15 15:35:59
Temat: Re: Aplikacja rozproszona a adres IP
Od: "M.M." <m...@g...com>
On Wednesday, January 15, 2020 at 2:52:15 PM UTC+1, Borneq wrote:
> Serwer nasłuchuje na jakimś konkretnym porcie (pytanie jak wybrać port
> dla swojej aplikacji, gdy jest ich 64K a wiele już jest użytych przez
> różne aplikacje?)
> a klient łączy się sam mając jakiś wolny port.
> Aplikacja P2P to serwer i klient w jednym. Jak identyfikować węzeł?
> Teoretycznie przez IP, ale:
> - wielu dostawców zmienia IP klienta, chyba minimalny czas na jednym IP
> to 24h lub czas połączenia
> - jest tłumaczenie adresów NAT, jeden IP może odpowiadać wielu użytkownikom
> - ja np. mam internet od dostawcy, gdzie w domu rozgłaszany jest przez
> Wifi na różne urządzenia w sieci lokalnej 192.168.x.x
> jak w taki sposób napisać serwer? mogę mieć 192.168.0.1:port
> ale jak wyjść na świat? będzie zewnętrzne ip i ten sam port, a drugi
> komputer? czy też zostanie przetłumaczone to na inny port, wtedy jak
> łączyć się z innym? Może będę mógł zainicjować połączenie jako client
> ale nie będę mógł być dostępny z zewnątrz? Dostępne z zewnątrz tylko
> takie z zewnętrznym IP?
> Może dwóch bez zewnętrznego adresu może łączyć się za pomocą trzeciego,
> który musi mieć zewnętrzny?
> Czy natomiast IPv6 załatwia sprawę?
> Skąd rozproszona sieć będzie znała swoje adresy IP? Kiedyś klienty
> Bitcoina rejestrowały się na liście IRC, teraz w jakiś inny sposób.
> Jak postawić dostępny 24h serwer/client na jakimś hostingu? Zazwyczaj
> jest tam miejsce na html i php ale czy jest tam możliwość uruchomienia
> programu C/C++, na przykład w OVH czy Nazwa.pl?
Na stacku znalazłem taki punkt widzenia:
https://stackoverflow.com/questions/10476987/best-tc
p-port-number-range-for-internal-applications
I cytat
[
I can't see why you would care. Other than the "don't use ports below 1024" privilege
rule, you should be able to use any port because your clients should be configurable
to talk to any IP address and port!
]
Pozdrawiam
-
3. Data: 2020-01-15 17:53:27
Temat: Re: Aplikacja rozproszona a adres IP
Od: Borneq <b...@a...hidden.pl>
W dniu 2020-01-15 o 15:35, M.M. pisze:
> I cytat
> [
> I can't see why you would care. Other than the "don't use ports below 1024"
privilege rule, you should be able to use any port because your clients should be
configurable to talk to any IP address and port!
> ]
Czy IPv6 załatwia sprawę - jedno urządzenie , jedno IP?
-
4. Data: 2020-01-15 18:07:20
Temat: Re: Aplikacja rozproszona a adres IP
Od: heby <h...@p...onet.pl>
On 15/01/2020 14:51, Borneq wrote:
> - wielu dostawców zmienia IP klienta, chyba minimalny czas na jednym IP
> to 24h lub czas połączenia
Do tego są usługi Dynamic DNS, np. duckdns.com. Wiele routerów ma wprost
do nich wsparcie.
> - jest tłumaczenie adresów NAT, jeden IP może odpowiadać wielu użytkownikom
To załatwia się przekierowaniem portów z sieci wewnętrznej na zewnątrz.
Obie techniki w 99% wprzypadków są wystarczające aby dostać sie do
usługi z dowolnego miejsca na świecie.
1% wypadków to nieszczęścia takie jak "dostawca nie ma publicznych IP"
albo "dostawca uznał że taki a taki zbiór portów/ipków jest a fuj".
> jak w taki sposób napisać serwer? mogę mieć 192.168.0.1:port
Przekieruj ten port na routerze i uruchom na routerze usługę dynamic dns.
> ale jak wyjść na świat? będzie zewnętrzne ip i ten sam port, a drugi
> komputer? czy też zostanie przetłumaczone to na inny port, wtedy jak
> łączyć się z innym?
Przekierować można dowolny port z sieci wewnątrznej na dowolny port IP
publicznego.
> Może będę mógł zainicjować połączenie jako client
> ale nie będę mógł być dostępny z zewnątrz?
Każdy na świecie będzie mógł się połaczyć na port na Twoim publicznym IP
pod adresem foo.dyndns.com i zostanie to automatycznie przekierowane do
środka sieci na maszynę 192.168 na wybrany port.
> Może dwóch bez zewnętrznego adresu może łączyć się za pomocą trzeciego,
> który musi mieć zewnętrzny?
Można, ale trzeba zapłacić za transfer. Dowolny serwer wirtualny jest w
granicach nastu zł miesięcznie, ale duży transfer do/z już nie.
> Czy natomiast IPv6 załatwia sprawę?
Pod waruniem że dostawca to wspiera. Ostatecznie można uzyć IPv6 brokera
(np. Hurricane) ale nie wiem czy te usłygi jeszcze funkcjonują. Wtedy
dostaje sie coś w rodzaju tunelu z wirtualnego adresu IPv6 do dowolnej
maszyny.
> Skąd rozproszona sieć będzie znała swoje adresy IP?
Poczytaj o overnet.
https://en.wikipedia.org/wiki/Overnet
> Jak postawić dostępny 24h serwer/client na jakimś hostingu?
Kupić hosting z wirtualką. Resztę da się wyklikać.
> Zazwyczaj
> jest tam miejsce na html i php ale czy jest tam możliwość uruchomienia
> programu C/C++, na przykład w OVH czy Nazwa.pl?
Możesz kupić całą maszynę wirtualną z czymkolwiek zainstalowanym w
środku (Linux. windwos itd itp). Choćby na Aruba Cloud. Płacisz jednak
za transfery.