🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.programming
4 messages
4 total messages Started by Borneq Wed, 15 Jan 2020 13:51
Aplikacja rozproszona a adres IP
#216793
Author: Borneq
Date: Wed, 15 Jan 2020 13:51
24 lines
2605 bytes
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?
Re: Aplikacja rozproszona a adres IP
#216795
Author: M.M.
Date: Wed, 15 Jan 2020 14:35
37 lines
3368 bytes
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-tcp-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
Re: Aplikacja rozproszona a adres IP
#216797
Author: Borneq
Date: Wed, 15 Jan 2020 16:53
7 lines
1475 bytes
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?
Re: Aplikacja rozproszona a adres IP
#216798
Author: heby
Date: Wed, 15 Jan 2020 17:07
65 lines
3663 bytes
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.
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads