Protokol nazvan TCP Flow Control je kreiran za kontrolu protoka podataka između korisnika i servera.
Osigurava da je određena količina propusnog opsega dostupna za slanje i primanje podataka, tako da se obrada može nastaviti bez ozbiljnih problema.
TCP protokol koristi metodu poznatu kao protokol kliznog prozora da bi to postigao.
U ovom članku ćemo detaljno pogledati kontrolu toka TCP-a, uključujući kako funkcionira i, što je najvažnije, protokol kliznog prozora.
Šta je TCP kontrola protoka?
TCP protokol osigurava da se pouzdan komunikacioni kanal može uspostaviti preko nepredvidive mreže.
Paketi podataka se mogu izgubiti, stići van redosleda, dobiti rezervnu kopiju u mreži ili se preopteretiti na prijemnom čvoru dok se šalju od jednog čvora do drugog.
Međutim, dok razvijamo aplikaciju, obično se ne moramo baviti ovom složenošću; umjesto toga, samo šaljemo neke podatke u socket, a TCP osigurava da se paketi uspješno isporuče čvoru primaoca.
Kontrola protoka je ključna dodatna funkcija koju TCP nudi.
Kroz korištenje kontrole toka, TCP će u suštini osigurati da pošiljatelj ne šalje primaocu previše paketa odjednom.
Kako funkcionira protokol kontrole prijenosa – kontrola protoka?
To se obično događa kada trebamo prenijeti podatke preko mreže.
Aplikacija pošiljaoca šalje podatke u socket, transportni sloj (u ovom slučaju, TCP) pakuje ove podatke u segment, a mrežni sloj (na primjer, IP) prosljeđuje ovaj paket na prijemni čvor nekom rutom.
Mrežni sloj će prenijeti ove podatke TCP-u na kraju razgovora, a TCP će ih učiniti dostupnim aplikaciji koja prima kao identičan duplikat datih podataka.
TCP neće isporučiti pakete van reda i čekaće na ponovni prijenos u slučaju da otkrije prazninu u toku bajtova.
Ovo ćemo vidjeti ako uvećamo.
I baferi za prenos i prijem na TCP-u se koriste za čuvanje podataka koji se moraju poslati i primiti.
Podatke iz bafera za primanje će aplikacija tada pročitati kada se pripremi.
Glavni cilj kontrole toka je osigurati da ne šaljemo dodatne pakete dok je primaočev bafer za primanje već pun, jer bi to prisililo primatelja da odbaci dodatne pakete koje ne može podnijeti.
Prijemnik će objaviti svoj Receive Window, ili raspoloživi prostor u prijemnom baferu, kako bi ograničio količinu podataka koje TCP može prenijeti.
Protokol kliznog prozora
Protokol kliznog prozora u TCP-u je jedan od najčešće korištenih metoda kontrole toka. To je bajt-orijentisana procedura promenljive veličine.
U ovom pristupu, primalac šalje pošiljaocu prozor primaoca čim su pošiljalac i primalac povezani.
Veličina trenutnog bafera prijemnika se naziva prozor prijemnika.
Količina podataka koja se može dalje slati bez potvrde sada izračunava TCP na osnovu dostupnog prozora prijemnika.
TCP, međutim, zaustavlja prijenos podataka ako je veličina prozora prijemnika 0 i čeka da se poveća.
Veličina prozora prijemnika je komponenta TCP okvira.
Maksimalna veličina prozora je 65,535 bajtova jer ima veličinu prozora od 16 bita.
Dimenzije prozora bira primalac. Sa svakom porukom potvrde, prijemnik prenosi veličinu prozora prijemnika koji je trenutno dostupan.
Proces protokola kliznog prozora
Kada se koristi tehnika protokola kliznog prozora, dva bafera se uspostavljaju kada se pošiljalac i primalac povezuju.
Ova dva bafera su podijeljena u dvije grupe: prozor za slanje, koji pripada pošiljaocu, i prozor za primanje, koji pripada primaocu.
Prozor prijema vraća preostali prostor međuspremnika prijema kada pošiljalac prenosi podatke primaocu.
Kao rezultat toga, pošiljatelj je ograničen na količinu podataka koja može stati u međuspremnik za primanje.
Prozor za odašiljanje u gornjem primjeru prenosi podatke do prozora za prijem.
Nakon prijema podataka, prozor za prijem šalje potvrdu, a zatim prozor za prijenos šalje novi okvir podataka.
Ovaj put, međutim, prozor za prijem dodatno šalje poruku u kojoj se navodi da je raspoloživa memorija popunjena pored potvrde koju je primio.
Prozor za odašiljanje pauzira prijenos podataka dok ne dobije potvrdu od prozora za prijem da je prostor oslobođen, nakon čega može nastaviti prijenos podataka.
zaključak
Zaključno, sloj veze podataka i sloj transporta su odgovorni za rješavanje problema kontrole toka.
Osnovni cilj mehanizma kontrole protoka je spriječiti da prijemnik bude preopterećen podacima od pošiljatelja koji brže emituje.
Čak i ako su podaci koje pošiljatelj prenosi bez grešaka i šalju se bržom brzinom zahvaljujući moćnoj mašini, moguće je da primalac sporije strane neće moći da se nosi sa većom brzinom podataka i zbog toga će izgubiti neke podatke.
Ostavite odgovor