बिटकोरेंट क्लाइंट द्वारा डाउनलोड किए गए टुकड़ों का सटीक क्रम कैसे प्राप्त करें?


1

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

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

इसके अलावा, टॉरेंट क्लाइंट्स को पुन: इकट्ठा और टुकड़ों को कैसे स्टोर करना है? हैश मूल्यों के बारे में बताता है। वायरशर्क का उपयोग करके कैप्चर किए गए पैकेट से मुझे ये मूल्य कहां से मिल सकते हैं?


बिटटोरेंट एक अच्छी तरह से परिभाषित प्रोटोकॉल है। जबकि मैं सामान तलाशने के लिए हूं, कैनोनिकल प्रलेखन यदि उपलब्ध हो तो जाने का रास्ता है।
डैनियल बी

@ डैनियलबी: मैं प्रलेखन के माध्यम से गया और इससे मुझे इन चीजों का विश्लेषण करने में मदद मिली। लेकिन मुझे अपनी शंका का समाधान नहीं मिला ..
जैक्स

जवाबों:


0

ठीक है, चलो सरल बातें करते हैं।

मान लीजिए कि आपके पास 100Mb की धार थी। आप इसे 100 ग्राम टुकड़ों में तोड़ सकते हैं (0 से 99 तक), लेकिन इसका 1mb होना जरूरी नहीं है, यह 64kb जितना छोटा हो सकता है, या 16mb जितना बड़ा हो सकता है, और आमतौर पर (हमेशा नहीं है) एक दो -शक्ति। उन टुकड़ों में से प्रत्येक टुकड़े से बना है। प्रत्येक भाग 16kb है। एक हिस्सा डेटा की सबसे छोटी राशि है जो एक टोरेंट क्लाइंट के साथ (1mb के टुकड़े के साथ 64 हिस्सा होता है)।

एक ग्राहक किसी भी टुकड़ा से, किसी भी सहकर्मी से, किसी भी सहकर्मी से यह अनुरोध कर सकता है कि उसके पास वह टुकड़ा है।

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

तो हाँ, बिना टुकड़ा आईडी को जाने, आपको कैसे पता चलेगा कि यह किस टुकड़े से है, इसलिए इसे उस टुकड़े के बाकी हिस्सों के साथ कैसे जोड़ा जाए, और फिर इसे हैश के खिलाफ चलाएं, और फिर इसे बचाएं?


0

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

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.