البروتوكولات المستخدمة في انترنت الاشياء – الجزء الثاني


السلام عليكم

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

سنتطرق اليوم بشكل رئيسي الى بروتوكولين اساسيين لأنترنت الاشياء وهما:

1- بروتوكول (Constrained Application Protocol CoAP) او بروتوكول طبقة التطبيقات المقيدة:

وكما هو واضح من اسمه فهو بروتوكول يعمل في طبقة التطبيقات ولكن للأجهزة المقيدة ونقصد بها هنا الاجهزة المحدودة الذاكرة والمعالج والبطارية وامكانيات الارسال والاستقبال. وعلى الرغم من ان بنية الويب يمكن ان تستخدم مع اجهزة انترنت الاشياء الا انها تعتبر ثقيلة جداً لهكذا اجهزة وهكذا تطبيقات ولذا قامت وحدة مهمات هندسة الانترنت (Internet Engineering Task Force IETF) في شهر تموز من عام 2013 بأصدار هذا البروتوكول ليعمل مع شبكات الاشياء واطئة القدرة (Low power and lossy nodes networks LLN)  ومن مواصفات هذا البروتوكول الاتي:

  • انه مثل بروتوكول (HTTP) يدعم واجهة برمجة التطبيقات من نوع (RESTful API) والتي تسمح بالتلاعب والتغيير في الموارد والمعرفات عبر الشبكة وبأستخدام واجهة برمجة تطبيقات البروتوكول (Ptotocol API).

  • يمتلك هذا البروتوكول مواصفات مشابهة تماماً لبروتوكول ال (http) مع الاخذ بنظر الاعتبار محدودية الاجهزة التي يعمل عليها من ناحية كون ذاكرتها صغيرة جداً ومعدل الخطأ في ارسال واستقبال البيانات عالي جداً (للمتحسسات الطرفية التي تشكل الطبقة الدنيا من انترنت الاشياء) مع معدل نقل بيانات قليل جداً (اقل من 100 كيلوبت في الثانية) وهو بروتوكول ممتاز من ناحية استهلاك الطاقة كما يدعم جني الطاقة من البيئة المحيطة (energy harvesting).

  • يستخدم هذا البروتوكول خدمات ال (UDP) من الطبقة الرابعة وبالتالي فأن المميزات المفقودة من ال (TCP) تم تعويضها في هذا البروتوكول فهو مثلاً يميز بين الرسائل التي تطلب التأكيد او (acknowledgment) والرسائل التي لا تطلب ذلك.

  • الطلبات والاجابات يتم تبادلها بطريقة غير متزامنة (asynchronous) وهو لا يشبه ال (http) في ذلك.

  • كل البيانات الاضافية التي يتم اضافتها مثل (headers, methods, status codes) يتم تشفيرها ثنائياً وبالتالي يتم تقليل العبء الاضافي لهذا البروتوكول على الاجهزة التي تستخدمه ولكنه يحتاج الى محلل البروتوكول (protocol analyzer) لحل مشاكل الشبكة.

  • بخلاف ال (http) فأن هذا البروتوكول يقوم بعمل حفظ مؤقت (cache) بالاعتماد على كودات الاستجابة وليس الطلب.

2- بروتوكول Message Queue Telemetry Transport (MQTT):

وهو ايضاً بروتوكول لطبقة التطبيقات ويختلف عن البروتوكول السابق في انه يستخدم خدمات ال (TCP) من الطبقة الرابعة وبالتالي فهو بالاضافة الى مناسبته للأجهزة محدودة الموارد يحاول ان يضمن كفاءة الاتصال ايضاً والتأكد من ايصال الرسائل بدرجة من الوثوقية.

هذا البروتوكول مناسب للشبكات الكبيرة التي تتكون من اجهزة صغيرة (مثل تلك المكونة لأنترنت الاشياء) والتي تستخدم للمراقبة والتحكم من خلال السيرفرات في ال (back end) وهو ليس مصمم للأتصالات من نوع (device to device) وهو بشكل عام ابطأ من البروتوكول السابق.

MQTT ام CoAP؟

  • كلاهما يدعمان اسلوب ال (publish/subscribe) بشكل جيد.

  • كلاهما مناسبان لشبكات المتحسسات اللاسلكية

  • كلاهما يدعمان بشكل ممتاز اجهزة انترنت الاشياء ويستعيران الافكار من احدهما الاخر ولذلك هناك اعتقاد كبير بأنهما سيصمدان معاً على الاقل للسنوات الخمسة القادمة.

مقارنة بين البروتوكولات المحتملة لأنترنت الاشياء:

الجدول التالي يبين عمل شركة سيسكو في مجال انترنت الاشياء وهو يعتبر من ابرز الجهود العالمية في هذا المجال:

وفي الشكل التالي توضيح افضل للبروتوكولات المتوقع صمودها اثناء الفترة الانتقالية لأنترنت الاشياء من مفهوم نظري الى مقياس عالمي موحد:

اخيراً…. كيف اختار البروتوكول المناسب؟

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

ابتدءاً من الطبقات العليا فكل هذه البروتوكولات متشابهة من ناحية انها تستخدم مفهوم ال (real time publish/subscribe) وتدعم ملايين الاجهزة.

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

اخيراً رغم وجود مطالبات كثيرة لعمل مقياس موحد لما هو انترنت الاشياء وبالتالي سيفرض ذلك على كل البروتوكولات اتباع هذا المقياس وحل مشكلة الاختيار، الا ان ذلك بعيد عن التحقق في اي وقت قريب لأنه مثلما هناك مئات البروتوكولات العاملة في الانترنت فلم لا يكون هناك مئات مثلها لأنترنت الاشياء؟

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

للمزيد من المعلومات عن بروتوكولات الانترنت الاخرى فقد تم تلخيصها في العرض التقديمي في الرابط ادناه:

انقر هنا للتنزيل

ملاحظة: كما ذكرنا في الجزء الاول من هذا المقال فالمصدر الاصلي لهذا الموضوع هو الرابط التالي (انقر هنا لزيارة المصدر الاصلي باللغة الانكليزية)

اخوكم مصطفى صادق لطيف

 

اترك رد

إملأ الحقول أدناه بالمعلومات المناسبة أو إضغط على إحدى الأيقونات لتسجيل الدخول:

شعار وردبرس.كوم

أنت تعلق بإستخدام حساب WordPress.com. تسجيل خروج   /  تغيير )

Google+ photo

أنت تعلق بإستخدام حساب Google+. تسجيل خروج   /  تغيير )

صورة تويتر

أنت تعلق بإستخدام حساب Twitter. تسجيل خروج   /  تغيير )

Facebook photo

أنت تعلق بإستخدام حساب Facebook. تسجيل خروج   /  تغيير )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.