Pokaż wyniki 1 do 3 z 3

Temat: implementacja TCP

  1. #1
    Zarejestrowany
    May 2010
    Postów
    184

    Domyślnie implementacja TCP

    mam kilka pytan co do tcp.

    1. jaktanawianie polaczenia? klient wysyla SYN, serwer jesli chce sie polaczyc odpowiada ACK. wtedy obie strony sa polaczone.
    Dlaczego serwer wysyla flage syn w odpowiedzi? jakie ma to znaczenie? czy odpowiedz syn jest odpowiedzia na polaczenie, a ack tylko wymogiem potwierdzenia odbioru?

    2. jak jest z tym ackami? czy jesli jedna strona odbierze ack z ack number, to znaczy ze moze wywalic z pamieci jakies dane, bo druga strona potwierdzila ich odbior? czy ACK mozna wyslac gdzie sie chce, np razem z rst, albo danymi?


    3. dlaczego windows ustawia (zawsze) flage PSH? Jak temu zaradzic, czy to dobrze?


    4. co to jest retransmisja tcp? jak to dziala?

  2. #2
    Zarejestrowany
    Jun 2006
    Skąd
    rand(.eu)
    Postów
    8,748

    Domyślnie

    1. sekwencja jest taka... SYN, SYN+ACK, ACK... pozniej leci ACK z kazdym pakietem i zakonczenie polaczenia odbywa sie przez FIN+ACK, ACK albo RST i pozniej nie ma juz nic...
    Co do znaczenia flag w odpowiedzi serwera, caly proces jeszcze raz:

    klient: SYN - chce sie polaczyc, to jest moja synchronizacja i numer sekwencyjny
    serwer: SYN+ACK - potwierdzam Twoj SYN i zapisalem numer, masz tutaj moj numer sekwencyjny
    klient: ACK - potwierdzam, zapisalem...

    2. ACK moze miec sens wszedzie poza pakietem z flaga RST bo na RST i tak nie powinno byc juz zadnej odpowiedzi a jak druga strona odpowiada ACK na dany pakiet to znaczy ze go dostala, nadawca moze zwolnic pamiec bo nie bedzie musial tego pakietu retransmitowac

    3. ustawia bo lubi... innego wytlumaczenia nie mam
    PSH oznacza ze dane sa wazne i powinny natychmiast zostac przekazane do aplikacji a nie buforowane w kernelu gdzies... jaki to ma sens w windowsach nie wiem

    ... re 4 to moze poszukalbys w literaturze/necie
    ctrl-alt-del.cc - soft reset site for IT admins and other staff :-)

  3. #3
    Zarejestrowany
    Aug 2007
    Postów
    104

    Domyślnie

    4. nie ma takiego czegos jak retransmija tcp... chyba, ze to skrot myslowy starego wyjadacza

    generalnie jest tak:
    Protokół TCP realizuje mechanizmy, które składają się na niezawodność:
    1) flow control czyli sterowanie przeplywem
    2) odrzucanie powielonych danych, ktore powstały na skutek niedoskonałości pakietu IP
    3) potwierdzenia otrzymanych danych — przy nawiązywaniu połączenia i otrzymaniu wiadomości, komputer nadawczy jest informowany o pomyślnej transmisji segmentów. W przypadku, kiedy potwierdzenie nie nadejdzie, następuje przesłanie komunikatu o niedostarczeniu segmentów lub ich retransmisja.
    4) porządkowanie segmentów czyli dane maja przychodzic w takiej kolejności, w jakiej zostały wysłane.
    5) sprawdzanie sum kontrolnych nagłówka datagramu — w każdym segmencie musi być poprawna. W innym wypadku segment jest odrzucany.

    Porty TCP wykorzystują określone porty programów do dostarczania danych. Są one bardziej złożone i działają inaczej niż porty UDP, które mają jeden punkt końcowy dla swoich połączeń i działają jako jedna kolejka komunikatów. Każdy port TCP, tak jak UDP, może udostępniać wiele połączeń. Natomiast w odróżnieniu od UDP, każde połączenie TCP jest identyfikowane za pomocą dwóch punktów końcowych (jedna para adresu IP i portu TCP dla każdego połączenia w komputerze, czyli caly schemat three-hand-way: SYN,SYN+ACK,ACK).

    Protokół UDP jest zawodny (nie chroni przed zmianą kolejności, gubieniem pakietów czy duplikacją). Dzięki swojej prostocie, jest używany do szybkiego i uproszczonego przesyłu datagramów. udp jest uzywany przez programy, które służą do jednorazowego przesyłania małych ilości danych lub mają wymagania dotyczące czasu rzeczywistego (funkcje obsługi multiemisji, duża szybkość transmisji, czyli UDP ma zastosowanie w: wideokonferencje, strumienie dźwięku czy gry internetowe). W odróżnieniu od TCP, programy wykorzystujące protokół UDP odpowiadają za prawidłowe transportowanie danych.

Zasady Postowania

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •  
Subskrybuj

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52