TCP در مقابل پروتکلهای UDP
هر دو TCP و UDP در لایه چهارم مدل OSI قرار می گیرند که لایه انتقال درست بالای لایه IP است. TCP و UDP هر دو از انتقال داده ها به دو روش مختلف پشتیبانی می کنند، TCP اتصال گرا است و UDP اتصال کمتر است.
در حمل و نقل بسته ها دو محدودیت عمده وجود دارد که یکی قابلیت اطمینان و دیگری تأخیر است. قابلیت اطمینان تحویل بسته را تضمین می کند و تأخیر تحویل به موقع بسته است. هر دو را نمی توان همزمان به اوج رساند، اما می توان آنها را بهینه کرد.
برای شروع ارتباط داده بین دو گره، فرستنده باید IP گیرنده و همچنین شماره پورت را بداند.آدرس IP برای مسیریابی بسته و شماره پورت برای تحویل بسته به شخص صحیح است. برای توضیح بیشتر این سناریو در یک مثال دنیای واقعی، به یک محیط مجتمع تجاری چندگانه فکر کنید و شخصی شما را به فروشگاه 30 (که یک سالن آرایشگاه است)، گلدن پلازا، خیابان پارک شماره 21، راهنمایی کرد، برای رسیدن به این مکان فقط باید بدانید که خیر خیابان پارک 21 اما برای دریافت خدمات از سالن باید شماره مغازه را بدانید که 30 است. می توانید شماره 21 را به عنوان آدرس IP و فروشگاه شماره 30 را به عنوان شماره پورت در نظر بگیرید.
همانند ارتباط داده و مدل خدمات برنامه کاربردی TCP برای پذیرش اتصالات TCP به شماره پورت گوش می دهد. همانطور که برنامه های UDP برای ارائه خدمات UDP به شماره پورت گوش می دهند.
TCP:
تعریف شده در RFC 793
TCP یک پروتکل قابل اعتماد سرتاسر اتصال گرا برای پشتیبانی از انتقال تضمین شده داده است. از طریق ایجاد اتصال، TCP قابلیت اطمینان را تضمین می کند. برخی از ویژگی های اصلی TCP عبارتند از: دست دادن سه طرفه (SYN، SYN-ACK، ACK)، تشخیص خطا، شروع آهسته، کنترل جریان و کنترل ازدحام.
TCP یک مکانیسم حمل و نقل قابل اعتماد است، بنابراین در جایی که تحویل بسته ضروری است حتی در ازدحام از آن استفاده می شود. مثال معمولی برای برنامه های TCP و شماره پورت عبارتند از داده های FTP (20)، FTP Control (21)، SSH (222)، Telnet (23)، Mail (25)، DNS (53)، HTTP(80)، POP3(110) ، SNMP(161) و HTTPS(443). اینها برنامه های TCP شناخته شده هستند.
UDP:
تعریف شده در RFC 768
UDP (پروتکل دیتاگرام کاربر) یک پروتکل انتقال ساده است که خدمات غیرقابل اعتمادی را ارائه می دهد. این بدان معنا نیست که UDP داده ها را تحویل نمی دهد، اما هیچ مکانیسمی برای نظارت بر کنترل تراکم یا از دست دادن بسته ها و غیره وجود ندارد. از آنجایی که ساده است، از پردازش سربار در رابط شبکه جلوگیری می کند. برنامه های بلادرنگ بیشتر از UDP استفاده می کنند زیرا حذف بسته ها نسبت به بسته های تاخیری ارجحیت دارد. مثال معمولی جریانهای رسانه صدا از طریق IP است.
خلاصه:
(1) TCP اتصال گرا و قابل اعتماد است در حالی که UDP اتصال کمتر و غیرقابل اعتماد است.
(2) TCP به پردازش بیشتری در سطح رابط شبکه نیاز دارد، در حالی که در UDP اینطور نیست.
(3) از TCP استفاده می کند، دست دادن سه طرفه، کنترل تراکم، کنترل جریان و مکانیسم های دیگر برای اطمینان از انتقال قابل اعتماد.
(4) UDP بیشتر در مواردی استفاده می شود که تاخیر بسته جدی تر از از دست دادن بسته است. (برنامه های زمان واقعی)