एक फ़ाइल के यादृच्छिक टुकड़ों को एक आकस्मिक हस्तांतरण से अधिक तेज़ी से क्यों वितरित किया जा रहा है?


17

ऐसा क्यों कहा जाता है कि बिटटोरेंट तेजी से, आंशिक रूप से है, क्योंकि यह एक सन्निहित / रैखिक फैशन में शुरू से अंत तक स्थानांतरित करने के बजाय एक फ़ाइल के यादृच्छिक टुकड़ों को स्थानांतरित करता है।


संपादित करें: लेकिन क्यों वे करते है 'यादृच्छिक' होने का? एक और अधिक पूर्वानुमानित 'अर्ध-सन्निहित' स्थानांतरण क्यों नहीं है जिसमें एक सहकर्मी आपको पहला आधा, और दूसरा सहकर्मी दूसरा आधा देता है? यह सैद्धांतिक रूप से ओवरहेड को कम करेगा।

जवाबों:


6

संपादन से यह पूछने के बारे में कि उन्हें यादृच्छिक क्यों होना चाहिए: मान लें कि टोरेंट्स को केवल पहले ब्लॉक को डाउनलोड करने के लिए बदल दिया गया था जो डाउनलोडर के पास पहले से नहीं है, इस प्रकार एक सन्निहित हस्तांतरण की गारंटी है।

मैं तब एक 100MB फ़ाइल साझा करता हूं। मेरे ऑफ़लाइन होने से पहले 10 लोग कनेक्ट और प्रत्येक डाउनलोड 50 एमबी।

इन लोगों को तब खराब कर दिया जाता है, क्योंकि उन सभी के पास फ़ाइल का पहला आधा हिस्सा होता है, जबकि केवल मेरे पास दूसरी छमाही होती है। जब तक मैं इसे फिर से उपलब्ध नहीं करा देता, वे डाउनलोड को पूरा नहीं कर सकते।

इसके बजाय, ब्लॉकों को एक यादृच्छिक क्रम में स्थानांतरित किया जा रहा है जैसा कि वास्तव में मामला है, इन 10 लोगों में से प्रत्येक के पास ब्लॉकों का एक अलग सेट है, इसलिए वे मुझे चारों ओर होने की आवश्यकता के बिना अपने डाउनलोड को पूरा करने के लिए आपस में व्यापार कर सकते हैं।

हालांकि, इससे भी बेहतर, क्योंकि उनमें से प्रत्येक में ब्लॉकों का एक अलग सेट है, उनमें से प्रत्येक सभी से डाउनलोड कर सकते हैंदूसरों को अपनी कॉपी में अंतराल भरने के लिए। आपका संपादन फ़ाइल में एक यादृच्छिक बिंदु से शुरू करने और उस बिंदु से सन्निकट रूप से डाउनलोड करने के विचार से संबंधित है, लेकिन इससे एक डाउनलोडर की कॉपी से अगले तक ओवरलैप की मात्रा बढ़ जाएगी (यदि ऐलिस फ़ाइल की शुरुआत में शुरू होता है और बॉब शुरू होता है इसमें 10%, फिर 40% फ़ाइल है जो दोनों के पास है और उनमें से प्रत्येक के लिए केवल 10% अद्वितीय है कि वे मेरे बिना व्यापार कर सकते हैं बाकी को उपलब्ध कराने के लिए पुन: कनेक्ट कर रहे हैं)। एक यादृच्छिक क्रम में डाउनलोड करना प्रत्येक डाउनलोडर के ब्लॉक के सेट की विशिष्टता को अधिकतम करता है, इस प्रकार डाउनलोडर्स की क्षमता को अपने बीच व्यापार करना शुरू करना और इसके बीज उपलब्ध होने पर एक पूर्ण प्रतिलिपि को इकट्ठा करने के लिए उनके लिए संभव होने की संभावना को अधिकतम करना।

एक एकल सन्निहित डाउनलोड आपके लिए बेहतर हो सकता है (या स्थितियों पर निर्भर करता है) , लेकिन यादृच्छिक क्रम में डाउनलोड करना नेटवर्क के लिए बेहतर है।


"एक यादृच्छिक क्रम प्रत्येक सेट की विशिष्टता को अधिकतम करता है" - ठीक है।
शाश्वत

30

कुंजी यह है कि आपको एक स्रोत के बजाय एक ही समय में कई स्रोतों (साथियों) से फ़ाइल मिल रही है।

यदि आपके पास एक फ़ाइल है जो 10 भागों में विभाजित है और 1 सर्वर से डाउनलोड करने में 100 सेकंड लगते हैं तो सैद्धांतिक रूप से आप फ़ाइल को 10 सेकंड से 10 सेकंड (प्लस कुछ ओवरहेड्स) में प्राप्त कर सकते हैं क्योंकि प्रत्येक पीयर 10 सेकंड में भाग दे सकता है। व्यवहार में यह अधिक समय लगेगा क्योंकि प्रत्येक सहकर्मी परिपूर्ण नहीं होगा, और आप शायद अपनी बैंडविड्थ सीमा (लेकिन आपको यह विचार मिलता है) मारेंगे।

जैसा कि आपको फ़ाइल को फिर से इकट्ठा करना होगा वैसे भी आपको टुकड़ों को क्रम में लाने की ज़रूरत नहीं है। इसलिए अगर आपके पास केवल 2 पहुंचाने वाले 5 हिस्से हैं तो ये फाइल के यादृच्छिक भाग हो सकते हैं।


सरल। स्पष्ट। +1
Xavierjazz

5
"अगर 6 आदमी 6 मिनट में 6 छेद खोद सकते हैं, तो 10 छेद खोदने में 10 पुरुषों को कितना समय लगता है?"
मार्टिन

4
@ स्मार्टिन छेद के आकार (चंक साइज़) और उपलब्ध उपलबिध (बैंडविथ) पर निर्भर करता है :)
शाफ़्ट फ्रीक

14

यह कहा जाना चाहिए कि यह पूरी तरह से फ़ाइल में सवाल पर निर्भर करता है, साथियों की मात्रा और गैर बिटोरेंट स्रोत की गति।

आप अपने कनेक्शन के अधिकतम डाउनलोड बैंडविड्थ की तुलना में कभी भी तेजी से डाउनलोड नहीं करेंगे, और यदि आप पर्याप्त बैंडविड्थ वाले स्थान से डाउनलोड कर रहे हैं, तो यह बिटटोरेंट का उपयोग करने की तुलना में तेज़ होगा।

हालाँकि, जैसे-जैसे इंटरनेट की गति तेज़ और तेज़ होती जा रही है, हम उस मुकाम पर पहुँच रहे हैं जहाँ (छोटी) वेबसाइटें और होस्ट्स नहीं रख सकते हैं।

उदाहरण के लिए, जब मैं कुछ महीनों पहले लंदन में उपनिवेश की कीमतों के आसपास देख रहा था, तो मुझे 5Mm कनेक्शन के लिए बिल्कुल भयानक कीमतों का हवाला दिया गया था। अगर मुझे यह लेना होता, तो यह अधिकांश लोगों की सेवा करता।

हालाँकि, उसी लाइन पर, यदि मुझे कुछ 500Mb फ़ाइलों की मेजबानी करनी थी, और सभी के पास केबल (50Mb) या ADSL2 + (24Mb) लाइनें थीं, तो आप देखेंगे कि मेरा सर्वर आपके लिए उस गति की सेवा नहीं कर पाएगा ...

... हालाँकि, अगर मुझे आपको बिटटोरेंट के माध्यम से एक ही फाइल पेश करनी थी और इसमें 200 लोग थे, प्रत्येक ने सिर्फ 30Kb / s दिया, जो कि 5.8Mb / s के बराबर होगा (और, बहुत से लोगों की तुलना में बहुत तेज़ अपलोड गति है!) .... और अब, अगर मुझे अपने सर्वर पर बिटटोरेंट चलाना था और एक ही फाइल की पेशकश करनी थी, तो इसका मतलब होगा कि कुल 10.8Mb / s डाउनलोड करने योग्य है - इससे अधिक मैं उस 5Mb / s पाइप पर उपलब्ध करा सकता हूं। मेरा अपना।

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


मानक केबल कनेक्शन में अपलोड और डाउनलोड बैंडविड्थ का उल्लेख नहीं करने के लिए (एडीएसएल में ए) समान नहीं हैं
शाफ़्ट फ्रीक

अजीब कोलो बैंडविड्थ नियम, यह मुझे लगता है। यहां कोलोराडो में ऐसा लगता है कि सबसे अधिक कोलोस 100 एमबीपीएस कनेक्शन की पेशकश करते हैं और प्रत्येक महीने उपयोग करके आपसे शुल्क लेते हैं, और यदि आप लागत को कम रखना चाहते हैं तो अपनी कनेक्शन गति को प्रबंधित करना और सीमित करना आपके ऊपर है।
ज़ेन लिंक्स

एक और टिप्पणी: अखंडता की जाँच के कारण जब संभव हो तो मैं बिटोरेंट से डाउनलोड करना पसंद करता हूँ। यह अविश्वसनीय रूप से दर्दनाक है कि पूरे डीवीडी आईएसओ को फिर से डाउनलोड करने के लिए मजबूर किया जाए क्योंकि SHA1 मेल नहीं खाता है। बिटोरेंट प्रत्येक ब्लॉक की जाँच करता है ताकि इसकी जगह केवल एक छोटा हिस्सा हो।
ज़ेन लिंक्स

@Zan लिंक्स - आउच! मुझे पिछले 5 ईश वर्षों में केवल एक बार यह समस्या हुई है ... और इससे पहले, यह मुख्य रूप से तब था जब मेरे पास खराब मेमोरी चुपचाप चीजों को भ्रष्ट कर रही थी, मैं समझ सकता हूं, लेकिन, कई वर्षों से इसे नहीं देखा है ...। वैसे भी, मैं कुछ समय से विदेश में कॉलोकोेशन और होस्टिंग की तलाश कर रहा हूं - इंग्लैंड हर चीज के लिए बहुत महंगा है :(
विलियम हिल्सम

4

अधिकांश प्रतिक्रियाएं आपके प्रश्न का उत्तर नहीं देती हैं।

बिटटोरेंट तेज नहीं है।

यह वास्तव में कई स्रोतों से जुड़ने के ओवरहेड के कारण धीमी है।

व्यवहार में वास्तविक अंतर हालांकि, क्या आप कई स्रोतों से डाउनलोड कर रहे हैं जो संभावित रूप से एक वेबसाइट आपको दे सकता है की तुलना में तेजी से जोड़ सकता है। कई वेब सर्वर भारी लोड के अधीन हैं या अन्यथा गति-सीमित हैं ताकि आप उन्हें सूखा न चूसें।

तथ्य यह है कि BitTorrent फ़ाइल को प्रतीत होता है यादृच्छिक क्रम में स्थानांतरित करता है इसका गति पर कोई सीधा प्रभाव नहीं है।

आपके संपादन के संबंध में, टुकड़े यादृच्छिक नहीं हैं! दुर्लभता के आधार पर उन्हें प्राथमिकता दी जाती है: एक दुर्लभ टुकड़े को जितना संभव हो उतना कम दुर्लभ होने की आवश्यकता होती है, इसलिए यदि यह स्रोत अचानक छोड़ देता है तो यह खो नहीं जाता है। यह उपलब्धता के साथ करना है, न कि गति के साथ।


3

यह एक उपलब्धता मुद्दा है। यदि आपको आकस्मिक रूप से डाउनलोड करना है, तो आप अपने से अधिक फ़ाइल होस्ट करने वाले लोगों पर निर्भर हैं। आपसे कम फ़ाइल वाला प्रत्येक व्यक्ति, आपको कोई डेटा भेजने में असमर्थ होगा।

यदि चंक्स को बेतरतीब ढंग से वितरित किया जाता है, तो आप जितने भी होस्ट डाउनलोड कर सकते हैं, उनकी संख्या अधिक होगी, इसलिए आप फ़ाइल को तेज़ी से डाउनलोड करेंगे।


1

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


1

मान लीजिए कि आप किराने की दुकान पर दो लोगों को आइटम की एक सूची लेने के लिए भेजते हैं। आप उन्हें प्रत्येक समान सूची दें। हालांकि, उनमें से एक को सूची में दिखाई देने वाले सटीक क्रम में आइटम चुनना होगा। दूसरे कृपया किसी भी क्रम में आइटम उठा सकते हैं। जो आपको लगता है कि पहले खत्म हो जाएगा?


क्या होगा यदि आइटम सभी क्रम में व्यवस्थित किए गए थे? (
डिफ्रैगमेंटेड

किस क्रम में व्यवस्थित? वर्णमाला क्रम में? जब तक वे सिर्फ व्यवस्था करने के लिए ठीक उसी तरह से नहीं हो गए जब तक कि सुपरमार्केट की व्यवस्था नहीं की गई थी, यह मदद नहीं करेगा। सादृश्य में, "सुपरमार्केट" विभिन्न अपलोडरों की ब्लॉक सूची है। (यदि हर कोई शुरुआत से शुरू हुआ, तो दो लोग जिनके पास 33% फ़ाइल थी वे एक-दूसरे की मदद नहीं कर सकते थे, क्योंकि उनके पास एक ही ब्लॉक होगा। Yuck।)
डेविड श्वार्ट्ज़
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.