تفاوت پروتکل های TCP و UDP در اینترنت

 

هردو پروتکل از پروتکل اینترنت یا IP (internet protocol) استفاده می کنند و پروتکل IP را توسعه می دهند. این پروتکل ها از ماهیت ذاتی IP برای انتقال بسته استفاده می کنند.

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

IP پروتکلی best-effort است.یعنی IP سعی می کند هر بسته را تحویل دهد اما ممکن است بسته ها گم شوند یا به ترتیب ارسال یا دریافت نشوند و یا دو بار به مقصد برسند.

TCP به منظور تشخیص و جبران خطاهایی نظیر گم شدن بسته ها، دریافت بسته های تکراری و سایر خطا های ممکن است در کانال انتقال فراهم شده ، به وسیله IP رخ دهند طراحی شده است. پروتکل TCP کانالی قابل اعتماد (reliable) و مبتنی بر جریان بایت ها (byte stream) را فراهم آورد. به دلیل قابل اعتماد بودن سرویس فراهم شده به وسیله این پروتکل برنامه های کاربردی استفاده کننده از آن نیازی به رسیدگی به خطا های واقع در زمان انتقال نیاز ندارند.

پروتکل TCP پروتکلی ارتباط گرا است، connection-oriented است یعنی پیش از استفاده از TCP برای مخابره داده ها دو برنامه ابتدا باید یک ارتباط (connection) TCP برقرار کنند که خود شامل تکمیل ارسال یک پیام دست تکانی (handshake) میان پیاده سازی (implementation) TCP  دو کامپیوتر مرتب است.

 

برخلاف TCP پروتکل UDP سعی در جبران خطاهایی نمی کند که به علت ماهیت ذاتی IP رخ می دهد، بلکه تنها سرویس داده گرام IP را توسعه می دهد تا به جای ارتباط میزبان به میزبان بتوان از آن برای ارتباطات بین برنامه ها استفاده کرد.

بنابراین، برنامه هایی که از UDP استفاده می کنند، باید آمادگی مقابله با از دست رفتن بسته ها، تغییر ترتیب آنها و غیره را داشته باشند.

 

منبع: it3du