Protokół sterowania transmisją: Różnice pomiędzy wersjami

[wersja przejrzana][wersja nieprzejrzana]
Usunięta treść Dodana treść
Gunock (dyskusja | edycje)
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 ===