Ett protokoll som kallas TCP Flow Control skapades för att styra dataflödet mellan användaren och servern.
Den ser till att en viss mängd bandbredd är tillgänglig för att skicka och ta emot data så att behandlingen kan fortsätta utan att stöta på några allvarliga problem.
TCP-protokollet använder sig av en metod som kallas glidfönsterprotokollet för att åstadkomma detta.
Vi kommer att ta en djup titt på TCP-flödeskontroll i det här stycket, inklusive hur det fungerar och, framför allt, protokollet för glidande fönster.
Vad är TCP Flow Control?
TCP-protokollet säkerställer att en pålitlig kommunikationskanal kan upprättas över ett oförutsägbart nätverk.
Datapaket kan gå vilse, komma i oordning, säkerhetskopieras i nätverket eller bli överbelastade på den mottagande noden när de skickas från en nod till en annan.
Men när vi utvecklar en applikation behöver vi vanligtvis inte ta itu med denna komplexitet; istället skickar vi bara lite data till en socket och TCP säkerställer att paketen levereras framgångsrikt till mottagarnoden.
Flödeskontroll är en viktig extrafunktion som TCP erbjuder.
Genom att använda flödeskontroll kommer TCP i huvudsak att se till att en avsändare inte skickar en mottagare för många paket samtidigt.
Hur fungerar Transfer Control Protocol – Flow Control?
Detta inträffar vanligtvis när vi behöver kommunicera data över ett nätverk.
Avsändarapplikationen skickar data till en socket, transportlagret (i det här fallet TCP) paketerar denna data i ett segment och nätverkslagret (till exempel IP) skickar detta paket vidare till den mottagande noden på någon väg.
Nätverkslagret kommer att överföra denna data till TCP i den mottagande delen av konversationen, och TCP kommer att göra den tillgänglig för den mottagande applikationen som en identisk dubblett av den data som ges.
TCP kommer inte att leverera paket ur funktion och kommer att vänta på återsändning om den upptäcker ett byteströmgap.
Detta är vad vi kommer att se om vi zoomar in.
Både sändnings- och mottagningsbuffertar på TCP används för att hålla data som måste skickas respektive tas emot.
Data från mottagningsbufferten kommer sedan att läsas av applikationen när den förbereds.
Att se till att vi inte skickar ytterligare paket medan mottagarens mottagningsbuffert redan är full är huvudmålet med flödeskontroll eftersom det skulle tvinga mottagaren att släppa ytterligare paket som den inte kunde hantera.
Mottagaren kommer att meddela sitt mottagningsfönster, eller tillgängligt utrymme i mottagningsbufferten, för att begränsa mängden data som TCP kan överföra.
Sliding Window Protocol
Sliding window-protokollet i TCP är en av de mest använda metoderna för flödeskontroll. Det är en byteorienterad procedur med variabel storlek.
I detta tillvägagångssätt skickar mottagaren mottagarfönstret till sändaren så snart sändaren och mottagaren är anslutna.
Storleken på mottagarens nuvarande buffert kallas mottagarfönstret.
Mängden data som kan skickas vidare utan bekräftelse beräknas nu av TCP baserat på det tillgängliga mottagarfönstret.
TCP stoppar dock dataöverföringen om mottagarens fönsterstorlek är 0 och väntar på att den ska öka.
Storleken på mottagarfönstret är en komponent i TCP-ramen.
Den maximala storleken på fönstret är 65,535 16 byte eftersom det har en fönsterstorlek på XNUMX bitar.
Fönstrets mått väljs av mottagaren. Med varje bekräftelsemeddelande sänder mottagaren storleken på mottagarfönstret som för närvarande är tillgängligt.
Processen för protokoll för skjutfönster
Vid användning av protokolltekniken med glidande fönster upprättas två buffertar när sändaren och mottagaren ansluter.
Dessa två buffertar är uppdelade i två grupper: sändningsfönstret, som tillhör avsändaren, och mottagningsfönstret, som tillhör mottagaren.
Mottagningsfönstret ger tillbaka det återstående mottagande buffertutrymmet när avsändaren sänder data till mottagaren.
Som ett resultat är avsändaren begränsad till mängden data som får plats i mottagningsbufferten.
Sändningsfönstret i exemplet ovan sänder data till mottagningsfönstret.
Efter att ha tagit emot datan sänder mottagningsfönstret en bekräftelse, och sedan sänder sändningsfönstret en ny dataram.
Den här gången sänder dock mottagningsfönstret dessutom ett meddelande som anger att det tillgängliga minnet är fyllt utöver den bekräftelse som det har tagit emot.
Sändningsfönstret pausar dataöverföringen tills det får en bekräftelse från mottagningsfönstret att utrymme har frigjorts, vid vilken tidpunkt det kan återuppta dataöverföringen.
Slutsats
Sammanfattningsvis är dataanslutningsskiktet och transportskiktet ansvariga för att hantera flödeskontrollproblem.
Det grundläggande syftet med flödeskontrollmekanismen är att hindra mottagaren från att bli överbelastad med data från den snabbare sändande sändaren.
Även om data som överförs av avsändaren är felfri och skickas i snabbare takt tack vare en kraftfull maskin, är det möjligt att den långsammare ändens mottagare inte kan hantera den snabbare datahastigheten och därför förlorar en del data.
Kommentera uppropet