پروتکل UDP چیست؟ بررسی UDP Header با وایرشارک

امیر ساتکین
مدرس : امیر ساتکین
دوره +Network فصل7 درس2
نام درس : پروتکل UDP چیست؟ بررسی UDP Header با وایرشارک
نام فصل : فصل 7 - سرویس های مبتنی بر پروتکل IP
پیشنیاز :
معرفی این ویدیو آموزشی به دوستان

پروتکل UDP چیست؟

پروتکل UDP در لایه 4 (Transport) از مدل OSI کار میکند و وظیفه آن دریافت دیتا از برنامه کاربردی فرستنده در کامپیوتر مبدا و مدیریت انتقال آن به سمت کامپیوتر مقصد و تحویل آن به برنامه کاربردی گیرنده دیتاست. تلاش UDP اینست که دیتا هرچه سریعتر به دست همتای خود در ماشین مقصد برسد. شناسه پروتکل UDP شماره 17 است و پروتکل IP از طریق این شماره با این پروتکل ارتباط برقرار میکند و بسته دریافتی از شبکه را به آن تحویل میدهد. UDP رابط بین پروتکل IP با برنامه های کاربردی در لایه 7 (Application) مدل OSI است که میخواهند داده ها هرچه زودتر بدست کامپیوتر مقصد برسند.

معمولا مدیریت ارسال و دریافت داده های مربوط به ارتباطات زنده صوتی و تصویری مانند کنفرانسها و تماسهای تلفنی صوتی و ویدئویی، بازیهای آنلاین چندکاربره، تلویزیونهای اینترنتی و …. توسط پروتکل UDP انجام میشود. علاوه بر این اپلیکیشنها، بعضی از پروتکلهای رایج شبکه TCP/IP مانند پروتکل DNS و پروتکل DHCP هم از udp برای انتقال دیتاهای خود استفاده میکنند. این پروتکل در ماشین مبدأ هیچ هماهنگی با UDP در ماشین مقصد انجام نمیدهد و بدون اطلاع قبلی و دریافت تایید از کامپیوتر مقابل، اقدام به تحویل داده ها به پروتکل IP میکند تا آی پی بسته را برای ارسال، آدرس دهی و بسته بندی کند. در واقع UDP مثل یک مهمان ناخوانده عمل میکند و بدون هیچ هماهنگی با میزبان وارد خانه میشود.

وظایف پروتکل UDP:

  • دریافت داده از برنامه های کاربردی و تحویل آن به پروتکل آی پی برای انتقال در شبکه.
  • بسته بندی کردن دیتا. این بسته های دیتا در ادبیات UDP به Datagram معروف هستند.
  • اضافه کردن شماره درگاه (Port Number) مبدا و مقصد در هدر UDP. پروتکل یو دی پی در کامپیوتر مقصد از طریق شماره پورت مقصد (UDP Destination Port) میفهمد که دیتا را باید تحویل کدام اپلیکیشن دهد. همچنین از طریق شماره پورت مبدا (UDP Source Port) میتواند پاسخ مبدا را بدهد.
  • کشف اینکه آیا داده دریافت شده سالم است یا در مسیر شبکه آسیب دیده است.

 

بررسی UDP Header

بررسی UDP Header

UDP Header به اندازه 8 بایت است و دارای 4 فیلد است که در مجموع فقط 64 بیت (8 بایت) طول دارد. فیلدهای UDP Header شامل موارد زیر است:

  • UDP Source Port

اولین فیلد از UDP Header که شامل 16 بیت (2 بایت) است. Port number می تواند از 0 تا 65535 مقداردهی شود. شماره UDP Source Port آدرس برنامه کاربردی در کامپیوتر فرستنده دیتا است و برای این در هدر قرار میگیرد که کامپیوتر مقصد بتواند با کمک آن پاسخ را به برنامه کاربردی برگرداند.

  • UDP Destination Port 

فیلد UDP Destination Port شامل 16 بیت (2 بایت) است. Destination Port Number میتواند از 0 تا 65535 مقداردهی شود. با کمک این فیلد برنامه کاربردی که گیرنده بسته است در ماشین مقصد شناسایی و بسته توسط UDP به آن تحویل میشود.

  • UDP Message Length

فیلد 16 بیتی (2 بایت) که نشانگر اندازه UDP Header و UDP Data است.

  • UDP Checksum

اندازه این فیلد 16 بیت (2 بایت) است و برای تعیین سالم بودن بسته بکار میرود. Checksum یک عملیات ریاضی است که برای اطمینان حاصل کردن از عدم تغییر محتویات داده نگار (Datagram) در طول مسیر رسیدن تا کامپیوتر مقصد بکار میرود. اگر دیتا در مسیر به هر دلیلی تغییر کرده باشد نتیجه الگوریتم ریاضی مورد استفاده در مبدا و مقصد یکسان نخواهد بود و این نشان دهنده اینست که بسته UDP آسیب دیده و باید دور ریخته شود. checksum آخرین فیلد در هدر UDP است و پس از آن نویت به تحویل دیتا به اپلیکیشن مقصد میرسد.

UDP Checksum

  • شماره 1: در تصویر بالا به بررسی ترافیک پروتکل DNS با اپلیکیشن وایرشارک پرداختیم. شماره 1 به فیلد Source Port از UDP Header یک بسته DNS Query که قرار است از DNS Client برای DNS Server ارسال شود اشاره میکند. شماره پورت کلاینت بصورت تصادفی انتخاب میشود. سرور نیز در برگشت و پاسخ به کلاینت، شماره پورت مقصد در UDP Header را همین شماره تصادفی قرار میدهد که کلاینت برای خود تعیین کرده است.
  • شماره 2: در تصویر بالا اشاره به فیلد UDP Destination Port از هدر UDP میکند که آدرس برنامه DNS Server در کامپیوتر سرور است. DNS Server از پورت UDP53 برای ارتباط با کلاینت استفاده میکند.
  • شماره 3: اندازه بسته UDP هنگام Encapsoulate شدن و تحویل بسته به پروتکل IP در لایه 3 مدل OSI را نشان میدهد.
  • شماره 4: پروتکل UDP ویژگی را پشتیبانی میکند بنام Checksum که برای Error Detection کاربرد دارد. Checksum فرآیندی است که توسط UDP در کامپیوتر مبدا اجرا میشود و بر اساس آن یک عملیات ریاضی بر روی دیتا انجام و حاصل عددی آن در فیلدی بنام Checksum در هدر UDP نوشته میشود تا UDP در کامپیوتر مقصد حاصل عددی Checksum خود را با حاصل عددی Checksum انجام شده در کامپیوتر مبدا مقایسه کند. بنابراین در مقصد دوباره همان عملیات ریاضی بر روی بسته UDP انجام میشود. اگر عدد Checksumهای مبدا و مقصد برابر باشد یعنی دیتا بدون ایراد یا دستکاری به مقصد رسیده است و در مسیر شبکه آسیبی به آن وارد نشده است؛ در غیر اینصورت UDP دیتا را به برنامه کاربردی تحویل نمیدهد و آن را دور می اندازد.
  • شماره 5: اشاره به پیام DNS میکند که توسط UDP بسته بندی و آماده برای ارسال به مقصد شده است. همانطور که در تصویر میبینید UDP بسته را تحویل پروتکل IP داده و پروتکل IP نیز پس از Encapsulate کردن، آن را تحویل پروتکل Ethernet داده تا از طریق کارت شبکه به سمت مقصد ارسال شود.

مقایسه پروتکل UDP با TCP

با بررسی فیلدهای این دو پروتکل شباهت و تفاوتهای آنها به آسانی آشکار میشوند. TCP خصوصیات و جزئیات بیشتری نسبت به UDP دارد و همین باعث میشود پروتکل TCP نسبت به پروتکل UDP دقت بیشتری در نحوه بسته بندی و ارسال دیتا داشته باشد و در نتیجه میتواند رساندن دیتا به مقصد را تضمین کند. اما UDP سرعت بیشتر و معطلی کمتری برای ارسال دیتا دارد.

در UDP Header چیزی به غیر از ضروریات قطعی مثل Source Port و Destination Port برای یک تحویل زمانبندی شده وجود ندارد. اما TCP اطلاعات زیادی در Header خود دارد که برای پشتیبانی از خصوصیات گوناگون این پروتکل شامل کنترل جریان، توالی، تاییدها و نیز توانایی باز انتقالی کاربرد دارند؛ به همین دلیل سرعت کمتری نسبت به UDP در ارسال دیتا دارد. TCP و UDP در کنار هم یک تیم خوب را تشکیل میدهند. این دو پروتکل داده محور هستند و هیچ چیز درباره شبکه نمیدانند؛ در نتیجه هر دو آنها برای ارسال دیتا باید به پروتکل IP تکیه کنند.

 

4.3 6 votes
رأی دهی به مقاله
سوال های آزمون از ویدیو آموزشی و مطالب نوشته شده در صفحه طرح می شوند.
هر پاسخ درست یک امتیاز مثبت
هر پاسخ اشتباه یک امتیاز منفی
آزمون درس پروتکل UDP چیست؟ بررسی UDP Header با وایرشارک

برای دسترسی به تمرین، وارد حساب کاربری شوید.

سوال های تان را بپرسید. پشتیبان های فنی پاسخ می دهند.
خبر نامه
اطلاع از
guest
0 نظرات
Inline Feedbacks
View all comments
1.
عضویت در انجمن سیسکو
2.
عضویت در انجمن لینوکس
3.
عضویت در انجمن امنیت سایبری