موسوعة الإلكترونيات الحرة وتعليم البرمجيات.

مواضيع جديدة

الاثنين، 24 أغسطس 2020

الفرق بين TCP و UDP


شرح مقارنة الفرق بين كل من البروتوكول TCP والبروتوكول UDP

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

قبل أن نتطرق الى معرفة الفرق بين كل من بروتوكول الاتصال TCP والبروتوكول UDP، سنعرض لمحة سريعة، تمكنكم من فهم كل من تلك البروتوكولات، وطريقة عمل كل منها.

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

يساعد بروتوكول TCP / IP على تحديد كيفية توصيل جهاز كمبيوتر معين بالإنترنت وتحديد آلية نقل البيانات بينهما. كما ويساعدك على إنشاء شبكة افتراضية عند توصيل عدة شبكات كمبيوتر معاً.

ما هو اختصار TCP؟

يتم تعريف البروتوكول TCP على أنه بروتوكول التحكم بالنقل أي Transmission Control Protocol أي أنه يقوم هذا البروتوكول بالتحكم في الإرسال والنقل عبر الشبكات والانترنت.

ما هي وظيفة البروتوكول TCP؟

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

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

يتم إنشاء اتصال TCP بمساعدة ما يعرف بالمصافحة ثلاثية الاتجاهات أو Three-way handshake. وهي تعرف على أنها عملية بدء الاتصال والاعتراف به. وبمجرد إنشاء الاتصال، يبدأ نقل البيانات، وعندما تنتهي عملية الإرسال، يتم إنهاء الاتصال بإغلاق دائرة افتراضية قائمة.
حتى يتم ضمان اتصال أي حاسوب بآخر، يجب التأكد من صلاحية وموثوقية الاتصال أولاً. ومن هنا يأتي دور بروتوكولات المصافحة Handshakes Protocol مثل SYN و SYN-ACK و ACK كما يلي:
يقوم الحاسوب الأول بإرسال رسالة SYN، ثم يقوم الجهاز الآخر بالرد على الجهاز الذي يود الاتصال به برسالة SYN ACK مفادها أن الرسالة SYN تم تلقيها بنجاح. وبالمثل يقوم الجهاز المرسل بإرسال رسالة تأكيد نهائية تسمى ACK، ثم يتم اشاء الاتصال كما في الشكل التالي:


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

بروتوكول UDP هو بروتوكول موجه لمخطط البيانات ويطلق عليه أيضاً الاسم Datagram Oriented Protocol. يتم استخدامه للبث والأنواع المتعددة من الإرسال والنقل في شبكة الاتصال.

ما هو اختصار UDP؟

يتم تعريف البروتوكول UDP على أنه بروتوكول بيانات المستخدم أي User Datagram Protocol أي أنه يقوم هذا البروتوكول بأداء نقل مخطط بيانات المستخدم بالشكل الكامل كما هي. فهو بروتوكول يهتم ويقوم بالعمل على مخطط بيانات المستخدم. ونقصد هنا بمخطط البيانات Datagram بوحدة النقل المرتبطة بشبكة تبديل الحزمة Packet-Switched Network.

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

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

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

يستخدم UDP طريقة إرسال بسيطة بدون حوارات ضمنية كالمصافحة للطلب أو الموثوقية أو تكامل البيانات. كما نعلم، يفترض UDP أن فحص الأخطاء وتصحيحها ليس مهماً أو يتم إجراؤه في التطبيق، وذلك لتجنب الحمل الزائد لمثل هذه المعالجة على مستوى واجهة الشبكة. وذلك ما يجعله متلائم ومتوافق مع حزم البث Broadcasting والإرسال المتعدد Multicasting.
يعتبر بروتوكول UDP على أنه برتوكول عديم الاتصال Connectionless، أي أنه لا يعتمد على الاتصال لنقل البيانات. وهذ يعني أنه ليس بحاجة الى تأسيس وعمل جلسة اتصال، ومنه عدم ضمان نقل جميع البيانات بشكل كامل طوال الوقت. لذلك، إذا قام جهاز حاسوب ما بإرسال البيانات، فإنه لن يكترث للبيانات فيما إذ تم وصولها الى الجهاز الآخر أم لا. ومن هنا يطلق على بروتوكول UDP أحيانا الاسم أو العبارة "أطلق وانسى" أي Fire and Forget، الأمر الذي يعطى بروتوكول UDP سرعة أعلى في نقل البيانات لكن مع عدم ضمان وصول كافة البيانات الى الهدف بالشكل الكامل.

الاختلافات الرئيسية بين TCP و UDP

1- TCP هو بروتوكول مهيأ للاتصال، بينما UDP هو بروتوكول غير متصل وغير مهيأ لإجراء الاتصال.
2- تكون السرعة في بروتوكول TCP أبطأ بينما تكون سرعة UDP أسرع.
3- يستخدم TCP بروتوكول المصافحة Handshake Protocol مثل SYN و SYN-ACK و ACK بينما لا يستخدم UDP بروتوكولات المصافحة تلك.
4- يقوم TCP بفحص الأخطاء ويقوم أيضاً باستعادة تلك الأخطاء وتصحيحها، من ناحية أخرى، يقوم UDP بإجراء فحص للأخطاء، لكنه يتجاهل الحزم الخاطئة.
5- يحتوي TCP على مقاطع إقرار معرفية تسمى بالـ Acknowledgement Segments تساعد على إتمام تصحيح المسارات والأخطاء للبيانات أثناء النقل واتمامها بالشكل الصحيح، لكن UDP لا يحتوي على أي من تلك المقاطع.
6- TCP ثقيل الوزن و UDP خفيف الوزن، ونقصد هنا بالمصطلح ثقيل الوزن أن TCP يتطلب ثلاث حزم لإعداد قاعدة اتصال قبل إرسال أي بيانات للمستخدم. أما المصطلح خفيف الوزن، فيعني أن البروتوكول UDP لا يوجد فيه ترتيب للرسائل ولا اتصالات تتابعية.

ميزات وخصائص بروتوكول التحكم بالنقل TCP

فيما يلي بعض المواصفات المهمة لبروتوكول التحكم بالنقل TCP
1- الإقرار بالتسليم، أي إقرارات التسليم للبيانات.
2- إعادة الإرسال.
3- تأخير الإرسال عندما تكون الشبكة مزدحمة بالبيانات.
4- كشف الأخطاء بسهولة.

ميزات وخصائص بروتوكول بيانات المستخدم UDP

فيما يلي بعض المواصفات المهمة لـ UDP:
1- يدعم التطبيقات عالية النطاق الترددي والتي تتسامح مع فقدان الحزمة.
2- تأخير أقل في نقل البيانات.
3- يرسل كمية أكبر من الحزم.
4- إمكانية فقدان البيانات واردة.
5- يسمح بمعاملات النقل البسيطة كالبحث عن خادم اسم النطاق أي (DNS Lookup).

جدول الفرق بين TCP و UDP

فيما يلي جدول يقوم بعرض أهم الاختلاف والمقارنة بين TCP و UDP
TCP
UDP
بروتوكول مهيأ للاتصال.
بروتوكول غير متصل.
يقرأ TCP البيانات على أنها تدفقات من البايت، ويتم إرسال الرسالة إلى حدود المقطع.
تحتوي رسائل UDP على الحزم التي تم إرسالها واحدة تلو الأخرى. كما يتحقق من النزاهة في وقت الوصول.
تشق رسائل TCP طريقها عبر الإنترنت من كمبيوتر إلى آخر.
لا يعتمد على الاتصال، لذلك يمكن لبرنامج واحد إرسال الكثير من الحزم إلى برنامج آخر.
يعيد TCP ترتيب حزم البيانات بالترتيب المحدد.
ليس لبروتوكول UDP ترتيب ثابت لأن جميع الحزم مستقلة عن بعضها البعض.
سرعة TCP أبطأ.
UDP أسرع حيث لا تتم محاولة استرداد الأخطاء.
حجم الرأس (Header Size) 20 بايت
حجم الرأس (Header Size) 8 بايت.
TCP ثقيل الوزن! يحتاج TCP إلى ثلاث حزم لإعداد اتصال مأخذ قبل إرسال أي بيانات مستخدم.
UDP خفيف الوزن! لا توجد اتصالات تتبع أو طلب رسائل وما إلى ذلك.
يقوم TCP بفحص الأخطاء ويقوم أيضاً باستعادة الأخطاء.
يقوم UDP بفحص الأخطاء، لكنه يتجاهل الحزم الخاطئة.
يشمل على مقاطع إقرار معرفية تسمى بالـ Acknowledgement Segments تساعد على إتمام تصحيح المسارات والأخطاء
لا توجد أي من مقاطع الإقرار المعرفية.
استخدام بروتوكول المصافحة مثل SYN و SYN-ACK و ACK
لا توجد بروتوكول مصافحة (بروتوكول بدون اتصال)
TCP موثوق لأنه يضمن تسليم البيانات إلى جهاز التوجيه الوجهة.
لا يمكن ضمان تسليم البيانات إلى الوجهة في UDP.
يوفر TCP آليات واسعة النطاق للتحقق من الأخطاء لأنه يوفر التحكم في التدفق والإقرار بالبيانات.
يحتوي UDP على آلية واحدة للتحقق من الأخطاء تُستخدم لفحص البيانات الصغيرة أثناء الإرسال والتخزين Checksums.

تطبيقات بروتوكول التحكم بالنقل TCP

فيما يلي سنعرض أه مزايا وفوائد استخدام نموذج TCP / IP
1- يساعدك على إنشاء وإعداد اتصال بين أنواع مختلفة من أجهزة الكمبيوتر.
2- يعمل بشكل مستقل عن نظام التشغيل.
3- يدعم العديد من بروتوكولات التوجيه Routing Protocols.
4- أنها تمكن اتصال الإنترنت بين المنظمات والمؤسسات المختلفة.
5- يمكن تشغيله بشكل مستقل.
6- يمكن استخدام TCP لإنشاء اتصال بين جهازي كمبيوتر فما أكثر مستخدما البروتوكول المناسب مثل FTP، SSH، Telnet، SMTP، HTTP وغيرها من البروتوكولات التي تعتمد على بروتوكول الاتصال TCP.

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

1- تُستخدم طريقة أو بروتوكول UDP بشكل كبير بواسطة التطبيقات الحساسة للوقت، أي تلك التي لا تحتمل أن يكون الوقت المستغرق في نقل البيانات كبيراً نسبياً، وكذلك بواسطة الخوادم التي تجيب على الاستفسارات الصغيرة من قاعدة عملاء أكبر.
2- UDP متوافق مع حزم البث للإرسال عبر الشبكة والإرسال المتعدد.
3- يتم استخدام UDP أيضاً في نظام اسم المجال DNS، ونقل الصوت عبر IP أي VoIP، والألعاب عبر الإنترنت.
4- تعمل عليه البروتوكولات التي تتطلب سرعة كبيرة في النقل مثل DNS، DHCP، TFTP، NTP، LDAPS وغيرها.

حسنات بروتوكول التحكم بالنقل TCP

فيما يلي مزايا وحسنات TCP
1- يساعدك على إنشاء أو إعداد اتصال بين جميع أنواع الأجهزة المربوطة على الشبكة.
2- يعمل بشكل مستقل عن نظام التشغيل.
3- يدعم العديد من بروتوكولات التوجيه.
4- تمكين اتصال الإنترنت بين المنظمات والأفراد كافة.
5- يتميز نموذج TCP / IP بهيكلية الخادم - العميل القابلة للتوسع بدرجة كبيرة والى حد كبير.
6- يمكن تشغيله بشكل مستقل.
7- يدعم العديد من بروتوكولات التوجيه.
8- يمكن استخدامه لإنشاء الاتصال بين جهازي كمبيوتر مباشرة.

حسنات بروتوكول بيانات المستخدم UDP

فيما يلي مزايا وفوائد UDP:
1- لا يتقيد بروتوكول UDP بنموذج الاتصال، أي لا يتطلب وجود أي نوع من الاتصال على الاطلاق؛ وهذا هو سبب انخفاض زمن انتقال بدء التشغيل Startup Latency في التطبيقات الموزعة Distributed Applications.
2- يحصل مستلم حزم UDP على هذه الحزم بطريقة غير منظمة تخلو من أي ترتيبات (أي غير مدارة).
3- خاصية الإذاعة والبث المتعدد متاحان في UDP.
4- يصلح لتطبيقات ذات عض النطاق العالي والتي تحتمل فقدان بعض الحزم.
5- البحث السريع عن خادم اسم النطاق DNS Lookup.

عيوب وسيئات بروتوكول التحكم بالنقل TCP

هنا أهم عيوب استخدام TCP:
1- لا يُنهي بروتوكول TCP الإرسال مطلقاً بدون طلب صريح لجميع البيانات المتحركة المنقولة.
2- لا يمكنك استخدام TCP للبث أو الإرسال المتعدد.
3- لا توجد حدود لـ TCP، (أي Block Boundaries لذا عليك إنشاء حدود خاصة بك.
4- يقدم TCP العديد من الميزات الزائدة والتي لا تريدها؛ الأمر الذي قد يهدر عرض النطاق الترددي أو الوقت أو الجهد.
5- في هذا النموذج من TCP، لا تضمن طبقة النقل تسليم الحزم.
6- استبدال البروتوكول في TCP / IP ليس بالأمر السهل.
7- وأسواء ما في الأمر، أن TCP لا يقدم فصلاً واضحاً عن خدماته وواجهاته وبروتوكولاته بالتفصيل.

عيوب وسيئات بروتوكول بيانات المستخدم UDP

هنا، أهم سلبيات وعيوب UDP:
1- في بروتوكول UDP، قد لا يتم تسليم الحزمة أو قد يتم تسليمها مرتين. أيضاً، قد يتم تسليمها معطلة، لذلك لا تحصل على أي إيحاء يشير الى الخطأ!
2- أجهزة التوجيه (الراوتر) مهملة تماما مع وجود UDP، لذا فهي لا تعيد إرسالها أبداً إذا تصادمت الحزم (أي أن الخطأ  وارد).
3- لا يحتوي UDP على خاصية التحكم في الازدحام والتحكم في التدفق، لذا فإن التنفيذ هو مهمة تطبيق المستخدم.
4- يعاني UDP في غالب الوقت من فقدان الحزم وأحيانا لدرجة تبديه بشكل سيء.

متى تستخدم UDP و TCP؟

1- يعد TCP خياراً مثالياً، وحتى أن كان مكلف نسبياً؛ فعندما يكون معظم الحمل في الاتصال، يظل تطبيقك متصلاً لأي فترة من الوقت وعلى الدوام.
2- يعد UDP مثالياً للاستخدام مع الوسائط المتعددة مثل VoIP.
3- استخدم قاعدة اتصال TCP عندما يرسل كل من العميل والخادم الحزم بشكل مستقل في ذلك الوقت؛ التأخير العرضي مقبول. (على سبيل المثال، لعبة البوكر عبر الإنترنت).
4- يجب عليك استخدام للمستخدم UDP إذا كان بإمكان كل من العميل والخادم إرسال الحزم بشكل منفصل، وأن مسألة التأخير غير مقبولة أيضاً. (على سبيل المثال، ألعاب الانترنت والشبكات Multiplayer Games مثل لعبة Pubg).


هناك تعليق واحد:

اترك لنا أي سؤال أو تعليق ونحن نسعد بخدمتكم وإجابة استفساراتكم

???????