DAS12-Protokoly transportní vrstvy
Níže je uveden pouze náhled materiálu. Kliknutím na tlačítko 'Stáhnout soubor' stáhnete kompletní formátovaný materiál ve formátu DOC.
Acknowledgement Number (ACKN) – potvrzovací číslo
musí být vysíláno během celého TCP spojení
představuje SN následujícího segmentu (toho, který je očekáván)
Data Offset = délka záhlaví
počátek dat, udává se ve slovech (slovo = 32b)
Řídící bity (Flags)
URG – určuje platnost pole Urgent Pointer
ACK – určuje platnost pole ACKN
PSH – oznamuje, že segment obsahuje data, která se mají bezprostředně předat cílovému procesu
RST – vyvolá reset TCP spojení
SYN – iniciuje TCP spojení, vyvolá proces synchronizace (výměnu SN obou stran)
FIN – iniciuje ukončovací proces TCP spojení (zpravidla v případě konce sekvence dat)
Window Size – určuje velikost „sliding window“ , max 65535 (počet oktetů, které je možno přenést bez ACK)
Checksum – kontrolní součet (včetně TCP pseudozáhlaví)
Urgent Pointer – specifikuje offset posledního oktetu urgentních dat (spolu s řídícím bitem URG)
TCP volby – pole proměnné délky (dorovnává se na 2 oktety)
Maximum Segment Size (typ=2, délka=4) – udává maximální možnou velikost segmentu přenášeného v rámci TCP spojení (max. 65535B)
Window Scale Factor (typ=3, délka=3) – umožní zvětšení velikosti „plovoucího okna“ (65535 x 214)
Timestamp (typ=8, délka=10) – nastavení časových známek na každý přenášený segment – pro měření RTT
Fáze spojení TCP
Navázání spojení
Obě strany musí souhlasit s příjmem dat
Pasivní otevření – aplikační program kontaktuje OS, zda je schopný přijmout příchozí spojení, OS přidělí číslo danému portu
Mechanizmus „three-way handshaking“
SYN – synchronizační segment
Seq=x, seq=y – náhodné číslo (0 až 232-1)
ACK – potvrzení příjmu
Příklad:
Klient vysílá SYN ISN=50
Server vysílá SYN ISN=99, ACK=51
Klient vysílá ACK=100
Klient vysílá byty 51-100
Server vysílá ACK = 101
Klient vysílá byty 101-150
Zahrnuje přenos segmentů na základě pořadových čísel
Pozitivní potvrzování a opětovné vysílání
Ukončení spojení
Musí být provedeno z obou stran
Provádí se nastavením bitu FIN v poli řízení segmentu TCP, který musí být druhou stranou potvrzen
Specifikuje, kolik oktetů dat se může přenést od odesílatele k příjemci bez průběžného potvrzování
Může se měnit během komunikace
Nemusí být symetrická (každá komunikující strana může mít jinou velikost okna)
Závisí na velikosti paměti příjemce i odesílatele
Velikost okna =0 – cílová stanice je zahlcena, zdrojová nevysílá další data
Velikost okna =1 – potvrzení přijetí každého bytu
Typické hodnoty velikosti okna
Stanice – 8.192 bytů
Velké servery – 24.000 bytů
Sliding Window
Po potvrzení přijatých bytů okno na vysílací straně jakoby klouže o příslušný počet bytů dál v řadě segmentů čekajících na odeslání
Maximální počet dosud nepotvrzených vyslaných bytů je dán velikostí okna (nutno uchovat všechna nepotvrzená data, dokud nejsou potvrzena pro případné opětovné vyslání)