الفرق بين TCP و UDP

الفرق بين 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).

admin

اقراء ايضا