TCP (Transmission Control Protocol) je přenosový protokol, který zajišťuje přenos dat uspořádaným a bezpečným způsobem. Odesílá a přijímá datové pakety ve stejném pořadí. TCP je a čtyřvrstvý protokol ve srovnání s OSI (Open System Interconnection Model), což je a sedmivrstvý přenosový proces. Doporučuje se přenášet data z protokolů vysoké úrovně kvůli jejich integritě a bezpečnosti mezi serverem a klientem.
TCP potřebuje ke svému ukončení čtyřcestný handshake. K navázání spojení potřebuje TCP 3-cestný handshake. Zde tedy probereme podrobný proces TCP pro sestavení a 3-cestné podání ruky pro připojení a 4cestné podání ruky pro jeho ukončení . Zde budeme diskutovat o následujícím:
Co je TCP?
Vrstvy TCP
TCP připojení (3-cestný handshake)
TCP Termination (4cestný handshake)
Začněme.
Co je TCP?
TCP je protokol orientovaný na spojení, což znamená, že nejprve naváže spojení mezi odesílatelem a příjemcem ve formě a podání ruky . Po ověření obou spojení začne vysílat pakety. Díky tomu je proces přenosu bezchybný a zajišťuje doručení dat. Je důležitou součástí komunikačních protokolů používaných k propojení síťových zařízení na internetu. Na této síti je závislý celý internetový systém.
TCP je jedním z nejběžnějších protokolů, které zajišťují end-to-end dodávka. Zaručuje bezpečnost a integritu přenášených dat. Vždy vytvoří bezpečné spojení mezi odesílatelem a příjemcem. Vysílač je server a přijímač je známý jako klienta . Můžeme také říci, že k přenosu dat dochází mezi serverem a klientem. Proto se TCP používá ve většině protokolů na vysoké úrovni, jako je např FTP (Protokol přenosu souborů) , HTTP (Hyper Text Transfer Protocol) , a SMTP (Simple Mai Transfer Protocol) .
Vrstvy TCP
Data jsou poté rozdělena do paketů, přiřazena k adrese, přenášena, směrována a přijímána na místě určení. Proces přenosu zahrnuje čtyři vrstvy, aplikační vrstvu, transportní vrstvu, internetovou vrstvu a vrstvu datového spojení. The aplikační vrstva plní funkci podobnou horním třem vrstvám (aplikace, prezentace a relace). OSI model a řídit specifikace uživatelského rozhraní. Uživatel komunikuje s aplikační vrstvou modelu TCP, jako jsou systémy zasílání zpráv a e-mailu. The transportní vrstva poskytuje spolehlivé a bezchybné datové připojení. Rozděluje data přijatá z aplikační vrstvy do paketů, což pomáhá při vytváření uspořádané sekvence. The internetová vrstva řídí směrování paketu a zajišťuje doručení paketu na místo určení. Vrstva datového spojení plní funkci podobnou spodním dvěma vrstvám (datová linka a fyzická) modelu OSI. Je zodpovědný za přenos dat mezi aplikacemi nebo zařízeními v síti.
Než přistoupíme k ukončení TCP, je nezbytné porozumět konceptu TCP spojení. Pomůže nám to lépe porozumět procesu ukončení.
TCP připojení (3-cestný handshake)
Handshake označuje proces navázání spojení mezi klientem a serverem. Handshake je jednoduše definován jako proces navázání komunikačního spojení. K přenosu paketu potřebuje TCP před zahájením odesílání dat třícestný handshake. Spolehlivá komunikace v TCP se nazývá jako O (Pozitivní potvrzení opětovného přenosu). Když odesílatel odešle data příjemci, vyžaduje od příjemce kladné potvrzení o přijetí dat. Pokud se potvrzení nedostalo k odesílateli, musí tato data odeslat znovu. Kladné potvrzení od příjemce naváže úspěšné spojení.
Zde je server server a klient je příjemce. Výše uvedený diagram ukazuje 3 kroky pro úspěšné připojení. Třícestný handshake je běžně známý jako SYN-SYN-ACK a vyžaduje odezvu klienta i serveru k výměně dat. SYN znamená synchronizovat pořadové číslo a ACK znamená potvrzení . Každý krok je typem podání ruky mezi odesílatelem a příjemcem.
Schéma úspěšného TCP spojení zobrazující tři handshake je uvedeno níže:
O třech podáních rukou se hovoří v následujících krocích:
Krok 1: SYN
SYN je segment odeslaný klientem na server. Působí jako a žádost o připojení mezi klientem a serverem. Informuje server, že klient chce navázat spojení. Synchronizace sekvenčních čísel také pomáhá synchronizovat sekvenční čísla zasílaná mezi libovolnými dvěma zařízeními, kde stejný segment SYN požaduje pořadové číslo s požadavkem na připojení.
Krok 2: SYN-ACK
Je to segment SYN-ACK nebo segment SYN + ACK odeslaný serverem. Segment ACK informuje klienta, že server přijal požadavek na připojení a je připraven navázat spojení. Segment SYN informuje o pořadovém čísle, se kterým je server připraven začít se segmenty.
Krok 3: ACK
ACK (Acknowledgement) je posledním krokem před navázáním úspěšného TCP spojení mezi klientem a serverem. Segment ACK je odeslán klientem jako odpověď na přijaté ACK a SN ze serveru. Výsledkem je vytvoření spolehlivého datového spojení.
Po těchto třech krocích jsou klient a server připraveni na proces datové komunikace. TCP spojení a ukončení jsou plně duplexní, což znamená, že data mohou putovat oběma směry současně.
TCP Termination (4cestný handshake)
Jakékoli zařízení naváže spojení před pokračováním v ukončení. TCP vyžaduje 3-cestné handshake k navázání spojení mezi klientem a serverem před odesláním dat. Podobně, pro ukončení nebo zastavení přenosu dat vyžaduje 4cestný handshake. Segmenty požadované pro ukončení TCP jsou podobné segmentům pro vytvoření připojení TCP (ACK a SYN), kromě segmentu FIN. Segment FIN specifikuje požadavek na ukončení zaslaný jedním zařízením druhému.
Klient je vysílač dat a server je přijímač v procesu přenosu dat mezi odesílatelem a příjemcem. Zvažte níže uvedený diagram ukončení TCP, který ukazuje výměnu segmentů mezi klientem a serverem.
Níže je uveden diagram úspěšného ukončení TCP se čtyřmi handshaky:
Pojďme diskutovat o procesu ukončení TCP pomocí šesti kroků, které zahrnují odeslané požadavky a čekající stavy. Postup je následující:
Krok 1: FIN
FIN odkazuje na žádost o ukončení zaslané klientem na server. První požadavek na ukončení FIN odešle klient na server. Zobrazuje začátek ukončovacího procesu mezi klientem a serverem.
java tutoriály
Krok 2: FIN_ACK_WAIT
Klient čeká na ACK požadavku na ukončení FIN ze serveru. Je to a stav čekání pro klienta.
Krok 3: ACK
Server odešle segment ACK (Acknowledgement), když obdrží požadavek na ukončení FIN. Zobrazuje, že server je připraven ukončit a ukončit připojení.
Krok 4: FIN _WAIT_2
Klient čeká na segment FIN ze serveru. Je to typ schváleného signálu odeslaného serverem, který ukazuje, že server je připraven ukončit spojení.
Krok 5: FIN
Segment FIN je nyní odeslán serverem klientovi. Je to potvrzovací signál, který server odešle klientovi. Zobrazuje úspěšné schválení ukončení.
Krok 6: ACK
Klient nyní odešle na server segment ACK (Acknowledgement), že přijal signál FIN, což je signál ze serveru k ukončení připojení. Jakmile server obdrží segment ACK, ukončí spojení.