TCP (Transmission Control Protocol) je protokol prijenosa koji osigurava prijenos podataka na uređen i siguran način. Šalje i prima pakete podataka istim redoslijedom. TCP je a četveroslojni protokol u usporedbi s OSI (Open System Interconnection Model), koji je a sedmeroslojni proces prijenosa. Preporuča se prijenos podataka iz protokola visoke razine zbog njihovog integriteta i sigurnosti između poslužitelja i klijenta.
TCP treba 4-smjerno rukovanje za svoje prekidanje. Za uspostavljanje veze, TCP treba trosmjerno rukovanje. Dakle, ovdje ćemo raspravljati o detaljnom procesu TCP-a za izgradnju 3-smjerno rukovanje za povezivanje i a 4-smjerno rukovanje za njegov završetak . Ovdje ćemo raspravljati o sljedećem:
Što je TCP?
Slojevi TCP-a
TCP veza (trosmjerno rukovanje)
TCP završetak (četverosmjerno rukovanje)
Počnimo.
Što je TCP?
TCP je protokol orijentiran na povezivanje, što znači da prvo uspostavlja vezu između pošiljatelja i primatelja u obliku stisak ruke . Nakon što su obje veze provjerene, počinje slati pakete. Proces prijenosa čini bez grešaka i osigurava isporuku podataka. To je važan dio komunikacijskih protokola koji se koriste za međusobno povezivanje mrežnih uređaja na internetu. Cijeli internetski sustav oslanja se na ovu mrežu.
TCP jedan je od najčešćih protokola koji osiguravaju s kraja na kraj dostava. Jamči sigurnost i integritet podataka koji se prenose. Uvijek uspostavlja sigurnu vezu između pošiljatelja i primatelja. Odašiljač je poslužitelj , a prijemnik je poznat kao klijent . Također možemo reći da se prijenos podataka odvija između poslužitelja i klijenta. Dakle, TCP se koristi u većini protokola visoke razine, kao što su FTP (Protokol za prijenos datoteka) , HTTP (Protokol za prijenos hiperteksta) , i SMTP (Simple Mai Transfer Protocol) .
Slojevi TCP-a
Podaci se zatim dijele u pakete, dodjeljuju adresi, prenose, usmjeravaju i primaju na odredištu. Proces prijenosa sastoji se od četiri sloja, aplikacijski sloj, transportni sloj, internetski sloj i sloj podatkovne veze. The aplikacijski sloj obavlja funkciju sličnu gornja tri sloja (aplikacija, prezentacija i sesija) od OSI model i kontrolirati specifikacije korisničkog sučelja. Korisnik komunicira s aplikacijskim slojem TCP modela, kao što su sustavi za slanje poruka i e-poštu. The transportni sloj pruža pouzdanu podatkovnu vezu bez grešaka. Dijeli podatke primljene od aplikacijskog sloja u pakete, što pomaže u stvaranju uređenog niza. The internetski sloj kontrolira usmjeravanje paketa i osigurava isporuku paketa na odredište. Sloj podatkovne veze obavlja funkciju sličnu donja dva sloja (podatkovna veza i fizički) OSI modela. Odgovoran je za prijenos podataka između aplikacija ili uređaja u mreži.
Prije nego što prijeđete na TCP završetak, bitno je razumjeti koncept TCP veze. To će nam pomoći da bolje razumijemo postupak prekida.
TCP veza (trosmjerno rukovanje)
Rukovanje se odnosi na proces uspostavljanja veze između klijenta i poslužitelja. Rukovanje se jednostavno definira kao proces uspostavljanja komunikacijske veze. Za prijenos paketa, TCP treba trosmjerno rukovanje prije nego počne slati podatke. Pouzdana komunikacija u TCP-u naziva se kao OKO (Ponovni prijenos pozitivne potvrde). Kada pošiljatelj šalje podatke primatelju, od primatelja je potrebna pozitivna potvrda kojom se potvrđuje prispijeće podataka. Ako potvrda nije stigla do pošiljatelja, mora ponovno poslati te podatke. Pozitivna potvrda primatelja uspostavlja uspješnu vezu.
Ovdje je poslužitelj poslužitelj, a klijent primatelj. Gornji dijagram prikazuje 3 koraka za uspješno povezivanje. Trosmjerno rukovanje obično je poznato kao SYN-SYN-ACK i zahtijeva odgovor i klijenta i poslužitelja za razmjenu podataka. SYN znači sinkronizirati redni broj a ACK znači priznanje . Svaki korak je vrsta rukovanja između pošiljatelja i primatelja.
Dolje je prikazan dijagram uspješne TCP veze koji prikazuje tri rukovanja:
dijkstra
O tri rukovanja raspravlja se u sljedećim koracima:
Korak 1: SYN
SYN je segment koji klijent šalje poslužitelju. Djeluje kao zahtjev za povezivanje između klijenta i poslužitelja. Obavještava poslužitelja da klijent želi uspostaviti vezu. Sinkronizacija sekvencijskih brojeva također pomaže sinkronizaciji sekvencijskih brojeva poslanih između bilo koja dva uređaja, gdje isti SYN segment traži sekvencijski broj sa zahtjevom za povezivanje.
Korak 2: SYN-ACK
To je SYN-ACK segment ili SYN + ACK segment koji šalje poslužitelj. ACK segment obavještava klijenta da je poslužitelj primio zahtjev za povezivanje i da je spreman za izgradnju veze. SYN segment obavještava redni broj s kojim je poslužitelj spreman započeti sa segmentima.
Korak 3: ACK
ACK (Acknowledgment) je zadnji korak prije uspostave uspješne TCP veze između klijenta i poslužitelja. ACK segment šalje klijent kao odgovor na primljeni ACK i SN od poslužitelja. Rezultat je uspostavljanje pouzdane podatkovne veze.
Nakon ova tri koraka, klijent i poslužitelj su spremni za proces podatkovne komunikacije. TCP veza i završetak su full-duplex, što znači da podaci mogu putovati u oba smjera istovremeno.
nat protiv kreveta
TCP završetak (četverosmjerno rukovanje)
Svaki uređaj uspostavlja vezu prije nego što nastavi s prekidom. TCP zahtijeva trosmjerno rukovanje za uspostavljanje veze između klijenta i poslužitelja prije slanja podataka. Slično tome, za prekid ili prekid prijenosa podataka potrebno je 4-smjerno rukovanje. Segmenti potrebni za TCP završetak slični su segmentima za izgradnju TCP veze (ACK i SYN), osim segmenta FIN. FIN segment specificira zahtjev za prekid koji jedan uređaj šalje drugom.
Klijent je odašiljač podataka, a poslužitelj je primatelj u procesu prijenosa podataka između pošiljatelja i primatelja. Razmotrite donji dijagram završetka TCP-a koji prikazuje razmjenu segmenata između klijenta i poslužitelja.
Dolje je prikazan dijagram uspješnog TCP prekida koji prikazuje četiri rukovanja:
Raspravljajmo o procesu prekidanja TCP-a uz pomoć šest koraka koji uključuju poslane zahtjeve i stanja čekanja. Koraci su sljedeći:
Korak 1: FIN
FIN se odnosi na zahtjev za raskid šalje klijent poslužitelju. Prvi FIN zahtjev za prekid klijent šalje poslužitelju. Prikazuje početak procesa prekida između klijenta i poslužitelja.
Korak 2: FIN_ACK_WAIT
Klijent čeka ACK zahtjeva za završetak FIN-a od poslužitelja. To je stanje čekanja za klijenta.
Korak 3: ACK
Poslužitelj šalje segment ACK (Acknowledgement) kada primi FIN zahtjev za prekid. Prikazuje da je poslužitelj spreman zatvoriti i prekinuti vezu.
Korak 4: FIN _WAIT_2
Klijent čeka FIN segment od poslužitelja. To je vrsta odobrenog signala koji šalje poslužitelj koji pokazuje da je poslužitelj spreman prekinuti vezu.
Korak 5: FIN
FIN segment sada poslužitelj šalje klijentu. To je signal potvrde koji poslužitelj šalje klijentu. Prikazuje uspješno odobrenje za raskid.
Korak 6: ACK
Klijent sada šalje ACK (Acknowledgement) segment poslužitelju da je primio FIN signal, što je signal poslužitelja za prekid veze. Čim poslužitelj primi ACK segment, prekida vezu.