UDP چیست و چه ساختاری دارد ؟

پروتکل UDP: پروتکل TCP پروتکلی "اتصال گرا" است و لزوم برقراری یک ارتباط (تماس) قبل از هر گونه مبادله داده، میتواند بین چند میلی ثانیه (برای شبکههای محلی سریع) تا چندین ثانیه (برای شبکههای WAN) طول بکشد; در ضمن تامل برای بازگشت پیغامهای ACK، یک پروسه کاربردی را با تاخیر مواجه خواهد کرد. برای برخی از کاربردها (مثل کاربردهای صدا و تصویر) این زمان قابل تحمل نیست و سرعت در رسیدن یک بسته به مقصد، ضروری تر از مسائلی از قبیل بررسی شماره ترتیب و ارسال پیغامهای کنترلی محسوب میشود. در لايه انتقال از مدل TCP/IP براي چنين کاربردهايي يک پروتکل ساده و سريع به نام UDPمعرفي شده است که ذاتا "بدون اتصال" connectionless)) است، یعنی بدون هیچ اطلاعی از سرنوشتی که در انتظار یک بسته است، به سمت مقصد ارسال میشود. هر گونه اطلاع از رسیدن یا نرسیدن دادهها باید در لایه بالاتر بررسی و مدیریت شود. پروتکل UDP، تمام کاستيهاي لايه IP را دارد و تنها ارمغان اين پروتکل براي پروسهها سرعت ارسال و کم شدن تاخيرات ناشي از نظارت بر جريان بستهها است. در ادامه ساختار بسيار ساده يک بسته UDP را بررسی میکنیم.

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

پروتکل UDP: پروتکل TCP پروتکلی اتصال گرا است و لزوم برقراری یک ارتباط (تماس) قبل از هر گونه مبادله داده، میتواند بین چند میلی ثانیه (برای شبکههای محلی سریع) تا چندین ثانیه (برای شبکههای WAN) طول بکشد; در ضمن تامل برای بازگشت پیغامهای ACK، یک پروسه کاربردی را با تاخیر مواجه خواهد کرد. برای برخی از کاربردها (مثل کاربردهای صدا و تصویر) این زمان قابل تحمل نیست و سرعت در رسیدن یک بسته به مقصد، ضروری تر از مسائلی از قبیل بررسی شماره ترتیب و ارسال پیغامهای کنترلی محسوب میشود. در لايه انتقال از مدل TCP/IP براي چنين کاربردهايي يک پروتکل ساده و سريع به نام UDPمعرفي شده است که ذاتا بدون اتصال connectionless)) است، یعنی بدون هیچ اطلاعی از سرنوشتی که در انتظار یک بسته است، به سمت مقصد ارسال میشود. هر گونه اطلاع از رسیدن یا نرسیدن دادهها باید در لایه بالاتر بررسی و مدیریت شود. پروتکل UDP، تمام کاستيهاي لايه IP را دارد و تنها ارمغان اين پروتکل براي پروسهها سرعت ارسال و کم شدن تاخيرات ناشي از نظارت بر جريان بستهها است.  در ادامه ساختار بسيار ساده يک بسته UDP را بررسی میکنیم. 
 
||http://tosinso.com/files/get/5a6dacc2-71d2-4a45-9b9f-088c155edd2f||

!! فیلد Source Port
در این فیلد، یک شماره 16 بیتی به عنوان ادرس پورت پروسه مبداء که این بسته را جهت ارسال، تولید کرده، قرار خواهد گرفت.

!! فیلد Detestation Port:
در این فیلد، ادرس پورت پروسه مقصد که ان را تحویل خواهد گرفت، تعیین خواهد شد. (این دو ادرس مشخص میکنند که این بسته از کدام برنامه کاربردی در لایه بالاتر تولید و باید به چه برنامهای در ماشین مقصد تحویل داده شود).

!! فيلد UDP Length:
در اين فيلد طول بسته UDP بر حسب بايت (شامل سرايند و دادهها) درج مي شود.

!! فیلد UDP Checksum:
در این فیلد 16 بیتی کد کشف خطا درج میشود. تنها تفاوت ان با همین فیلد در پروتکل TCP ان است که به کارگیری این فیلد اختیاری است و در صورت عدم نیاز به ان، تمام بیتهای ان به صفر تنظیم میشود. (برای کاربردهایي مثل ارسال دیجیتال صدا یا تصویر)

*مناسب ترین کاربرد پروتکل UDP برای پروسههایی است که عملیاتشان مبتنی بر یک تقاضا و یک پاسخ است. (مثل سیستم DNS برای ترجمه اسامی نمادین به ادرس IP).

نکته: ارسال Ack معمولا به صورت مجزا ارسال نمي شود بلکه ضميمه اطلاعاتي مي شود که قرار است در پاسخ ارسال شود مگر اينکه داده اي براي ارسال وجود نداشته باشد.
نکته: TCP وابسته به اتصال  و UDP غیر وابسته به اتصال  می باشد.

موفق باشيد.
مرتضي پاک نيت

فیلد Source Port

در این فیلد، یک شماره 16 بیتی به عنوان ادرس پورت پروسه مبداء که این بسته را جهت ارسال، تولید کرده، قرار خواهد گرفت.

فیلد Detestation Port:

در این فیلد، ادرس پورت پروسه مقصد که ان را تحویل خواهد گرفت، تعیین خواهد شد. (این دو ادرس مشخص میکنند که این بسته از کدام برنامه کاربردی در لایه بالاتر تولید و باید به چه برنامهای در ماشین مقصد تحویل داده شود).

فيلد UDP Length:

در اين فيلد طول بسته UDP بر حسب بايت (شامل سرايند و دادهها) درج مي شود.

فیلد UDP Checksum:

در این فیلد 16 بیتی کد کشف خطا درج میشود. تنها تفاوت ان با همین فیلد در پروتکل TCP ان است که به کارگیری این فیلد اختیاری است و در صورت عدم نیاز به ان، تمام بیتهای ان به صفر تنظیم میشود. (برای کاربردهایي مثل ارسال دیجیتال صدا یا تصویر)

*مناسب ترین کاربرد پروتکل UDP برای پروسههایی است که عملیاتشان مبتنی بر یک تقاضا و یک پاسخ است. (مثل سیستم DNS برای ترجمه اسامی نمادین به ادرس IP).

نکته: ارسال Ack معمولا به صورت مجزا ارسال نمي شود بلکه ضميمه اطلاعاتي مي شود که قرار است در پاسخ ارسال شود مگر اينکه داده اي براي ارسال وجود نداشته باشد.

نکته: TCP وابسته به اتصال و UDP غیر وابسته به اتصال می باشد.

موفق باشيد.

مرتضي پاک نيت


مرتضی  پاک نیت
مرتضی پاک نیت

"کلام صادقانه نفوذ دارد" با صداقت به پیروزی خواهیم رسید""النجات و فی صدق" http://matlabtehran.blog.ir کانال آموزشی ما در آپارات: http://www.aparat.com/farscoders کانال ما در تلگرام: telegram.me/freelanceri

نظرات