Sliding window protocol
સ્લાઇડિંગ વિન્ડો પ્રોટોકોલ એ પેકેટ-આધારિત ડેટા ટ્રાન્સમિશન પ્રોટોકોલનું એક લક્ષણ છે. સ્લાઇડિંગ વિન્ડો પ્રોટોકોલનો ઉપયોગ થાય છે જ્યાં પેકેટોની વિશ્વસનીય ક્રમમાં ડિલિવરી જરૂરી હોય છે, જેમ કે ડેટા લિંક સ્તર (OSI સ્તર 2) તેમજ ટ્રાન્સમિશન કંટ્રોલ પ્રોટોકોલ (TCP) માં. જ્યારે ચેનલમાં ઉચ્ચ વિલંબતા હોઈ શકે છે ત્યારે તેનો ઉપયોગ કાર્યક્ષમતામાં સુધારો કરવા માટે પણ થાય છે. પેકેટ-આધારિત પ્રણાલીઓ વધારાના ડેટા સાથે ડેટાનો સમૂહ, પેકેટ મોકલવાના વિચાર પર આધારિત છે, જે પ્રાપ્તકર્તાને ખાતરી કરવાની મંજૂરી આપે છે કે તે યોગ્ય રીતે પ્રાપ્ત થયો હતો, કદાચ ચેકસમ. દાખલા એ નવા પેકેટોના પ્રવેશને મંજૂરી આપવા અને પહેલેથી જ સ્વીકારવામાં આવેલા પેકેટોને નકારી કાઢવા માટે બાજુની બાજુએ સ્લાઇડિંગ વિન્ડો જેવું જ છે. જ્યારે પ્રાપ્તકર્તા ડેટાની ચકાસણી કરે છે, ત્યારે તે મોકલનારને સ્વીકૃતિ સંકેત અથવા "ACK" મોકલે છે, જે સૂચવે છે કે તે આગામી પેકેટ મોકલી શકે છે. એક સરળ સ્વચાલિત પુનરાવર્તન વિનંતી પ્રોટોકોલ (એ. આર. ક્યુ.) માં, પ્રેષક દરેક પેકેટ પછી અટકી જાય છે અને પ્રાપ્તકર્તાની એ. સી. કે. ની રાહ જુએ છે. આ સુનિશ્ચિત કરે છે કે પેકેટો સાચા ક્રમમાં આવે, કારણ કે એક સમયે માત્ર એક જ મોકલી શકાય છે. એ. સી. કે. સંકેત પ્રાપ્ત થવામાં જે સમય લાગે છે તે પેકેટ મોકલવા માટે જરૂરી સમયની સરખામણીમાં નોંધપાત્ર સમય રજૂ કરી શકે છે. આ કિસ્સામાં, એકંદર થ્રુપુટ સૈદ્ધાંતિક રીતે શક્ય હોય તેના કરતા ઘણું ઓછું હોઈ શકે છે. આને સંબોધવા માટે, સ્લાઇડિંગ વિન્ડો પ્રોટોકોલ એ. સી. કે. ની રાહ જોયા વિના મોકલવા માટે પસંદ કરેલા પેકેટની સંખ્યા, વિન્ડોને મંજૂરી આપે છે. દરેક પેકેટને ક્રમ નંબર મળે છે, અને એ. સી. કે. તે નંબર પરત મોકલે છે. પ્રોટોકોલ એ ટ્રેક રાખે છે કે કયા પેકેટોને ACK કરવામાં આવ્યા છે, અને જ્યારે તે પ્રાપ્ત થાય છે, ત્યારે વધુ પેકેટો મોકલે છે. આ રીતે, વિન્ડો ટ્રાન્સફર બનાવતા પેકેટોના પ્રવાહ સાથે સ્લાઇડ કરે છે. સ્લાઇડિંગ વિંડોઝ એ ઘણા પ્રોટોકોલનો મુખ્ય ભાગ છે. તે ટી. સી. પી. પ્રોટોકોલનો મુખ્ય ભાગ છે, જે સ્વાભાવિક રીતે પેકેટોને ક્રમમાંથી બહાર આવવાની મંજૂરી આપે છે, અને XMODEM જેવા બિન-વિન્ડો પ્રોટોકોલની તુલનામાં કાર્યક્ષમતામાં સુધારો કરવાના માર્ગ તરીકે UUCP-g અને ZMODEM જેવા ઘણા ફાઇલ ટ્રાન્સફર પ્રોટોકોલમાં પણ જોવા મળે છે. SEAlink પણ જુઓ. મૂળભૂત ખ્યાલ વૈચારિક રીતે, પ્રસારણના દરેક ભાગને (મોટાભાગના ડેટા લિંક સ્તરોમાં પેકેટો, પરંતુ ટી. સી. પી. માં બાઇટ્સ) એક અનન્ય ક્રમિક ક્રમ નંબર સોંપવામાં આવે છે, અને પ્રાપ્તકર્તા પ્રાપ્ત પેકેટોને સાચા ક્રમમાં મૂકવા માટે સંખ્યાઓનો ઉપયોગ કરે છે, ડુપ્લિકેટ પેકેટોને કાઢી નાખે છે અને ગુમ થયેલાને ઓળખે છે. આની સાથે સમસ્યા એ છે કે જરૂરી હોઈ શકે તેવી ક્રમ સંખ્યાના કદ પર કોઈ મર્યાદા નથી. કોઈપણ સમયે પ્રસારિત અથવા પ્રાપ્ત કરી શકાય તેવા પેકેટોની સંખ્યા પર મર્યાદા મૂકીને, સ્લાઇડિંગ વિન્ડો પ્રોટોકોલ નિશ્ચિત-કદના ક્રમ નંબરોનો ઉપયોગ કરીને અમર્યાદિત સંખ્યામાં પેકેટોને સંચારિત કરવાની મંજૂરી આપે છે. ટ્રાન્સમીટર બાજુ પર "વિન્ડો" શબ્દ પ્રાપ્તકર્તા દ્વારા હજી સ્વીકારવામાં આવેલા પેકેટોની કુલ સંખ્યાની તાર્કિક સીમાને રજૂ કરે છે. રીસીવર દરેક સ્વીકૃતિ પેકેટમાં ટ્રાન્સમીટરને વર્તમાન મહત્તમ રીસીવર બફર કદ (વિન્ડો બાઉન્ડ્રી) ની જાણ કરે છે. TCP હેડર પ્રેષકને રીસીવર વિન્ડોના કદની જાણ કરવા માટે 16 બીટ ક્ષેત્રનો ઉપયોગ કરે છે. તેથી, ઉપયોગમાં લઈ શકાય તેવી સૌથી મોટી વિંડો 216 = 64 કિલોબાઇટ્સ છે. સ્લો-સ્ટાર્ટ મોડમાં, ટ્રાન્સમીટર ઓછી પેકેટ ગણતરી સાથે શરૂ થાય છે અને પ્રાપ્તકર્તા પાસેથી સ્વીકૃતિ પેકેટો પ્રાપ્ત કર્યા પછી દરેક ટ્રાન્સમિશનમાં પેકેટોની સંખ્યામાં વધારો કરે છે. પ્રાપ્ત થયેલ દરેક એક પેકેટ માટે, વિન્ડો એક નવા પેકેટને પ્રસારિત કરવા માટે એક પેકેટ (તાર્કિક રીતે) દ્વારા સ્લાઇડ કરે છે. જ્યારે વિન્ડો થ્રેશોલ્ડ સુધી પહોંચે છે, ત્યારે ટ્રાન્સમીટર પ્રાપ્ત થયેલ એક એક પેકેટ માટે એક પેકેટ મોકલે છે. જો વિંડો મર્યાદા 10 પેકેટ હોય તો ધીમી શરૂઆત સ્થિતિમાં ટ્રાન્સમીટર એક પેકેટ પછી બે પેકેટ (બે પેકેટ પ્રસારિત કરતા પહેલા, એક પેકેટ એક પ્રાપ્ત કરવું પડે છે), ત્યારબાદ ત્રણ પેકેટ અને તેથી વધુ 10 પેકેટ સુધી પ્રસારિત કરવાનું શરૂ કરી શકે છે. પરંતુ 10 પેકેટ સુધી પહોંચ્યા પછી, વધુ પ્રસારણ પ્રાપ્ત થયેલ એક એક પેકેટ માટે પ્રસારિત એક પેકેટ સુધી મર્યાદિત હોય છે. સિમ્યુલેશનમાં એવું લાગે છે કે વિંડો પ્રાપ્ત થયેલ દરેક એક પેકેટ માટે એક પેકેટ અંતરથી આગળ વધી રહી છે. રીસીવર બાજુ પર પણ વિન્ડો પ્રાપ્ત થયેલ દરેક પેકેટ માટે એક પેકેટ ખસેડે છે. સ્લાઇડિંગ વિન્ડો પદ્ધતિ એ સુનિશ્ચિત કરે છે કે નેટવર્ક પર ટ્રાફિકની ભીડ ટાળી શકાય. એપ્લિકેશન સ્તર હજુ પણ નેટવર્ક ટ્રાફિકની ભીડની સમસ્યાઓની ચિંતા કર્યા વિના ટી. સી. પી. ને ટ્રાન્સમિશન માટે ડેટા પ્રદાન કરશે કારણ કે પ્રેષક અને પ્રાપ્તકર્તા બાજુ પર ટી. સી. પી. પેકેટ બફરની સ્લાઇડિંગ વિંડોઝનો અમલ કરે છે. વિન્ડોનું કદ નેટવર્ક ટ્રાફિકના આધારે ગતિશીલ રીતે બદલાઈ શકે છે. સૌથી વધુ શક્ય થ્રુપુટ માટે, એ મહત્વનું છે કે ટ્રાન્સમીટરને એક રાઉન્ડ-ટ્રીપ વિલંબ સમય (આરટીટી) કરતાં પહેલાં સ્લાઇડિંગ વિન્ડો પ્રોટોકોલ દ્વારા મોકલવાનું બંધ કરવાની ફરજ પાડવામાં ન આવે. સ્વીકૃતિ માટે રાહ જોવાનું બંધ કરતા પહેલા તે મોકલી શકે તે ડેટાની માત્રા પરની મર્યાદા સંચાર લિંકના બેન્ડવિડ્થ-વિલંબ ઉત્પાદન કરતાં મોટી હોવી જોઈએ. જો તે ન હોય તો, પ્રોટોકોલ લિંકની અસરકારક બેન્ડવિડ્થને મર્યાદિત કરશે. પ્રેરણા ભૂલ નિયંત્રણ માટે આપમેળે પુનરાવર્તિત વિનંતી પર આધારિત કોઈપણ સંચાર પ્રોટોકોલમાં, પ્રાપ્તકર્તાએ પ્રાપ્ત કરેલા પેકેટોને સ્વીકારવા આવશ્યક છે. જો ટ્રાન્સમીટરને વાજબી સમયની અંદર સ્વીકૃતિ પ્રાપ્ત ન થાય, તો તે ડેટા ફરીથી મોકલે છે. જે ટ્રાન્સમીટરને સ્વીકૃતિ મળતી નથી તે જાણી શકતું નથી કે પ્રાપ્તકર્તાને ખરેખર પેકેટ મળ્યું છે કે નહીં; એવું હોઈ શકે કે તે પ્રસારણમાં ખોવાઈ ગયું હતું અથવા નુકસાન થયું હતું. જો ભૂલ શોધવાની પદ્ધતિ ભ્રષ્ટાચાર દર્શાવે છે, તો પ્રાપ્તકર્તા દ્વારા પેકેટની અવગણના કરવામાં આવશે અને પ્રાપ્તકર્તા દ્વારા નકારાત્મક અથવા ડુપ્લિકેટ સ્વીકૃતિ મોકલવામાં આવશે. પ્રાપ્તકર્તાને કોઈ પણ પ્રકારની સ્વીકૃતિ ન મોકલવા માટે પણ ગોઠવી શકાય છે. તેવી જ રીતે, પ્રાપ્તકર્તા સામાન્ય રીતે તેની સ્વીકૃતિઓ પ્રાપ્ત થઈ રહી છે કે કેમ તે અંગે અનિશ્ચિત હોય છે. એવું હોઈ શકે છે કે સ્વીકૃતિ મોકલવામાં આવી હતી, પરંતુ પ્રસારણ માધ્યમમાં ખોવાઈ ગઈ હતી અથવા દૂષિત થઈ ગઈ હતી. આ કિસ્સામાં, પ્રાપ્તકર્તાએ ડેટાને સતત નારાજ થતો અટકાવવા માટે પુનઃપ્રસારણને સ્વીકારવું આવશ્યક છે, પરંતુ અન્યથા તેને અવગણવું આવશ્યક છે. પ્રોટોકોલ ઓપરેશન ટ્રાન્સમીટર અને રીસીવર દરેકમાં અનુક્રમે વર્તમાન ક્રમ નંબર nt અને nr હોય છે. તેઓ દરેક પાસે બારીનું કદ ડબલ્યુટી અને ડબલ્યુઆર પણ હોય છે. વિન્ડોનું કદ અલગ અલગ હોઈ શકે છે, પરંતુ સરળ અમલીકરણમાં તે નિશ્ચિત હોય છે. કોઈપણ પ્રગતિ કરવા માટે બારીનું કદ શૂન્ય કરતા વધારે હોવું જોઈએ. સામાન્ય રીતે અમલમાં મૂકવામાં આવે છે તેમ, એન. ટી. એ પ્રસારિત થનાર આગામી પેકેટ છે, એટલે કે. પ્રથમ પેકેટનો ક્રમ નંબર હજુ પ્રસારિત થયો નથી. તેવી જ રીતે, એન. આર. એ પ્રથમ પેકેટ છે જે હજુ સુધી પ્રાપ્ત થયું નથી. બંને સંખ્યાઓ સમયની સાથે એકવિધ રીતે વધી રહી છે; તેઓ માત્ર સતત વધી રહી છે. પ્રાપ્તકર્તા હજુ સુધી પ્રાપ્ત થયેલ સૌથી વધુ અનુક્રમ નંબરનો ટ્રેક પણ રાખી શકે છે; ચલ એન. એસ. પ્રાપ્ત થયેલ સૌથી વધુ અનુક્રમ નંબરની અનુક્રમ સંખ્યા કરતાં એક વધુ છે. સરળ રીસીવરો માટે કે જેઓ માત્ર ક્રમમાં પેકેટો સ્વીકારે છે (ડબલ્યુઆર = 1), આ એનઆર જેવું જ છે, પરંતુ ડબલ્યુઆર> 1 હોય તો તે વધારે હોઈ શકે છે. તફાવત નોંધોઃ એન. આર. ની નીચેના તમામ પેકેટો પ્રાપ્ત થયા છે, એન. એસ. થી ઉપરના કોઈ પેકેટો પ્રાપ્ત થયા નથી, અને એન. આર. અને એન. એસ. વચ્ચે, કેટલાક પેકેટો પ્રાપ્ત થયા છે. જ્યારે પ્રાપ્તકર્તા પેકેટ મેળવે છે, ત્યારે તે તેના ચલને યોગ્ય રીતે અપડેટ કરે છે અને નવા એન. આર. સાથે સ્વીકૃતિ મોકલે છે. ટ્રાન્સમીટર તેને મળેલી સૌથી વધુ સ્વીકૃતિનો ટ્રેક રાખે છે. ટ્રાન્સમીટર જાણે છે કે તમામ પેકેટો પ્રાપ્ત થયા છે, પરંતુ ના સહિત નહીં, પરંતુ ના અને એનએસ વચ્ચેના પેકેટો વિશે અનિશ્ચિત છે; એટલે કે. ના ≤ એનઆર ≤ એનએસ. અનુક્રમ સંખ્યાઓ હંમેશા આ નિયમનું પાલન કરે છે કે Na ≤ nr ≤ ns ≤ nt ≤ na + wt. એટલે કેઃ ના ≤ એન. આર.: ટ્રાન્સમીટર દ્વારા પ્રાપ્ત સૌથી વધુ સ્વીકૃતિ પ્રાપ્તકર્તા દ્વારા સ્વીકારવામાં આવેલી સૌથી વધુ એન. આર. કરતા વધારે ન હોઈ શકે. એન. આર. ≤ એન. એસ.: સંપૂર્ણ રીતે પ્રાપ્ત થયેલા પેકેટોનો સમયગાળો આંશિક રીતે પ્રાપ્ત થયેલા પેકેટના અંતથી આગળ વધી શકતો નથી. એન. એસ. ≤ એન. ટી.: પ્રાપ્ત થયેલ સૌથી ઊંચું પેકેટ મોકલવામાં આવેલ સૌથી ઊંચું પેકેટ કરતાં વધારે ન હોઈ શકે. એન. ટી. ≤ ના + ડબલ્યુટીઃ મોકલવામાં આવેલ સૌથી ઊંચું પેકેટ પ્રાપ્ત થયેલી સૌથી વધુ સ્વીકૃતિ અને ટ્રાન્સમિટ વિન્ડોના કદ દ્વારા મર્યાદિત હોય છે. ટ્રાન્સમીટરની કામગીરી જ્યારે પણ ટ્રાન્સમીટર પાસે મોકલવા માટે ડેટા હોય, ત્યારે તે નવીનતમ સ્વીકૃતિ પહેલાં ડબલ્યુટી પેકેટો સુધી ટ્રાન્સમિટ કરી શકે છે. એટલે કે, તે પેકેટ નંબર nt ને nt <na + wt સુધી પ્રસારિત કરી શકે છે. સંદેશાવ્યવહારની ભૂલની ગેરહાજરીમાં, ટ્રાન્સમીટર ટૂંક સમયમાં તેણે મોકલેલા તમામ પેકેટો માટે સ્વીકૃતિ મેળવે છે, જેનાથી ના બરાબર nt થઈ જાય છે. જો વાજબી વિલંબ પછી આવું ન થાય, તો ટ્રાન્સમીટરએ એન. એ. અને એન. ટી. વચ્ચે પેકેટોને ફરીથી પ્રસારિત કરવા જોઈએ. "વાજબી વિલંબ" ને વ્યાખ્યાયિત કરવા માટેની તકનીકો અત્યંત વિસ્તૃત હોઈ શકે છે, પરંતુ તે માત્ર કાર્યક્ષમતાને અસર કરે છે; સ્લાઇડિંગ વિન્ડો પ્રોટોકોલની મૂળભૂત વિશ્વસનીયતા વિગતો પર આધારિત નથી. રીસીવર ઓપરેશન દરેક વખતે જ્યારે x ક્રમાંકિત પેકેટ પ્રાપ્ત થાય છે, ત્યારે રીસીવર એ જોવા માટે તપાસે છે કે તે પ્રાપ્ત વિંડો, nr ≤ x <nr + wr માં પડે છે કે કેમ. (સૌથી સરળ રીસીવરોએ માત્ર એક મૂલ્ય nr = ns નો ટ્રેક રાખવો પડે છે.) જો તે બારીની અંદર આવે છે, તો પ્રાપ્તકર્તા તેને સ્વીકારે છે. જો તેને nr ક્રમાંકિત કરવામાં આવે, તો પ્રાપ્ત અનુક્રમ સંખ્યામાં 1 નો વધારો થાય છે, અને સંભવતઃ વધુ જો વધુ સળંગ પેકેટો અગાઉ પ્રાપ્ત અને સંગ્રહિત કરવામાં આવ્યા હોય. જો x> nr હોય, તો અગાઉના તમામ પેકેટ પ્રાપ્ત ન થાય ત્યાં સુધી પેકેટ સંગ્રહિત કરવામાં આવે છે. જો x ≤ એનએસ હોય, તો પછીનું એનએસ = x + 1 માં અપડેટ કરવામાં આવે છે. જો પેકેટનો નંબર પ્રાપ્ત વિંડોની અંદર ન હોય, તો પ્રાપ્તકર્તા તેને કાઢી નાખે છે અને એન. આર. અથવા એન. એસ. માં ફેરફાર કરતું નથી. પેકેટ સ્વીકારવામાં આવ્યું હતું કે નહીં, પ્રાપ્તકર્તા વર્તમાન એન. આર. ધરાવતી સ્વીકૃતિ મોકલે છે. (સ્વીકૃતિમાં એન. આર. અને એન. એસ. વચ્ચે પ્રાપ્ત વધારાના પેકેટો વિશેની માહિતી પણ શામેલ હોઈ શકે છે, પરંતુ તે માત્ર કાર્યક્ષમતામાં મદદ કરે છે.) નોંધ લો કે પ્રાપ્ત વિંડો ટ્રાન્સમિટ વિંડો ડબલ્યુટી કરતા મોટી હોવાનો કોઈ અર્થ નથી, કારણ કે પેકેટ પ્રાપ્ત કરવા વિશે ચિંતા કરવાની જરૂર નથી જે ક્યારેય પ્રસારિત થશે નહીં; ઉપયોગી શ્રેણી 1 ≤ ડબલ્યુટી છે. ક્રમ સંખ્યા શ્રેણી જરૂરી છે અત્યાર સુધી, પ્રોટોકોલનું વર્ણન એવું કરવામાં આવ્યું છે કે ક્રમ સંખ્યાઓ અમર્યાદિત કદની હોય, સતત વધતી જતી હોય. જો કે, સંદેશાઓમાં સંપૂર્ણ ક્રમ સંખ્યા x ને પ્રસારિત કરવાને બદલે, કેટલાક મર્યાદિત N માટે માત્ર x મોડ N ને પ્રસારિત કરવું શક્ય છે. (N સામાન્ય રીતે 2 ની ઘાત છે.) ઉદાહરણ તરીકે, ટ્રાન્સમીટરને ફક્ત 'ના' થી 'એન. ટી.' ની શ્રેણીમાં જ સ્વીકૃતિઓ પ્રાપ્ત થશે. કારણ કે તે બાંયધરી આપે છે કે nt − na ≤ wt, ત્યાં મહત્તમ wt + 1 સંભવિત ક્રમ સંખ્યાઓ છે જે કોઈપણ સમયે આવી શકે છે. આમ, ટ્રાન્સમીટર એન> ડબલ્યુટી સુધી અનુક્રમ સંખ્યાને સ્પષ્ટ રીતે ડીકોડ કરી શકે છે. પ્રાપ્તકર્તા દ્વારા વધુ મજબૂત અવરોધ લાદવામાં આવે છે. પ્રોટોકોલની કામગીરી પ્રાપ્તકર્તા જૂના પેકેટોના પુનઃપ્રસારણ (જેને કાઢી નાખવા જોઈએ અને છેલ્લી સ્વીકૃતિ ફરીથી પ્રસારિત કરવી જોઈએ) થી નવા પેકેટો (જેને સ્વીકારવું અને પ્રક્રિયા કરવી જોઈએ) ને વિશ્વસનીય રીતે અલગ પાડવા માટે સક્ષમ હોવા પર આધાર રાખે છે. ટ્રાન્સમીટરની બારીના કદના જ્ઞાનને ધ્યાનમાં રાખીને આ કરી શકાય છે. x ક્રમાંકિત પેકેટ પ્રાપ્ત કર્યા પછી, પ્રાપ્તકર્તા જાણે છે કે x <na + wt, તેથી na> x − wt. આમ, x − wt ક્રમાંકિત પેકેટો ફરી ક્યારેય ફરીથી પ્રસારિત કરવામાં આવશે નહીં. ભવિષ્યમાં આપણને પ્રાપ્ત થનારો સૌથી નીચો ક્રમ નંબર એ છે એન. એસ.-ડબલ્યુટી. રીસીવર એ પણ જાણે છે કે ટ્રાન્સમીટરનો એન. એ. અત્યાર સુધીમાં મોકલવામાં આવેલી સૌથી વધુ સ્વીકૃતિ કરતાં વધારે ન હોઈ શકે, જે એન. આર. છે. તેથી આપણે જોઈ શકીએ તે સૌથી વધુ ક્રમ સંખ્યા એ nr + wt ≤ ns + wt છે. આમ, 2wt અલગ અલગ ક્રમ સંખ્યાઓ છે જે પ્રાપ્તકર્તા કોઈપણ એક સમયે પ્રાપ્ત કરી શકે છે. તેથી એવું લાગે છે કે આપણી પાસે N ≤ 2wt હોવું જોઈએ. જોકે, વાસ્તવિક મર્યાદા ઓછી છે. વધારાની સમજ એ છે કે પ્રાપ્તકર્તાને ખૂબ ઓછી (એન. આર. કરતા ઓછી) અથવા ખૂબ ઊંચી (એન. એસ. + ડબલ્યુ. આર. કરતા મોટી અથવા તેની બરાબર) અનુક્રમ સંખ્યાઓ વચ્ચે તફાવત કરવાની જરૂર નથી. બંને કિસ્સાઓમાં, પ્રાપ્તકર્તા પેકેટની અવગણના કરે છે સિવાય કે સ્વીકૃતિ ફરીથી પ્રસારિત કરે. આમ, તે માત્ર એટલું જ જરૂરી છે કે N ≤ wt + wr. જેમ કે WR <WT હોવું સામાન્ય છે (દા. ત. નીચે જુઓ ગો-બેક-એન), આ નિશ્ચિત એનની અંદર મોટા ડબલ્યુટીને મંજૂરી આપી શકે છે. ઉદાહરણો સૌથી સરળ સ્લાઇડિંગ વિન્ડોઃ સ્ટોપ-એન્ડ-વેઇટ જોકે સામાન્ય રીતે સ્લાઇડિંગ-વિન્ડો પ્રોટોકોલથી અલગ પડે છે, સ્ટોપ-એન્ડ-વેઇટ એઆરક્યુ પ્રોટોકોલ વાસ્તવમાં તેનું સૌથી સરળ શક્ય અમલીકરણ છે. ટ્રાન્સમિટ વિન્ડો 1 પેકેટ છે, અને રિસીવ વિન્ડો 1 પેકેટ છે. આમ, N = 2 સંભવિત ક્રમ સંખ્યાઓ (સરળતાથી એક બીટ દ્વારા રજૂ થાય છે) જરૂરી છે. અસ્પષ્ટતાનું ઉદાહરણ ટ્રાન્સમીટર વારાફરતી "ઓડ" અને "ઇવન" ચિહ્નિત થયેલ પેકેટો મોકલે છે. સ્વીકૃતિઓ એ જ રીતે "વિચિત્ર" અને "સમાન" કહે છે. ધારો કે ટ્રાન્સમીટર, વિચિત્ર પેકેટ મોકલ્યા પછી, વિચિત્ર સ્વીકૃતિ માટે રાહ જોતો ન હતો, અને તેના બદલે તરત જ નીચેનું સમ પેકેટ મોકલ્યું. પછી તેને "આગળ એક વિચિત્ર પેકેટની અપેક્ષા" કહેતી સ્વીકૃતિ મળી શકે છે. આ ટ્રાન્સમીટરને મૂંઝવણમાં મૂકી દેશેઃ શું પ્રાપ્તકર્તાને બંને પેકેટ મળ્યા છે કે નહીં? ગો-બેક-એન ગો-બેક-એન એઆરક્યુ એ ડબલ્યુટી> 1 સાથે સ્લાઇડિંગ વિન્ડો પ્રોટોકોલ છે, પરંતુ નિશ્ચિત ડબલ્યુઆર = 1 છે. પ્રાપ્તકર્તા કોઈ પણ પેકેટ સ્વીકારવાનો ઇનકાર કરે છે પરંતુ તે પછીના પેકેટને અનુક્રમમાં સ્વીકારે છે. જો પરિવહન દરમિયાન પેકેટ ખોવાઈ જાય છે, તો ગુમ થયેલ પેકેટ ફરીથી પ્રસારિત ન થાય ત્યાં સુધી નીચેના પેકેટને અવગણવામાં આવે છે, જે ઓછામાં ઓછા એક રાઉન્ડ-ટ્રીપ સમયની ખોટ છે. આ કારણોસર, તે લિંક્સ પર બિનકાર્યક્ષમ છે જે વારંવાર પેકેટના નુકસાનનો ભોગ બને છે. અસ્પષ્ટતાનું ઉદાહરણ ધારો કે આપણે 3-બીટ ક્રમ નંબરનો ઉપયોગ કરી રહ્યા છીએ, જેમ કે એચ. ડી. એલ. સી. માટે લાક્ષણિક છે. આ N = 23 = 8 આપે છે. Wr = 1 હોવાથી, આપણે Wt ≤ 7 ને મર્યાદિત કરવું જોઈએ. આનું કારણ એ છે કે, 7 પેકેટો પ્રસારિત કર્યા પછી, 8 સંભવિત પરિણામો છેઃ 0 થી 7 પેકેટો ગમે ત્યાં સફળતાપૂર્વક પ્રાપ્ત થઈ શક્યા હોત. આ 8 શક્યતાઓ છે, અને ટ્રાન્સમીટરને તે બધાને અલગ પાડવા માટે સ્વીકૃતિમાં પૂરતી માહિતીની જરૂર છે. જો ટ્રાન્સમીટર સ્વીકૃતિ માટે રાહ જોયા વિના 8 પેકેટ મોકલે, તો તે પોતાને સ્ટોપ-એન્ડ-વેઇટ કેસ જેવી જ મૂંઝવણમાં શોધી શકે છેઃ શું સ્વીકૃતિનો અર્થ એ છે કે તમામ 8 પેકેટ સફળતાપૂર્વક પ્રાપ્ત થયા હતા, અથવા તેમાંથી કોઈ નહીં? પસંદગીયુક્ત પુનરાવર્તન સ્લાઇડિંગ વિન્ડો પ્રોટોકોલનો સૌથી સામાન્ય કેસ પસંદગીયુક્ત પુનરાવર્તન એઆરક્યુ છે. આના માટે વધુ સક્ષમ રીસીવરની જરૂર પડે છે, જે વર્તમાન એન. આર. કરતા વધુ ક્રમ સંખ્યાઓ ધરાવતા પેકેટો સ્વીકારી શકે છે અને અંતર ભરે ત્યાં સુધી તેમને સંગ્રહિત કરી શકે છે. જો કે, ફાયદો એ છે કે ટ્રાન્સમીટરને ફરીથી પ્રસારણ જરૂરી છે તે જાણ કરી શકાય તે પહેલાં એક રાઉન્ડ-ટ્રીપ સમય માટે નીચેના સાચા ડેટાને કાઢી નાખવાની જરૂર નથી. તેથી ઓછી વિશ્વસનીયતા અને/અથવા ઉચ્ચ બેન્ડવિડ્થ-વિલંબ ઉત્પાદન ધરાવતી કડીઓ માટે આ પસંદ કરવામાં આવે છે. વિન્ડોનું કદ ફક્ત સતત ખોવાયેલા પેકેટોની સંખ્યા કરતાં મોટું હોવું જરૂરી છે જે સહન કરી શકાય છે. આમ, નાના મૂલ્યો લોકપ્રિય છે; Wr = 2 સામાન્ય છે. અસ્પષ્ટતાનું ઉદાહરણ અત્યંત લોકપ્રિય એચ. ડી. એલ. સી. પ્રોટોકોલ 3-બીટ ક્રમ નંબરનો ઉપયોગ કરે છે, અને તેમાં પસંદગીયુક્ત પુનરાવર્તન માટે વૈકલ્પિક જોગવાઈ છે. જો કે, જો પસંદગીયુક્ત પુનરાવર્તનનો ઉપયોગ કરવો હોય, તો nt + nr ≤ 8 ની જરૂરિયાત જાળવવી આવશ્યક છે; જો ડબલ્યુઆર 2 સુધી વધારવામાં આવે, તો ડબલ્યુટી ઘટાડીને 6 કરવી આવશ્યક છે. ધારો કે ડબલ્યુઆર = 2, પરંતુ બિનપરિવર્તિત ટ્રાન્સમીટરનો ઉપયોગ ડબલ્યુટી = 7 સાથે થાય છે, જેમ કે સામાન્ય રીતે એચ. ડી. એલ. સી. ના ગો-બેક-એન પ્રકાર સાથે થાય છે. આગળ ધારો કે રીસીવર nr = ns = 0 થી શરૂ થાય છે. હવે ધારો કે રીસીવર પેકેટોની નીચેની શ્રેણી જુએ છે (બધા મોડ્યુલો 8): 0 1 2 3 4 5 6 (થોભો) 0 કારણ કે Wr = 2, રીસીવર અંતિમ પેકેટ 0 સ્વીકારશે અને સંગ્રહિત કરશે (તે શ્રેણીમાં પેકેટ 8 છે એમ વિચારીને), જ્યારે પેકેટ 7 ના પુનઃપ્રસારણની વિનંતી કરે છે. જો કે, તે પણ શક્ય છે કે ટ્રાન્સમીટર કોઈપણ સ્વીકૃતિ પ્રાપ્ત કરવામાં નિષ્ફળ ગયું હોય અને પેકેટ 0 ફરીથી પ્રસારિત કર્યું હોય. આ પછીના કિસ્સામાં, પ્રાપ્તકર્તા ખોટા પેકેટને પેકેટ 8 તરીકે સ્વીકારશે. ઉકેલ ટ્રાન્સમીટર માટે ડબલ્યુટી ≤ 6 ને મર્યાદિત કરવાનો છે. આ પ્રતિબંધ સાથે, પ્રાપ્તકર્તા જાણે છે કે જો તમામ સ્વીકૃતિઓ ખોવાઈ ગઈ હોત, તો પેકેટ 5 પછી ટ્રાન્સમીટર બંધ થઈ ગયું હોત. જ્યારે તે પેકેટ 6 મેળવે છે, ત્યારે પ્રાપ્તકર્તા અનુમાન કરી શકે છે કે ટ્રાન્સમીટરને પેકેટ 0 (ટ્રાન્સમીટરનું ના ≤ 1) માટે સ્વીકૃતિ મળી છે, અને આમ નીચેનું પેકેટ નંબર 0 પેકેટ 8 હોવું આવશ્યક છે. એક્સ્ટેન્શન્સ પ્રોટોકોલને વિસ્તૃત કરવાની ઘણી રીતો છેઃ ઉપરોક્ત ઉદાહરણો ધારે છે કે પેકેટો ટ્રાન્સમિશનમાં ક્યારેય ફરીથી ગોઠવવામાં આવતા નથી; તેઓ પરિવહનમાં ખોવાઈ શકે છે (ભૂલ શોધવાથી ભ્રષ્ટાચારને નુકસાનની સમકક્ષ બનાવે છે), પરંતુ તે ક્યારેય ક્રમની બહાર દેખાશે નહીં. પ્રોટોકોલને પેકેટ રીઓર્ડરિંગને ટેકો આપવા માટે વિસ્તૃત કરી શકાય છે, જ્યાં સુધી અંતરને બંધાયેલ કરી શકાય છે; ક્રમ નંબર મોડ્યુલસ N ને મહત્તમ ખોટી ગોઠવણી અંતર દ્વારા વિસ્તૃત કરવું આવશ્યક છે. જ્યાં સુધી વિરામ હોય તો સ્વીકૃતિ મોકલવામાં આવે ત્યાં સુધી દરેક પેકેટને સ્વીકારવું શક્ય નથી. ઉદાહરણ તરીકે, ટી. સી. પી. સામાન્ય રીતે દરેક બીજા પેકેટને સ્વીકારે છે. જો પેકેટ ક્રમમાં અંતર જોવા મળે તો તરત જ ટ્રાન્સમીટરને જાણ કરવી સામાન્ય બાબત છે. એચ. ડી. એલ. સી. પાસે આ માટે એક વિશેષ આર. ઈ. જે. (અસ્વીકાર) પેકેટ છે. સંદેશાવ્યવહાર દરમિયાન ટ્રાન્સમિટ અને રીસીવ વિન્ડોનું કદ બદલી શકાય છે, જ્યાં સુધી તેમનો સરવાળો એનની મર્યાદામાં રહે છે. સામાન્ય રીતે, તેમને દરેકને મહત્તમ મૂલ્યો સોંપવામાં આવે છે જે તે મર્યાદાને માન આપે છે, પરંતુ કોઈપણ સમયે કાર્યકારી મૂલ્ય મહત્તમ કરતાં ઓછું હોઈ શકે છે. ખાસ કરીનેઃ જોડાણની ગતિ સાથે મેળ કરવા માટે પ્રસારણને ધીમું કરવા માટે ટ્રાન્સમિટ વિન્ડોનું કદ ઘટાડવું સામાન્ય બાબત છે, સંતૃપ્તિ અથવા ભીડ ટાળવી. પસંદગીયુક્ત-પુનરાવર્તનનું એક સામાન્ય સરળીકરણ એટલે કે એસ. આર. ઈ. જે.-આર. ઈ. જે. એ. આર. ક્યુ. કહેવાય છે. આ અંતરને અનુસરીને ડબલ્યુઆર = 2 અને બફર પેકેટો સાથે કામ કરે છે, પરંતુ માત્ર એક ખોવાયેલા પેકેટને મંજૂરી આપે છે; તે પેકેટની રાહ જોતી વખતે, ડબલ્યુઆર = 1 અને જો બીજું પેકેટ ખોવાઈ જાય, તો વધુ પેકેટો બફર કરવામાં આવતા નથી. આ સરળ અમલીકરણ સાથે સંપૂર્ણ પસંદગીયુક્ત-પુનરાવર્તન પ્રોટોકોલનો મોટાભાગનો પ્રભાવ લાભ આપે છે. ફેડરલ સ્ટાન્ડર્ડ 1037સી કમ્પાઉન્ડ ટી. સી. પી. સીરીયલ નંબર અંકગણિત ટી. સી. પી. ફાસ્ટ ઓપન રેફરન્સ કોમર, ડગ્લાસ ઇ. "ટી. સી. પી./આઈ. પી. સાથે ઈન્ટરનેટવર્કિંગ, વોલ્યુમ 1: સિદ્ધાંતો, પ્રોટોકોલ અને આર્કિટેક્ચર", પ્રેન્ટિસ હોલ, 1995 પણ જુઓ. બાહ્ય કડીઓ RFC 1323-ઉચ્ચ પ્રદર્શન TCP વિન્ડો સ્કેલિંગ અને તૂટેલા રાઉટર્સ માટે TCP એક્સ્ટેન્શન્સ, 2004 કોમ્યુનિકેશન ડેટા ટ્રાન્સમિશન