Základy počítačových sítí
11. Úkoly transportní vrstvy
11.3. Okno TCP
Spolehlivost doručení dat v rámci relace TCP závisí na tom, zda klient odešle potvrzení o přijetí dříve odeslaných dat. Než může server odeslat klientovi další část dat, musí obdržet toto potvrzení o přijetí. To někdy způsobuje zpoždění v doručování segmentů, protože nejsou odesílány nepřetržitě. Tyto problémy jsou však přijatelné, pokud je vyžadována spolehlivost komunikace.
Předpokládáme-li, že 1000 bajtů dat je odesláno v segmentu s pořadovým číslem 1, klient po přijetí 1 části dat odešle serveru segment s potvrzovacím číslem 1001. Další bajt, počínaje bajtem 1001. Když server odešle dalších 1000 bajtů, číslo přijatého potvrzení bude 2001, další číslo bude 3001, další 4001 atd.
Samozřejmě, že ve skutečnosti, když hostitel musí pokaždé potvrdit příjem tak malého množství dat, může to způsobit velké přetížení odkazu, např. doba načítání stránky může být dlouhá. Proto je odesláno více dat a zpětná vazba je potvrzena. Množství dat, které může server odeslat, než obdrží potvrzení od klienta, se nazývá velikost okna, v tomto případě 3000 bajtů.
Tato velikost je uvedena v záhlaví segmentu TCP a kromě toho, že určuje, kolik dat lze odeslat bez potvrzení, umožňuje řídit tok dat mezi zařízeními. Pokud klient při příjmu dat narazí na zablokování a dojde ke ztrátě segmentu, může zařízení odeslat serveru informaci o zmenšení velikosti tohoto okna, tedy množství dat, které lze přijmout bez potvrzení, čímž se přenos zpomalí, ale zabrání se ztrátě segmentu. Po určité době se velikost okna vrátí na původní velikost. Změna velikosti okna během přenosu se nazývá dynamické okno nebo posuvné okno.