تکنولوژیسیسکوشبکه و ارتباطات

تفاوت پروتکل TCP و UDP

دو پروتکل پر کاربرد که شاید بیش از هر پروتکل دیگری در متن های دانشگاهی و غیردانشگاهی IT و شبکه نام آن به چشم می خورد  TCP و UDP است. TCP کوتاه شده Transmission Control Protocol و UDP مخفف User Datagram Protocol است. ترجمه عبارت Transmission Control Protocol به زبان فارسی پروتکل کنترل انتقال و ترجمه User Datagram Protocol نیز پروتکل دیتاگرامِ کاربر است.

از آن جایی که مشاهده می شود عده زیادی از دانشجویان حتی بعد از فارق التحصیلی درک درستی از تعریف ، مفهوم ، کاربرد و تفاوت این دو پروتکل با یکدیگر ندارند ، تصمیم گرفتم که با وجود حجم بالای مقاله ها درباره TCP و UDP در اینترنت ، آن ها را به زبان ساده تری توضیح دهم. بنابراین با تک تیک همراه باشید تا پازل های پراکنده ذهن مان را به هم بچسبانیم.

همان طور که گفته شد ، User Datagram Protocol به معنای پروتکل دیتاگرام کاربر است. از آن جایی که Datagram یک واژه جدید و تخصصی در زبان انگلیسی است ، ترجمه فارسی برای آن وجود ندارد. بنابراین شاید یکی از مشکلات دانشجویان در اولین مواجهه با نام این پروتکل عدم درک معنای نام آن است.

Datagram چیست؟

Datagram از نطر لغوی ترکیبی از دو کلمه Telegram و Data است. پس نتیجه می گیریم که این واژه به نوعی از Data ، داده و یا اطلاعات اشاره می کند. دیتا ای که احتمالا باید ویژگی شبیه ارسال پیام از طریق دستگاه تلگراف داشته باشد.

در دنیای شبکه دیتا ها در قالب بسته هایی ارسال می شوند که یا برای رسیدن  آن ها به مقصد تضمین وجود دارد و یا هیچ تضمینی برای رسیدن آن ها به مقصد وجود ندارد. در واقع Datagram نوعی بسته است که برای رسیدن آن به مقصد هیچ تضمینی توسط شبکه وجود ندارد.

اما هنوز یکی از واژه های عبارت User Datagram Protocol باقی مانده است. چرا از کلمه User یا کاربر در این جا استفاده شده است؟ علت آن است که اگر قرار باشد شبکه ، تحویل داده به مقصد را تضمین نکند ، همچنان یک راه برای تایید رسیدن بسته به مقصد وجود دارد. ( اگر وجود نداشته باشد شبکه به چه درد می خورد ؟ )  این راه نه از طریق دیوایس های شبکه مثل روتر ، بلکه از طریقِ اعلام دریافت بسته توسط User ، کاربر یا به زبان دیگر کامپیوتر مقصد و Endpoint است.

UDP و TCP در کدام لایه کار می کنند و کاربرد آن ها چگونه است؟

TCP و UDP هر دو در لایه Transport کار می کنند. کار هر دوی این پروتکل ها این است که از رسیدن بدون خطای پیغام ها به مقصد ، با ترتیب درست و بدون از دست رفتن یا دو بار فرستاده شدن اطمینان حاصل شود. تفاوت کلیدی TCP با UDP در این موضوع است که علاوه بر کابردی که گفته شد ، در پروتکل TCP سرویس های بسیار مختلفی برای استفاده نرم افزار ها گنجانده شده است که در UDP وجود ندارد. به همین دلیل ساختار پروتکل TCP بسیار پیچیده تر از UDP است.

با توجه به تصویر بالا هر دو پروتکل TCP و UDP در لایه Transport کار می کنند و می دانیم که لایه Transport در هر دو مدل OSI و TCP/IP مشترک است. از طرفی کاری که هر دو این پروتکل ها انجام می دهند مشترک است. پس چرا ما به هر دو آن ها احتیاج داریم؟

پاسخ این سوال بسیار ساده است. TCP کند تر اما قابل اعتماد تر است. در حالی که UDP سریع تر ولی غیر قابل اعتماد می باشد.

در بسیاری از مواقع ما نیاز داریم که بتوانیم پیغام ها را با قابلیت اعتماد بالا دریافت و ارسال کنیم. برای مثال دسترسی به صفحه های وب ، ارتباط ایمیلی ، آپلود فایل و … از فعالیت هایی هستند که خرابی یک بسته به قیمت خرابی کل فایل تمام می شود. با استفاده از TCP بسته های آسیب دیده ترمیم می شوند یا دوباره ارسال می شوند که از سلامت فایل اطمینان حاصل شود.

TCP برای اینکه بتواند قابل اعتماد باشد ، بیت هایی را به منظور ردیابی و بررسی به همراه بسته ارسال می کند. همین بیت های اضافه و مکانیزم هایی که برای اطمینان از سلامت و ردیابی بسته وجود دارد ، باعث می شود که بسته بزرگ تر باشد و همچنین به مقدار بیشتری از  پهنای باند و منابع پردازشی نیاز داشته باشد.

اگرچه UDP مانند TCP قابل اعتماد نیست ؛ اما همین عدم استفاده از بیت های اضافه جهت ردیابی و سلامت بسته باعث می شود که بسیار سریع تر عمل کند. برای مثال در زمان انتقال ویدیو و صدا مهم ترین موضوع ارسال به صورت Real-Time است. تصور کنید در حال مکالمه با دوست تان هستید. کدام موضوع برای شما آزاردهنده تر است ؟ رسیدن با تاخیر صدا یا افت کیفیت جزئی ؟ اگر چه در استفاده از UDP به دلیل عدم وجود بیت های بررسی و ردیابی ، ممکن است کیفیت صدا یا تصویر افت داشته باشد ، اما امکان بیشتری وجود دارد که صدا به صورت Real-Time و در لحظه دریافت و ارسال شود.

تا به حال متوجه شده اید که مطالعه پروتکل ها و کاربرد آن ها تا چه حد لذت بخش می تواند باشد. گذشته از این احاطه به پروتکل ها در زمان Troubleshooting شبکه بسیار کاربرد  دارد. در قسمت دوم این مقاله درباره فرآیند بسیار مهم Three Way Handshake صحبت کرده ایم که می توانید آن را در این لینک مطالعه نمایید.

ویدیو کپچر Three Way Handshake به وسیله وایرشارک : https://youtu.be/hSwQztNEGhQ

۳.۳ ۴ رای دادن
رای دادن به مقاله

نوید داریا

Experienced IT Specialist with a demonstrated history of working in the information technology and services industry. Skilled in VMware ESX, Domain Name System (DNS), DHCP, VoIP, Veeam Backup Solutions, Adobe Connect, Servers, and Data Center. Strong operations professional graduated from Amirkabir University of Applied Sciences and Technology. Now I am studying Informatics at Vienna University
اشتراک در
اشاره به موضوع
guest
0 کامنت
Inline Feedbacks
مشاهده همه کامنت ها
دکمه بازگشت به بالا