بت تورنت BitTorrent: كطريقة بسيطة لمشاركة الملفات

bt-certified-logo-purple

بت تورنت BitTorrent أو ما يطلق عليه عامة بالتورنت عبارة عن بروتوكول حديث العهد لمشاركة الملفات الكبيرة الحجم، وهو أحد البروتوكولات الأكثر استخداما لنقل الملفات عبر الانترنت، حيث يغطى مابين 27 إلى 55 بالمائة من مجموع حركة المرور  على الانترنت. يعتمد هذا البروتوكول على مبدأ الند للند، أو ما يعرف ب Peer-to-peer، حيث يكون تبادل الملفات بين أشخاص ما بينهم دون وجود أي وسيط عدا التراكر Tracker، وهو برنامج عادة ما يكون مستضافا على Server، إذ يتكلف بتنسيق الاتصال مابين المستخدمين، وكل مستخدم يقوم بتحميل البيانات فهو في نفس الوقت يرفعها للمستخدمين الآخرين. صمم هذا البروتوكول على منصة python على يد المبرمج Bram cholen في أبريل 2001 وهو مدعوم من  شركة Cholen BitTorrent Inc، وفي سنة 2011 تجاوز عدد مستخدمي التورنت 100 مليون مستخدم.

BitTorrent Network

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

أما طريقة التحميل من التورنت فهي كالتالي:

  1. يقوم شخص بخلق ملف تورنت لملفات معينة بحاسبه الشخصي باستخدام أحد برامج التورنت ( يجمع هذا الملف جميع  المعلومات الخاصة بالملفات كـ ( seeders – leechers – tracker – … هذه المصطلحات ستتعرف عليها لاحقا بنفس الموضوع)
  2. يرفع الملف بأحد مواقع مشاركة ملفات التورنت لنشره عامة مع الآخرين أو يرسله عبر البريد ليحمله فقط من يرسله له.
  3. الطرف الأخر يحمل الملف ويشغله باستخدام أحد برامج تحميل التورنت، فيقوم الملف بإعلام البرنامج عن كل المعلومات التي يحملها، حتى يستطيع البرنامج التحميل، لكن ليس من خادم خاص، بل من صاحب الملف وأيضا من كل من استطاع تحميل الملف.

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

مصطلحات بعالم التورنت:

  • Announce: له علاقة بالتراكرات التي تحدد إمكانية انضمام peer جيد للقائمة، حيث يقوم ملف التورنت بإبلاغ التراكر بمستخدم جديد.
  • Client: العميل أو برامج التحميل التي نستعملها في تحميل ملفات التورنت، وهناك الكثير من البرامج الخاصة بهذا البرتوكول على windows أو Linux أو Mac، ومنها µTorrent, Vuze, BitTorrent 7 ,Transmission, Ktorrent, … وأيضا برامج أخرى ليست خاصة بالتورنت لكنك تستطيع التحميل بها، كـمتصفح Opera, برامج التحميل العادية كـ FlashGet أو Free download  Manager وبرامج أخرى كـ Shareaza. لكن يعتبر برنامج µTorrent أفضل وأكثر البرامج المستعملة في هذا المجال، لصغر حجمه خفته على الجهاز، سرعة تحميله، كفاءة عمله، ولأنه أيضا مطور من قبل الشركة الأم للبيت تورنت، وهنا لائحة طويلة لبرامج التورنت المشهورة على هذا الرابط http://en.wikipedia.org/wiki/Comparison_of_BitTorrent_clients
  • Seeder: رافع ملف التورنت أو الذين حملوا الملف كاملا ومعنا أنك تكون seeder يعني أن الملف الذي حملته قد أكتمل لكن تترك برنامج التورنت ليك يرفع الملف للأشخاص الآخرين الذين لم يكتمل لديهم التحميل بعد، وهذا ما يجعل من البروتوكول شيء مميز.
  • Peer: وهو الشخص الذي يقوم بتحميل ملف تورنت معين في الوقت الحالي، فلديه جزء من الملفات التي قام بتحميلها حتى الآن على جهازه الخاص ولكن ليس مكتملة، وهو يحمل وفي نفس الوقت يرفع الملفات.
  • Leecher: مثل Peers تقريبا… لكن الفرق هنا أن leechers يقومون بمعدل رفع للملفات التي يحملونها قليل جدا بالمقارنة مع السرعة التي يحملون بها من التراكر، وأيضا يقومون بحذف ملف التورنت أو إنهاء عملية الرفع عقب الإنتهاء من تنزيله، وتسمى هذه العملية بـ Hit's run.
  • Swarm: وتعني السرب أو الخلية… وتشير إلى عدد الأجهزة المتصلة بملف التورنت في لحظة معينة سواء seeders  أو Leechers.
  • Tracker: وهو خادم يقوم بوصل كل مستخدمي ملفات التورنت في ما بينهم، حيث يقوم   ملف التورنت بالإيصال بالتراكر لرفع المعلومات واستقبالها عن حالة الملفات وعدد seeders و leechers وأيضا فإن التراكر لا  يملك أي نسخ من الملفات المحملة، وهناك نوعان منها، Private Trackers وهي تراكرات خاصة لا تسمح بالتحميل إلا للمستخدمين المسجلين بمواقعهم، وهي أفضل التراكرات حيث تتميز بسرعة التحميل وأمان الملفات بها. أيضا نجد Open Trackers وهي التراكرات التي تسمح للجميع بالتحميل منها. وهي الأكثر شهرة والأكثر استخداما.
  • Ratio Credit:  وهو نسبة حاصل قسمة ما رفعته من جهازك Uploader على ما قمت بتحميله من بيانات Dowloaded. هذه النسبة تستخدم كثيرا بالتراكرات الخاصة لتنبيه المستخدمين عن نسبة الراشيو لديهم وإجبارهم على المزيد من الرفع لإعادة المستخدمين الآخرين وهي طريقة أكدت على نفعها الكبير لملفات التورنت وسرعتها.

الجزء الثاني إن شاء الله سيتناول: برامج التورنت، أصنافها وشرح أحدها وطريقة التعامل معه. وسيكون البرنامج المستعمل هنا µTorrent.