Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > pl.comp.programming > #33727 > unrolled thread

Aplikacja rozproszona a adres IP

Started byBorneq <borneq@antyspam.hidden.pl>
First post2020-01-15 14:51 +0100
Last post2020-01-15 18:07 +0100
Articles 4 — 3 participants

Back to article view | Back to pl.comp.programming


Contents

  Aplikacja rozproszona a adres IP Borneq <borneq@antyspam.hidden.pl> - 2020-01-15 14:51 +0100
    Re: Aplikacja rozproszona a adres IP "M.M." <mmarszik@gmail.com> - 2020-01-15 06:35 -0800
      Re: Aplikacja rozproszona a adres IP Borneq <borneq@antyspam.hidden.pl> - 2020-01-15 17:53 +0100
    Re: Aplikacja rozproszona a adres IP heby <heby@poczta.onet.pl> - 2020-01-15 18:07 +0100

#33727 — Aplikacja rozproszona a adres IP

FromBorneq <borneq@antyspam.hidden.pl>
Date2020-01-15 14:51 +0100
SubjectAplikacja rozproszona a adres IP
Message-ID<5e1f18ec$0$508$65785112@news.neostrada.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?

[toc] | [next] | [standalone]


#33728

From"M.M." <mmarszik@gmail.com>
Date2020-01-15 06:35 -0800
Message-ID<fd61c3ed-7a98-4fab-9a26-35d6c5a2be71@googlegroups.com>
In reply to#33727
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

[toc] | [prev] | [next] | [standalone]


#33729

FromBorneq <borneq@antyspam.hidden.pl>
Date2020-01-15 17:53 +0100
Message-ID<5e1f437b$0$551$65785112@news.neostrada.pl>
In reply to#33728
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?

[toc] | [prev] | [next] | [standalone]


#33730

Fromheby <heby@poczta.onet.pl>
Date2020-01-15 18:07 +0100
Message-ID<qvngsa$2oa$1@dont-email.me>
In reply to#33727
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.

[toc] | [prev] | [standalone]


Back to top | Article view | pl.comp.programming


csiph-web