Protokół sterowania transmisją: Różnice pomiędzy wersjami
[wersja przejrzana] | [wersja nieprzejrzana] |
Usunięta treść Dodana treść
m Zamiana nadawcy na odbiorcę w opisie pola Szerokość okna. Niepoprawione zdanie z użytym słowem nadawca było nie logiczne. |
poprawiłem |
||
Linia 4:
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.
W przeciwieństwie do [[User Datagram Protocol|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 (informatyka)|oktetów]]. W szczególności, jednemu wywołaniu funkcji [[interfejs programowania aplikacji|interfejsu programowania aplikacji]] (np. <code>send(nudes)</code>) 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 [[algorytm Nagle'a|algorytmu Nagle'a]]). Również funkcje odbierające dane (<code>recv()</code>) w praktyce odbierają nie konkretne pakiety, ale zawartość bufora stosu TCP/IP, wypełnianego sukcesywnie danymi z przychodzących pakietów.
=== Nawiązywanie połączenia ===
|