تفاوت بین پروتکل های TCP و UDP چیست؟
ممکن است در حین ارسال پورت در روتر یا هنگام پیکربندی نرم افزار فایروال، TCP و UDP را تجربه کرده باشید. اما آیا می دانید این دو پروتکل چیست و چه مغایرتی دارند؟
TCP و UDP دو پروتکل هستند که برای انواع مختلف داده ها استفاده می شوند. ابزارها و رایانه های متصل به اینترنت از پروتکلی به نام TCP/IP برای انتقال با یکدیگر استفاده می کنند. TCP/IP مجموعهای از پروتکلها است که توسط دستگاهها برای برقراری ارتباط از طریق اینترنت و اکثر شبکههای محلی استفاده میشود. نام TCP / IP از دو پروتکل اصلی گرفته شده است: پروتکل کنترل انتقال (TCP) و پروتکل اینترنت (IP). TCP برنامهها را با روشی برای تحویل و دریافت بستههای مرتب شده و بررسی شده از طریق شبکه مجهز میکند. پروتکل دادهگرام کاربر (UDP) توسط برنامههای کاربردی استفاده میشود تا با توقف بررسی خطا، جریان دادهها را سریعتر فراهم کند.
هنگام پیکربندی سخت افزار یا نرم افزار شبکه خانگی، ممکن است لازم باشد تفاوت بین پروتکل های TCP و UDP را بدانید.
ویژگی های پروتکل های TCP و UDP
به عنوان مثال هنگامی که رایانه ای در لندن می خواهد داده ها را به رایانه ای در نیویورک ارسال کند، باید آدرس IP رایانه مقصد (رایانه در نیویورک) را درک کند. این اطلاعات اغلب از طریق UDP و TCP ارسال می شود. TCP و UDP پروتکل هایی هستند که برای ارسال بیت های داده یا بسته ها از طریق اینترنت استفاده می شوند. هر دو پروتکل به پروتکل IP بستگی دارد. به عبارت دیگر فرقی نمی کند که یک بسته را از طریق TCP یا UDP ارسال کنید، در این صورت بسته به یک آدرس IP ارسال می شود.
پروتکل TCP
با استفاده از پروتکل کنترل انتقال (TCP)، رایانه فرستنده داده مستقیماً به رایانه مقصد متصل میشود و این اتصال تا زمان تکمیل انتقال دادهها حفظ میشود. با این روش، دو رایانه میتوانند پس از اطمینان از ایمن و صحیح بودن انتقال دادهها، اتصال را قطع کنند. این روش انتقال داده سریعتر و ایمنتر است، اما به دلیل نیاز به کنترل اتصال و دادههای موجود، بار بیشتری را روی رایانهها اعمال میکند. به عنوان مثال، تصور کنید تلفن را برمیدارید و با دوست خود تماس میگیرید. وقتی مکالمه تمام میشود، هر دو طرف تلفن را قطع میکنند و اتصال پایان مییابد.
بستههای ارسال شده توسط TCP ردیابی میشوند تا هیچ دادهای در طول انتقال گم یا خراب نشود. به همین دلیل است که دانلود فایلها حتی در صورت قطع موقت شبکه متوقف نمیشود. البته اگر گیرنده کاملاً آفلاین باشد، رایانه شما ارسال بستهها را متوقف کرده و با پیغام خطایی مواجه میشوید که نمیتواند با هاست ارتباط برقرار کند. TCP این کار را به دو روش انجام میدهد:
- بسته ها را با شماره گذاری درخواست کنید
- با ارسال پاسخی از طرف گیرنده به فرستنده مبنی بر دریافت پیام، خطا را بررسی کنید.
اگر فرستنده پاسخ صحیح را دریافت نکرد، میتواند بستهها را مجدداً ارسال کند تا مطمئن شود گیرنده آنها را دقیق دریافت کرده است. Process Explorer و سایر ابزارهای پردازش سیستم می توانند نوع ارتباط ایجاد شده توسط یک فرآیند را نشان دهند. در تصویر زیر، مرورگر کروم را با اتصالات TCP باز به سرورهای مختلف وب مشاهده می کنید.
پروتکل های UDP
با استفاده از پروتکل User Datagram (UDP)، رایانهای که اطلاعات را ارسال میکند، دادهها را به صورت بستههای کوچک درآورده و آنها را در شبکه آزاد میکند، به امید اینکه به مقصد برسند. این به این معنی است که برخلاف TCP، UDP مستقیماً به رایانه گیرنده متصل نمیشود. بلکه دادهها را به شبکه میفرستد و به دستگاههای میانی بین رایانههای فرستنده و گیرنده وابسته است تا دادهها را به مقصد برسانند.
این روش انتقال تضمین نمیکند که دادههای ارسال شده به مقصد برسند. با این حال، سربار بسیار کمی دارد. بنابراین، برای خدماتی مناسب است که نیازی به موفقیتآمیز بودن دریافت و انتقال دادهها در اولین تلاش ندارند. یک مثال ساده از این روش، استفاده از خدمات پستی سنتی است. شما نامه خود را در صندوق پستی قرار میدهید و امیدوارید که خدمات پستی آن را به مقصد برساند. اغلب این کار انجام میشود، اما گاهی ممکن است نامه گم شود.
انتقال داده با استفاده از UDP سریعتر است زیرا فرستنده منتظر تأیید دریافت بسته توسط گیرنده نمیماند و به ارسال بستهها ادامه میدهد. اگر گیرنده چندین بسته UDP را از دست بدهد، آنها گم شده و فرستنده آنها را دوباره ارسال نمیکند. UDP زمانی استفاده میشود که سرعت اولویت دارد و اصلاح خطا ضروری نیست. این پروتکل اغلب در پخش زنده ویدئو و بازیهای آنلاین به کار میرود.
پورت TCP یا UDP کدام یک از آنها؟
هر رایانه یا دستگاهی در اینترنت با شماره خاصی به نام آدرس IP شناسایی می شود. این آدرس برای شناسایی رایانه شما در میان میلیون ها رایانه دیگر متصل به اینترنت استفاده می شود. هنگامی که اطلاعات از طریق اینترنت ارسال می شود، رایانه شما این اطلاعات را با استفاده از پورت های TCP یا UDP دریافت می کند.
شما یک آدرس IP و تعداد قابل توجهی پورت در این آدرس IP دارید و در مجموع می توانید ۶۵۵۳۵ پورت TCP و ۶۵۵۳۵ پورت UDP داشته باشید. هنگامی که یک برنامه کاربردی در رایانه شما اطلاعاتی را از طریق اینترنت دریافت یا ارسال می کند، اساساً داده ها را به یک آدرس IP و یک پورت دقیق در رایانه مقصد ارسال می کند و داده ها را در یک پورت تصادفی در رایانه شما دریافت می کند. پروتکل TCP از پورت TCP برای ارسال و دریافت داده استفاده می کند و پروتکل UDP از پورت UDP برای ارسال و دریافت داده استفاده می کند.
جمع بندی
برنامه ها از TCP یا UDP با تکیه بر الزامات خود و تصمیم سازندگان خود استفاده می کنند. اکثر برنامه ها نیاز به تصحیح خطای TCP دارند، اما برخی از برنامه ها نیاز به افزایش سرعت و کاهش سربار UDP دارند. مگر اینکه شما یک مدیر شبکه یا توسعه دهنده نرم افزار باشید، این نباید روی کسب و کار شما تأثیر زیادی بگذارد.
اگر روتر یا نرم افزار فایروال خود را پیکربندی کرده اید و مطمئن نیستید که برنامه ای از TCP یا UDP استفاده می کند. فقط میتوانید Both را انتخاب کنید تا روتر یا فایروال شما همان قانون را برای ترافیک TCP و UDP اعمال کند.