ما هو بروتوكول COAP في شبكات الحاسوب

اقرأ في هذا المقال


يُعد بروتوكول “CoAP” عبارة عن طبقة تطبيق وبروتوكول مستند إلى الويب مصمم للأجهزة المقيدة مثل المستشعرات وأجهزة الاستشعار لها ذاكرة صغيرة وقوة معالجة محدودة، حيث يشبه “CoAP” بروتوكول نقل النص التشعبي “HTTP” ويتم استخدام “CoAP” كبنية تمثيلية لنقل الدولة “REST”.

ما هو بروتوكول CoAP

بروتوكول التطبيق المقيد “CoAP”: هو بروتوكول نقل ويب متخصص للاستخدام مع العقد المقيدة والشبكات المقيدة في إنترنت الأشياء، كما تم تصميمه لتمكين الأجهزة البسيطة والمقيدة للانضمام إلى إنترنت الأشياء حتى من خلال الشبكات المقيدة ذات النطاق الترددي المنخفض والتوافر المنخفض، حيث يتم استخدامه بشكل عام للتطبيقات من آلة إلى آلة “M2M” مثل الطاقة الذكية وأتمتة المباني، كما تم تصميم البروتوكول من قبل فريق عمل هندسة الإنترنت “IETF” وتم تحديد “CoAP” في “IETF RFC 7252”.

  • “IETF” هي اختصار لـ “Internet-of-Engineering-Task”.
  • “CoAP” هي اختصار لـ “Constrained-Application-Protocol”.
  • “HTTP” هي اختصار لـ “Hypertext-Transfer-Protocol”.
  • “REST” هي اختصار لـ “Representational-state-transfer”.
  • “M2M” هي اختصار لـ “Machine-to-machine”.
  • “RFC” هي اختصار لـ “Request-for-Comments”.

ميزات بروتوكول CoAP

  • بروتوكول الويب المستخدم في “M2M” بمتطلبات مقيدة.
  • تبادل الرسائل غير المتزامن.
  • اقل عبأ.
  • من السهل جداً إجراء التحليل النحوي.
  • معرف الموارد المنتظم “URI”.
  • قدرات الوكيل والتخزين المؤقت.

ملاحظة: “URI” هي اختصار لـ “Universal-Resource-Identifier”.

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

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

وفي شبكة بها الكثير من الازدحام أو الاتصال المحدود يمكن لـ “CoAP” الاستمرار في العمل، حيث تفشل البروتوكولات القائمة على “TCP“، مثل “MQTT” في تبادل المعلومات والتواصل بشكل فعال وبالإضافة إلى ذلك تتيح ميزات CoAP الفعالة والتقليدية للأجهزة، والتي تعمل بجودة إشارة رديئة إرسال بياناتها بشكل موثوق أو تمكين قمر صناعي في المدار من الحفاظ على اتصاله البعيد بنجاح.

تدعم “CoAP” أيضاً الشبكات التي تحتوي على مليارات من العقد، وللأمان تعد معلمات “DTLS” المختارة افتراضياً مكافئة لمفاتيح “RSA” بحوالي “128 بت”، كمايستخدم “COAP” بروتوكول “UDP” كبروتوكول الشبكة الأساسي و”COAP” هو في الأساس بروتوكول “IoT” لخادم العميل، حيث يقوم العميل بتقديم طلب ويرسل الخادم استجابة كما يحدث في “HTTP” والطرق المستخدمة بواسطة “COAP” هي نفسها المستخدمة بواسطة “HTTP”.

يجب على المرء أن يأخذ الأمن في الاعتبار عند التعامل مع بروتوكولات إنترنت الأشياء، وعلى سبيل المثال يستخدم “CoAP” بروتوكول “UDP” لنقل المعلومات، كما يعتمد “CoAP” على ميزات أمان “UDP” لحماية المعلومات، ونظراً لأنّ “HTTP” يستخدم “TLS” عبر “TCP” فإنّه يستخدم “CoAP” مخطط البيانات “TLS” عبر “UDP” ويدعم “DTLS RSA” و”AES”.

وأصغر رسالة “CoAP” يبلغ طولها “4 بايت” في حالة حذف الرمز المميز والخيارات والحمولة، ويستخدم “CoAP” نوعين من الرسائل، وهما الطلبات والردود باستخدام تنسيق بسيط وثنائي للرأس الأساسي وقد يتم اتباع رأس القاعدة بخيارات بتنسيق “Type-Length-Value” الأمثل، كما يرتبط “CoAP” افتراضياً بـ “UDP” وبشكل اختياري بـ “DTLS” ممّا يوفر مستوى عالٍ من أمان الاتصالات.

أي بايت بعد الرؤوس في الحزمة يعتبر نص الرسالة، ويتم تضمين طول نص الرسالة بطول مخطط البيانات ويجب احتواء الرسالة بأكملها ضمن مخطط بيانات واحد عند ربطها بـ “UDP”، وعند استخدامها مع “6LoWPAN” كما هو محدد في “RFC 4944” يجب أن تنسجم الرسائل أيضاً في إطار “IEEE 802.15.4” واحد لتقليل التجزئة.

  • “TCP” هي اختصار لـ “Transmission-Control-Protocol”.
  • “UDP” هي اختصار لـ “User-datagram-protocol”.
  • “DTLS” هي اختصار لـ “Datagram-Transport-Layer-Security”.
  • “6LoWPAN” هي اختصار لـ “IPv6-over-Low-Power-Wireless-Personal-Area-Networks”.
  • “AES” هي اختصار لـ “Advanced-Encryption-Standard”.
  • “TLS” هي اختصار لـ “Transport-Layer-Security”.
  • “MQTT” هي اختصار لـ “MQ-Telemetry-Transport”.

العلاقة بين بروتوكول CoAP وإنترنت الأشياء

قامت “IETF” بتطوير بروتوكول تطبيق أخف وهو بروتوكول التطبيق المقيد “CoAP” لأجهزة إنترنت الأشياء المقيدة التي تعمل في بيئات ضائعة، واستناداً إلى “UDP” يُعد “CoAP” بروتوكولاً خفيف الوزن وفعالاً مقارنة ببروتوكولات إنترنت الأشياء الأخرى، مثل “HTTP” و”MQTT “، كما يوفر “CoAP” أيضاً اتصالاً موثوقاً به بين العقد في شبكات الاستشعار اللاسلكية بالإضافة إلى ميزات مثل مراقبة الموارد واكتشاف الموارد والتحكم في الازدحام.

وقد مكنت قدرات “CoAP” هذه من تنفيذ “CoAP” في مجالات مختلفة تتراوح من الأتمتة المنزلية إلى أنظمة الإدارة الصحية، ولقد أبرز استخدام “CoAP” عيوبه بمرور الوقت وللتغلب على أوجه القصور في “CoAP” تم إجراء العديد من التحسينات في بنية “CoAP” الأساسية، كما تُستخدم شبكات الاستشعار اللاسلكية على نطاق واسع في العديد من التطبيقات مثل مجال إنترنت الأشياء “IoT” وإنترنت الأشياء تحت الماء “IoUT” وإنترنت كل شيء “IoE” وما إلى ذلك.

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

  • “IoUT” هي اختصار لـ “Internet-of-Underwater-Things”.
  • “WSN” هي اختصار لـ “Wireless-Sensor-Networks”.
  • “IoE” هي اختصار لـ ” Internet-of-Everything”.

تطور عمل بروتوكول CoAP

لتلبية الحاجة إلى بروتوكول تطبيق أخف لأجهزة إنترنت الأشياء تم تطوير بروتوكول نقل ويب متخصص يسمى بروتوكول التطبيق المقيد “CoAP” لأجهزة الشبكة ذات الطاقة المنخفضة المقيدة، حيث تعتمد وظيفة “CoAP” على بنية نقل الحالة التمثيلية “REST”، وبروتوكول طبقة النقل في “CoAP” هو بروتوكول مخطط بيانات المستخدم “UDP”، وعلى عكس بروتوكول التحكم في الإرسال “TCP” فإنّ “UDP” غير موثوق به وعرضة للازدحام في الشبكة.

لذلك يلزم وجود آلية للتحكم في الازدحام في “CoAP”، كما تم إنشاء آلية افتراضية للتحكم في الازدحام لـ “CoAP”، والتي تستخدم تراجعاً أسياً ثنائياً بسيطاً “BEB”، ومع ذلك فإنّ الآلية الافتراضية لـ “CoAP” ليست فعالة أو فعالة، وللتغلب على المشكلات في آلية التحكم في الازدحام الافتراضية لـ “CoAP” تم تطوير عدد من المخططات الأخرى مثل “CoCoA” و”CoCoA +”  و”pCoCoA” وما إلى ذلك.

نظراً لأنّ آلية التحكم في الازدحام الافتراضية تكاد تلبي متطلبات شبكات “WSN” وشبكات إنترنت الأشياء فقد تم توحيد آلية أخرى للتحكم في الازدحام، وتسمى التحكم في الازدحام أو التقدم “CoCoA” بواسطة “IETF”، حيث يوفر “CoCoA” آلية أفضل للتحكم في الازدحام لـ “CoAP” مع الحد الأدنى من الموارد الإضافية، ومع ذلك تم أيضاً اكتشاف العديد من المشكلات في “CoCoA” ممّا يؤدي إلى عملها بشكل أسوأ من آلية التحكم في الازدحام الافتراضية لـ “CoAP” في ظل ظروف الشبكة المختلفة.

كما أدى ذلك إلى تطوير عدد من آليات التحكم في الازدحام المتقدمة لـ “CoAP” للتغلب على أوجه القصور في “CoAP” و”CoCoA” الافتراضيين، ومعظم هذه الطرق مخصصة للاتصال الموثوق به في “CoAP” بينما يتم تقديم بعضها للتواصل غير الموثوق به أيضاً، كما تعتمد هذه الحلول على حسابات وقت الرحلة “RTT” وتأخير الانتظار وظروف معدل حركة المرور ومنتج تأخير عرض النطاق الترددي.

المصدر: COMPUTER NETWORKING / James F. Kurose & Keith W. RossComputer Networks - The Swiss BayCOMPUTER NETWORKS LECTURE NOTES / B.TECH III YEAR – II SEM (R15)An Introduction to Computer Networks / Peter L Dordal


شارك المقالة: