چه تفاوتی بین TCP و UDP وجود دارد؟ – فرق بین TCP و UDP
در این آموزش سعی داریم با بیان اینکه چه تفاوتی بین TCP و UDP وجود دارد، فرق بین این دو پروتکل انتقال را برایتان بازگو نماییم؛ همانطور که میدانید در بین پروتکل های انتقال، دو پروتکل پر کاربرد که شاید بیش از هر پروتکل دیگری در متن های دانشگاهی و غیردانشگاهی IT و شبکه نام آنها به چشم می خورد TCP و UDP است. TCP کوتاه شده Transmission Control Protocol و UDP مخفف User Datagram Protocol است. معنی Transmission Control Protocol به زبان فارسی پروتکل کنترل انتقال و User Datagram Protocol نیز پروتکل دیتاگرامِ کاربر است.
شاید تاکنون یکی از مفاهیمی که بدرستی توسط دانشپذیران و دانشجویان درک نشده باشد تفاوت بین این دو پروتکل باشد، از همین رو قصد داریم در این مقاله این مشکل را حل کرده و پاسخی دقیق و قابل هضم به این سوال خدمت شما ارائه دهیم.
کلمه datagram که به تازگی وارد زبان انگلیسی شده و معنای مشخصی ندارد، میتواند توجیه خوبی برای کسانی که متوجه تفاوت بین این دو پروتکل نمیشوند باشد؛ این کلمه که از ترکیب دو واژه Telegram و Data به وجود آمده به معنای “اطلاعاتی که از راه دور می آید” میباشد و چون از کلمه تلگراف در آن استفاده شده میتوان این برداشت را نمود که تضمین خاصی در رسیدن پکت های آن وجود نداشته و ممکن است تعدادی از پکت ها بین راه از بین بروند.
تفاوت TCP و UDP ؛
مرتبط و بدون ارتباط؛
TCP یک پرتکل connection-oriented و UDP یک پروتکل connection-less است. بدین معنا که TCP قبل از ارسال اطلاعات، ارتباطی بین فرستنده و گیرنده برقرار می کند در صورتی که UDP قبل از ارسال داده ها، هیچ ارتباطی برقرار نمی کند.
قابلیت اطمینان؛
TCP قابل اعتماد است به طوری که تضمین می کند داده های ارسال شده را به گیرنده تحویل دهد. چنانچه قسمتی از اطلاعات در فرایند ارسال از بین برود، آن را بازیابی و مجددا ارسال می کند. TCP مدام در حال بررسی پکت ها جهت احتمال خطا می باشد و آن ها را ردیابی نموده تا اطلاعاتی از بین نرود و یا خراب نشود.؛ این در حالیست که UDP قابل اعتماد نیست یعنی تحویل داده های ارسال شده را توسط گیرنده، تضمین نمی کند و حتی اطلاعات ارسال شده، ممکن است از بین برود و یا خراب شود.
کنترل جریان؛
TCP از مکانیزم کنترل جریان استفاده می کند تا مطمئن شود، فرستنده به یکباره حجم زیادی از اطلاعات را ارسال نکند؛ عملکرد TCP برای حل این مسئله به این شکل است که مقداری از داده ها در یک send buffer و receive buffer نگهداری می کند و در زمان مناسب ارسال و یا دریافت می کند. ولیUDP از کنترل جریان استفاده نمی کند؛ بنابراین، packet ها در فرایند جریان مداوم، یا ارسال می شوند و یا از بین می روند.
مرتب سازی؛
TCP تضمین میکند پکت ها، به ترتیب و بر اساس تاریخ ارسال شوند، درصورتیکه ترتیب ارسال UDP هیچ مبنایی ندارد.
سرعت؛
سرعت TCP، به این دلیل که عملکرد گسترده ای دارد، خیلی کندتر از UDP است. TCP میبایست یک connection ایجاد کرده، خطاهای احتمالی را بررسی و همچنین فایلها را، همانطور که ارسال شده، دریافت کند.
کاربرد؛
کاربرد TCP برای برنامه هایی است، اطمینان از اهمیت بالایی برخودار است ولی سرعت نه. مانند:
WWW , SSH , FTP , SMTP و ….
از UDP برای برنامه هایی استفاده می شود که نیاز به سرعت و کارایی داشته باشند. مانند:
DNS , VoIP , TFTP , Online Gaming , live broadcast و …