Dodaj do ulubionych

Komunikacja miedzy komputerami

17.02.21, 17:27
Chcialem zrobic gre z graniem przez siec. Nie dziala mi kompunikacja przez internet, dziala w siecie lokalnej. Czy mozliwe w ogole jest komunikacje przez internet komputerow podpietych pod ta sama siec lokalna, ktore w internecie maja to samo ip (router).
Obserwuj wątek
    • wariant_b Re: Komunikacja miedzy komputerami 17.02.21, 18:44
      bimota napisał:

      > Czy mozliwe w ogole jest komunikacje przez internet komputerow podpietych
      > pod ta sama siec lokalna, ktore w internecie maja to samo ip (router).

      Oczywiście, że jest możliwe, ale sens w tym przypadku trudno mi znaleźć.

      Komunikacja przez Internet, czyli przez co? Dla routera sieć LAN jest switchowana,
      komunikacja z WAN routowana w całości do ISP po translacji adresów (NAT).
      Każdemu zestawowi: adres lokalny IP+numer lokalny portu / adres zewnętrzny IP+port
      odpowiada odpowiednia pozycja tablicy NAT z adresem IP routera i numerem jego portu.
      Odbiór na adresy, które nie zostały umieszczone w NAT jest blokowany i zwykle
      wykazywany w logach jako próba ataku sieciowego.

      Aby komputery mogły się komunikować w sieci Internet potrzebny jest serwer,
      którzy pośredniczy w przesyłaniu pakietów lub umożliwia zestawienie bezpośredniego
      połączenia np. przez WebRTC (ale najpewniej będzie to wtedy połączenie lokalne).

      Reasumując - komputery mają jedynie adresy lokalne IPv4. Adres globalny nadawany
      jest przez router, który również nadaje numery portów, ale dotyczy to jedynie i wyłącznie
      konkretnych połączeń zainicjowanych po stronie lokalnej. (IPv6 ma adresy globalne).
      W przypadku twojej gry musiałbyś mieć dodatkowy serwer (z innym adresem IP),
      który będzie przesyłał pakiety między twoimi komputerami.
        • wariant_b Re: Komunikacja miedzy komputerami 17.02.21, 22:59
          bimota napisał:

          > Czyli nie mozna...

          Można, ale ani nie jest to proste, ani oczywiste, więc może się nie udać.
          Na IPv6 pewnie byłoby prościej, ale ten nie zawsze jest w pełni go obsługiwany.

          > Rozumiem, ze z innego ip powinno to zadzialac...

          A skądże - także nie jest to oczywiste i wymaga odpowiedniej konfiguracji
          zarówno routera, jak czasem również samej gry. Sprawa jest prosta tylko wtedy,
          kiedy komputer ma własny zewnętrzny adres IPv4 i standardowe numery portów.
          A jeśli jest on w sieci domowej za routerem, to tak nie jest - korzysta z NAT.
          Ale przynajmniej nie wystawiasz go na żer hackerom.

          > Chociaz nie rozumiem co to za roznica...

          Komputer nie ma własnego adresu zewnętrznego IPv4, ma jedynie adres lokalny.
          Adresy lokalne nie są routowane.

          > Powinno dzialac nawet wysylanie do samego siebie.

          Na adresach lokalnych, a generalnie w tej samej podsieci.
            • wariant_b Re: Komunikacja miedzy komputerami 18.02.21, 00:02
              bimota napisał:

              > Chcial bym wiedziec, czy robi roznice, ze poobuje z tej samej sieci,

              Generalnie próbujesz zrobić coś, co niekniecznie musi dobrze funkcjonować.
              Router (po stronie WAN) odbiera i wysyła pakiety internetowe,
              a więc posiadające prawidłowe adresy IP i skonfigurowany jest
              tak, że domyślny routing kierowany jest poprzez dostawcę ISP.
              W pakiecie, jako adres źródłowy jest IP routera i port nadany przez NAT
              (albo, jeśli router na to pozwoli skonfigurowany przez użytkownika),
              ale co powinno być adresem docelowym? NAT musi nadać zewnętrzny
              adres IP (routera) i numer portu. Żeby zadziałało oba komputery muszą
              wymienić informację, z kim się mają łączyć, czyli znać numery portów
              nadane przez NAT. Nie mają jak w prosty sposób je sobie przekazać.
              A jeśli uda się to skonfigurować na sztywno, to pozostaje inny problem
              - transport lokalny jest szybszy, niż poprzez dostawcę Internetu.

              Problem generalnie związany jest z konwersją adresów NAT, więc
              połączenie komputerów z różnych sieci lokalnych też nie jest oczywiste.
              Dlatego zwykle korzysta się z serwerów pośredniczących.

              > czy to wina czego innego, np. routera.

              Jeśli już, to zaleta - bo router musi mieć odpowiednie możliwości
              konfiguracyjne, a nie wiadomo, czy to, co dostarczył w ramach umowy
              dostawca internetu takie możliwości posiada. Zwykle mają uproszczone
              oprogramowanie i nie zawsze możne je łatwo wymienić na własny sprzęt.
              Ja na przykład u siebie miałbym spore problemy.
              • bimota Re: Komunikacja miedzy komputerami 18.02.21, 12:51

                > W pakiecie, jako adres źródłowy jest IP routera i port nadany przez NAT
                > (albo, jeśli router na to pozwoli skonfigurowany przez użytkownika),
                > ale co powinno być adresem docelowym?

                To co podaje wysylajac pakiet

                NAT musi nadać zewnętrzny
                > adres IP (routera) i numer portu. Żeby zadziałało oba komputery muszą
                > wymienić informację, z kim się mają łączyć, czyli znać numery portów
                > nadane przez NAT.

                Nr portu tez podaje. NAT to zmienia ??

                > Problem generalnie związany jest z konwersją adresów NAT, więc
                > połączenie komputerów z różnych sieci lokalnych też nie jest oczywiste.

                Nie weim czy sie rozumiemy. Chodzi o polaczenie dowolnego komputera z innym przez internet.

                Netia, swiatlowod, HG8245Q2

                A ta ochrona na czym polega ? Bo faktycznie cos kombinowalem i zlapalem jakies wirusy... Ustawialem DMZ i jakis "port forwarding"...
                • awariant Re: Komunikacja miedzy komputerami 18.02.21, 16:52
                  bimota napisał:

                  > Ustawialem DMZ i jakis "port forwarding"...

                  No i właśnie port forwarding (ew. port triggering) będzie tutaj potrzebny.
                  Czyli wewnętrznemu adresowi IP i numerowi portu musisz przypisać
                  adres zewnętrzny (to adres routera) i numer portu, pod jakim będzie
                  widziany od strony internetu (nie zawsze może to być oryginalny numer).
                  Ponadto zwykle określasz, jakiego protokołu (TCP, UDP) ma to dotyczyć.

                  DMZ jest właściwszy, jeśli chcesz wystawić na stałe jakąś usługę (serwer)
                  i chronić go zarówno od zewnątrz (Internet) jak i sieci lokalnej.
                  Zwykle tworzy się dodatkowe pule adresowe dla komputerów w DMZ.

                  > A ta ochrona na czym polega ? Bo faktycznie cos kombinowalem i zlapalem jakies wirusy...

                  Jeśli wystawisz porty na zewnątrz, to będą widoczne i mogą być skanowane.
                  Normalnie NAT udostępnia tylko zainicjowane od wewnątrz połączenia, a więc
                  odpowiednie porty są dostępne tylko z wywołanych adresów zewnętrznych IP.
                  Czyli z hakerem czy innym źródłem zagrożeń zewnętrznych sam musisz się połączyć,
                  teraz on też może próbować połączyć się z twoim komputerem.

                  > Netia, swiatlowod, HG8245Q2

                  Fajnie, ale jeśli masz pełny manual spróbuj mi go podesłać, bo nie mam ochoty
                  rejestrować się u Huawei, a tym bardziej u kogoś innego a routera nie znam.
                  Jedyny znaleziony anonimowo dostępny manual jest w dość niewygodnej formie.
                  • bimota Re: Komunikacja miedzy komputerami 18.02.21, 18:42
                    Triggering tez tam jest, ale nie wiem co to. Instrukcji nie mam sensownej.

                    "Czyli z hakerem czy innym źródłem zagrożeń zewnętrznych sam musisz się połączyć,
                    teraz on też może próbować połączyć się z twoim komputerem."

                    No i jak juz sie polaczy, to jak mi zainstaluje wirusa ?
                    • wariant_b Re: Komunikacja miedzy komputerami 18.02.21, 19:54
                      bimota napisał:

                      > Triggering tez tam jest, ale nie wiem co to. Instrukcji nie mam sensownej.

                      Trochę inna możliwość przypisywania portów do komputerów w sieci lokalnej.
                      Tradycyjnie niektóre usługi sieciowe przypisane są do konkretnych numerów portów.
                      Jeśli z jakichś powodów muszą być użyte takie standardowe numery portów,
                      to port forwarding jako statyczny zajmuje port tylko dla wskazanego komputera.
                      Triggering jest sposobem dynamicznego przypisania portu do wielu komputerów.
                      W odróżnieniu od port forwardingu, jest to jednak rzadko używana opcja.


                      > No i jak juz sie polaczy, to jak mi zainstaluje wirusa ?

                      Niekoniecznie coś zainstaluje, ale stwarza to hackerowi dodatkowe możliwości
                      podobne do tych, jakie mają komputery w sieci lokalnej.
      • wariant_b Re: Komunikacja miedzy komputerami 30.05.21, 22:49
        bimota napisał:

        > Mam kolejny problem z UDP. Dane z komputera A do B ida dosc szybko,
        > a z B do A jest wyrazne opoznienie. Co to moze byc ?

        W zasadzie nie wiadomo. Za mało danych podałeś.
        Wyklucz oprogramowanie typu antywirusów itp. na obu kompach,
        sprawdź połączenie sieciowe, a najlepiej zorganizuj sobie komputer C
        do sprawdzenia w roli zarówno A jak i B.
        Przyczyna może być w którymś z komputerów lub w połączeniu sieciowym.
    • allegropajew Re: Komunikacja miedzy komputerami 03.11.21, 19:57
      Napisałem onegdaj w Javie gre w statki. Standardowa biblioteka java.net.* zawiera wszystko, czego potrzeba do zapewnienia połączeń IPv4.

      Gram i w lokalnej, i w globalnej, identyfikujemy się albo przez IP, albo przez nazwę netbios, albo nawet przez dowolna nazwę domenową. Port też uwzględniam.

      Oczywiście w sieci lokalnej są adresy lokalne. Czy to gra przez firewall? ano gra!!!! Bo port domyślny u mnie wybrałem 8013, co gwarantuje (na 99,999%), że nie będzie translowany(dowolny port o wysokim numerze powinien być dobry, o ile nie jest przez przypadek własnie używany). A więc tunel otwiera się po obu stronach i jest akceptacja transmisji.

      A testy przez internet robi się lokalnie spinając jeden z kompów przez telefon komórkowy.

      Gościula

Nie pamiętasz hasła

lub ?

 

Nie masz jeszcze konta? Zarejestruj się

Nakarm Pajacyka