गो-बैक-एन एआरक्यू: Difference between revisions
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" /> एक बार जब प्रेषक अपनी विंडो में सभी फ़्रेम भेज देता है, तो यह पता लगाएगा कि पहले खोए हुए फ़्रेम के पश्चात से सभी फ़्रेम शेष हैं, और रिसीवर प्रक्रिया से प्राप्त अंतिम एसीके के अनुक्रम संख्या पर वापस जाएगा और उस फ़्रेम से प्रारंभ करके अपनी विंडो को भर देगा और प्रक्रिया को फिर से प्रसारित किया जायेगा | | |||
गो-बैक- | गो-बैक-एन एआरक्यू [[रुकें और प्रतीक्षा करें 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 | |||
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. | |||
</syntaxhighlight> | |||
== विंडो का आकार चुनना (एन) == | == विंडो का आकार चुनना (एन) == | ||
N के लिए मान चुनते समय कुछ बातें ध्यान में रखनी चाहिए: | |||
# प्रेषक को | #प्रेषक को अधिक तीव्र से संचारित नहीं करना चाहिए. {{var|N}} को पैकेट को संसाधित करने की रिसीवर की क्षमता से सीमित किया जाना चाहिए। | ||
# {{var|N}} अनुक्रम संख्याओं की संख्या से | #किसी भी पैकेट (कोई डेटा या एसीके पैकेट) के गिराए जाने की स्थिति में ट्रांसमिशन को सत्यापित करने के लिए {{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] | ||
[[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: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 के लिए मान चुनते समय कुछ बातें ध्यान में रखनी चाहिए:
- प्रेषक को अधिक तीव्र से संचारित नहीं करना चाहिए. N को पैकेट को संसाधित करने की रिसीवर की क्षमता से सीमित किया जाना चाहिए।
- किसी भी पैकेट (कोई डेटा या एसीके पैकेट) के गिराए जाने की स्थिति में ट्रांसमिशन को सत्यापित करने के लिए N अनुक्रम संख्याओं की संख्या से छोटा होना चाहिए (यदि उन्हें शून्य से N तक क्रमांकित किया गया है)[2]
- (1) और (2) में प्रस्तुत सीमाओं को देखते हुए, N को यथासंभव अधिक उच्च संख्या के रूप में चुनें।[3]
संदर्भ
- ↑ 1.0 1.1 Kurose, James F.; Keith W. Ross. Computer Networking: A Top-Down Approach. ISBN 0-321-49770-8.
- ↑ 2.0 2.1 Tanenbaum, Andrew S. Computer Networks (4th ed.). ISBN 0-13-066102-3.
- ↑ Marbach, Peter. "ARQ Protocols" (PDF). Retrieved 2013-08-24.
यह भी देखें
- विश्वसनीय डेटा स्थानांतरण
- पाइपलाइन (सॉफ्टवेयर)
- स्वचालित दोहराव अनुरोध
- कम्प्यूटर नेट्वर्किंग
- चयनात्मक दोहराएँ ARQ