المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : User Datagram Protocol / UDP



المهندس زياد
05-04-2010, 21:53
السلام عليكم ورحمة الله


User Datagram Protocol


من الممكن إستخدام بروتوكول UDP في إجراء عملية اتصال فورية دون إعداد المسار مقدما أو بمعنى آخر يشتمل بروتوكول UDP على خدمة الاستلام نفسها الخاصة بوحدات البيانات التي يقدمها بروتوكول IP والتي تفتقر إلى جميع إعدادات التأمين اللازمة وعلى عكس بروتوكول TCP لا يقوم بروتوكول UDP بإرسال وحدات البت من النوع SYN أو ACK للتأكيد على الاستلام وضمان تأمين عمليات الإرسال بل والأكثر من هذا أن بروتوكول UDP لا يتضمن وظيفة خاصة بالتحكم في تدفق البيانات أو بإستعادة الأخطاء وبالتالي فمن الممكن أن تتعرض الرسائل التي يتم تبادلها عبر بروتوكول UDP للضياع أو النسخ أو التكرار أو الوصول في ترتيب غير صحيح وحيث إن UDP يحتوي على مقدمات بيانات أصغر حجما فإن معدل الفعلى لنقل البيانات عبرالشبكة يكون أقل منه في برتوكول TCP .

https://upload.wikimedia.org/wikibooks/en/0/0f/Fig2_UDPwork.jpg

يستخدم برتوكول UDP بشكل نموذجي حينما تكون هناك إمكانية في بروتوكولات الاتصال الرئيسية (بروتوكولات الطبقة العليا) لإجراء العمليات الخاصة بإستعادة الأخطاء والتحكم في تدفق وسير البيانات ونستطيع أن نذكر من بين برامج الخدمة التلقائية الشهيرة التي يمكنها أن تستخدم في بروتوكول UDP كلا مما يأتي:Network File System NFS و Simple Network Management Protocol SNMP و Trivial File Transfer Protocol TFTP و Domain Name System DNS وغير ذلك العديد مما لا يتسع المجال لذكره هنا.

https://upload.wikimedia.org/wikibooks/en/6/6f/Fig1_osilayer.jpg

عمليات التنسيق والتضمين ولقطات مقدمات البيانات في بروتوكول UDP


تعرف الرسائل التي يتم تبادلها عبر بروتوكول UDP بإسم وحدات البيانات الخاصة بالمستخدم User Datagram يتم تضمين هذه الوحدات من البيانات في IP بما في ذلك مقدمة البيانات والبيانات الفعلية الخاصة ببروتوكول UDP حيث يتم إرسالها عبر الإنترنت وفي الواقع يقوم بروتوكول UDP بإضافة مقدمة بيانات إلى البيانات التي يقوم أحد المستخدمين إرسالها ثم يقوم بتمريرها بعد ذلك الى بروتوكول IP وتقوم الطبقة الخاصة ببروتوكول IP بعد ذلك بإضافة هذه المقدمة إلى البيانات التي يتم استقبالها من UDP وفي النهاية تقوم الطبقة الخاصة بواجهة الاستخدام المتعلقة بالشبكة بإدراج وحدات البيانات في مقطع قبل إرسالها من جهاز إلى آخر.

كما ذكرنا من قبل تحتوى رسائل UDP على مقدمات أصغر وتستهلك مساحات تخزين أقل مما تستهلكها الرسائل الخاصة ببروتوكول TCP في الشكل القادم يبين عرض التنسيق الخاص بوحدات البيانات الخاصة ببروتوكول UDP


https://goethe.ira.uka.de/seminare/rkt/tcp+udp/UDP-Header.png
Source/Destination Port: رقم خاص بأحد منافذ الاتصال المرتبطة ببروتوكول UDP ومؤلف من 16 بت يستخدم في معالجة وحدات البيانات.

Message Length : يحدد عدد الوحدات المؤلفة من 8 بت كحد أقل للقيمة في وحدات البيانات لهذا البروتوكول.

Checksum : حقل اختياري للتأكيد على استلام وحدة البيانات

Data : البيانات التي تم تمريرها إلى بروتوكول TCP بما في ذلك مقدمات البيانات الموجودة في الطبقة العليا.


منافذ الاتصال وعلاقتها بعمليات الإرسال المتزامن والغير متزامن


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

تتم عمليتا الإرسال المتعدد Multiplexing والمنفصل Demultiplexing عبر منافذ الاتصال وعليه فلا بد من تحديد رقم منفذ معين من جانب التطبيق الخاص بكل وحدة من وحدات الاتصال قبل ارسال وحدة البيانات الخاصة ببروتوكول UDP وعندما يكون بروتوكول UDP مستخدما في وحدة الاتصال المستقبلة لوحدة البيانات فإنه يقوم بفحص مقدمة البيانات حقل Destination Port لتحديد ما اذا كانت تتطابق مع المنفذ المستخدم حاليا احدى الوحدات واذا كان المنفذ مستخدما من جانب أحد التطبيقات الخاصة بعملية التسجيل يتم استئناف عملية الارسال اذا كان المنفذ مستخدما في أحد برامج التسجيل يتم عرض رسالة إعلام بالخطأ باستخدام ICMP ويتم التجاوز عن وحدة البيانات ورفضها


بإختصار وفي نقاط:

يعتبر بروتوكول UDP:

connectionless
انظر الى الرسمة الآتية

unreliable transport protocol

انظر الى أول رسمة في الموضوع

https://xilef325.files.wordpress.com/2009/07/tcp-versus-udp.jpg

يستعمل عند نقل بيانات أقل أهمية و ضمان الوصول ليس ضروريا

لا يستعمل في نقل بيانات مهمة مثل :

webpages

database informationوغيرها.....

يستعمل في نقل بيانات من نوع

Streaming media

مثل

الفيديو والصوت وغيرها
لأنها توفر وتتطلب سرعات عالية

وتعتبر UDP أسرع من TCP لأنها

لاتتحكم في نقل البيانات
لا تصحح الأخطاء
لا ترسل تأكيد وصول البيانات

أشهر أنواع Ports المستخدمة من قبل UDP

https://upload.wikimedia.org/wikibooks/en/7/7b/Fig5_udpport.jpg

raouf_dz
06-04-2010, 00:00
بارك الله فيك على الشرح

وما توصلت اليه واستنتجته من مطالعتي لمقالك

هو ان بروتوكول UDP بستعمل لنقل الاشياء لبغير مهم وصولها كاملة

كالصوت مثلا عند فقدان كلمة لا يؤثر على الحديث كاملا كما انه سريع بالنظر الى انه لا يقوم بمتابعة سلامة وصول المعلومة سليمةاو لا

عكس TCP

تقبل تحياتي وانا في انتظلر جديدك

المهندس زياد
06-04-2010, 00:05
بارك الله فيك على الشرح

وما توصلت اليه واستنتجته من مطالعتي لمقالك

هو ان بروتوكول UDP بستعمل لنقل الاشياء لبغير مهم وصولها كاملة

كالصوت مثلا عند فقدان كلمة لا يؤثر على الحديث كاملا كما انه سريع بالنظر الى انه لا يقوم بمتابعة سلامة وصول المعلومة ام لا

عكس TCP

تقبل تحياتي وانا في انتظلر جديدك



فيك بارك الله وكلامك صحيح

ma7moud 7amdy
08-01-2012, 11:48
الله ينور :ah7: