• Artykuły
  • Forum
  • Ciekawostki
  • Encyklopedia
  • Transmission Control Protocol



    Podstrony: 1 [2] [3] [4]
    Przeczytaj także...
    Pakiet telekomunikacyjny (pot. pakiet) – sformatowana jednostka informacji przesyłana poprzez sieć wykorzystującą komutację pakietów. Sieci, które nie obsługują przesyłania pakietów, takie jak np. tradycyjne połączenia modemowe lub połączenia CSD w sieci komórkowej, transmitują dane jako strumień bitów. OSI (ang. Open Systems Interconnection) lub Model OSI (pełna nazwa ISO OSI RM, ang. ISO OSI Reference Model – model odniesienia łączenia systemów otwartych) – standard zdefiniowany przez ISO oraz ITU-T opisujący strukturę komunikacji sieciowej.

    Protokół sterowania transmisją, protokół kontroli transmisji, TCP (od ang. Transmission Control Protocol) – połączeniowy, niezawodny, strumieniowy protokół komunikacyjny stosowany do przesyłania danych między procesami uruchomionymi na różnych maszynach, będący częścią szeroko wykorzystywanego obecnie stosu TCP/IP (korzysta z usług protokołu IP do wysyłania i odbierania danych oraz ich fragmentacji wtedy, gdy jest to konieczne). Protokół sterowania transmisją operuje w warstwie transportowej modelu OSI. Opracowano go na podstawie badań Vintona Cerfa oraz Roberta Kahna. Został opisany w dokumencie RFC 793 ↓.

    Post Office Protocol version 3 (POP3) to protokół internetowy z warstwy aplikacji pozwalający na odbiór poczty elektronicznej ze zdalnego serwera do lokalnego komputera poprzez połączenie TCP/IP. Ogromna większość współczesnych internautów korzysta z POP3 do odbioru poczty.ICMP (ang. Internet Control Message Protocol, internetowy protokół komunikatów kontrolnych) – opisany w RFC 792 protokół warstwy sieciowej OSI/TCP/IP wykorzystywany w diagnostyce sieci oraz trasowaniu. Pełni przede wszystkim funkcję kontroli transmisji w sieci. Jest wykorzystywany w programach ping oraz traceroute.

    Charakterystyka protokołu[ | edytuj kod]

    TCP jest protokołem działającym w trybie klient–serwer. Serwer oczekuje na nawiązanie połączenia na określonym porcie. Klient inicjuje połączenie do serwera.

    Internet Engineering Task Force to nieformalne, międzynarodowe stowarzyszenie osób zainteresowanych ustanawianiem standardów technicznych i organizacyjnych w Internecie.RFC (ang. Request for Comments – dosłownie: prośba o komentarze) – zbiór technicznych oraz organizacyjnych dokumentów mających formę memorandum związanych z Internetem oraz sieciami komputerowymi. Każdy z nich ma przypisany unikatowy numer identyfikacyjny, zwykle używany przy wszelkich odniesieniach. Publikacją RFC zajmuje się Internet Engineering Task Force.

    W przeciwieństwie do UDP, TCP gwarantuje wyższym warstwom komunikacyjnym dostarczenie wszystkich pakietów w całości, z zachowaniem kolejności i bez duplikatów. Zapewnia to wiarygodne połączenie kosztem większego narzutu w postaci nagłówka i większej liczby przesyłanych pakietów. Chociaż protokół definiuje pakiet TCP, z punktu widzenia wyższej warstwy oprogramowania dane płynące połączeniem TCP należy traktować jako ciąg oktetów. W szczególności, jednemu wywołaniu funkcji interfejsu programowania aplikacji (np. send()) nie musi odpowiadać wysłanie jednego pakietu. Dane z jednego wywołania mogą zostać podzielone na kilka pakietów lub odwrotnie – dane z kilku wywołań mogą zostać połączone i wysłane jako jeden pakiet (dzięki użyciu algorytmu Nagle'a). Również funkcje odbierające dane (recv()) w praktyce odbierają nie konkretne pakiety, ale zawartość bufora stosu TCP/IP, wypełnianego sukcesywnie danymi z przychodzących pakietów.

    SMTP (ang.) Simple Mail Transfer Protocol – protokół komunikacyjny opisujący sposób przekazywania poczty elektronicznej w Internecie. Standard został zdefiniowany w dokumencie RFC 821 a następnie zaktualizowany w 2008 roku w dokumencie RFC 5321Protokół internetowy (ang. Internet Protocol, skrót IP) – protokół komunikacyjny warstwy sieciowej modelu OSI (warstwy internet w modelu TCP/IP). Protokół internetowy to zbiór ścisłych reguł i kroków postępowania, które są automatycznie wykonywane przez urządzenia w celu nawiązania łączności i wymiany danych. Używany powszechnie w Internecie i sieciach lokalnych.

    Nawiązywanie połączenia[ | edytuj kod]

    three-way handshake

    W protokole sterowania transmisją do nawiązania połączenia między dwoma hostami stosowana jest procedura nazwana three-way handshake. W sytuacji normalnej jest rozpoczynana, gdy host A chce nawiązać połączenie z hostem B. Wygląda ona następująco:

  • Host A wysyła do hosta B segment SYN wraz z informacją o dolnej wartości numerów sekwencyjnych używanych do numerowania segmentów wysyłanych przez host A (np. 100) a następnie przechodzi w stan SYN-SENT.
  • Host B, po otrzymaniu segmentu SYN, przechodzi w stan SYN-RECEIVED i, jeżeli również chce nawiązać połączenie, wysyła hostowi A segment SYN z informacją o dolnej wartości numerów sekwencyjnych używanych do numerowania segmentów wysyłanych przez host B (np. 300) oraz segment ACK z polem numeru sekwencji ustawionym na wartość o jeden większą niż wartość pola sekwencji pierwszego segmentu SYN hosta A, czyli 101.
  • Host A po odebraniu segmentów SYN i ACK od hosta B przechodzi w stan ESTABLISHED i wysyła do niego segment ACK potwierdzający odebranie segmentu SYN (numer sekwencji ustawiony na 301).
  • Host B odbiera segment ACK i przechodzi w stan ESTABLISHED.
  • Host A może teraz rozpocząć przesyłanie danych.
  • Jeśli host odbierający połączenie nie chce lub nie może odebrać połączenia, powinien odpowiedzieć pakietem z ustawioną flagą RST (reset).

    Fragmentacja datagramów IP – podział pakietów protokołu IP na fragmenty o długości mniejszej lub równej MTU określonego dla warstwy łącza danego połączenia.Suma kontrolna (ang. checksum) – liczba uzyskana w wyniku sumowania lub wykonania innych operacji matematycznych na przesyłanych danych, przesłana razem z danymi i służąca do sprawdzania poprawności przetwarzanych danych.

    Transmisja danych[ | edytuj kod]

    W celu weryfikacji wysyłki i odbioru TCP używa sum kontrolnych i sekwencyjnych numerów pakietów. Odbiorca potwierdza otrzymanie pakietów o określonych numerach sekwencyjnych ustawiając flagę ACK. Brakujące pakiety są retransmitowane. Host odbierający pakiety TCP defragmentuje je i porządkuje je według numerów sekwencyjnych tak, by przekazać wyższym warstwom modelu OSI pełen złożony segment.

    Problem bizantyjskich generałów – zagadnienie dotyczące uzgadniania rozważane w teorii gier, kryptografii oraz teorii systemów rozproszonych (w tym systemów wieloagentowych).Oktet – jednostka informacji składająca się z 8 bitów. Dla większości komputerów oktet jest również najmniejszą adresowalną jednostką pamięci, czyli bajtem, przez co pojęcia te często są używane zamiennie. Jednak rozmiar bajtu zależy od architektury konkretnego systemu komputerowego: niektóre starsze maszyny używały większych bajtów, składających się z 9, 10 lub 12 bitów, inne mniejszych – 5-, 6-bitowych. Pojęcie oktetu natomiast zawsze oznacza dokładnie 8 bitów i jest najczęściej spotykane w standardach sieciowych.

    Zakończenie połączenia[ | edytuj kod]

    Prawidłowe zakończenie połączenia może być zainicjowane przez dowolną stronę. Polega ono na wysłaniu pakietu z ustawioną flagą FIN (finished). Pakiet taki wymaga potwierdzenia flagą ACK. Najczęściej po otrzymaniu pakietu z flagą FIN, druga strona również kończy komunikację wysyłając pakiet z flagami FIN i ACK. Pakiet taki również wymaga potwierdzenia przez przesłanie ACK.

    Proces – jedno z podstawowych pojęć w informatyce, definiowane jako egzemplarz wykonywanego programu. Każdy nowo powstały proces otrzymuje unikatowy numer, który go jednoznacznie identyfikuje, tzw. PID (od (ang.) process identifier).Protokół komunikacyjny to zbiór ścisłych reguł i kroków postępowania, które są automatycznie wykonywane przez urządzenia komunikacyjne w celu nawiązania łączności i wymiany danych.

    Dopuszcza się również awaryjne przerwanie połączenia poprzez przesłanie pakietu z flagą RST (reset). Pakiet taki nie wymaga potwierdzenia.

    Stany połączenia[ | edytuj kod]

    Połączenie TCP może znajdować się w jednym z następujących stanów: LISTEN Gotowość do przyjęcia połączenia na określonym porcie przez serwer. SYN-SENT Pierwsza faza nawiązywania połączenia przez klienta. Wysłano pakiet z flagą SYN. Oczekiwanie na pakiet SYN+ACK. SYN-RECEIVED Otrzymano pakiet SYN, wysłano SYN+ACK. Trwa oczekiwanie na ACK. Połączenie jest w połowie otwarte (ang. half-open). ESTABLISHED Połączenie zostało prawidłowo nawiązane. Prawdopodobnie trwa transmisja. FIN-WAIT-1 Wysłano pakiet FIN. Dane wciąż mogą być odbierane ale wysyłanie jest już niemożliwe. FIN-WAIT-2 Otrzymano potwierdzenie własnego pakietu FIN. Oczekuje na przesłanie FIN od serwera. CLOSE-WAIT Otrzymano pakiet FIN, wysłano ACK. Oczekiwanie na przesłanie własnego pakietu FIN (gdy aplikacja skończy nadawanie). CLOSING Połączenie jest zamykane. LAST-ACK Otrzymano i wysłano FIN. Trwa oczekiwanie na ostatni pakiet ACK. TIME-WAIT Oczekiwanie w celu upewnienia się, że druga strona otrzymała potwierdzenie rozłączenia. Zgodnie z RFC 793 ↓ połączenie może być w stanie TIME-WAIT najdłużej przez 4 minuty. CLOSED Połączenie jest zamknięte.

    Segment TCP[ | edytuj kod]

    Port nadawcy – 16-bitowy numer identyfikujący port nadawcy.

    RTP (ang. Real-time Transport Protocol) – protokół transmisji w czasie rzeczywistym. Pakiet protokołu RTP zawiera informację o typie przesyłanych danych, numer seryjny oraz znacznik czasu. RTP nie gwarantuje jakości usługi (QoS).Host – dowolna maszyna (komputer, karta sieciowa, modem itp.) uczestnicząca w wymianie danych lub udostępniająca usługi sieciowe poprzez sieć komputerową za pomocą protokołu komunikacyjneg TCP/IP oraz posiadająca własny adres IP.

    Port odbiorcy – 16-bitowy numer identyfikujący port odbiorcy.

    Numer sekwencyjny – 32-bitowy identyfikator określający miejsce pakietu danych w pliku przed fragmentacją (dzięki niemu, można "poskładać" plik z poszczególnych pakietów).

    Numer potwierdzenia – 32-bitowy numer będący potwierdzeniem otrzymania pakietu przez odbiorcę, co pozwala na synchronizację nadawanie-potwierdzenie.

    Długość nagłówka – 4-bitowa liczba, która oznacza liczbę 32-bitowych wierszy nagłówka, co jest niezbędne przy określaniu miejsca rozpoczęcia danych. Dlatego też nagłówek może mieć tylko taką długość, która jest wielokrotnością 32 bitów.

    Jon Postel (ur. 6 sierpnia 1943, zm. 16 października 1998), pełne nazwisko Jonathan Bruce Postel – jeden z najważniejszych twórców Internetu.SSH (ang. secure shell) to standard protokołów komunikacyjnych używanych w sieciach komputerowych TCP/IP, w architekturze klient-serwer.

    Zarezerwowane – 3-bitowy ciąg zer, zarezerwowany dla ewentualnego przyszłego użytku.

    Flagi – 9-bitowa informacja/polecenie dotyczące bieżącego pakietu. Poszczególne flagi oznaczają:

  • NS – (ang. Nonce Sum) jednobitowa suma wartości flag ECN (ECN Echo, Congestion Window Reduced, Nonce Sum) weryfikująca ich integralność
  • CWR – (ang. Congestion Window Reduced) flaga potwierdzająca odebranie powiadomienia przez nadawcę, umożliwia odbiorcy zaprzestanie wysyłania echa.
  • ECE – (ang. ECN-Echo) flaga ustawiana przez odbiorcę w momencie otrzymania pakietu z ustawioną flagą CE
  • URG – informuje o istotności pola "Priorytet"
  • ACK – informuje o istotności pola "Numer potwierdzenia"
  • PSH – wymusza przesłanie pakietu
  • RST – resetuje połączenie (wymagane ponowne uzgodnienie sekwencji)
  • SYN – synchronizuje kolejne numery sekwencyjne
  • FIN – oznacza zakończenie przekazu danych
  • Szerokość okna – 16-bitowa informacja o tym, ile danych może aktualnie przyjąć odbiorca. Wartość 0 wskazuje na oczekiwanie na segment z innym numerem tego pola. Jest to mechanizm zabezpieczający komputer odbiorcy przed zbyt dużym napływem danych.

    Oprogramowanie użytkowe lub oprogramowanie aplikacyjne – oprogramowanie oferujące bezpośredni kontakt z człowiekiem, czyli interakcję z użytkownikiem komputera. Oprogramowanie użytkowe przeznaczone jest do wykonywania czynności poleconych przez użytkownika oraz rozwiązywania problemów zadanych przez użytkownika.Interfejs programowania aplikacji, interfejs programistyczny aplikacji (ang. application programming interface, API) – sposób, rozumiany jako ściśle określony zestaw reguł i ich opisów, w jaki programy komputerowe komunikują się między sobą.

    Suma kontrolna – 16-bitowa liczba, będąca wynikiem działań na bitach całego pakietu, pozwalająca na sprawdzenie tego pakietu pod względem poprawności danych. Obliczana jest z całego nagłówka TCP z wyzerowanymi polami sumy kontrolnej oraz ostatnich ośmiu pól nagłówka IP stanowiących adresy nadawcy i odbiorcy pakietu.

    DOI (ang. digital object identifier – cyfrowy identyfikator dokumentu elektronicznego) – identyfikator dokumentu elektronicznego, który w odróżnieniu od identyfikatorów URL nie zależy od fizycznej lokalizacji dokumentu, lecz jest do niego na stałe przypisany.UDP (ang. User Datagram Protocol – protokół pakietów użytkownika) – jeden z protokołów internetowych. UDP stosowany jest w warstwie transportowej modelu OSI.

    Wskaźnik priorytetu – 16 bitów, jeżeli flaga URG jest włączona, informuje o ważności pakietu.

    Opcje – czyli ewentualne dodatkowe informacje i polecenia:

  • 0 – koniec listy opcji
  • 1 – brak działania
  • 2 – ustawia maksymalna długość segmentu
  • W przypadku opcji 2 to tzw. Uzupełnienie, które dopełnia zerami długość segmentu do wielokrotności 32 bitów (patrz: informacja o polu "Długość nagłówka")

    Robert E. Kahn (ur. 23 grudnia 1938) – współtwórca, wraz z Vintonem G. Cerfem, protokołu TCP/IP, który stał się kamieniem milowym Internetu.SCTP (ang. Stream Control Transmission Protocol) - protokół internetowy działający w warstwie transportowej, zdefiniowany w 2000 roku przez grupę roboczą SIGTRAN (Signaling Transport working group) IETF i opisany w dokumencie RFC 2960. SCTP jest protokołem podobnym do protokołów TCP i UDP.


    Podstrony: 1 [2] [3] [4]




    Warto wiedzieć że... beta

    International Standard Serial Number, ISSN czyli Międzynarodowy Znormalizowany Numer Wydawnictwa Ciągłego – ośmiocyfrowy niepowtarzalny identyfikator wydawnictw ciągłych tradycyjnych oraz elektronicznych. Jest on oparty na podobnej koncepcji jak identyfikator ISBN dla książek, ISAN dla materiałów audio-wideo. Niektóre publikacje wydawane w seriach mają przyporządkowany zarówno numer ISSN, jak i ISBN.
    HTTP (ang. Hypertext Transfer Protocol – protokół przesyłania dokumentów hipertekstowych) to protokół sieci WWW (ang. World Wide Web). Obecną definicję HTTP stanowi RFC 2616. Za pomocą protokołu HTTP przesyła się żądania udostępnienia dokumentów WWW i informacje o kliknięciu odnośnika oraz informacje z formularzy. Zadaniem stron WWW jest publikowanie informacji – natomiast protokół HTTP właśnie to umożliwia.

    Reklama

    Czas generowania strony: 0.046 sek.