eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.pecetopoznienia na switchuRe: opoznienia na switchu
  • Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit
    0.net!weretis.net!feeder4.news.weretis.net!proxad.net!feeder1-2.proxad.net!clea
    nfeed3-b.proxad.net!nnrp1-2.free.fr!not-for-mail
    From: Mateusz Viste <m...@n...pamietam>
    Subject: Re: opoznienia na switchu
    Newsgroups: pl.comp.pecet
    References: <lnXBD.281801$Yn.171243@fx14.ams1> <pr9hgt$qt9$1@node1.news.atman.pl>
    <ycYBD.376267$fw.333082@fx04.ams1>
    <5bd8511f$0$15495$426a74cc@news.free.fr>
    <dC6CD.311522$Yn.48051@fx14.ams1> <prbl8t$he8$1@node2.news.atman.pl>
    <dxeCD.339844$2D.171600@fx12.ams1>
    <5bd9a7d0$0$14294$426a74cc@news.free.fr>
    <5MoCD.457564$0R.28472@fx02.ams1> <5bdaafc6$0$5481$426a74cc@news.free.fr>
    <d%PCD.527088$zG.133939@fx23.ams1>
    <5bdbfcde$0$21611$426a74cc@news.free.fr> <1...@t...com>
    <5bdc1ad2$0$15111$426a74cc@news.free.fr> <anx755cn8bxf$.dlg@tyczka.com>
    User-Agent: Pan/0.139 (Sexual Chocolate; GIT bf56508 git://git.gnome.org/pan2)
    MIME-Version: 1.0
    Content-Type: text/plain; charset=UTF-8
    Content-Transfer-Encoding: 8bit
    Date: 02 Nov 2018 11:03:49 GMT
    Lines: 59
    Message-ID: <5bdc2f15$0$3748$426a74cc@news.free.fr>
    Organization: Guest of ProXad - France
    NNTP-Posting-Date: 02 Nov 2018 12:03:49 CET
    NNTP-Posting-Host: 82.64.0.151
    X-Trace: 1541156629 news-2.free.fr 3748 82.64.0.151:60622
    X-Complaints-To: a...@p...net
    Xref: news-archive.icm.edu.pl pl.comp.pecet:1260112
    [ ukryj nagłówki ]

    On Fri, 02 Nov 2018 10:59:01 +0100, Roman Tyczka wrote:
    > Rzeczywiście za mało precyzyjnie napisałem. Używając określenia P2P
    > miałem na myśli nie tylko bezpośrednie połączenie host-host, co jest
    > oczywiste,
    > ale dalsze problemy jakie za tym idą, czyli nawiązanie połączenia
    > omijającego NAT. Czytałem gdzieś kiedyś o tym, że sprawa opiera się o
    > niskopoziomowe manipulowanie nagłówkami TCP/IP w czasie zestawiania
    > połączenia, potem to już z górki (w sensie, że sama komunikacja jest
    > innym etapiem, a problemem jest nawiązanie połączenia). Takie rzeczy
    > robi skype, torrenty czy kiedyś emule.

    Nie ma cudów - aby Grześ z Krzysiem mogli pogadać po TCP, to jeden z nich
    co najmniej musi być poza NATem. Jeśli obaj są za NATem, to pomóc może
    jedynie oparcie się na osobie trzeciej.

    Z UDP można próbować kombinować, ale to niezwykle upierdliwa sprawa:

    Krzyś wysyła datagramy UDP do Grzesia, z portu src 5000 do portu dst 6000.

    Krzyś -> RouterK -> INTERNET -> RouterG -> Grześ

    Po drodze RouterK zmienia port źródłowy datagramów na, dajmy na to, 20000.

    W takiej sytuacji Grześ może tylko próbować wysyłać tysiące pakietów do
    Krzysia, z losowymi portami src licząc, że RouterG w którymś momencie
    podmieni port src na akurat ten wybrany przez RouterK. Słowem całkowita
    loteria. Dla zwiększenia szans powodzenia, Krzyś może rozpocząć
    kilkanaście sesji UDP z różnymi portami src, coby Krzysiowi było łatwiej
    trafić.

    Aby zrozumieć tandetność tej sytuacji, należy zrozumieć co tak naprawdę
    robią RouterK i RouterG.

    Kiedy router dostaje jakiś pakiet z wewnątrz:
    1. zmienia port src
    2. zmienia IP src
    3. oblicza nowy checksum TCP (lub UDP)
    4. zapisuje sobie w pamięci (w tzw. tablicy sesji) informację co
    przetłumaczył, od kogo i na co.

    Kiedy router dostaje jakiś pakiet z zewnątrz:
    1. sprawdza w tablicy sesji czy posiada wpis odpowiadający tuplowi IPsrc
    +IPdst+portSrc+portDst.
    2. Jeśli któryś z wpisów tablicy sesji się zgadza, to podmienia adres
    DST i port DST zgodnie z wpisem.

    Wynika z tego, że aby ustalić połączenie z kimś za NATem, trzeba
    wystarczająco szczęścia by wstrzelić się w parametry wpisu tablicy sesji.
    A parametry te zna tylko sam router. Porty to wartości szesnastobitowe
    (przy czym zakres 0-1024 można pominąć), więc kombinacji jest tylko nieco
    ponad 4 miliony. Ale to dalej loteria.

    Odpowiadając na pierwotne pytanie: nie ma takiej magii, która pozwoliłaby
    ustawić na sockecie flagę "P2P" aby dostać się do dowolnego hosta za
    NATem.

    Ale cierpliwości - IPv6 już u progu :) (od 20 lat)

    Mateusz

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: