-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.P
OSTED!not-for-mail
From: Roman Tyczka <n...@b...no>
Newsgroups: pl.comp.pecet
Subject: Re: opoznienia na switchu
Date: Fri, 2 Nov 2018 12:41:02 +0100
Organization: ATMAN - ATM S.A.
Lines: 69
Sender: r...@t...no.found
Message-ID: <1...@t...com>
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>
<5bdc2f15$0$3748$426a74cc@news.free.fr>
NNTP-Posting-Host: ip-94-75-90-137.wave.com.pl
Mime-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
X-Trace: node1.news.atman.pl 1541158863 11437 94.75.90.137 (2 Nov 2018 11:41:03 GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Fri, 2 Nov 2018 11:41:03 +0000 (UTC)
User-Agent: 40tude_Dialog/2.0.15.84
Xref: news-archive.icm.edu.pl pl.comp.pecet:1260115
[ ukryj nagłówki ]On 02 Nov 2018 11:03:49 GMT, Mateusz Viste wrote:
> 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.
Ok, w takim razie JAK aplikacja typu torrent łączy się z setkami innych
punktów w sieci P2P, z tymi za NATem także (mimo, że sama też jest za
NATem)?
Czytałem kiedyś opis tej technologii, padały tam nazwy pewnych technik i
odbywało się to niskopoziomowo, niestety wtedy mnie to mniej interesowało i
nie pamiętam, a teraz chętnie bym się tym pobawił. I to działa na IPv4, na
100%.
--
pozdrawiam
Roman Tyczka
Następne wpisy z tego wątku
- 02.11.18 13:20 Mateusz Viste
- 02.11.18 23:33 m
- 03.11.18 01:12 Marcin Debowski
- 03.11.18 01:15 Marcin Debowski
- 03.11.18 02:51 Marcin Debowski
- 03.11.18 03:05 m
- 03.11.18 03:57 Marcin Debowski
- 03.11.18 09:13 Roman Tyczka
- 03.11.18 09:19 Mateusz Viste
- 03.11.18 09:43 nadir
- 03.11.18 10:36 Roman Tyczka
- 03.11.18 10:57 Mateusz Viste
- 03.11.18 11:17 nadir
- 03.11.18 13:01 Andrzej P. Wozniak
- 03.11.18 13:32 m
Najnowsze wątki z tej grupy
- Plaskaty uchwyt VESA 100x100 na sciane?
- klawiatura podświetlana zasilana z sieci
- Upgrade z i7-6xxx
- Mały komputer potrzebny.
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- SMART na SAS
- Drukara a wifi
- Intel się wyprzedaje: po 10latach pchnęli pakiet kontrolny Altery za 1/4 kwoty zakupu
- Pendrive - czy to rzeczywiście Sony ?
- [OT] Dobry dysk na komornika i rozwody
- Czujnik dławienia termicznego procesora - który?
- Grubość socketa AM4+procesor
- własny ekran startowy
- Tani, ale szybki i niezawodny modem LTE...
- EPS12V
Najnowsze wątki
- 2025-07-23 Gdańsk => Programista Delphi <=
- 2025-07-23 Gdańsk => Programista Mainframe (z/OS, Assembler) <=
- 2025-07-23 Warszawa => Starszy inżynier DevOps (AWS) <=
- 2025-07-23 Gdańsk => Mainframe (z/OS, Assembler) Developer <=
- 2025-07-23 Kraków => Senior Fullstack Engineer (Low-Code Platform) <=
- 2025-07-23 Wrocław => Senior Key Account Manager IT <=
- 2025-07-23 Trójmiasto => Head of Social Media <=
- 2025-07-23 Rzeszów => Spedytor Międzynarodowy <=
- 2025-07-23 Lublin => ERP Implementation Consultant (AP Module) <=
- 2025-07-23 Środa Wielkopolska => SAP FI/CO Internal Consultant <=
- 2025-07-23 Warszawa => Inżynier oprogramowania .Net <=
- 2025-07-23 Kraków => Kotlin Developer <=
- 2025-07-23 Żerniki => Dyspozytor Międzynarodowy <=
- 2025-07-23 Warszawa => Java Developer <=
- 2025-07-23 Wrocław => Konsultant wdrożeniowy (systemy controlingowe) <=