بت تورنت

عودة للموسوعة

بت تورنت

ساهم بشكل رئيسي في تحرير هذا الموضوع

نطقب:File sharing sidebar

بت تورنت (BitTorrent) مصطلح يطلق على أحد بروتوكولات مشاركة الملفات عبر شبكة الانترنت والمسماة الند للند أوالنظير للنظير أوما يعهد باللغة الإنجليزية (Peer-to-peer). ويسمح بروتوكول البت تورنت بتبادل الملفات بين المستخدمين دون وجود وسيط عدا التراكر (Tracker) وهوبرنامج عادة ماقد يكون مستضاف على سيرفر (Server) والذي يتكفل بتنسيق عملية الاتصال مابين النظراء (المستخدمين). جميع نظير يقوم بتحميل (Download) البيانات وفي نفس اللحظة يقوم بحمل (Upload) البيانات إلى النظراء الأخرين.

في أبريل 2001 قام المبرمج برام كوهين (Bram Cohen) بتصميم البروتوكول؛ وتم تطبيقة لأول مره في 2 يوليو(تموز) 2001 وهومدعوم من شركة كوهين "بت تورنت، إنك" (BitTorrent, Inc). واللغة المستخدمة في برمجة البروتوكول هي لغة بايثون (Python).


كيفية عمل البروتوكول

يسمح بروتوكل البت تورنت بتبادل الملفات كبيرة الحجم عبر الإنترنت دون التعرض لمشاكل كثرة الطلبات والضغط التي تتعرض لها المخدمات العادية، كما أنه يسمح للأجهزة ذات الموارد الضعيفة (كهالهواتف الحديثة مثلاً) بالمشاركة في عملية تبادل البيانات ذات الحجوم الكبيرة.

في هذه الصورة: الأشرطة الملونة تحت جميع من العملاء السبعة تمثل الملف، فكل لون يمثل بترة واحدة، يتم توزيع هذه البتر بشكل عشوائي بين العملاء، كما حتى المزود الأولي للملف (العميل الأكبر أسفل الصورة) يحتاج فقط لإرسال الملف مرة واحدة فقط، مبعثراً بتره بين العملاء، ثم يكمل بقية العملاء عملية التبادل فيما بينهم.

تقوم فكرة هذا البروتوكول على تقسيم الملف الكبير إلى عدد محدد من الأجزاء الصغيرة المتساوية في الحجم تسمى بتر (Pieces)، ولها حجوم قياسية (32KB, 64KB, 128KB, 256KB, 512KB, 1MB, 2MB, 4MB, 8MB)، كما حتى هذه البتر بدورها محددة بأقسام أصغر يمثل جميع قسم 16KB.

ثم يتم توزيع هذه البتر بين المستخدمين بشكل عشوائي، وكل ما زاد عدد المستخدمين الذين يتبادلون الملف نفسه حدثا زادت الفرص بالحصول على سرعة أكبر، والحصول على الملف كاملاً.

لا بد من وجود وسيط بين المستخدمين، يقوم على تنسيق عملية التبادل بين المستخدمين، ويسمى المتتبع أوالتراكر (Tracker)، ويعمل التراكر على تسجيل معلومات عن عدد المتسخدمين الكلي (النظراء Peers)، عدد المتسخدمين الذين يملكون الملف كاملاً (مزودوالملف Seeders)، عدد المستخدمين الذين مازالوا يحملون الملف ولما يكتمل (المُحمِّلون leechers)، عدد مرات اكتمال تحميل الملف، كما يقوم التراكر بستجيل عناوين النظراء ليسهل عليهم الاتصال ببعضهم.

ليكن ملف بحجم 3520MB، في البداية يجب إنشاء ملف بلاحقة .torrent باستخدام أحد البرامج المختصة بالتعامل مع هذه التقنية مثل μTorrent وأثناء إنشائه يتم تحديد حجم البترة وليكن 4MB، عندئذٍ سيجزأ الملف إلى 3520/4=880 بترة وكل بترة تتألف من (4*1024)/16=256 قسماً. لوكان حجم الملف 3521MB عندئذٍ: 3521/4=880.25 إذاً سيجزّأ الملف إلى 881 فطعة وكل بترة بحجم 4MB مما يؤدي إلى زيادة حجم التحميل بمقدار 4MB تقريباً أي أنك ستقوم بتحميل 3524MB ولكن الملف الأصلي يبقى كما هودون أي تعديل. وأيضاً أثناء إنشاء الملف يجب تحديد عنوان التراكر.

للبدء بمشاركة هذا الملف يجب توزيع الملف ذواللاحقة .torrent على المستخدمين الراغبين بالحصول على الملف الأصلي، يمثل المستخدم الذي يملك الملف الأصلي في البداية المزود الأولي للملف (Initial Seeder)، ثم يبدأ بقية المستخدمون بالاتصال به وبدء عملية التحميل، وكل منهم في هذه الحالة يسمى 'مُحمِّل' (leecher) ويتم توزيع البتر بشكل عشوائي بين المستخدمين مما يسمح لكل مستخدم بتحميل البتر غير المتوفرة لديه من مستخدم آخر يملكها حتى لولم يكن كلا المستخدمين قد أكمل تحميل الملف كاملاً. عند إكتمال تحميل الملف لدى أحد المستخدمين يتحول دوره من مُحمِّل Leeacher إلى مزود للملف Seeder، وتقاس "صحة" ملف التورنت بعدد المزودين المشهجرين في الحشد الكلي Swarm (أي بعدد نسخ الملف الكاملة المتوفرة).

تسمح هذه التقنية بنشر نسخ كثيرة من الملفات الكبيرة خلال وقت قصير وبدون ضغط على المزود الأول للملف (الذي من الممكن يقوم بتوزيع الملف لمرة واحدة فقط)، كما يمكن حتى يعيش ملف التورنت لسنوات طالما هناك من يزوده.


ملف التورنت

لمشاركة ملف أوعدة ملفات باستخدام بروتوكول بت تورنت، لا بد من إنشاء ملف بلاحقة .torrent (مثلاً somefile.torrent)، يسمى هذا الملف: ملف التورنت أواختصاراً التورنت.

يحتوي هذا الملف على قسمين أساسيين، الأول هوقسم الإعلان Announce وفيه يحفظ عنوان التراكر، والثاني هوقسم المعلومات Info، ويحتوي على أسماء الملفات وحجمها، وعدد البتر الكلي، بالإضافة إلى هاش (Hash) خاص بكل بترة باستخدام التابع SHA-1، البرنامج العميل BitTorrent Client يبحث في هذين القسمين لدى إضافة ملف التورنت إليه ليبدأ عملية المشاركة.

يقوم العميل بعد الانتهاء من تحميل جميع بترة بالقيام باختبار الاكتمال مستفيداً من الهاش المسجلة في ملف التورنت، وذلك لضمان التحميل الخالي من الأخطاء، وفي حال فشل الاختبار يتم إعادة تحميل هذه البترة من جديد، وهذا أحد مسببات زيادة حجم التحميل عن الحجم المحدد للملف.

حدثا صغر حجم البترة الواحدة حدثا كانت عملية المشاركة أكثر فاعلية، وباللقاء يزداد حجم ملف التورنت.

لماذا بت تورنت؟

يختلف بروتوكل البت تورنت عن الطرق الأخرى (HTTP وFTP) في عدة نقاط أساسية:

  • ينشئ البت تورنت عدة طلبات صغيرة الحجم عبر بروتوكول TCP متصلاً بعدة نظراء، بينما في الطرق العادية الأخرى يتم إنشاء طلب وحيد عبر بروتوكول TCP موجه إلى طرف وحيد.
  • يحمل بروتوكول البت تورنت بطريقة عشوائية أوبطريقة "النادر-أولاً"، مما يحمل مستوى التوافرية، بينما الطرق الأخرى تحمل بكيفية تسلسلية.

هذه النقاط تجعل برتوكول البت تورنت يستهلك القليل من موارد المزودين، ويعطي توافرية عالية للملفات المشاركة، كما يتخلص من مشاكل الضغوطات العالية التي تتعرض لها المخدمات العادية. إلا حتى لهذا البروتوكول بعض نقاط الضعف نظرياً: الوصول للسرعة القصوى للتحميل قد يأخذ بعض الوقت، نظراً للوقت الذي تستغرقه عملية الاتصال بالنظراء، كما يمكن حتى تتغير السرعة أثناء عملية التحميل صعوداً وهبوطاً تبعاً لحالة الاتصال بالنظراء. بينما في الطرق الأخرى يتم الوصول إلى السرعة القصوى في وقت قصير، كما تظل السرعة ثابتة طوال فترة التحميل.


مصطلحات

محمل leecher
يطلق على النظير الذي مازال يحمل الملف ولما يكتمل بعد.
مزود ملف seeder
يطلق على النظير الذي أتم تحميل الملف كاملاً.
نظير peer
وهوالاسم المشهجر بين المحمل والمزود.
متتبع tracker
وهوالمسؤوال عن عملية تنسيق الاتصالات بين النظراء.
عميل client
وهوالبرنامج الذي يقوم بتطبيق بروتوكول البت تورنت.
حشد swarm
ويمثل عدد جميع النظراء المساهمين حالياً في عملية المشاركة (عدد المحملون + عدد المزودون).
إعلان announce
وهي العملية التي يقوم بها العميل، فيفهم التراكر برغبته في الانضمام إلى الحشد، مزوداً إياه بالمعلومات اللازمة، متسقطاً رداً يتضمن عناوين نظراء آخرين للاتصال بهم وبدأ عملية المشاركة.
بتر pieces
وهي أجزاء الملف الأصلي، المتساوية الحجم.

طرق الاتصال بين النظراء

عن طريق التراكر Tracker، وهوبرنامج مثبت على مخدم مثلاً، يقوم بتسجيل عناوين النظراء المشاركين حالياً بملف التورنت، ويؤمن الاتصال فيما بينهم.

باستخدام تقنية DHT (Distributed Hash Table) التي تعتمد على اللامركزية، بحيث يعتبر جميع نظير تعبير عن عقدة Node، ويتم تبادل القيم المسجلة في جدول الهاش بين العقد بفعالية عالية، تسمح هذه التقنية بمساهمة أعداد ضخمة من العقد في عملية المشاركة.

كيفية تبادل النظراء Peer Exchange (PEX)، وهدفها تقليل الاعتماد على التراكر، فيقوم نظير متصل بنظير آخر بطلب عناوين النظراء المتصل بها هذا الأخير لكي يستطيع الأول الاتصال بها أيضاً إلى غير ذلك.

بعض التراكرات تقوم بجعل ملفات التورنت المتتبعة من خلالها مفهمة بعلامة خاص Private، وتسمى تراكرات خاصة، بحيث يتم إلغاء ميزتي DHT وPEX، مما يسمح لهذه التراكرات بتتبع تفاصيل المشاركة لكل نظير.

تحميل ومشاركة ملفات التورنت

يقوم المستخدم باستعراض الأنترنت لايجاد ملفات اتورنت التي توافق رغباته,ثم يقوم بتحميلها وفتحها بأحد البرامج الداعمة لصيغة التورنت ومن هذه البرامج ( bittorrent bitcomet utorrent) والتي تعهد بالعميل (The Client) حيث يوصله هذا البرنامج بالتراكر المسبق تحديده في ملف التورنت فيتسلم قائمة بالنظراء الذين يتبادلون أجزاء ملفات التورنت المحدد. يصبح المستخدم في هذه الحالة نظير هوالاخر يتشارك أجزاء الملفات مع قرنائه.كل مجموعة من النظراء تتشارك في أجزاء ملف التورنت تسمى الحشد أو(Swarm).

من أمثلة البرامج الداعمة للتورنت (The Client):

BitTorrent, µTorrent, BitComet, KTorrent, Azureus ,Deluge, Free Download Manager and BitLord


مواضيع ذات صلة

  • Anonymous P2P
  • Napster
  • Gnutella
  • Anti-Counterfeiting Trade Agreement
  • Bencode
  • Cache Discovery Protocol
  • Comparison of BitTorrent clients
  • Comparison of BitTorrent sites
  • Comparison of BitTorrent tracker software
  • FastTrack
  • Glossary of BitTorrent terms
  • Magnet URI scheme
  • µTP (Micro Transport Protocol)
  • Peer-to-peer file sharing
  • Segmented file transfer
  • Simple file verification
  • Super-seeding
  • Torrent file
  • Torrent poisoning
  • VPN
  • برام كوهين
  • لغة بايثون
  • محرك البحث عن ملفات تورنت
  • يوتورنت

المراجع

وصلات خارجية

  • صفحة تنزيل برنامج بت تورنت المفتوح المصدر.
تاريخ النشر: 2020-06-07 19:46:28
التصنيفات: برامج بت تورنت, إنترنت, پروتوكولات الإنترنت, Computer-related introductions in 2001, Application layer protocols, BitTorrent, Web 2.0, File sharing

مقالات أخرى من الموسوعة

سحابة الكلمات المفتاحية، مما يبحث عنه الزوار في كشاف:

آخر الأخبار حول العالم

فايز‏ ‏باسيلي‏ ‏مقار

المصدر: وطنى - مصر التصنيف: غير مصنف
تاريخ الخبر: 2024-02-25 12:21:37
مستوى الصحة: 46% الأهمية: 66%

ضبط 14407 قضية سرقة تيار كهربائي ومخالفة شروط التعاقد

المصدر: صوت الأمة - مصر التصنيف: سياسة
تاريخ الخبر: 2024-02-25 12:21:07
مستوى الصحة: 54% الأهمية: 54%

الداخلية: شرطة المرور تضبط 20457 مخالفة متنوعة خلال 24 ساعة

المصدر: صوت الأمة - مصر التصنيف: سياسة
تاريخ الخبر: 2024-02-25 12:21:11
مستوى الصحة: 50% الأهمية: 60%

القبض على 3 عاطلين لهروبهم من قضايا قتل عمد وسرقة بالأكراه

المصدر: صوت الأمة - مصر التصنيف: سياسة
تاريخ الخبر: 2024-02-25 12:21:19
مستوى الصحة: 56% الأهمية: 58%

البابا تواضروس ينعي استشاري الطب النفسي الدكتور ڤيكتور سامي

المصدر: وطنى - مصر التصنيف: غير مصنف
تاريخ الخبر: 2024-02-25 12:21:41
مستوى الصحة: 50% الأهمية: 53%

ضبط 5 أشخاص أثناء تنقيبهم عن الآثار في المنوفية

المصدر: صوت الأمة - مصر التصنيف: سياسة
تاريخ الخبر: 2024-02-25 12:21:14
مستوى الصحة: 56% الأهمية: 55%

ليلى عبد اللطيف تزف بشرى سارة للمصريين.. ماذا سيحدث؟ - منوعات

المصدر: الوطن - مصر التصنيف: سياسة
تاريخ الخبر: 2024-02-25 12:20:56
مستوى الصحة: 58% الأهمية: 63%

بلانش‏ ‏وصفي‏ ‏غالي – رؤوف‏ ‏نجيب‏ ‏إسكندر

المصدر: وطنى - مصر التصنيف: غير مصنف
تاريخ الخبر: 2024-02-25 12:21:38
مستوى الصحة: 57% الأهمية: 63%

ضبط المتهمين بقتل مواطن رميا بالرصاص بالجيزة

المصدر: صوت الأمة - مصر التصنيف: سياسة
تاريخ الخبر: 2024-02-25 12:21:26
مستوى الصحة: 53% الأهمية: 60%

تحميل تطبيق المنصة العربية