غواصی در اعماق: تفاوت پهنای باند TCP و UDP

اینم یه تجربه پراکنده دیگه!

همه اونهایی که با برنامه‌نویسی شبکه آشنا هستند می‌دونند که ما در لایه انتقال از دو تکنولوژی TCP و UDP استفاده می‌کنیم. مهمترین تفاوتی که این دوتا پروتکل دارند که تقریبا همه باهاش آشنا هستند اینه که TCP مبتنی بر اتصال هست و رسیدن پکت‌ها و ترتیب پکت‌ها رو تضمین میکنه اما UDP بدون اتصال هست و رسیدن و ترتیب پکت‌ها رو تضمین نمیکنه.

اما گذشته از این فرق، یک فرق اساسی دیگه‌ی این پروتکل‌های که من ازش بیخبر بودم هم وجود داره. این دوتا پروتکل، از نظر مصرف پهنای باند به شدت رفتار متفاوتی دارن و در پهنای باند بسیار باریک این تفاوت خودش رو به شکل جالبی نشون میده. برای درک این تفاوت پهنای باند بهتره یه نگاهی به ساختار هر فریم از این دو پروتکل بندازیم

tcppacket

udppacket

 

همینطور که می‌بینید  توی TCP قبل از بخش دیتا تقریبا ۱۹۲ بیت هدر وجود داره و این هدر توی UDP تنها ۶۴ بیت! که توی پهنای بایت در حد ۱۰ کیلو بیت بر ثانیه تفاوت واضحی از خودش نشون میده.

همین!