حالا که داریم در مورد TCP و UDP صحبت میکنیم، اول باید بدونیم اینها دو تا پروتکل ارتباطی هستند که برای انتقال دادهها از یک دستگاه به دستگاه دیگه توی شبکه استفاده میشن. تفاوت اصلیشون توی نحوهی اطمینان از تحویل دادهها و ترتیب ارسالشه.
TCP (Transmission Control Protocol):
این پروتکل یه جورایی مثل پست معمولی عمل میکنه که مطمئن میشه هر بستهای که ارسال میشه، به مقصد رسیده و توی همون ترتیب درست ارسال شده. به عبارت دیگه، TCP مثل یه مکالمهی دو طرفه است که هر طرف باید تایید کنه که دادهها رو دریافت کرده.
ارتباط قابل اعتماد
ترتیب درست ارسال دادهها
دستوری برای درخواست دوباره ارسال دادهها در صورت گم شدن یا خراب شدن
UDP (User Datagram Protocol):
UDP مثل ارسال نامه بدون تاییدیه است! یعنی دادهها رو میفرسته، ولی هیچگونه تضمینی وجود نداره که دادهها به مقصد برسن یا ترتیبشون حفظ بشه. این پروتکل برای موقعیتهایی که سرعت مهمتر از دقت یا تاییدیه است، مناسبه. مثل بازیهای آنلاین یا استریم ویدیو.
سریعتر از TCP
هیچ تضمینی برای تحویل دادهها یا ترتیب ارسال نیست
فرقشون چیه؟
- TCP بیشتر برای جاهایی استفاده میشه که اهمیت دقت و ترتیب در انتقال دادهها خیلی زیاد باشه، مثل مرورگرهای اینترنتی، ایمیلها، یا هر چیزی که نیاز به ارسال دادهها به صورت دقیق داره.
- UDP بیشتر برای کاربردهایی استفاده میشه که سرعت خیلی مهمه و مشکلی با از دست دادن یا تغییر ترتیب دادهها نداریم، مثل تماسهای صوتی یا پخش زنده.
خلاصه که TCP همیشه مطمئن میشه که دادهها درست و به ترتیب ارسال بشن، ولی UDP بیشتر به سرعت توجه میکنه و اگر دادهای گم شد، مهم نیست!
پورتهای TCP و UDP در واقع درگاههایی هستند که برای برقراری ارتباط بین دستگاهها در شبکه استفاده میشوند. هر دستگاه در شبکه دارای یک آدرس IP است، اما برای مشخص کردن اینکه دادهها باید به کدام سرویس یا برنامه ارسال شوند، از پورت استفاده میشود.
port؟
پورت یک عدد ۱۶ بیتی (بین ۰ تا ۶۵۵۳۵) است که به هر اتصال شبکهای اختصاص داده میشود. برخی از این پورتها توسط سرویسها و پروتکلهای معروف رزرو شدهاند.
دستهبندی پورتها
پورتها به سه دسته تقسیم میشوند:
- پورتهای معروف (Well-Known Ports)
از 0 تا 1023
این پورتها برای سرویسهای معروف و استاندارد رزرو شدهاند. مثلا:- HTTP (وبسایتها) → پورت 80 (TCP)
- HTTPS (وبسایتهای امن) → پورت 443 (TCP)
- FTP (انتقال فایل) → پورت 21 (TCP)
- DNS (سیستم نام دامنه) → پورت 53 (UDP)
- SSH (دسترسی امن به سرور) → پورت 22 (TCP)
- پورتهای ثبتشده (Registered Ports)
از 1024 تا 49151
این پورتها برای اپلیکیشنها و سرویسهای خاص استفاده میشوند که ثبت شدهاند ولی عمومی نیستند. مثلا:- MySQL (پایگاه داده) → پورت 3306 (TCP)
- Microsoft SQL Server → پورت 1433 (TCP)
- RDP (ریموت دسکتاپ ویندوز) → پورت 3389 (TCP)
- پورتهای موقتی (Dynamic/Private Ports)
از 49152 تا 65535
این پورتها برای استفادههای موقتی توسط سیستمها و نرمافزارها رزرو میشوند و معمولاً برای اتصال کلاینت به سرورها به کار میروند. - دستهبندی پورتها
لیست مهمترین پورتهای TCP و UDP
service | port | TCP / UDP |
---|---|---|
HTTP | 80 | TCP |
HTTPS | 443 | TCP |
FTP | 21 | TCP |
DNS | 53 | UDP/TCP |
SSH | 22 | TCP |
SMTP (ارسال ایمیل) | 25 | TCP |
POP3 (دریافت ایمیل) | 110 | TCP |
IMAP (ایمیل مدرن) | 143 | TCP |
RDP (ریموت دسکتاپ) | 3389 | TCP |
DHCP | 67/68 | UDP |
SNMP | 161/162 | UDP |
MySQL | 3306 | TCP |
- پورتهای TCP معمولاً برای سرویسهایی استفاده میشوند که به ارتباط قابل اعتماد و تضمینشده نیاز دارند، مثل وبگردی و ایمیل.
- پورتهای UDP برای سرویسهایی که نیاز به سرعت بالا دارند و اگر دادهای گم شد مهم نیست، مثل پخش زنده و بازیهای آنلاین.
- پورتها مثل درهای ورودی یک ساختمان هستند که سرویسهای مختلف از آنها استفاده میکنند.
- TCP برای ارتباطهای دقیق و تضمینی (مثل وب و ایمیل) و UDP برای ارتباطهای سریع و لحظهای (مثل ویدیو کنفرانس و بازی آنلاین) استفاده میشود.