Innholdsfortegnelse[Gjemme seg][Forestilling]
En protokoll kalt TCP Flow Control ble opprettet for å kontrollere dataflyten mellom brukeren og serveren.
Den sørger for at en viss mengde båndbredde er tilgjengelig for sending og mottak av data, slik at behandlingen kan fortsette uten å støte på noen alvorlige problemer.
TCP-protokollen bruker en metode kjent som skyvevindusprotokollen for å oppnå dette.
Vi skal ta en dyp titt på TCP-flytkontroll i dette stykket, inkludert hvordan det fungerer og, mest avgjørende, skyvevindusprotokollen.
Hva er TCP Flow Control?
TCP-protokollen sikrer at en pålitelig kommunikasjonskanal kan etableres over et uforutsigbart nettverk.
Datapakker kan gå tapt, komme ut av rekkefølge, bli sikkerhetskopiert i nettverket eller bli overbelastet på mottaksnoden når de sendes fra en node til en annen.
Men mens vi utvikler en applikasjon, trenger vi vanligvis ikke å håndtere denne kompleksiteten; i stedet sender vi bare noen data til en socket, og TCP sikrer at pakkene blir levert til mottakernoden.
Flow Control er en viktig tilleggsfunksjon som TCP tilbyr.
Gjennom bruk av flytkontroll vil TCP i hovedsak sørge for at en avsender ikke sender en mottaker for mange pakker samtidig.
Hvordan fungerer Transfer Control Protocol – Flow Control?
Dette skjer vanligvis når vi trenger å kommunisere data over et nettverk.
Avsenderapplikasjonen sender data til en socket, transportlaget (i dette tilfellet TCP) pakker disse dataene i et segment, og nettverkslaget (for eksempel IP) sender denne pakken videre til mottaksnoden via en eller annen rute.
Nettverkslaget vil overføre disse dataene til TCP på mottakerenden av samtalen, og TCP vil gjøre dem tilgjengelige for den mottakende applikasjonen som en identisk duplikat av dataene som er gitt.
TCP vil ikke levere pakker ute av drift og vil vente på reoverføring i tilfelle den oppdager et bytestrømgap.
Dette er hva vi vil se hvis vi zoomer inn.
Både sende- og mottaksbufferen på TCP brukes til å holde data som må sendes og mottas, henholdsvis.
Data fra mottaksbufferen vil da bli lest av applikasjonen når den er klargjort.
Å sørge for at vi ikke sender flere pakker mens mottakerens mottaksbuffer allerede er full er hovedmålet med flytkontroll siden det ville tvinge mottakeren til å slippe flere pakker som den ikke kunne håndtere.
Mottakeren vil kunngjøre sitt mottaksvindu, eller tilgjengelig plass i mottaksbufferen, for å begrense mengden data som TCP kan overføre.
Sliding Window Protocol
Skyvevindusprotokollen i TCP er en av de mest brukte flytkontrollmetodene. Det er en byteorientert prosedyre med variabel størrelse.
I denne tilnærmingen sender mottakeren avsenderen mottakervinduet så snart avsenderen og mottakeren er koblet sammen.
Størrelsen på mottakerens nåværende buffer refereres til som mottakervinduet.
Mengden data som kan sendes videre uten bekreftelse, beregnes nå av TCP basert på tilgjengelig mottakervindu.
TCP stopper imidlertid dataoverføringen hvis mottakervindusstørrelsen er 0 og venter på at den skal øke.
Størrelsen på mottakervinduet er en komponent i TCP-rammen.
Maksimal størrelse på vinduet er 65,535 16 byte fordi det har en vindusstørrelse på XNUMX biter.
Vinduets dimensjoner velges av mottakeren. Med hver bekreftelsesmelding sender mottakeren størrelsen på mottakervinduet som er tilgjengelig for øyeblikket.
Prosess for skyvevinduprotokoll
Når du bruker skyvevinduprotokollteknikken, etableres to buffere når sender og mottaker kobles sammen.
Disse to bufferne er delt inn i to grupper: sendevinduet, som tilhører avsenderen, og mottaksvinduet, som tilhører mottakeren.
Mottaksvinduet gir tilbake den gjenværende mottaksbufferplassen når avsenderen sender data til mottakeren.
Som et resultat er avsenderen begrenset til mengden data som får plass i mottaksbufferen.
Sendevinduet i eksemplet ovenfor overfører data til mottaksvinduet.
Etter å ha mottatt dataene, sender mottaksvinduet en bekreftelse, og deretter sender overføringsvinduet en ny dataramme.
Denne gangen sender imidlertid mottaksvinduet i tillegg en melding som sier at det tilgjengelige minnet er fylt i tillegg til bekreftelsen det har mottatt.
Sendevinduet stanser dataoverføringen til det mottar bekreftelse fra mottaksvinduet om at plass er frigjort, på hvilket tidspunkt det kan gjenoppta dataoverføringen.
konklusjonen
Avslutningsvis er dataforbindelseslaget og transportlaget ansvarlige for å håndtere strømningskontrollproblemer.
Det grunnleggende formålet med flytkontrollmekanismen er å stoppe mottakeren fra å bli overbelastet med data fra den raskere senderen.
Selv om dataene som overføres av avsenderen er feilfrie og sendes med en raskere hastighet takket være en kraftig maskin, er det mulig at mottakeren til den langsommere enden ikke vil kunne håndtere den raskere datahastigheten og derfor vil miste noen data.
Legg igjen en kommentar