TCP vs UDP

أكتوبر 19, 2023

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

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

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

TCP/IP هو الاسم العام لمختلف البروتوكولات المتعلقة بالإنترنت، مثل TCP، UDP، IP، FTP، HTTP، و ICMP.

تم اختراع TCP/IP في السبعينيات. اقترح TCP/IP أصلا مفهوم التدرج، حيث يقسم الاتصال الشبكي المعقد إلى طبقات متعددة، كل منها له مسؤوليات مختلفة، بحيث عند حدوث مشكلة في طبقة واحدة، يجب حل المشكلة في تلك الطبقة فقط، بدلا من تغيير الشيء كله.

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

في ذلك الوقت، كانت هناك العديد من البروتوكولات الشبكية الأخرى. نموذج OSI (نموذج الإشارة للتفاعل بين الأنظمة المفتوحة) هو نموذج بروتوكول شبكي تسلسلي أكثر توحيدًا. استشهد نموذج OSI بالعديد من البروتوكولات، مثل TCP/IP، في بداية تصميمه، مما جعل من السهل نسبيًا تنفيذ المراسلة.

نموذج OSI يحتوي على سبع طبقات، بعضها مشابه جدًا لبروتوكول TCP/IP:

the osi model

في طبقة النقل، لا يمكن تجاهل بروتوكولين، هما TCP و UDP. ما هي الفروقات بينهما، وكيف يجب علينا اختيار الأنسب؟

كيف يعمل TCP؟

كما ذكرنا سابقًا، الغرض الأساسي من تدريج البروتوكولات هو تقسيم مسؤوليات كل طبقة. على سبيل المثال، TCP (بروتوكول التحكم في النقل) هو بروتوكول طبقة النقل الذي يسمح بنقل البيانات من جهاز رقمي إلى آخر. المهمة الرئيسية لـ TCP هي جمع البيانات من طبقة التطبيق. ثم، يقوم بتقسيم البيانات إلى حزم، ويخصص رقمًا لكل حزمة، ويُرسل الحزم إلى الوجهة.

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

يقوم بإعادة تجميع الحزم قبل إرسالها إلى طبقة التطبيق. نظرًا لأن TCP هو بروتوكول موجه الاتصال، يتم الاحتفاظ بالاتصال حتى ينتهي المرسل والمستقبل من نقل البيانات.

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

يعتبر بروتوكول datagram للمستخدم (UDP) بروتوكول نقل غير موثوق مقارنة ببروتوكول TCP الموثوق. ومع ذلك، يوفر أحد أفضل طرق التوصيل عن طريق استخدام خدمات IP لأداء عمله.

في بروتوكول UDP، لا يقوم المستقبل بإصدار تأكيد للحزمة، والمرسل لا ينتظر كشف الحزمة. إنه هذا العيب الذي يجعل البروتوكول غير موثوق ولكن قابل للتتبع.

إذا لم يكن الاعتراف بتلقي البيانات مهمًا، في هذه الحالة، نستخدم بروتوكول الـ UDP. إنه مناسب لحالة تدفق البيانات في اتجاه واحد ويعتبر الأنسب للاتصالات القائمة على الاستعلام.

UDP لا يضمن أن الحزم يتم إرسالها بتسلسل. إنه بدون حالة ولا يوفر أي آلية لمراقبة الازدحام.

ما هي الفروقات بين TCP و UDP؟

يمكننا رؤية الاختلافات بين TCP/UDP من هذه النواح:

التوصيل

TCP هو بروتوكول موجه الاتصال. نظرًا لأننا نستخدم هذا البروتوكول بالتزامن مع بروتوكول IP، فإنه عادة ما يُسمى TCP/IP.

إرسال واستقبال البيانات يجب أن يقوم بإقامة اتصال موثوق به بين الطرفين. 3 “handshakes” لإقامة العلاقة، 4 “waves” لفصل الاتصال، ووضع أساس موثوق لنقل البيانات.

تم إنشاء اتصال جيد قبل بدء نقل البيانات، وسيقوم المستقبل بقبول حزم البيانات بترتيب لضمان دقة البيانات.

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

الموثوقية

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

لا يضمن بروتوكول UDP التسليم الموثوق به أثناء النقل. بدلاً من ذلك، يعتمد على بروتوكولات الطبقة العليا لضمان الموثوقية. أساليب النقل غير المرتبة وغير الدقيقة أكثر مناسبة لبعض المتطلبات التي لا تتطلب ارتفاع معدل تلف البيانات.

كيفية اختيار TCP و UDP؟

نظرًا لمزايا وعيوب بروتوكولات TCP وUDP، يمكننا اختيار البروتوكول الأكثر مناسبة لتلبية الاحتياجات المختلفة.

tcp vs udp

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

TCP مناسب لتطبيقات نموذجية تتطلب كفاءة انتقال منخفضة ودقة عالية، مثل HTTPS (بروتوكول نقل النص الفائق الآمن)، HTTP (بروتوكول نقل النص الفائق)، SMTP (بروتوكول نقل البريد البسيط)، و FTP (بروتوكول نقل الملفات)، وما إلى ذلك.

يعتبر بروتوكول UDP بروتوكولًا غير متصل، ويتميز بنقل غير موثوق به، وتسليم البيانات في أسرع وقت ممكن، وبروتوكول بسيط، ومتطلبات موارد أقل، وسرعة نقل سريعة، وأداء في الوقت الحقيقي عالٍ. لذلك، فإنه مناسب لتطبيقات نموذجية تتطلب كفاءة نقل عالية ولكن دقة منخفضة. يُستخدم لبث الفيديو، والهاتفية الفيديو، وخدمات الصوت عبر بروتوكول الإنترنت (مكالمات الإنترنت)، ونظام أسماء النطاقات (DNS)، إلخ.