ما هو بروتوكول UDP؟ وكيف يعمل؟

ما هو بروتوكول UDP؟ وكيف يعمل؟

عند الحديث عن نقل البيانات عبر الإنترنت، نجد أن هناك نوعين أساسيين من بروتوكولات النقل: بروتوكول TCP الموثوق، وبروتوكول UDP الأسرع والأبسط.
يُعرف بروتوكول UDP باسم User Datagram Protocol، وهو بروتوكول نقل يُستخدم في التطبيقات التي تتطلب سرعة عالية ولا تتأثر كثيرًا بفقدان بعض البيانات أثناء النقل.

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


ما هو بروتوكول UDP؟

UDP هو بروتوكول يعمل في طبقة النقل ضمن نموذج OSI وTCP/IP.
يتميز بأنه بروتوكول غير متصل (Connectionless Protocol)، أي أنه لا ينشئ اتصالًا فعليًا بين المرسل والمستقبل قبل تبادل البيانات، ولا يضمن تسليم البيانات أو ترتيبها أو التحقق من سلامتها كما يفعل TCP.

هذا يجعل UDP مناسبًا للتطبيقات التي تحتاج إلى سرعة نقل عالية ووقت استجابة منخفض (Latency)، حتى لو كان ذلك على حساب موثوقية البيانات.


كيف يعمل بروتوكول UDP؟

1. إرسال البيانات

عندما يريد تطبيق إرسال بيانات عبر UDP، يقوم بتقسيم البيانات إلى وحدات تُسمى Datagrams.
تحتوي كل Datagram على:

  • رأس (Header) بسيط مكوَّن من:

    • رقم المنفذ المصدر (Source Port)

    • رقم المنفذ الوجهة (Destination Port)

    • الطول (Length)

    • فحص اختياري (Checksum)

  • بيانات (Payload): وهي البيانات المطلوب إرسالها.

لا يتم التحقق من وصول Datagram إلى الوجهة، ولا يوجد تأكيد استلام (Acknowledgment)، مما يجعل النقل سريعًا جدًا.

2. استقبال البيانات

عند استلام Datagram في الجهاز المستقبل:

  • يتم تمرير البيانات مباشرة إلى التطبيق عبر رقم المنفذ المحدد.

  • لا يتم التحقق من ترتيب الحزم أو التأكد من وصولها جميعًا.

إذا فُقدت إحدى الحزم أثناء النقل، فلن تتم إعادة إرسالها، ويتجاهل المستقبل هذا الفقد.


خصائص بروتوكول UDP

  • بروتوكول غير متصل (Connectionless): لا يتطلب إنشاء أو إنهاء اتصال.

  • خفيف وسريع: حجم رأس UDP صغير (8 بايت فقط).

  • لا يضمن تسليم البيانات: قد تُفقد بعض الحزم أثناء النقل.

  • لا يضمن ترتيب الحزم: تصل البيانات حسب ظروف الشبكة.

  • بدون تحكم بالتدفق أو الازدحام: يعتمد التطبيق نفسه على معالجة هذه الأمور إن احتاج.


استخدامات وتطبيقات بروتوكول UDP

بسبب سرعة النقل وقلة التعقيد، يُستخدم بروتوكول UDP في التطبيقات التي:

  • تعتمد على الوقت الحقيقي (Real-Time).

  • يمكنها تحمل فقد بعض البيانات دون تأثير كبير على الأداء.

أمثلة:

  • تطبيقات بث الفيديو والصوت المباشر (Live Streaming)

  • المكالمات الصوتية عبر الإنترنت (VoIP)

  • ألعاب الأونلاين

  • بروتوكول DNS (استعلام أسماء النطاقات)

  • بروتوكول DHCP (توزيع عناوين IP)


مقارنة بين TCP و UDP

العنصر TCP UDP
نوع الاتصال متصل (Connection-oriented) غير متصل (Connectionless)
الموثوقية عالية منخفضة
ترتيب الحزم مضمون غير مضمون
إعادة إرسال الحزم نعم لا
سرعة النقل أبطأ بسبب التأكيد والترتيب أسرع
حجم الرأس (Header) 20 بايت 8 بايت
التطبيقات الشائعة HTTP, FTP, SSH DNS, VoIP, ألعاب الأونلاين

هل هناك فحص للأخطاء في UDP؟

نعم، يتضمن بروتوكول UDP حقل Checksum في رأس الحزمة لفحص سلامة البيانات أثناء النقل.
ولكن على عكس TCP:

  • لا توجد آلية لإعادة إرسال الحزم التالفة.

  • يمكن للتطبيق تجاهل أو التعامل مع الحزمة غير الصحيحة حسب تصميمه.

بروتوكول UDP هو خيار مثالي للتطبيقات التي تحتاج إلى:

  • سرعة في نقل البيانات

  • وقت استجابة منخفض

  • مرونة في تحمل فقدان بعض البيانات

لكنه غير مناسب للتطبيقات التي تتطلب موثوقية عالية وضمان تسليم كامل للبيانات، والتي يُفضَّل لها بروتوكول TCP.

حول المحتوى:

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