गो-बैक-एन एआरक्यू: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
 
(7 intermediate revisions by 3 users not shown)
Line 1: Line 1:
'''गो-बैक-एन एआरक्यू''' स्वचालित रिपीट रिक्वेस्ट (एआरक्यू) प्रोटोकॉल का एक विशिष्ट उदाहरण है, जिसमें भेजने की प्रक्रिया रिसीवर से [[पावती (डेटा नेटवर्क)|इक्नॉव्लेजमेंट]] (एसीके) पैकेट प्राप्त किए बिना भी विंडो आकार द्वारा निर्दिष्ट अनेक फ्रेम भेजना प्रवाहित करती है। यह सामान्य स्लाइडिंग विंडो प्रोटोकॉल का एक विशेष स्थिति है जिसमें {{var|N}} के ट्रांसमिट विंडो आकार और 1 के विंडो आकार प्राप्त होता है। यह एसीके की आवश्यकता से पहले पीयर को {{var|N}} फ्रेम संचारित कर सकता है।


रिसीवर प्रक्रिया अगले फ्रेम के अनुक्रम संख्या पर दृष्टि रखती है जिसे वह प्राप्त करने की आशा करता है। यह ऐसे किसी भी फ्रेम को हटा देगा जिसमें स्पष्ट अनुक्रम संख्या नहीं है जिसकी वह अपेक्षा करता है (या तो एक डुप्लिकेट फ्रेम जिसे उसने पहले ही स्वीकार कर लिया है, या एक आउट-ऑफ-ऑर्डर फ्रेम जिसे वह बाद में प्राप्त करने की आशा करता है) और अंतिम सही इन-ऑर्डर फ्रेम के लिए एक एसीके भेजेगा।<ref name="KuroseRoss" /> एक बार जब प्रेषक अपनी विंडो में सभी फ़्रेम भेज देता है, तो यह पता लगाएगा कि पहले खोए हुए फ़्रेम के पश्चात से सभी फ़्रेम शेष हैं, और रिसीवर प्रक्रिया से प्राप्त अंतिम एसीके के अनुक्रम संख्या पर वापस जाएगा और उस फ़्रेम से प्रारंभ करके अपनी विंडो को भर देगा और प्रक्रिया को फिर से प्रसारित किया जायेगा |


गो-बैक-''एन'' एआरक्यू स्वचालित रिपीट रिक्वेस्ट (एआरक्यू) प्रोटोकॉल का एक विशिष्ट उदाहरण है, जिसमें भेजने की प्रक्रिया रिसीवर से [[पावती (डेटा नेटवर्क)]] (एसीके) पैकेट प्राप्त किए बिना भी ''विंडो आकार'' द्वारा निर्दिष्ट कई [[डेटा ढांचा]] भेजना जारी रखती है। यह ट्रांसमिट विंडो आकार के साथ सामान्य [[स्लाइडिंग विंडो प्रोटोकॉल]] का एक विशेष मामला है {{var|N}} और 1 का विंडो आकार प्राप्त करें। यह संचारित कर सकता है {{var|N}} ACK की आवश्यकता से पहले सहकर्मी को फ्रेम।
गो-बैक-एन एआरक्यू [[रुकें और प्रतीक्षा करें ARQ|स्टॉप-एंड-वेट ARQ]] की तुलना में कनेक्शन का अधिक कुशल उपयोग है, क्योंकि प्रत्येक पैकेट के लिए पावती की प्रतीक्षा करने के विपरीत, कनेक्शन अभी भी पैकेट भेजे जाने के समय उपयोग किया जा रहा है। दूसरे शब्दों में, उस समय के समय जो अन्यथा प्रतीक्षा में व्यतीत होता, अधिक पैकेट भेजे जा रहे हैं। चूँकि, इस पद्धति के परिणामस्वरूप फ़्रेम को अनेक बार भेजना पड़ता है - यदि कोई फ़्रेम खो गया है या क्षतिग्रस्त हो गया है, या उन्हें स्वीकार करने वाला एसीके खो गया है या क्षतिग्रस्त हो गया है, तो वह फ़्रेम और सेंड विंडो में निम्नलिखित सभी फ़्रेम (तथापि वे त्रुटि के बिना प्राप्त हुए हों) फिर से भेजे जाएंगे। इससे बचने के लिए [[चयनात्मक दोहराएँ ARQ|सेलेक्टिव रिपीट ARQ]] का उपयोग किया जा सकता है।<ref name="Tanenbaum" />
== स्यूडोकोड ==
ये उदाहरण अनुक्रम और अनुरोध संख्याओं की अनंत संख्या मानते हैं।<ref name="KuroseRoss" />
<syntaxhighlight>
N := window size
Rn := request number
Sn := sequence number
Sb := sequence base
Sm := sequence max


रिसीवर प्रक्रिया अगले फ्रेम के अनुक्रम संख्या पर नज़र रखती है जिसे वह प्राप्त करने की उम्मीद करता है। यह ऐसे किसी भी फ्रेम को हटा देगा जिसमें सटीक अनुक्रम संख्या नहीं है जिसकी वह अपेक्षा करता है (या तो एक डुप्लिकेट फ्रेम जिसे उसने पहले ही स्वीकार कर लिया है, या एक आउट-ऑफ-ऑर्डर फ्रेम जिसे वह बाद में प्राप्त करने की उम्मीद करता है) और अंतिम सही इन-ऑर्डर फ्रेम के लिए एक एसीके भेजेगा।<ref name="KuroseRoss" />एक बार जब प्रेषक अपनी विंडो में सभी फ़्रेम भेज देता है, तो यह पता लगाएगा कि पहले खोए हुए फ़्रेम के बाद से सभी फ़्रेम बकाया हैं, और रिसीवर प्रक्रिया से प्राप्त अंतिम ACK के अनुक्रम संख्या पर वापस जाएगा और उस फ़्रेम से शुरू करके अपनी विंडो को भर देगा और प्रक्रिया को फिर से जारी रखेगा।


गो-बैक-एन एआरक्यू [[रुकें और प्रतीक्षा करें ARQ]] की तुलना में कनेक्शन का अधिक कुशल उपयोग है, क्योंकि प्रत्येक पैकेट के लिए पावती की प्रतीक्षा करने के विपरीत, कनेक्शन अभी भी पैकेट भेजे जाने के दौरान उपयोग किया जा रहा है। दूसरे शब्दों में, उस समय के दौरान जो अन्यथा प्रतीक्षा में व्यतीत होता, अधिक पैकेट भेजे जा रहे हैं। हालाँकि, इस पद्धति के परिणामस्वरूप फ़्रेम को कई बार भेजना पड़ता है - यदि कोई फ़्रेम खो गया है या क्षतिग्रस्त हो गया है, या उन्हें स्वीकार करने वाला ACK खो गया है या क्षतिग्रस्त हो गया है, तो वह फ़्रेम और सेंड विंडो में निम्नलिखित सभी फ़्रेम (भले ही वे त्रुटि के बिना प्राप्त हुए हों) फिर से भेजे जाएंगे। इससे बचने के लिए [[चयनात्मक दोहराएँ ARQ]] का इस्तेमाल किया जा सकता है।<ref name="Tanenbaum" />
function receiver is
    Rn := 0
    Do the following forever:
        if the packet received = Rn and the packet is error free then
            Accept the packet and send it to a higher layer
            Rn := Rn + 1
        else
            Refuse packet
        Send a Request for Rn




== स्यूडोकोड ==
function sender is
ये उदाहरण अनुक्रम और अनुरोध संख्याओं की अनंत संख्या मानते हैं।<ref name="KuroseRoss" />
    Sb := 0
एन := विंडो का आकार
    Sm := N + 1
आरएन:= अनुरोध संख्या
    Repeat the following steps forever:
एसएन: = अनुक्रम संख्या
        if you receive a request number where Rn > Sb then
एसबी := अनुक्रम आधार
            Sm := (Sm − Sb) + Rn
  एसएम:= अनुक्रम अधिकतम
            Sb := Rn
        if no packet is in transmission then
            Transmit a packet where Sb ≤ Sn ≤ Sm.  
            Packets are transmitted in order.
</syntaxhighlight>
   
   
'फ़ंक्शन' रिसीवर 'है'
    आरएन := 0
    निम्नलिखित हमेशा के लिए करें:
        'यदि' पैकेट प्राप्त हुआ = Rn और पैकेट त्रुटि रहित है 'तब'
            पैकेट स्वीकार करें और इसे उच्च परत पर भेजें
            आरएन := आरएन + 1
        'अन्य'
            मना पैकेट
        आरएन के लिए अनुरोध भेजें
'फ़ंक्शन' प्रेषक 'है'
    एसबी := 0
    एसएम := एन + 1
    निम्नलिखित चरणों को हमेशा दोहराएँ:
        'यदि' आपको एक अनुरोध संख्या प्राप्त होती है जहां Rn > Sb 'तो'
            एसएम:= (एसएम − एसबी) + आरएन
            एसबी := आरएन
        'यदि' कोई पैकेट ट्रांसमिशन में नहीं है 'तो'
            एक पैकेट संचारित करें जहां Sb ≤ Sn ≤ sm।
            पैकेट क्रम से प्रसारित होते हैं।


== विंडो का आकार चुनना (एन) ==
== विंडो का आकार चुनना (एन) ==


किसी मूल्य का चयन करते समय कुछ बातें ध्यान में रखनी चाहिए {{var|N}}:
N के लिए मान चुनते समय कुछ बातें ध्यान में रखनी चाहिए:


# प्रेषक को बहुत तेजी से संचारित नहीं करना चाहिए. {{var|N}} पैकेट को संसाधित करने की रिसीवर की क्षमता से बंधा होना चाहिए।
#प्रेषक को अधिक तीव्र से संचारित नहीं करना चाहिए. {{var|N}} को पैकेट को संसाधित करने की रिसीवर की क्षमता से सीमित किया जाना चाहिए।
# {{var|N}} अनुक्रम संख्याओं की संख्या से छोटी होनी चाहिए (यदि उन्हें शून्य से क्रमांकित किया गया है {{var|N}}) {{Clarify|date=February 2018}} किसी भी पैकेट (कोई डेटा या ACK पैकेट) गिराए जाने की स्थिति में ट्रांसमिशन को सत्यापित करने के लिए।<ref name="Tanenbaum" /># (1) और (2) में प्रस्तुत सीमाओं को देखते हुए चुनें {{var|N}} संभव सबसे बड़ी संख्या होना।<ref>{{Cite web |url=http://www.cs.toronto.edu/~marbach/COURSES/CSC358_S14/l4.pdf |accessdate=2013-08-24 |last = Marbach |first = Peter | title=ARQ Protocols}}</ref>{{failed verification|date=August 2013}}
#किसी भी पैकेट (कोई डेटा या एसीके पैकेट) के गिराए जाने की स्थिति में ट्रांसमिशन को सत्यापित करने के लिए {{var|N}} अनुक्रम संख्याओं की संख्या से छोटा होना चाहिए (यदि उन्हें शून्य से {{var|N}} तक क्रमांकित किया गया है)<ref name="Tanenbaum" />
#(1) और (2) में प्रस्तुत सीमाओं को देखते हुए, N को यथासंभव अधिक उच्च संख्या के रूप में चुनें।<ref>{{Cite web |url=http://www.cs.toronto.edu/~marbach/COURSES/CSC358_S14/l4.pdf |accessdate=2013-08-24 |last = Marbach |first = Peter | title=ARQ Protocols}}</ref>


==संदर्भ==
==संदर्भ==
Line 62: Line 62:
==बाहरी संबंध==
==बाहरी संबंध==
* [http://media.pearsoncmg.com/aw/aw_kurose_network_4/applets/go-back-n/index.html Go-Back-N ARQ demonstration in a Java applet]
* [http://media.pearsoncmg.com/aw/aw_kurose_network_4/applets/go-back-n/index.html Go-Back-N ARQ demonstration in a Java applet]
[[Category: तार्किक लिंक नियंत्रण]] [[Category: त्रुटि का पता लगाना और सुधार करना]]
 


[[de:ARQ-Protokoll#Go-Back-N]]
[[de:ARQ-Protokoll#Go-Back-N]]
[[it:Automatic repeat request#Go-Back-N]]
[[it:Automatic repeat request#Go-Back-N]]


[[Category: Machine Translated Page]]
[[Category:Created On 25/07/2023]]
[[Category:Created On 25/07/2023]]
[[Category:Machine Translated Page]]
[[Category:Pages with script errors]]
[[Category:Pages with syntax highlighting errors]]
[[Category:Templates Vigyan Ready]]
[[Category:तार्किक लिंक नियंत्रण]]
[[Category:त्रुटि का पता लगाना और सुधार करना]]

Latest revision as of 11:27, 17 August 2023

गो-बैक-एन एआरक्यू स्वचालित रिपीट रिक्वेस्ट (एआरक्यू) प्रोटोकॉल का एक विशिष्ट उदाहरण है, जिसमें भेजने की प्रक्रिया रिसीवर से इक्नॉव्लेजमेंट (एसीके) पैकेट प्राप्त किए बिना भी विंडो आकार द्वारा निर्दिष्ट अनेक फ्रेम भेजना प्रवाहित करती है। यह सामान्य स्लाइडिंग विंडो प्रोटोकॉल का एक विशेष स्थिति है जिसमें N के ट्रांसमिट विंडो आकार और 1 के विंडो आकार प्राप्त होता है। यह एसीके की आवश्यकता से पहले पीयर को N फ्रेम संचारित कर सकता है।

रिसीवर प्रक्रिया अगले फ्रेम के अनुक्रम संख्या पर दृष्टि रखती है जिसे वह प्राप्त करने की आशा करता है। यह ऐसे किसी भी फ्रेम को हटा देगा जिसमें स्पष्ट अनुक्रम संख्या नहीं है जिसकी वह अपेक्षा करता है (या तो एक डुप्लिकेट फ्रेम जिसे उसने पहले ही स्वीकार कर लिया है, या एक आउट-ऑफ-ऑर्डर फ्रेम जिसे वह बाद में प्राप्त करने की आशा करता है) और अंतिम सही इन-ऑर्डर फ्रेम के लिए एक एसीके भेजेगा।[1] एक बार जब प्रेषक अपनी विंडो में सभी फ़्रेम भेज देता है, तो यह पता लगाएगा कि पहले खोए हुए फ़्रेम के पश्चात से सभी फ़्रेम शेष हैं, और रिसीवर प्रक्रिया से प्राप्त अंतिम एसीके के अनुक्रम संख्या पर वापस जाएगा और उस फ़्रेम से प्रारंभ करके अपनी विंडो को भर देगा और प्रक्रिया को फिर से प्रसारित किया जायेगा |

गो-बैक-एन एआरक्यू स्टॉप-एंड-वेट ARQ की तुलना में कनेक्शन का अधिक कुशल उपयोग है, क्योंकि प्रत्येक पैकेट के लिए पावती की प्रतीक्षा करने के विपरीत, कनेक्शन अभी भी पैकेट भेजे जाने के समय उपयोग किया जा रहा है। दूसरे शब्दों में, उस समय के समय जो अन्यथा प्रतीक्षा में व्यतीत होता, अधिक पैकेट भेजे जा रहे हैं। चूँकि, इस पद्धति के परिणामस्वरूप फ़्रेम को अनेक बार भेजना पड़ता है - यदि कोई फ़्रेम खो गया है या क्षतिग्रस्त हो गया है, या उन्हें स्वीकार करने वाला एसीके खो गया है या क्षतिग्रस्त हो गया है, तो वह फ़्रेम और सेंड विंडो में निम्नलिखित सभी फ़्रेम (तथापि वे त्रुटि के बिना प्राप्त हुए हों) फिर से भेजे जाएंगे। इससे बचने के लिए सेलेक्टिव रिपीट ARQ का उपयोग किया जा सकता है।[2]

स्यूडोकोड

ये उदाहरण अनुक्रम और अनुरोध संख्याओं की अनंत संख्या मानते हैं।[1]

N  := window size
Rn := request number
Sn := sequence number
Sb := sequence base
Sm := sequence max


function receiver is
    Rn := 0
    Do the following forever:
        if the packet received = Rn and the packet is error free then
            Accept the packet and send it to a higher layer
            Rn := Rn + 1
        else
            Refuse packet
        Send a Request for Rn


function sender is
    Sb := 0
    Sm := N + 1
    Repeat the following steps forever:
        if you receive a request number where Rn > Sb then
            Sm := (Sm − Sb) + Rn
            Sb := Rn
        if no packet is in transmission then
            Transmit a packet where Sb ≤ Sn ≤ Sm.  
            Packets are transmitted in order.


विंडो का आकार चुनना (एन)

N के लिए मान चुनते समय कुछ बातें ध्यान में रखनी चाहिए:

  1. प्रेषक को अधिक तीव्र से संचारित नहीं करना चाहिए. N को पैकेट को संसाधित करने की रिसीवर की क्षमता से सीमित किया जाना चाहिए।
  2. किसी भी पैकेट (कोई डेटा या एसीके पैकेट) के गिराए जाने की स्थिति में ट्रांसमिशन को सत्यापित करने के लिए N अनुक्रम संख्याओं की संख्या से छोटा होना चाहिए (यदि उन्हें शून्य से N तक क्रमांकित किया गया है)[2]
  3. (1) और (2) में प्रस्तुत सीमाओं को देखते हुए, N को यथासंभव अधिक उच्च संख्या के रूप में चुनें।[3]

संदर्भ

  1. 1.0 1.1 Kurose, James F.; Keith W. Ross. Computer Networking: A Top-Down Approach. ISBN 0-321-49770-8.
  2. 2.0 2.1 Tanenbaum, Andrew S. Computer Networks (4th ed.). ISBN 0-13-066102-3.
  3. Marbach, Peter. "ARQ Protocols" (PDF). Retrieved 2013-08-24.


यह भी देखें

बाहरी संबंध