{"id":3875,"date":"2023-05-15T11:51:28","date_gmt":"2023-05-15T06:21:28","guid":{"rendered":"https:\/\/binaryterms.com\/?p=3875"},"modified":"2023-05-03T11:51:50","modified_gmt":"2023-05-03T06:21:50","slug":"sliding-window-protocol","status":"publish","type":"post","link":"https:\/\/binaryterms.com\/sliding-window-protocol.html","title":{"rendered":"Sliding Window Protocol"},"content":{"rendered":"<p>The sliding window protocol is a <strong>flow control protocol<\/strong> for noisy channels. Being a flow control protocol, it prevents the receiver from overwhelming receiver from the data.<\/p>\n<h5>What is the purpose of Flow Control?<\/h5>\n<p>The rate at which the sender sends the data and at which the receiver receives the data may vary. However, the receiver maintains a data buffer as it has to process data before forwarding it to the upper layer.<\/p>\n<p>Now, if the sender sends the data faster than the receiver can receive, then within some time, the data buffer at the receiver\u2019s end will fill up and overflow while the receiver is still processing the old data.<\/p>\n<p>This is why we require a flow control mechanism that prevents the sender from overwhelming the receiver with the data.<\/p>\n<p>However, the sliding window protocol offers <strong>error control<\/strong> by adding the sequence number to the transmitted frames. Sequencing helps the receiver identify whether all the packets have arrived successfully and helps to sort them in the proper order.<\/p>\n<p>Let\u2019s learn more about this protocol in the section ahead.<\/p>\n<h2>Content: Sliding Window Protocol<\/h2>\n<ol>\n<li><a href=\"#WhatisSlidingWindowProtocol?\">What is Sliding Window Protocol?<\/a><\/li>\n<li><a href=\"#WorkingPrinciple\">Working Principle<\/a><\/li>\n<li><a href=\"#TypesofSlidingWindowProtocol\">Types of Sliding Window Protocol<\/a>\n<ul>\n<li><a href=\"#Go-BackNARQ\">Go-Back N ARQ<\/a><\/li>\n<li><a href=\"#SelectiveRepeatARQ\">Selective Repeat ARQ<\/a><\/li>\n<\/ul>\n<\/li>\n<li><a href=\"#Go-BackNVsSelectiveRepeat\">Go-Back N Vs Selective Repeat<\/a><\/li>\n<li><a href=\"#AdvantagesandDisadvantages\">Advantages and Disadvantages<\/a><\/li>\n<\/ol>\n<p><a name=\"WhatisSlidingWindowProtocol?\"><\/a><\/p>\n<h3>What is Sliding Window Protocol?<\/h3>\n<p>The sliding window protocol allows the sender to send <strong>multiple<\/strong> frames without waiting for an acknowledgement. Thus, it applies the pipelining concept, where the transmission of the next frame starts even before the previous one is acknowledged.<\/p>\n<p>Now to maintain the flow control, the sender and receiver both maintain a window, i.e. <strong>sending window<\/strong> and the <strong>receiving window<\/strong>. The sending window size corresponds to the number of frames the sender is permitted to send. And for error control, it maintains a sequence number of frames.<\/p>\n<p>With sliding window protocol<strong> full duplex<\/strong> line is possible, which means several data packets and acknowledgement can be in the channel simultaneously. It even applies the concept of <strong>piggybacking,<\/strong> where the acknowledgement is delayed temporarily so that it can be hooked to the next outgoing packet.<\/p>\n<div id=\"note\"><strong>Note<\/strong>: The acknowledgement is sent separately if there is no next outgoing packet.<\/div>\n<p><a name=\"WorkingPrinciple\"><\/a><\/p>\n<h3>Working Principle of Sliding Window Protocol<\/h3>\n<p>As we know, both sender and receiver maintain a buffer window. We refer senders\u2019 buffer as sending window and the receiver\u2019s buffer as receiving window.<\/p>\n<p>Frames are assigned the sequence number from <strong>0<\/strong> to the <strong>maximum number<\/strong>. The maximum number of the frame is <strong>2<sup>n<\/sup> \u2013 1<\/strong>. Here, <strong>n<\/strong> is the number of bits that the packet\u2019s header allows for the sequence number.<\/p>\n<p>How many frames can be sent without waiting for the acknowledgement depends on the size of the sliding window. The maximum size of the window can be 2<sup>n<\/sup> \u2013 1. However, some protocols have variable window sizes.<br \/>\n<a name=\"TypesofSlidingWindowProtocol\"><\/a><\/p>\n<h3>Types of Sliding Window Protocol<\/h3>\n<p>The types of sliding window protocols differ in terms of efficiency, complexity and buffer requirement.<br \/>\n<a name=\"Go-BackNARQ\"><\/a><\/p>\n<h4>Go back N ARQ<\/h4>\n<p>In the Go-Back N Automatic Repeat Request protocol, the sender can transmit several packets before receiving the acknowledgements. The packets are sequentially numbered, and at a time, only N number of packets are transmitted. Here, N is the size of the sliding window.<\/p>\n<p>However, the receiver can receive only one packet at a time. This means the size of receiving window is <strong>one<\/strong> in Go-back N.<\/p>\n<p>Now, the packets are sequentially numbered, and only N number of frames are sent at once. The sender keeps a copy of the sent frames until their acknowledgement is received. If any frame is not acknowledged within a particular time, all the frames starting from the unacknowledged one are retransmitted.<\/p>\n<p>Let\u2019s understand with the help of an example.<\/p>\n<h5>Example of Go-Back N ARQ Protocol<\/h5>\n<p>Consider that the packet\u2019s header allows 3 bits for the sequence number. So, the packets will be numbered from 0 to 2<sup>3<\/sup> -1, i.e., from 0 to 7.<\/p>\n<div id=\"note\"><strong>Note<\/strong>: We will go with the maximum size of the window 2<sup>3<\/sup> -1, i.e., 7<\/div>\n<p>Now consider that the sender has 12 packets to send. These packets are sequentially numbered from 0 to 7, and the sequence is repeated again for the rest of the packets.<\/p>\n<p>Now, as our window size is 7 the sender will send packets from 0 to 6 without waiting for the acknowledgement.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3884\" src=\"https:\/\/binaryterms.com\/wp-content\/uploads\/2023\/01\/Go-Back-N-Sliding-Window-Protocol.jpg\" alt=\"Go-Back N Sliding Window Protocol\" width=\"535\" height=\"200\" srcset=\"https:\/\/binaryterms.com\/wp-content\/uploads\/2023\/01\/Go-Back-N-Sliding-Window-Protocol.jpg 535w, https:\/\/binaryterms.com\/wp-content\/uploads\/2023\/01\/Go-Back-N-Sliding-Window-Protocol-300x112.jpg 300w\" sizes=\"auto, (max-width: 535px) 100vw, 535px\" \/><\/p>\n<p>Now, as the receiver sends the acknowledgement for the 0th packet, the sliding window shifts forward and sends the 7th packet.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3879\" src=\"https:\/\/binaryterms.com\/wp-content\/uploads\/2023\/01\/Go-Back-N-1.jpg\" alt=\"Go-Back N 1\" width=\"503\" height=\"225\" srcset=\"https:\/\/binaryterms.com\/wp-content\/uploads\/2023\/01\/Go-Back-N-1.jpg 503w, https:\/\/binaryterms.com\/wp-content\/uploads\/2023\/01\/Go-Back-N-1-300x134.jpg 300w\" sizes=\"auto, (max-width: 503px) 100vw, 503px\" \/><\/p>\n<p>After receiving acknowledgement for the 1st packet, the sliding window moves forward and now sends the next packet in the sequence, i.e. 0th.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3880\" src=\"https:\/\/binaryterms.com\/wp-content\/uploads\/2023\/01\/Go-Back-N-2.jpg\" alt=\"Go-Back N 2\" width=\"600\" height=\"278\" srcset=\"https:\/\/binaryterms.com\/wp-content\/uploads\/2023\/01\/Go-Back-N-2.jpg 600w, https:\/\/binaryterms.com\/wp-content\/uploads\/2023\/01\/Go-Back-N-2-300x139.jpg 300w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/p>\n<p>Meanwhile, the second packet is lost or gets damaged. It may even happen that its acknowledgement is lost.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3881\" src=\"https:\/\/binaryterms.com\/wp-content\/uploads\/2023\/01\/Go-Back-N-3.jpg\" alt=\"Go-Back N 3\" width=\"520\" height=\"250\" srcset=\"https:\/\/binaryterms.com\/wp-content\/uploads\/2023\/01\/Go-Back-N-3.jpg 520w, https:\/\/binaryterms.com\/wp-content\/uploads\/2023\/01\/Go-Back-N-3-300x144.jpg 300w\" sizes=\"auto, (max-width: 520px) 100vw, 520px\" \/><\/p>\n<p>So, after completing the waiting time for acknowledgement, the sender resends all the frames that the sliding window has, i.e. from 2 to 0. And even though after 2nd packet, the receiver has received the rest of the frames successfully, it discards them.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3883\" src=\"https:\/\/binaryterms.com\/wp-content\/uploads\/2023\/01\/Go-Back-N-5.jpg\" alt=\"Go-Back N 5\" width=\"563\" height=\"400\" srcset=\"https:\/\/binaryterms.com\/wp-content\/uploads\/2023\/01\/Go-Back-N-5.jpg 563w, https:\/\/binaryterms.com\/wp-content\/uploads\/2023\/01\/Go-Back-N-5-300x213.jpg 300w\" sizes=\"auto, (max-width: 563px) 100vw, 563px\" \/><\/p>\n<p>The sliding window divides the packets into three sections, as you can see in the image below:<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3882\" src=\"https:\/\/binaryterms.com\/wp-content\/uploads\/2023\/01\/Go-Back-N-4.jpg\" alt=\"Go-Back N 4\" width=\"428\" height=\"225\" srcset=\"https:\/\/binaryterms.com\/wp-content\/uploads\/2023\/01\/Go-Back-N-4.jpg 428w, https:\/\/binaryterms.com\/wp-content\/uploads\/2023\/01\/Go-Back-N-4-300x158.jpg 300w\" sizes=\"auto, (max-width: 428px) 100vw, 428px\" \/><br \/>\n<a name=\"SelectiveRepeatARQ\"><\/a><\/p>\n<h4>Selective Repeat ARQ<\/h4>\n<p>Like Go-back N, in the Selective Repeat Automatic Repeat Request protocol, the sender can transmit several packets before receiving the acknowledgements. The maximum size of the sending and receiving window is the same in this protocol, i.e., <strong>2<sup>m-1<\/sup><\/strong>.<\/p>\n<p>So, if we consider the same example we discussed in Go-back N., the packets will be numbered from 0 to 2<sup>3-1<\/sup>, i.e., from 0 to 7.<\/p>\n<p>The maximum size of the sliding window is 2<sup>3-1<\/sup> , i.e., 4.<\/p>\n<p>Now consider that the sender has 12 packets to send. These packets are sequentially numbered from 0 to 7, and the sequence is repeated again for the rest of the packets.<\/p>\n<p>Now the sender sends packet 0 to packet 3 without waiting for any acknowledgement.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3889\" src=\"https:\/\/binaryterms.com\/wp-content\/uploads\/2023\/01\/Selective-Repeat.jpg\" alt=\"Selective Repeat\" width=\"550\" height=\"153\" srcset=\"https:\/\/binaryterms.com\/wp-content\/uploads\/2023\/01\/Selective-Repeat.jpg 550w, https:\/\/binaryterms.com\/wp-content\/uploads\/2023\/01\/Selective-Repeat-300x83.jpg 300w\" sizes=\"auto, (max-width: 550px) 100vw, 550px\" \/><\/p>\n<p>When it receives the acknowledgement for packet 0, the sliding window moves forwards, and the sender sends packet 4.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3885\" src=\"https:\/\/binaryterms.com\/wp-content\/uploads\/2023\/01\/Selective-Repeat-1.jpg\" alt=\"Selective Repeat 1\" width=\"550\" height=\"165\" srcset=\"https:\/\/binaryterms.com\/wp-content\/uploads\/2023\/01\/Selective-Repeat-1.jpg 550w, https:\/\/binaryterms.com\/wp-content\/uploads\/2023\/01\/Selective-Repeat-1-300x90.jpg 300w\" sizes=\"auto, (max-width: 550px) 100vw, 550px\" \/>Further, when the sender receives the acknowledgement of packet 1, the sliding window slides by one position and sends packet 5.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3886\" src=\"https:\/\/binaryterms.com\/wp-content\/uploads\/2023\/01\/Selective-Repeat-2.jpg\" alt=\"Selective Repeat 2\" width=\"550\" height=\"179\" srcset=\"https:\/\/binaryterms.com\/wp-content\/uploads\/2023\/01\/Selective-Repeat-2.jpg 550w, https:\/\/binaryterms.com\/wp-content\/uploads\/2023\/01\/Selective-Repeat-2-300x98.jpg 300w\" sizes=\"auto, (max-width: 550px) 100vw, 550px\" \/><\/p>\n<p>Meanwhile, there is a timeout for the acknowledgement of packet 2; however, the sender receives the acknowledgement for packets 3, 4 and 5.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3887\" src=\"https:\/\/binaryterms.com\/wp-content\/uploads\/2023\/01\/Selective-Repeat-3.jpg\" alt=\"Selective Repeat 3\" width=\"550\" height=\"203\" srcset=\"https:\/\/binaryterms.com\/wp-content\/uploads\/2023\/01\/Selective-Repeat-3.jpg 550w, https:\/\/binaryterms.com\/wp-content\/uploads\/2023\/01\/Selective-Repeat-3-300x111.jpg 300w\" sizes=\"auto, (max-width: 550px) 100vw, 550px\" \/><\/p>\n<p>So, the sender resends packet 2 and waits for its acknowledgement. As soon as it receives the acknowledgement for packet 2 the sliding window will slide, and the sender will send packet 6.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3888\" src=\"https:\/\/binaryterms.com\/wp-content\/uploads\/2023\/01\/Selective-Repeat-4.jpg\" alt=\"Selective Repeat 4\" width=\"550\" height=\"278\" srcset=\"https:\/\/binaryterms.com\/wp-content\/uploads\/2023\/01\/Selective-Repeat-4.jpg 550w, https:\/\/binaryterms.com\/wp-content\/uploads\/2023\/01\/Selective-Repeat-4-300x152.jpg 300w\" sizes=\"auto, (max-width: 550px) 100vw, 550px\" \/><\/p>\n<p>In this way, selective repeat protocol only resends the selective packet that is either lost, damaged, or negatively acknowledged, or if its acknowledgement is lost. It is quite complex as compared to Go-Back N but is comparatively efficient as it utilises the maximum bandwidth.<br \/>\n<a name=\"Go-BackNVsSelectiveRepeat\"><\/a><\/p>\n<h3>Go-Back N Vs Selective Repeat<\/h3>\n<p>\n<table id=\"tablepress-14\" class=\"tablepress tablepress-id-14\">\n<thead>\n<tr class=\"row-1\">\n\t<th class=\"column-1\">Basis for Comparison<\/th><th class=\"column-2\">Go-Back N<\/th><th class=\"column-3\">Selective Repeat<\/th>\n<\/tr>\n<\/thead>\n<tbody class=\"row-striping row-hover\">\n<tr class=\"row-2\">\n\t<td class=\"column-1\">Basic<\/td><td class=\"column-2\">If a packet is corrupted or lost, all the succeeding frames are resent<\/td><td class=\"column-3\">Only the corrupted frame is resent<\/td>\n<\/tr>\n<tr class=\"row-3\">\n\t<td class=\"column-1\">Bandwidth Wastage<\/td><td class=\"column-2\">If the error rate is high, Go-Back N waste a lot of bandwidth<\/td><td class=\"column-3\">Wastage of bandwidth is less<\/td>\n<\/tr>\n<tr class=\"row-4\">\n\t<td class=\"column-1\">Sorting<\/td><td class=\"column-2\">Do not require any searching and sorting.<\/td><td class=\"column-3\">Requires searching and sorting as it has to rearrange the resent packet.<\/td>\n<\/tr>\n<tr class=\"row-5\">\n\t<td class=\"column-1\">Storage<\/td><td class=\"column-2\">Comparatively less complicated as it doesn\u2019t require any searching and sorting<\/td><td class=\"column-3\">Complicated as it requires searching and sorting, which in turn raises the need for storage<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<!-- #tablepress-14 from cache --><br \/>\n<a name=\"AdvantagesandDisadvantages\"><\/a><\/p>\n<h3>Advantages and Disadvantages<\/h3>\n<h5>Advantages<\/h5>\n<ul>\n<li>It allows the sender to send multiple packets before receiving any acknowledgement.<\/li>\n<li>Manages flow control by using a buffer window at both the sender and receiver sides. And it manages the error control by adding sequence numbers to packets.<\/li>\n<li>It applies the pipelining concept, where multiple packets are sent, and a copy of them is stored in the buffer. As these packets are acknowledged, the copies are discarded, and the memory is freed. It increases the efficiency of the protocols and utilisation of available bandwidth.<\/li>\n<li>Achieve full-duplex and also allows piggybacking the acknowledgement with the next outgoing data packet.<\/li>\n<\/ul>\n<h5>Disadvantages<\/h5>\n<ul>\n<li>With the protocols such as Go-Back N, there still needs to be more bandwidth.<\/li>\n<\/ul>\n<p>So, this is all about the sliding window protocol, which allows the sender to send multiple data packets before receiving any acknowledgement to utilise the channel\u2019s maximum bandwidth. We have discussed two types of sliding window protocols Go-Back N and Selective Repeat.<\/p>\n<p>In the Go-Back N protocol, if a packet is lost or corrupted or the acknowledgement is lost, it resends all the subsequent packets it has already sent. In contrast, the Selective Repeat protocol only resents the damaged or lost packet.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The sliding window protocol is a flow control protocol for noisy channels. Being a flow control protocol, it prevents the receiver from overwhelming receiver from the data. What is the purpose of Flow Control? The rate at which the sender sends the data and at which the receiver receives the data may vary. However, the [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_genesis_hide_title":false,"_genesis_hide_breadcrumbs":false,"_genesis_hide_singular_image":false,"_genesis_hide_footer_widgets":false,"_genesis_custom_body_class":"","_genesis_custom_post_class":"","_genesis_layout":"","footnotes":""},"categories":[5],"tags":[],"class_list":{"0":"post-3875","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-computer-networks","7":"entry"},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>What is Sliding Window Protocol? Working, Types, Advantages and Disadavantages - Binary Terms<\/title>\n<meta name=\"description\" content=\"The sliding window protocol is a flow control protocol for noisy channels. Being a flow control protocol, it prevents the receiver from getting overwhelmed with the data received from the sender.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/binaryterms.com\/sliding-window-protocol.html\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"What is Sliding Window Protocol? Working, Types, Advantages and Disadavantages - Binary Terms\" \/>\n<meta property=\"og:description\" content=\"The sliding window protocol is a flow control protocol for noisy channels. Being a flow control protocol, it prevents the receiver from getting overwhelmed with the data received from the sender.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/binaryterms.com\/sliding-window-protocol.html\" \/>\n<meta property=\"og:site_name\" content=\"Binary Terms\" \/>\n<meta property=\"article:published_time\" content=\"2023-05-15T06:21:28+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/binaryterms.com\/wp-content\/uploads\/2023\/01\/Go-Back-N-Sliding-Window-Protocol.jpg\" \/>\n<meta name=\"author\" content=\"Neha T\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Neha T\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/binaryterms.com\/sliding-window-protocol.html#article\",\"isPartOf\":{\"@id\":\"https:\/\/binaryterms.com\/sliding-window-protocol.html\"},\"author\":{\"name\":\"Neha T\",\"@id\":\"https:\/\/binaryterms.com\/#\/schema\/person\/e495f1d57f5c0a4c521cc3dba95661fe\"},\"headline\":\"Sliding Window Protocol\",\"datePublished\":\"2023-05-15T06:21:28+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/binaryterms.com\/sliding-window-protocol.html\"},\"wordCount\":1283,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/binaryterms.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/binaryterms.com\/sliding-window-protocol.html#primaryimage\"},\"thumbnailUrl\":\"https:\/\/binaryterms.com\/wp-content\/uploads\/2023\/01\/Go-Back-N-Sliding-Window-Protocol.jpg\",\"articleSection\":[\"Computer Networks\"],\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/binaryterms.com\/sliding-window-protocol.html#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/binaryterms.com\/sliding-window-protocol.html\",\"url\":\"https:\/\/binaryterms.com\/sliding-window-protocol.html\",\"name\":\"What is Sliding Window Protocol? Working, Types, Advantages and Disadavantages - Binary Terms\",\"isPartOf\":{\"@id\":\"https:\/\/binaryterms.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/binaryterms.com\/sliding-window-protocol.html#primaryimage\"},\"image\":{\"@id\":\"https:\/\/binaryterms.com\/sliding-window-protocol.html#primaryimage\"},\"thumbnailUrl\":\"https:\/\/binaryterms.com\/wp-content\/uploads\/2023\/01\/Go-Back-N-Sliding-Window-Protocol.jpg\",\"datePublished\":\"2023-05-15T06:21:28+00:00\",\"description\":\"The sliding window protocol is a flow control protocol for noisy channels. Being a flow control protocol, it prevents the receiver from getting overwhelmed with the data received from the sender.\",\"breadcrumb\":{\"@id\":\"https:\/\/binaryterms.com\/sliding-window-protocol.html#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/binaryterms.com\/sliding-window-protocol.html\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\/\/binaryterms.com\/sliding-window-protocol.html#primaryimage\",\"url\":\"https:\/\/binaryterms.com\/wp-content\/uploads\/2023\/01\/Go-Back-N-Sliding-Window-Protocol.jpg\",\"contentUrl\":\"https:\/\/binaryterms.com\/wp-content\/uploads\/2023\/01\/Go-Back-N-Sliding-Window-Protocol.jpg\",\"width\":535,\"height\":200,\"caption\":\"Go-Back N Sliding Window Protocol\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/binaryterms.com\/sliding-window-protocol.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/binaryterms.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Sliding Window Protocol\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/binaryterms.com\/#website\",\"url\":\"https:\/\/binaryterms.com\/\",\"name\":\"Binary Terms\",\"description\":\"The Computer Science &amp; IT Guide\",\"publisher\":{\"@id\":\"https:\/\/binaryterms.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/binaryterms.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/binaryterms.com\/#organization\",\"name\":\"Binary Terms\",\"url\":\"https:\/\/binaryterms.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\/\/binaryterms.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/binaryterms.com\/wp-content\/uploads\/2020\/05\/binary-terms-logo1.png\",\"contentUrl\":\"https:\/\/binaryterms.com\/wp-content\/uploads\/2020\/05\/binary-terms-logo1.png\",\"width\":400,\"height\":63,\"caption\":\"Binary Terms\"},\"image\":{\"@id\":\"https:\/\/binaryterms.com\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/binaryterms.com\/#\/schema\/person\/e495f1d57f5c0a4c521cc3dba95661fe\",\"name\":\"Neha T\",\"url\":\"https:\/\/binaryterms.com\/author\/author\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"What is Sliding Window Protocol? Working, Types, Advantages and Disadavantages - Binary Terms","description":"The sliding window protocol is a flow control protocol for noisy channels. Being a flow control protocol, it prevents the receiver from getting overwhelmed with the data received from the sender.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/binaryterms.com\/sliding-window-protocol.html","og_locale":"en_GB","og_type":"article","og_title":"What is Sliding Window Protocol? Working, Types, Advantages and Disadavantages - Binary Terms","og_description":"The sliding window protocol is a flow control protocol for noisy channels. Being a flow control protocol, it prevents the receiver from getting overwhelmed with the data received from the sender.","og_url":"https:\/\/binaryterms.com\/sliding-window-protocol.html","og_site_name":"Binary Terms","article_published_time":"2023-05-15T06:21:28+00:00","og_image":[{"url":"https:\/\/binaryterms.com\/wp-content\/uploads\/2023\/01\/Go-Back-N-Sliding-Window-Protocol.jpg","type":"","width":"","height":""}],"author":"Neha T","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Neha T","Estimated reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/binaryterms.com\/sliding-window-protocol.html#article","isPartOf":{"@id":"https:\/\/binaryterms.com\/sliding-window-protocol.html"},"author":{"name":"Neha T","@id":"https:\/\/binaryterms.com\/#\/schema\/person\/e495f1d57f5c0a4c521cc3dba95661fe"},"headline":"Sliding Window Protocol","datePublished":"2023-05-15T06:21:28+00:00","mainEntityOfPage":{"@id":"https:\/\/binaryterms.com\/sliding-window-protocol.html"},"wordCount":1283,"commentCount":0,"publisher":{"@id":"https:\/\/binaryterms.com\/#organization"},"image":{"@id":"https:\/\/binaryterms.com\/sliding-window-protocol.html#primaryimage"},"thumbnailUrl":"https:\/\/binaryterms.com\/wp-content\/uploads\/2023\/01\/Go-Back-N-Sliding-Window-Protocol.jpg","articleSection":["Computer Networks"],"inLanguage":"en-GB","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/binaryterms.com\/sliding-window-protocol.html#respond"]}]},{"@type":"WebPage","@id":"https:\/\/binaryterms.com\/sliding-window-protocol.html","url":"https:\/\/binaryterms.com\/sliding-window-protocol.html","name":"What is Sliding Window Protocol? Working, Types, Advantages and Disadavantages - Binary Terms","isPartOf":{"@id":"https:\/\/binaryterms.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/binaryterms.com\/sliding-window-protocol.html#primaryimage"},"image":{"@id":"https:\/\/binaryterms.com\/sliding-window-protocol.html#primaryimage"},"thumbnailUrl":"https:\/\/binaryterms.com\/wp-content\/uploads\/2023\/01\/Go-Back-N-Sliding-Window-Protocol.jpg","datePublished":"2023-05-15T06:21:28+00:00","description":"The sliding window protocol is a flow control protocol for noisy channels. Being a flow control protocol, it prevents the receiver from getting overwhelmed with the data received from the sender.","breadcrumb":{"@id":"https:\/\/binaryterms.com\/sliding-window-protocol.html#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/binaryterms.com\/sliding-window-protocol.html"]}]},{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/binaryterms.com\/sliding-window-protocol.html#primaryimage","url":"https:\/\/binaryterms.com\/wp-content\/uploads\/2023\/01\/Go-Back-N-Sliding-Window-Protocol.jpg","contentUrl":"https:\/\/binaryterms.com\/wp-content\/uploads\/2023\/01\/Go-Back-N-Sliding-Window-Protocol.jpg","width":535,"height":200,"caption":"Go-Back N Sliding Window Protocol"},{"@type":"BreadcrumbList","@id":"https:\/\/binaryterms.com\/sliding-window-protocol.html#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/binaryterms.com\/"},{"@type":"ListItem","position":2,"name":"Sliding Window Protocol"}]},{"@type":"WebSite","@id":"https:\/\/binaryterms.com\/#website","url":"https:\/\/binaryterms.com\/","name":"Binary Terms","description":"The Computer Science &amp; IT Guide","publisher":{"@id":"https:\/\/binaryterms.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/binaryterms.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":"Organization","@id":"https:\/\/binaryterms.com\/#organization","name":"Binary Terms","url":"https:\/\/binaryterms.com\/","logo":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/binaryterms.com\/#\/schema\/logo\/image\/","url":"https:\/\/binaryterms.com\/wp-content\/uploads\/2020\/05\/binary-terms-logo1.png","contentUrl":"https:\/\/binaryterms.com\/wp-content\/uploads\/2020\/05\/binary-terms-logo1.png","width":400,"height":63,"caption":"Binary Terms"},"image":{"@id":"https:\/\/binaryterms.com\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/binaryterms.com\/#\/schema\/person\/e495f1d57f5c0a4c521cc3dba95661fe","name":"Neha T","url":"https:\/\/binaryterms.com\/author\/author"}]}},"_links":{"self":[{"href":"https:\/\/binaryterms.com\/wp-json\/wp\/v2\/posts\/3875","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/binaryterms.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/binaryterms.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/binaryterms.com\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/binaryterms.com\/wp-json\/wp\/v2\/comments?post=3875"}],"version-history":[{"count":5,"href":"https:\/\/binaryterms.com\/wp-json\/wp\/v2\/posts\/3875\/revisions"}],"predecessor-version":[{"id":3893,"href":"https:\/\/binaryterms.com\/wp-json\/wp\/v2\/posts\/3875\/revisions\/3893"}],"wp:attachment":[{"href":"https:\/\/binaryterms.com\/wp-json\/wp\/v2\/media?parent=3875"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/binaryterms.com\/wp-json\/wp\/v2\/categories?post=3875"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/binaryterms.com\/wp-json\/wp\/v2\/tags?post=3875"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}