सहकर्मी संदेश प्रोटोकॉल पर अवलोकन ।
ग्राहक साथियों, टीसीपी या यूटीपी (यूडीपी पर) के साथ जानकारी साझा करने के लिए दो प्रोटोकॉल का उपयोग कर सकता है। यह डेटा बिटटोरेंट प्रोटोकॉल विनिर्देश , अनुभाग सहकर्मी संदेशों का अनुसरण करता है ।
तो प्रोग्रामेटिक रूप से, दो क्लाइंट के बीच एक कनेक्शन शुरू करना होता है। कनेक्शन सेट करने के बाद (टीसीपी या यूटीपी के माध्यम से), बिटटॉरेंट हैंडशेक क्लाइंट द्वारा शुरू किया जाता है जो ट्रैकर से दूरस्थ सहकर्मी की जानकारी (आईपी और पोर्ट) को पकड़ा या डीएचटी के माध्यम से । इस हैंडशेक में info_hash होता है, जो इस कनेक्शन के बारे में धार की पहचान करेगा।
आइए पहले देखें कि टोरेंट डेटा को प्रोटोकॉल के माध्यम से कैसे छोटा किया जाता है। एक टुकड़ा उस डेटा का एक हिस्सा है जिसे आप नेटवर्क के माध्यम से साझा कर रहे हैं। एक ब्लॉक के साथ भ्रमित होने के लिए नहीं , जो एक पैकेट में लिपटा हुआ एक टुकड़ा है। ब्लॉक एक साझा करने के लिए विवरण का स्तर है टुकड़ा पैकेट के माध्यम से, और एक टुकड़ा साथियों के माध्यम से एक धार साझा करने के लिए विवरण का स्तर है।
जब कनेक्शन शुरू होता है, तो दोनों क्लाइंट (स्थानीय क्लाइंट, जिसे मैं एलसी और रिमोट क्लाइंट कहूंगा , आरसी ) चोक हो जाता है और बिना रुकावट । चोक का अर्थ है "मैं आपके किसी भी संदेश का जवाब नहीं दूंगा, बहुत व्यस्त, लेकिन मैं उन्हें ध्यान में रख सकता हूं"। अनकॉक्ड इसलिए इसका मतलब है "मैं आपके संदेशों का जवाब दूंगा"। रुचि के साधन निश्चित रूप से है कि मुझे आपके पास कुछ टुकड़े चाहिए। इसलिए, दो साथियों के बीच संबंध की स्थिति को उन चार राज्यों के साथ परिभाषित किया जा सकता है: LC_chocked ?, LC_interested ?, RC_chocked? RC_interested? चेतावनी देने के लिए आर सी है कि मैं कर रहा हूँ (अन) chocked या (अन) रुचि, मुझे उसे (संयुक्त राष्ट्र) को दिलचस्पी और (संयुक्त राष्ट्र) को भेजे गए संदेशों, और पारस्परिक रूप से भेजना होगा ।
एक दूसरे को सूचित करने के लिए कि उनके पास कौन से टुकड़े हैं, वे हाथ मिलाने के बाद एक बिटफील्ड संदेश भेज सकते हैं । जैसा कि यह नाम से पता चलता है, यह एक बिट स्ट्रिंग है जहां प्रत्येक बिट को सेट किया जाता है 1
यदि क्लाइंट के पास यह अजीब टुकड़ा है , 0
अन्यथा।
तो अगर नियंत्रण रेखा है chocked और रुचि और आर सी है unchocked उसे, तो वह एक भेज सकते हैं अनुरोध एक के लिए पूछने के लिए गए संदेशों ब्लॉक एक से संबंधित टुकड़ा वह जानता है कि नियंत्रण रेखा के लिए धन्यवाद है bitfield संदेश।
जब एक सहकर्मी को पूरा टुकड़ा मिला है , तो वह एक टुकड़ा संदेश भेजकर सभी को सूचित कर सकता है कि यह दूरदराज के साथी हैं ताकि वे संबंधित बिटफील्ड को अपडेट कर सकें जो वे पकड़े हुए हैं।
यह एक बहुत ही बुनियादी अवलोकन है, और निश्चित रूप से सभी विवरण यहां नहीं दिए गए हैं, जैसे चोकिंग एल्गोरिदम आदि ... यदि आप अधिक विवरण चाहते हैं, तो मेरे द्वारा ऊपर पोस्ट किए गए दो लिंक की जांच करें, टिप्पणी अनुभाग में (एक नए उपयोगकर्ता के रूप में मैं कर सकता हूं) 't एक पोस्ट के भीतर दो से अधिक लिंक हैं)।