সহজ কথায়, একটি বিটটরেন্ট ক্লায়েন্ট কীভাবে প্রাথমিকভাবে ডিএইচটি ব্যবহার করে পিয়ারগুলি আবিষ্কার করে?


45

আমি ইতিমধ্যে এই সুপার ব্যবহারকারীর উত্তর এবং এই উইকিপিডিয়া নিবন্ধটি পড়েছি তবে উভয়ই আমার পক্ষে সত্যই আমার মাথাটি গুটিয়ে রাখতে খুব প্রযুক্তিগত।

আমি ট্র্যাকারের ধারণাটি বুঝতে পেরেছি: ক্লায়েন্টরা একটি কেন্দ্রীয় সার্ভারের সাথে সংযোগ স্থাপন করে যা একটি জলাবদ্ধ হয়ে থাকা পিয়ারের তালিকা বজায় রাখে।

আমি পিয়ার এক্সচেঞ্জের ধারণাটিও বুঝতে পারি: ক্লায়েন্টরা ইতিমধ্যে একটি ঝাঁকুনিতে থাকা তাদের সমবয়সীদের সম্পূর্ণ তালিকা একে অপরের কাছে প্রেরণ করে। নতুন সহকর্মীদের সন্ধান করা হলে সেগুলি তালিকায় যুক্ত করা হয়।

আমার প্রশ্ন, ডিএইচটি কীভাবে কাজ করে? অর্থাত্, কোনও নতুন ক্লায়েন্ট কীভাবে কোনও ট্র্যাকার বা ঝাঁকের কমপক্ষে একজন সদস্যের সমবয়সীদের সাথে সমবয়সীদের বিনিময় না করে জড়ো হয়ে যোগ দিতে পারেন?

(দ্রষ্টব্য: সাধারণ ব্যাখ্যা সেরা))

উত্তর:


48

সারাংশ

কোনও নতুন ক্লায়েন্ট কীভাবে কোনও ট্র্যাকার বা ঝাঁকের কমপক্ষে একজন সদস্যের সাথে সমকক্ষদের সাথে বিনিময় করতে না পারলে জলাবদ্ধতায় যোগদান করতে পারেন?

আপনি পারবেন না। এটা অসম্ভব.*

* (যদি না আপনার স্থানীয় অঞ্চল নেটওয়ার্কের কোনও নোড ডিএইচটি-তে ইতিমধ্যে নোড হিসাবে ঘটে থাকে this এক্ষেত্রে, আপনি এই পিয়ারটি "আবিষ্কার" করতে এবং তাদের কাছ থেকে বুটস্ট্র্যাপ ব্যবহার করতে, যেমন অবাহির মতো একটি সম্প্রচার ব্যবস্থা ব্যবহার করতে পারেন But তবে কীভাবে তারা নিজেরাই বুটস্ট্র্যাপ করে? অবশেষে, আপনি এমন পরিস্থিতিতে পড়বেন যেখানে আপনাকে পাবলিক ইন্টারনেটের সাথে সংযোগ স্থাপন করতে হবে And এবং পাবলিক ইন্টারনেট কেবল ইউনিকাস্ট-না, মাল্টিকাস্ট নয়, তাই আপনি পূর্ব-নির্ধারিত তালিকার ব্যবহারগুলি আটকে রেখেছেন))


তথ্যসূত্র

BitTorrent DHT একটি প্রোটোকল হিসাবে পরিচিত মাধ্যমে বাস্তবায়িত হয় Kademlia , যা একটি তাত্ত্বিক ধারণা একটি বিশেষ ক্ষেত্রে দেখা যায় বন্টিত হ্যাশ টেবিল


উদ্ভাস

Kademlia প্রোটোকল দিয়ে, আপনি নেটওয়ার্কে যোগ, আপনি একটি দিয়ে যেতে বুটস্ট্র্যাপিং পদ্ধতি, যা একেবারে প্রয়োজন যে আপনি কি জানেন, আগাম , IP ঠিকানা এবং পোর্ট অন্তত একটি নোডের ইতিমধ্যে DHT নেটওয়ার্কের অংশগ্রহণ। উদাহরণস্বরূপ, আপনি যে ট্র্যাকারের সাথে সংযুক্ত আছেন এটি নিজেই একটি ডিএইচটি নোড হতে পারে। একবার আপনি একটি ডিএইচটি নোডের সাথে সংযুক্ত হয়ে গেলে, আপনি তারপরে ডিএইচটি থেকে তথ্য ডাউনলোড করতে এগিয়ে যান, যা আপনাকে আরও নোডের জন্য সংযোগের তথ্য সরবরাহ করে এবং আপনি সেই "গ্রাফ" কাঠামোটি আরও বেশি নোডের সংযোগ পেতে নেভিগেট করেন, যারা উভয়ই সরবরাহ করতে পারে অন্যান্য নোডের সাথে সংযোগ, এবং পে-লোড ডেটা (ডাউনলোডের অংশ)।

আমি মনে করি আপনার আসল প্রশ্নটি সাহসের সাথে রয়েছে - অন্য কোনও সদস্যকে না জেনে কীভাবে কোনও কেডেমিলিয়া ডিএইচটি নেটওয়ার্কে যোগদান করতে হবে - এটি একটি মিথ্যা অনুমানের ভিত্তিতে।

সাহসী আপনার প্রশ্নের সহজ উত্তর হ'ল, আপনি করবেন না । ডিএইচটি মেটাডেটা থাকতে পারে এমন একটি হোস্ট সম্পর্কে আপনি যদি কোনও তথ্য না জানেন তবে আপনি আটকে রয়েছেন - আপনি এমনকি শুরু করতে পারবেন না। আমার অর্থ, নিশ্চিত, আপনি DHT সম্পর্কিত তথ্য সম্প্রচারের জন্য ঘটে এমন একটি খোলা পোর্ট দিয়ে পাবলিক ইন্টারনেটে একটি আইপি আবিষ্কারের জোর প্রচেষ্টা করতে পারেন। তবে আরও সম্ভবত, আপনার বিটি ক্লায়েন্টটি কিছু নির্দিষ্ট স্ট্যাটিক আইপি বা ডিএনএসের সাথে কঠোর কোডড যা স্থির ডিএইচটি নোডের সাথে সমাধান করে, যা কেবল ডিএইচটি মেটাডেটা সরবরাহ করে।

মূলত, ডিএইচটি কেবল যোগদানের প্রক্রিয়া হিসাবে বিকেন্দ্রীভূত, এবং যোগদানের প্রক্রিয়াটি মোটামুটি ভঙ্গুর (পুরো ইন্টারনেটের মাধ্যমে "সম্প্রচার" করার কোনও উপায় নেই! তাই ডিএইচটি পেতে আপনাকে কোনও পূর্ব নির্ধারিত হোস্টের কাছে ইউনিকাস্ট করতে হবে) ডেটা), KadeMLia DHT সত্যিই বিকেন্দ্রীভূত নয়। শব্দটির কঠোর অর্থে নয়।

এই দৃশ্যের কল্পনা করুন: যে কেউ পি 2 পি থামাতে চায় সে বাইরে গিয়ে সমস্ত সাধারণভাবে ব্যবহৃত স্থিতিশীল ডিএইচটি নোডগুলিতে আক্রমণ প্রস্তুত করে যা বুটস্ট্র্যাপিংয়ের জন্য ব্যবহৃত হয়। একবার তারা আক্রমণ শুরু করলে তারা সমস্ত নোডে একবারে এটিকে বসিয়ে দেয়। তিমি ; প্রতিটি একক বুটস্ট্র্যাপিং ডিএইচটি নোড সবই এক ঝরে পড়ে যায়। এখন কি? সেগুলি থেকে পিয়ারদের traditional তিহ্যবাহী তালিকা ডাউনলোড করতে আপনি কেন্দ্রীভূত ট্র্যাকারগুলির সাথে সংযোগ নিয়ে আটকে আছেন । ঠিক আছে, যদি তারা ট্র্যাকারগুলিকেও আক্রমণ করে তবে আপনি সত্যই সত্যইএকটি খাঁড়ি আপ অন্য কথায়, কাদেমিলিয়া এবং পুরো বিটি নেটওয়ার্ক কেবল ইন্টারনেটের সীমাবদ্ধতার দ্বারা সীমাবদ্ধ, এর মধ্যে একটি সীমাবদ্ধ (এবং অপেক্ষাকৃত ছোট) কম্পিউটার রয়েছে যা আপনাকে সফলভাবে আক্রমণ করতে হবে বা> 90% প্রতিরোধ করতে অফলাইন নিতে হবে নেটওয়ার্ক সংযোগ থেকে ব্যবহারকারীদের।

একবার "সিউডো-কেন্দ্রীভূত" বুটস্ট্র্যাপিং নোডগুলি শেষ হয়ে গেলে, ডিএইচটি-র অভ্যন্তরীণ নোডগুলি, যা বুটস্ট্র্যাপিং হয় না কারণ ডিএইচটি-র বাইরের কেউ অভ্যন্তরীণ নোডগুলি সম্পর্কে জানে না , অকেজো হয় না; তারা ডিএইচটিতে নতুন নোড আনতে পারে না। সুতরাং, প্রতিটি ইন্টিরির নোড সময়ের সাথে সাথে ডিএইচটি থেকে সংযোগ বিচ্ছিন্ন হয়ে যায়, হয় লোকেরা কম্পিউটার বন্ধ করে দেওয়া, আপডেটগুলির জন্য রিবুট করা ইত্যাদির কারণে নেটওয়ার্কটি ধসে পড়ে।

অবশ্যই এটি পেতে, কেউ পূর্ব নির্ধারিত স্থিতিশীল ডিএইচটি নোড বা ডিএনএস ঠিকানাগুলির একটি নতুন তালিকা সহ একটি প্যাচযুক্ত বিটরেন্ট ক্লায়েন্ট মোতায়েন করতে পারে এবং পরিবর্তে এই নতুন তালিকাটি ব্যবহার করার জন্য পি 2 পি সম্প্রদায়কে উচ্চস্বরে বিজ্ঞাপন দিতে পারে। তবে এটি হয়ে উঠবে একটি "বেহাল-এ-তিল" পরিস্থিতি যেখানে আগ্রাসক (নোড-ভোক্তা) ক্রমান্বয়ে এই তালিকাগুলি তাদের নিজেরাই ডাউনলোড করবে এবং সাহসী নতুন বুটস্ট্র্যাপিং নোডগুলিকে লক্ষ্য করবে, তারপরে এগুলিও অফলাইনে নেবে।


আপনি ডিএইচটি বর্ণনা করার সাথে সাথে পিয়ার এক্সচেঞ্জের মতো একই শোনায়।
সেলিব্রিটিস

ডিএইচটি সম্পর্কে বিতরণ করা জিনিসটি হ'ল আসল ডেটা পেলোড - অর্থ, ফাইলগুলি ডাউনলোড করা যায় এমন আইপি এবং পোর্টগুলির তালিকা বিতরণ করা হয়। পিয়ার এক্সচেঞ্জে, পুরো তালিকাটি একটি কম্পিউটারে সংরক্ষণ করা হয়, সাধারণত ট্র্যাকার, এবং ফাইল ডাউনলোডের সাথে আলাদাভাবে ডাউনলোড হয় না। আমি আমার উত্তরে এটি উল্লেখ করতে পারি, তবে এই পুরো প্রশ্নটি (এবং উত্তরগুলি) কেবলমাত্র প্রাথমিক আবিষ্কার বা ডিএইচটি নেটওয়ার্কে যোগদান সম্পর্কে, আপনি যোগদানের পরে কী ঘটে তা নিয়ে নয়।
allquixotic

1
সমস্ত বুটস্ট্র্যাপ নোডকে আঘাত করা নতুন ব্যবহারকারীদের বুটস্ট্র্যাপিং থেকে বিরত করবে, তবে অফলাইনে যাওয়া এবং পরে ফিরে আসার প্রয়োজন নেই এমন ব্যবহারকারীদের প্রয়োজন। আমার ধারণা আছে যে বেশ কয়েকটি ক্লায়েন্ট তাদের সক্রিয় নোড সেট মনে রাখে এবং প্রতিবার বুটস্ট্র্যাপিংয়ের পরিবর্তে পুনরায় সংযোগ করতে তাদের ব্যবহার করে।
ক্লেক

সেন্ট্রালাইজড ডিরেক্টরি ছাড়া ডিএইচটি নোডগুলি আবিষ্কার করার মতো গণকেন্দ্র ( github.com/robertdavidgraham/masscan ) যেমন প্রকল্পগুলি সম্ভব হবে
newlog

19

সংক্ষিপ্ত উত্তর: এটি .torrent ফাইল থেকে পাওয়া যায়।

যখন একটি BitTorrent ক্লায়েন্ট উত্পন্ন , একটি বিভাগ হেডার মত; (অর্থাৎ, যখন কেউ কিছু টরেন্ট মাধ্যমে নতুন ভাগ করার জন্য প্রস্তুত হচ্ছে) একটি trackerless .torrent ফাইল, এটি "কী / মান জোড়া" এ একটি "নোড" কী (কী যোগ করা ক্রিপ্টো কী নয়) টরেন্ট ফাইলটিতে সেই ক্লায়েন্টের কাছে পরিচিত কে নিকটস্থ ডিএইচটি নোড রয়েছে।

http://www.bittorrent.org/beps/bep%5F0005.html#torrent-file-extensions

একটি ট্র্যাকারলেস টরেন্ট অভিধানে একটি "ঘোষণা" কী থাকে না। পরিবর্তে, একটি ট্র্যাকারলেস টরেন্টের একটি "নোড" কী রয়েছে। এই কীটি টরেন্ট তৈরির ক্লায়েন্টের রাউটিং টেবিলের কে নিকটতম নোডে সেট করা উচিত। বিকল্পভাবে, কীটি কোনও পরিচিত ভাল নোডে সেট করা যেতে পারে যেমন কোনও ব্যক্তি টরেন্ট তৈরির দ্বারা চালিত। টরেন্ট ফাইলগুলিতে স্বয়ংক্রিয়ভাবে "রাউটার.বিটোরেন্ট.কম" যুক্ত করবেন না বা ক্লায়েন্টদের রাউটিং টেবিলগুলিতে স্বয়ংক্রিয়ভাবে এই নোডটি যুক্ত করবেন না।

সুতরাং আপনি যখন আপনার বিটটরেন্ট ক্লায়েন্টকে ট্র্যাকারলেস টরেন্টের .torrent ফাইলটি ডাউনলোড করতে চান, তখন এটি প্রথম কয়েকটি ডিএইচটি নোডগুলি খুঁজে পেতে .torrent ফাইল থেকে "নোডস" কীটির মান ব্যবহার করে।


3
এটি ভাল, ব্যাখ্যামূলক তথ্য। আমি তোমার উত্তরের ব্যাখ্যা মনে বর্তমান টরেন্ট ক্লায়েন্ট কি হ্যান্ডেল করতে তাত্ত্বিক সীমাবদ্ধতা এবং সমস্যা আমার উত্তর শনাক্ত করছে। আশা করি আমাদের উত্তর দুটিই উজ্জ্বল, কারণ তারা উত্তরের বিভিন্ন দিক ব্যাখ্যা করে।
allquixotic

3
অনেক ক্লায়েন্টের মধ্যে "টরেন্ট ডাউনলোডের সাথে নতুন নতুন টরেন্ট ফাইলটি একীভূত করা" কি এই কারণে মৃত টরেন্টটিকে জীবিত করে তোলে?
জেসভিন জোস

2
@ আইচনইউ হ্যাঁ, তবে টরেন্ট ফাইলটিতে অতিরিক্ত / ভিন্ন ট্র্যাকারও থাকতে পারে।
দীর্ঘায়ু

2
এটি প্রদর্শিত হয় যে কোনও বিটোরেন্ট ক্লায়েন্ট আসলে নোডের তথ্য অন্তর্ভুক্ত করে না। ট্রান্সমিশন, ভুজ, ডেলিউজ, মাইনলাইন এবং অন্যান্য পরীক্ষা করেছে।
আইয়ুন

1

আপনি পারবেন না! আপনার জড়ালগুলির মধ্যে একটির কমপক্ষে একটি আইপি জানতে হবে, এটি একটি পি 2 পি নেটওয়ার্কের দুর্বলতা। প্রথম আইপি সন্ধানের জন্য আপনি অন্ধভাবে সম্প্রচার করতে পারেন, তবে একটি বড় নেটওয়ার্কে, যদি প্রত্যেকে এমনটি করে থাকে তবে আমাদের ভিড়ের সমস্যা হবে। আপনি একটি ক্যাশে ব্যবহার করতে পারেন তবে এটি কেবল বৃহত আকারের ঝাঁকের পক্ষে সম্ভব (বৃহত্তর পিয়ারের ঠিকানা ক্যাশে)। আপনাকে সর্বদা প্রথম আইপি জিজ্ঞাসা করার জন্য সর্বদা কোনও ট্র্যাকার সংযোগ করতে হবে।

ডিএইচটিতে বিতরণ করা মানে ক্লায়েন্টদের সংশ্লিষ্ট পিয়ারদের সাথে ভাগ করা ফাইলগুলির নামের এমডি 5 যোগ করে সমস্ত তালিকা রাখতে হবে না। হ্যাশটির তালিকাটি সমান অংশগুলিতে আকারযুক্ত এবং অতিরিক্ত জঞ্জালকে জঞ্জাল হিসাবে বিতরণ করা হয়। যদি কোনও পিয়ার সংযোগ বিচ্ছিন্ন হয় তবে হ্যাশলিস্টের একই অংশের সাথে অন্য কোথাও রয়েছে। সহকর্মীরা একে অপরকে হ্যাশলিস্ট অংশের ভাল ধারকের কাছে ঠিকানা ভাগ করে দেয়।

টরেন্ট-ফ্রিক এই বিষয়ে একটি পোস্ট লিখেছিল


0

কোনও নতুন ক্লায়েন্ট কীভাবে কোনও ট্র্যাকার বা ঝাঁকের কমপক্ষে একজন সদস্যের সাথে সমকক্ষদের সাথে বিনিময় করতে না পারলে জলাবদ্ধতায় যোগদান করতে পারেন?

এটি এর জন্য জিজ্ঞাসা করে

বিটোটরেন ক্লায়েন্টগুলি যা ডিএইচটি সমর্থন করে দুটি পৃথক পিয়ার-টু-পিয়ার অ্যাপ্লিকেশন চালায়।

প্রথমটি ফাইল-ভাগ করে নেবে: বিটোরেন্ট লিংগোতে একটি ঝাঁক বিটোরেন্ট অবজেক্ট (যেমন একটি ফাইল বা ডিরেক্টরি কাঠামো) ভাগ করে নেওয়ার সমষ্টি is প্রতিটি বিটোরেন্ট অবজেক্টে কিছু মেটাডেটা থাকে যা .torrent-file এ সেভ করা হয়। (এটিতে অবজেক্টের আকার, ফোল্ডারের নাম, সম্ভবত ট্র্যাকারের তথ্য বা নোড অন্তর্ভুক্ত রয়েছে e ect।) এই বিটোরেন্ট অবজেক্টটি ডাউনলোড করার জন্য প্রয়োজনীয় মেটাডাটার হ্যাশকে ইনফ্যাশ বলা হয়।

ডিএইচটি হ'ল একটি দ্বিতীয় পি 2 পি অ্যাপ্লিকেশন যা ট্র্যাকারদের প্রতিস্থাপন করতে লক্ষ্য করে: এটি জোড়া (ইনফোশ, সোর্ম) সঞ্চয় করে এবং যদি ঘোষিত বার্তাগুলি গ্রহণ করে তবে ঝাঁকটি আপডেট করে। নতুন ক্লায়েন্টের অবশ্যই ডিএইচটি সম্পর্কিত তথ্য বুটস্ট্র্যাপ করার জন্য কিছু "নোড" (ডিএইচটি-এর পিয়ারের জন্য বিটোরেন্ট লিংগো) সম্পর্কে জ্ঞান থাকতে হবে। এখানে @ allquixotic দ্বারা প্রদত্ত যুক্তি প্রয়োগ করা হয়। এমডিএইচটি বর্তমানে million মিলিয়নেরও বেশি সহকর্মীদের সমন্বয়ে পরিষেবা আক্রমণের অবিচ্ছিন্ন অস্বীকারকে অসম্ভব বলে মনে হচ্ছে।

এরপরে এটি কোনও ইনফ্যাশ সম্পর্কিত শ্রেনীর সাথে ডিএইচটিকে জিজ্ঞাসা করতে পারে এবং ট্র্যাকার ব্যবহার করতে হবে না বা এমন একটি পিয়ারকে জানতে হবে না যা আগে জড়ালের অংশ। তিনি যে সমকক্ষদের সাথে যোগাযোগ করেন তার মধ্যে যদি মেটাডেটা ভাগ করে নেওয়ার পক্ষে সমর্থন করে তবে কেবল তথ্যাংশের প্রয়োজন ঝাঁকুনির থেকে .torrent-file পুনরুদ্ধার করতে পারে।


0

বেশিরভাগ পি 2 পি নেটওয়ার্ক ক্লায়েন্টগুলি বীজ পিয়ারগুলির তালিকা থেকে বুটস্ট্র্যাপ করা হয় যা তারা প্রথমে সংযুক্ত করে ... তারা একবার বুটস্ট্র্যাপযুক্ত পিয়ারের সাথে সংযুক্ত হয়ে এটি বাকী বিতরণ পদ্ধতিতে ডাউনলোড করে। এটি বুটস্ট্র্যাপের পিয়ারের সাথে সংযোগ স্থাপন করে এবং তার পিয়ারগুলির ডিএইচটি তালিকা ডাউনলোড করে এবং তারপরে তাদের প্রত্যেকের কাছে যায় এবং একই কাজ করে ইত্যাদি

উদাহরণ স্বরূপ:

বুটস্ট্র্যাপ নোডের একটি তালিকা এখানে রয়েছে:

https://github.com/dontcontactme/p2pspider/blob/master/lib/dhtspider.js#L10

এখানে ক্লায়েন্ট পিয়ার তালিকা হাইড্রেট করার জন্য তাদের সাথে সংযোগ স্থাপন করেছেন:

https://github.com/dontcontactme/p2pspider/blob/master/lib/dhtspider.js#L60

এটি কোনও ট্র্যাকার কীভাবে কাজ করে তার অনুরূপ, কেবলমাত্র কেউই বুটস্ট্র্যাপ নোড হতে পারে তাই এগুলি বন্ধ করে দেওয়া প্রায় অসম্ভব।

বিটকয়েন কোর ওয়ালেট একইভাবে কাজ করে। যদি কোনও কারণে ডিফল্ট ব্যক্তিরা শাটডাউন করে তবে এটি আপনাকে বুটস্ট্র্যাপের বীজ পিয়ারগুলি পরিবর্তন করতে দেয়।


লিঙ্কগুলি মারা গেছে
জেলা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.