2012-10-18 16 views
48

Wikipedia article on TCP इंगित करता है कि टीसीपी सेगमेंट को ले जाने वाले आईपी पैकेट कभी-कभी खो जाते हैं, और टीसीपी "खोए गए डेटा को पुनः प्रेषण का अनुरोध करता है"।टीसीपी के लिए पुन: ट्रांसमिशन नियम क्या हैं?

खोए गए डेटा को पुनः प्रेषण का अनुरोध करने के लिए नियम वास्तव में क्या हैं? किस समय आवृत्ति पुन: ट्रांसमिशन अनुरोध किया जाता है? क्या संख्या पर ऊपरी सीमा है? क्या क्लाइंट के लिए सर्वर को इंगित करने के लिए कार्यक्षमता है कि पूरे टीसीपी सेगमेंट को भूल जाए, जिसके लिए आईपी पैकेट गायब होने पर कौन सा हिस्सा गायब हो गया था?

+0

आमतौर पर 'syn' पैकेट के लिए रीट्रान्समिशन समय = राउंड ट्रिप टाइम * कुछ स्थिर, और एक निश्चित देरी (जो काफी निराशावादी है)। –

उत्तर

44

बिल्कुल खो डेटा की पुनर्संचरण अनुरोध करने के लिए नियम क्या हैं?

रिसीवर पुनर्संचरण का अनुरोध नहीं करता। प्रेषक क्लाइंट को भेजे गए बाइट-रेंज के लिए एक एसीके की प्रतीक्षा करता है और जब प्राप्त नहीं होता है, तो एक विशेष अंतराल के बाद, पैकेट को भेजता है। यह ARQ (स्वत: दोहराव reQuest) है। ऐसे कई तरीके हैं जिनमें इसे लागू किया गया है।

Stop-and-wait ARQ 
Go-Back-N ARQ 
Selective Repeat ARQ 

RFC 3366 में विस्तृत हैं।

क्या समय आवृत्ति पुनर्संचरण अनुरोध प्रदर्शन कर रहे हैं पर ?

पुनर्संचरण-बार और प्रयासों की संख्या मानक द्वारा लागू नहीं की है। यह विभिन्न ऑपरेटिंग सिस्टम द्वारा अलग-अलग कार्यान्वित किया जाता है, लेकिन पद्धति तय की जाती है। (तरीकों में से एक OS के शायद फिंगरप्रिंट के लिए?)

समय समाप्ति RTT (राउंड ट्रिप समय) बार के संदर्भ में मापा जाता है। लेकिन फास्ट-रिट्रांसमिट के कारण अक्सर इसकी आवश्यकता नहीं होती है, जब 3 डुप्लिकेट एसीके प्राप्त होते हैं।

वहाँ नंबर पर एक ऊपरी बाध्य है?

हां वहाँ है। कुछ निश्चित प्रतिस्थापन के बाद, मेजबान को "डाउन" माना जाता है और प्रेषक टीसीपी कनेक्शन को छोड़ देता है और आँसू देता है।

क्या ग्राहक के लिए संपूर्ण टीसीपी सेगमेंट के बारे में भूलने के लिए क्लाइंट के लिए कार्यक्षमता है जिसके लिए आईपी पैकेट गायब होने पर कौन सा हिस्सा गायब हो गया था?

पूरा बिंदु विश्वसनीय संचार है। यदि आप चाहते थे कि क्लाइंट कुछ हिस्सों को भूल जाए, तो आप पहले स्थान पर टीसीपी का उपयोग नहीं करेंगे। (यूडीपी शायद?)

7

पुन: ट्रांसमिशन के लिए कोई निश्चित समय नहीं है। सरल कार्यान्वयन आरटीटी (राउंड-ट्रिप-टाइम) का अनुमान लगाते हैं और यदि उस समय 2x में डेटा भेजने के लिए कोई एसीके प्राप्त नहीं हुआ है तो वे फिर से भेज देंगे।

फिर वे डबल प्रतीक्षा-समय और दोबारा दोबारा दोबारा जवाब दें यदि कोई जवाब नहीं है। रिंस करें। दोहराएँ।

अधिक परिष्कृत सिस्टम एसीके के लिए कितना समय लेना चाहिए और अनुमान लगाया गया है कि वास्तव में कौन सा डेटा खो गया है।

नीचे की रेखा यह है कि वास्तव में पुन: प्रेषण के बारे में कोई कठोर और तेज़ नियम नहीं है। यह कार्यान्वयन पर निर्भर है।सभी रिसीवर से रिसीवर से प्रतिक्रिया की कमी के आधार पर प्रेषक द्वारा पूरी तरह से ट्रिगर किया जाता है।

टीसीपी कभी डेटा छोड़ देता है इसलिए नहीं, सर्वर को कुछ सेगमेंट के बारे में भूलने का कोई तरीका नहीं है।

+0

"अनुमान लगाया गया है कि कौन सा डेटा खो गया है" SACK (चुनिंदा स्वीकृति) अनुमान नहीं लगा रहा है। मुझे उम्मीद है कि आप का मतलब नहीं है। –

+0

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

+1

साक देखें। यह एक अतिरिक्त शीर्षलेख है जो प्रेषक को बताता है कि रिसीवर के पास क्या है। मेरा मानना ​​है कि लगभग सभी समकालीन टीसीपी ढेर आजकल –

संबंधित मुद्दे