• Skip to main content
  • Skip to primary sidebar
  • Skip to secondary sidebar
  • Skip to footer

Computer Notes

Library
    • Computer Fundamental
    • Computer Memory
    • DBMS Tutorial
    • Operating System
    • Computer Networking
    • C Programming
    • C++ Programming
    • Java Programming
    • C# Programming
    • SQL Tutorial
    • Management Tutorial
    • Computer Graphics
    • Compiler Design
    • Style Sheet
    • JavaScript Tutorial
    • Html Tutorial
    • Wordpress Tutorial
    • Python Tutorial
    • PHP Tutorial
    • JSP Tutorial
    • AngularJS Tutorial
    • Data Structures
    • E Commerce Tutorial
    • Visual Basic
    • Structs2 Tutorial
    • Digital Electronics
    • Internet Terms
    • Servlet Tutorial
    • Software Engineering
    • Interviews Questions
    • Basic Terms
    • Troubleshooting
Menu

Header Right

Home » Networking » Communication » Sliding Window Protocol
Next →
← Prev

Sliding Window Protocol

By Dinesh Thakur

• In sliding window method, multiple frames are sent by sender at a time before needing an acknowledgment.

• Multiple frames sent by source are acknowledged by receiver using a single ACK frame.

We’ll be covering the following topics in this tutorial:

  • Sliding Window
  • Sliding Window on Sender Side
  • Sliding Window on Receiver Side

Sliding Window

• Sliding window refers to an imaginary boxes that hold the frames on both sender and receiver side.

• It provides the upper limit on the number of frames that can be transmitted before requiring an acknowledgment.

• Frames may be acknowledged by receiver at any point even when window is not full on receiver side.

• Frames may be transmitted by source even when window is not yet full on sender side.

• The windows have a specific size in which the frames are numbered modulo- n, which means they are numbered from 0 to n-l. For e.g. if n = 8, the frames are numbered 0, 1,2,3,4,5,6, 7, 0, 1,2,3,4,5,6, 7, 0, 1, ….

• The size of window is n-1. For e.g. In this case it is 7. Therefore, a maximum of n-l frames may be sent before an acknowledgment.

• When the receiver sends an ACK, it includes the number of next frame it expects to receive. For example in order to acknowledge the group of frames ending in frame 4, the receiver sends an ACK containing the number 5. When sender sees an ACK with number 5, it comes to know that all the frames up to number 4 have been received.     Sliding Window

Sliding Window on Sender Side

• At the beginning of a transmission, the sender’s window contains n-l frames.

• As the frames are sent by source, the left boundary of the window moves inward, shrinking the size of window. This means if window size is w, if four frames are sent by source after the last acknowledgment, then the number of frames left in window is w-4.

• When the receiver sends an ACK, the source’s window expand i.e. (right boundary moves outward) to allow in a number of new frames equal to the number of frames acknowledged by that ACK.

• For example, Let the window size is 7 (see diagram (a)), if frames 0 through 3 have been sent and no acknowledgment has been received, then the sender’s window contains three frames – 4,5,6.

• Now, if an ACK numbered 3 is received by source, it means three frames (0, 1, 2) have been received by receiver and are undamaged.

• The sender’s window will now expand to include the next three frames in its buffer. At this point the sender’s window will contain six frames (4, 5, 6, 7, 0, 1). (See diagram (b)).

Sliding window on sender side

Sliding Window on Receiver Side

• At the beginning of transmission, the receiver’s window contains n-1 spaces for frame but not the frames.

• As the new frames come in, the size of window shrinks.

• Therefore the receiver window represents not the number of frames received but the number of frames that may still be received without an acknowledgment ACK must be sent.

• Given a window of size w, if three frames are received without an ACK being returned, the number of spaces in a window is w-3.

• As soon as acknowledgment is sent, window expands to include the number of frames equal to the number of frames acknowledged.

• For example, let the size of receiver’s window is 7 as shown in diagram. It means window contains spaces for 7 frames.

• With the arrival of the first frame, the receiving window shrinks, moving the boundary from space 0 to 1. Now, window has shrunk by one, so the receiver may accept six more frame before it is required to send an ACK.

• If frames 0 through 3 have arrived but have DOC been acknowledged, the window will contain three frame spaces.

• As receiver sends an ACK, the window of the receiver expands to include as many new placeholders as newly acknowledged frames.

• The window expands to include a number of new frame spaces equal to the number of the most recently acknowledged frame minus the number of previously acknowledged frame. For e.g., If window size is 7 and if prior ACK was for frame 2 & the current ACK is for frame 5 the window expands by three (5-2).

Sliding Window on Receiver Side

• Therefore, the sliding window of sender shrinks from left when frames of data are sending. The sliding window of the sender expands to right when acknowledgments are received.

• The sliding window of the receiver shrinks from left when frames of data are received. The sliding window of the receiver expands to the right when acknowledgement is sent.

You’ll also like:

  1. What is Transmission Control Protocol/Internet Protocol (TCP/IP)?
  2. Stop & Wait Protocol
  3. How can output a message on status window.
  4. Draw Arc in Applet Window Example
  5. A Simple Window Using Frame Example in Java
Next →
← Prev
Like/Subscribe us for latest updates     

About Dinesh Thakur
Dinesh ThakurDinesh Thakur holds an B.C.A, MCDBA, MCSD certifications. Dinesh authors the hugely popular Computer Notes blog. Where he writes how-to guides around Computer fundamental , computer software, Computer programming, and web apps.

Dinesh Thakur is a Freelance Writer who helps different clients from all over the globe. Dinesh has written over 500+ blogs, 30+ eBooks, and 10000+ Posts for all types of clients.


For any type of query or something that you think is missing, please feel free to Contact us.


Primary Sidebar

Networking

Networking Tutorials

  • Network - Home
  • Network - Uses
  • Network - Advantages
  • Network - Classification
  • Network - Architecture Type
  • Nework - Networks Vs Comms

Networking Devices

  • Network - Modem
  • Network - Routers Types
  • Network - Bluetooth
  • Network - RS-232C
  • Network - Hub
  • Network - Devices
  • Network - Bridges
  • Network - Repeaters
  • Network - Routers
  • Network - Switching Hubs
  • Network - Transceiver
  • Network - Multiplexer
  • Network - Gateway
  • Network - BNC Connector
  • Network - Optical Connectors
  • Network - NICs
  • Networking Protocol

  • Protocol - Definition
  • Protocol - IP
  • Protocol - Aloha
  • Protocol - MAC Layer
  • Protocol - Sliding Window
  • Protocol - Stop & Wait
  • Protocol - Network Protocols
  • Protocol - Token Passing
  • Protocol - SIP
  • Protocol - Ad-Hoc Networks Routing
  • Protocol - Lap-f
  • Protocol - Point-to-Point
  • Protocol - PPP
  • Protocol - PPP Phases
  • Protocol - LDP
  • Protocol - MPLS
  • Protocol - MPOA
  • Protocol - HDLC
  • Protocol - Distance Vector routing
  • Protocol - IGMP
  • Protocol - ICMP
  • Protocol - SLIP
  • Protocol - DVMRP
  • Protocol - SDLC
  • Protocol - Routing
  • Protocol - UDP
  • Protocol - ARP and RARP
  • Protocol - Link-State
  • Protocol - ARP Table
  • Protocol - RTP
  • Protocol - NHRP
  • Network Addressing

  • Addressing - Home
  • Addressing - SubNetting
  • Addressing - Classless
  • Addressing - Classes or Classful
  • Addressing - IPV4 vs IPV6
  • Addressing - IPv6
  • Addressing - Subnet Mask
  • Addressing - MAC Address
  • Addressing - Supernetting
  • Addressing - Private IP
  • Addressing - IPv4
  • Addressing - Public IP
  • Addressing - Multihomed
  • Addressing - Indirect Addressing
  • Addressing - ASP
  • Addressing - VLSM
  • Addressing - Routing Algorithms
  • Addressing - Hierarchical Routing
  • Addressing - Routing
  • Addressing - Distributed Routing
  • Addressing - Data Routing
  • Addressing - Services
  • Addressing - IP forwarding
  • Addressing - Aging
  • Addressing - Algorithm CR
  • Networking Media

  • Transmission - Home
  • Transmission - Modes
  • Transmission - Media
  • Transmission - System
  • Transmission - Bound
  • Transmission - Unbound
  • Transmission - Baseband
  • Transmission - Wired
  • Transmission - Fiber Benfits
  • Transmission - Infrared
  • Transmission - UnGuided
  • Transmission - Microwave
  • Transmission - Infrared
  • Transmission - Radio Wave
  • Transmission - Network
  • Transmission - Digital Signal
  • Transmission - Data
  • Transmission - Asynchronous
  • Transmission - Sync Vs Async
  • Cable - Twisted-Pair
  • Cable - Coaxial
  • Cable - UTP and STP
  • Cable - Fiber Optics
  • Cable - Gigabit Ethernet
  • Cable - Fast Ethernet
  • Cable - Ethernet Cable
  • Cable - Fiber-Optic Using
  • Cable - CATV
  • Cable - 100Base T
  • Cable - 10BASE T
  • Cable - 10 Base 2
  • Cable - 10 Base 5
  • Networking Types

  • IEEE - 802.11
  • IEEE - 802.5
  • IEEE - 802.15
  • IEEE - 802.11e
  • IEEE - 802.11n
  • Network - Ethernet
  • Network - Arpanet
  • Network - Frame Relay
  • Network - X.25
  • Network - Telephone
  • Network - WSN
  • Network - Metro Ethernet
  • Network - WAN Ethernet
  • Network - Wireless Mesh
  • Network - SAN
  • Network - SNA
  • Network - Cisco Architecture
  • Network - Vlan
  • Network - FDDI
  • Network - 100VG-Any
  • Network - EPON
  • Network - ISDN
  • Network - ARCNet
  • Network - Passive Optical
  • Networking Reference Models

  • Models - TCP/IP
  • Models - OSI
  • Models - MAC Layer
  • Models - Network Layer
  • Models - MAC Layer Functions
  • Models - TCP/IP Vs OSI
  • Models - CSMA
  • Models - CSMA/CD
  • Models - CSMA/CA
  • Models - CDMA
  • Models - STDM
  • Models - FDMA
  • Models - TDMA
  • Models - SDH
  • Models - CDM
  • Models - Multiplexing
  • Models - Reference
  • Models - Random Access Methods
  • Models - TCP/IP Architecture
  • Models - FDM
  • Models - IP Header
  • Models - OTN
  • Models - Amplitude Levels
  • Models - MIMO
  • Models - Plesiochronous Media
  • Models - Half Duplex
  • Models - ISO Architecture
  • Models - Data-Link Layer
  • Models - WDM
  • Models - Duplex
  • Models - Ethernet FDSE
  • Networking Switching Techniques

  • Switching - Home
  • Switching - Techniques
  • Switching - Packet
  • Switching - Circuit
  • Switching - Message
  • Switching - Packet Vs virtual Circuit
  • Switching - Cell
  • Switching - ATM Cell Structure
  • Switching - Virtual Circuit Vs Datagram
  • Switching - Time Space
  • Switching - Modulation
  • Switching - Cell Relay
  • Switching - ATM Structure
  • Switching - VC Vs PVC
  • Switching - Packet and Circuit
  • Switching - VPC
  • Switching - IP
  • Switching - Logical Channels
  • Switching - TDM
  • Switching - FDM
  • Network Codes

  • Codes - CRC
  • Codes - Error Correction and Detection
  • Codes - Hamming
  • Codes - Piggybacking
  • Codes - Encoding Techniques
  • Codes - Error Control
  • Codes - Parity Check
  • Codes - Parity bit
  • Codes - Bit Error
  • Codes - CRC
  • Codes - Transmission Errors
  • Codes - Error Detection and Correction
  • Network Communication

  • Communication - Home
  • Communication - Satellite
  • Communication - Wireless
  • Communication - Data Type
  • Communication - Congestion Control
  • Communication - Network
  • Communication - Data
  • Communication - Software
  • Communication - Layering Process
  • Networking Signaling

  • Signal - Analog
  • Signal - Digital
  • Signal - Analog Vs Digital
  • Signal - Digitization
  • Network Security

  • Security - Home
  • Security - Requirements
  • Security - Threats
  • Security - Services

Other Links

  • Networking - PDF Version

Footer

Basic Course

  • Computer Fundamental
  • Computer Networking
  • Operating System
  • Database System
  • Computer Graphics
  • Management System
  • Software Engineering
  • Digital Electronics
  • Electronic Commerce
  • Compiler Design
  • Troubleshooting

Programming

  • Java Programming
  • Structured Query (SQL)
  • C Programming
  • C++ Programming
  • Visual Basic
  • Data Structures
  • Struts 2
  • Java Servlet
  • C# Programming
  • Basic Terms
  • Interviews

World Wide Web

  • Internet
  • Java Script
  • HTML Language
  • Cascading Style Sheet
  • Java Server Pages
  • Wordpress
  • PHP
  • Python Tutorial
  • AngularJS
  • Troubleshooting

 About Us |  Contact Us |  FAQ

Dinesh Thakur is a Technology Columinist and founder of Computer Notes.

Copyright © 2025. All Rights Reserved.

APPLY FOR ONLINE JOB IN BIGGEST CRYPTO COMPANIES
APPLY NOW