Fönster i ett datornätverk är en teknik som används för att optimera dataöverföring mellan enheter genom att dela upp data i mindre, mer hanterbara enheter som kallas fönster. Både sändande och mottagande enheter måste stödja fönster för att det ska fungera effektivt.
Så här fungerar windowsing:
1. Fönster med fast storlek :Både sändande och mottagande enheter bestämmer en fönsterstorlek, vanligtvis specificerad som ett antal datapaket eller byte. Detta definierar den maximala mängden data som kan överföras i ett fönster.
2. Avsändarens fönster :Den sändande enheten delar upp data i bitar av fönsterstorlek och skickar dessa bitar sekventiellt. Varje fönster är numrerat för identifiering.
3. Mottagarens fönster :Mottagaren behåller sitt fönster, som initialt startar i samma position som avsändarens fönster. Mottagaren skickar "bekräftelser" till avsändaren för varje mottagen fönster framgångsrikt.
4. Flödeskontroll :Mottagarens fönsterstorlek fungerar som en signal för avsändaren. Om mottagarens fönster är fullt (dess buffert är upptaget) slutar den att kvittera nya fönster, vilket gör att avsändaren tillfälligt stoppar sändningen tills mottagarens fönster blir tillgängligt. Detta förhindrar att mottagaren överbelastas med data som den inte kan bearbeta tillräckligt snabbt.
5. Skjutbara fönster :När mottagaren bekräftar mottagen data, glider både avsändar- och mottagarfönster progressivt eller flyttas framåt till öppna utrymmen för att ytterligare fönster ska skickas och bearbetas.
6. Sekvensnumrering :Varje paket i ett fönster tilldelas ett sekvensnummer, vilket gör att båda enheterna kan hålla reda på databitar och identifiera eventuella luckor, dubbletter eller förluster.
7. Återsändningar och felhantering :Om avsändaren inte får en bekräftelse för ett specifikt fönster inom en angiven timeout, återsänder den motsvarande fönster. Fönster, i kombination med sekvensnumrering, bidrar till effektiv felhantering.
Windowing optimerar datakommunikationen genom att förhindra onödig dataöverföring när den mottagande enheten inte är redo eller har begränsade bearbetningsmöjligheter. Det möjliggör också bättre flödeskontroll, felhantering och utnyttjande av tillgänglig nätverksbandbredd.