setakit.com
setakit.com

تفاوت TCP و UDP چیست

احتمالا واژه های TCP و UDP را به هنگام تنظیم کردن روتر و نرم افزار فایروال شنیده باشید. قبل از پرداختن به تفاوت های بین آن ها، ابتدا باید بدانید هر کدام دقیقا چه چیزی هستند و چه عملکردی دارند؟


در این مقاله می خوانید:

تفاوت TCP و UDP

موارد استفاده TCP و UDP

مشاهده فیلم آموزشی تفاوت TCP و UDP


TCP چیست؟

پروتکل کنترل انتقال یا TCP، یک پروتکل connection-oriented است که کامپیوترها برای برقراری ارتباط از طریق اینترنت، از آن استفاده می کنند.یکی از اصلی ترین پروتکل ها، در شبکه های TCP/IP است. TCP، امکان بررسی خطا، تضمین تحویل داده ها و همچنین تحویل packetها به همان روشی که ارسال می شوند را فراهم می کند.

UDP چیست؟

User Datagram Protocol (UDP)، یک پروتکل connectionless  است که درست مانند TCP کار می کند اما فرض می کند بررسی خطاها و خدمات recovery نیاز نیستند. در عوض، UDP به صورت مداوم، datagramها را برای کاربران ارسال می کند تا مطمئن شود که آن ها را دریافت کرده اند.

تفاوت TCP و UDP

تفاوت ها و شباهت های زیادی بین TCP و  UDP وجود دارد. هر دو متداول ترین روش برای ارسال packet ار طریق اینترنت هستند و هر دو آن ها روی لایه transport layer پروتکل کار می کنند، در ضمن هر دو از پروتکل IP استفاده می کنند. تفاوت های آن ها به شرح زیر است:

Connection and connection-less

TCP یک پرتکل connection-oriented و UDP یک پروتکل connection-less است. TCP قبل از ارسال اطلاعات، ارتباطی بین فرستنده و گیرنده برقرار می کند در صورتی که UDP قبل از ارسال داده ها، اتصال برقرار نمی کند.

Reliability

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

UDP قابل اعتماد نیست، تحویل داده های ارسال شده را توسط گیرنده، تضمین نمی کند و حتی اطلاعات ارسال شده، ممکن است از بین برود و یا خراب شود.

Flow control

TCP از مکانیزم کنترل جریان استفاده می کند تا مطمئن شود، فرستنده به یکباره حجم زیادی از اطلاعات را ارسال نکند. عملکرد TCP برای حل این مسئله به این شکل است که مقداری از داده ها در یک send buffer و receive buffer نگهداری می کند و در زمان مناسب ارسال و یا دریافت می کند. زمانی که برنامه، آماده دریافت داده می باشد، اطلاعات را از receive buffer می خواند و دریافت می کند، چنانچه receive buffer، پر باشد، دریافت کننده قادر به دریافت اطلاعات نمی باشد پس منجر به از دست رفتن اطلاعات می شود. برنابراین جهت حفظ و نگهداری داده ها، دریافت کننده میزان فضای خالی receive buffer را برای فرستنده مشخص می کند. گیرنده، با هر بار دریافت packet، میزان فضای خالی را برای فرستنده مشخص می کند.

UDP از جریان کنترل استفاده نمی کند؛ بنابراین، packet ها در فرایند جریان مداوم، یا ارسال می شوند و یا از بین می روند.

Ordering

TCP تضمین می کند پکت ها، به ترتیب و بر اساس تاریخ ارسال شوند، در صورتی که ترتیب ارسال UDP بر هیچ مبنای خاصی قرار ندارد.

Speed

سرعت TCP، به این دلیل که عملکرد گسترده ای دارد، خیلی کندتر از UDP است. TCP می بایست یک connection ایجاد کند، خطاهای احتمالی را بررسی کند و همچنین فایل ها را، همان طور که ارسال شده، دریافت کند.

Usage

از TCP برای برنامه هایی استفاده می شود که نیاز به قابلیت اطمینان بالایی وجود داشته باشد و سرعت در آن ها خیلی اهمیت نداشته باشد.

  • World Wide Web (HTTP, HTTPS)
  • Secure Shell (SSH)
  • File Transfer Protocol (FTP)
  • Email (SMTP, IMAP/POP)

از UDP برای برنامه هایی استفاده می شود که نیاز به سرعت و کارایی داشته باشند.

  • Streaming videos
  • Online games
  • Live broadcasts
  • Domain Name System (DNS)
  • Voice over Internet Protocol (VoIP)
  • Trivial File Transfer Protocol (TFTP)

TCP vs. UDP

سایر مطالب مرتبط:

 

مودم یا روتر                     تفاوت IPV4 vs. IPV6

    تفاوت روتر و مودم                                تفاوت IPV4 و IPV6