پروتکل TCP چیست؟

پروتکل TCP چیست؟

علی مرادی

transmission control protocol یا (TCP) استاندارد اینترنتی است که تبادل موفقیت آمیز بسته های داده را بین دستگاه ها از طریق شبکه تضمین می کند. TCP پروتکل ارتباطی اساسی برای طیف گسترده ای از برنامه ها ، از جمله سرورهای وب و وب سایت ها ، برنامه های ایمیل ، FTP و برنامه های همتا است.

TCP با پروتکل اینترنت (IP) کار می کند تا نحوه تبادل داده ها بصورت آنلاین مشخص شود. IP وظیفه ارسال هر بسته به مقصد خود را دارد ، در حالی که TCP تضمین می کند که بایت ها به روشی که در آن ارسال شده اند بدون خطایی منتقل می شوند. با هم ، به دو پروتکل TCP / IP گفته می شود.

در ادامه با ما در شتابان هاست همراه باشید.

برقراری اتصال TCP:

برقراری اتصال TCP مستلزم آن است که هم مشتری و هم سرور در آنچه که به عنوان  three-way handshake شناخته می شود ، شرکت کنند. این روند به شرح زیر تقسیم می شود:

  1. مشتری یک بسته SYN – درخواست اتصال از پورت منبع خود را به پورت مقصد سرور ارسال می کند.
  2. سرور با یک بسته SYN / ACK پاسخ می دهد ، و تایید درخواست اتصال را تأیید می کند.
  3. مشتری بسته SYN / ACK را دریافت می کند و با بسته ACK خود پاسخ می دهد.

پس از برقراری اتصال ، TCP با تجزیه داده های منتقل شده به بخش ها ، کار می کند که هر یک از آن ها در یک دیتاگرام بسته بندی شده و به مقصد خود ارسال می شود.

ساختار هدر TCP:

TCP هر بسته داده را با یک هدر که شامل ۱۰ قسمت اجباری است که در مجموع ۲۰ بایت (یا اکتنت) پیچیده می کند. هر هدر اطلاعات مربوط به اتصال و داده های جاری ارسال شده را نگه می دارد.

۱۰ قسمت هدر TCP به شرح زیر است:

  • Source port: پورت دستگاه ارسال کننده.
  • Destination port: پورت دستگاه دریافت کننده.
  • Sequence number: دستگاهی که اتصال TCP را آغاز می کند باید یک عدد دنباله اولیه تصادفی را انتخاب کند ، که پس از آن با توجه به تعداد بایت های منتقل شده افزایش می یابد.
  • Acknowledgment number: دستگاه دریافت کننده شماره تأیید را از صفر شروع می کند. این تعداد را با توجه به تعداد بایت دریافتی افزایش می دهد.
  • TCP data offset: این اندازه هدر TCP را بیان می کند که با کلمات ۳۲ بیتی بیان شده است. یک کلمه نشان دهنده چهار بایت است.
  • Reserved data: قسمت رزرو شده همیشه روی صفر تنظیم شده است.
  • Control flags: پروتکل TCP از ۹ پرچم کنترلی برای مدیریت جریان داده در موقعیت های خاص مانند آغاز تنظیم مجدد استفاده می کند.
  • Window size TCP checksum: فرستنده checksum را تولید می کند و آن را در هر هدر بسته انتقال می دهد. دستگاه دریافت کننده می تواند از checksum برای بررسی خطاهای موجود در سربرگ دریافتی و بارگیری استفاده کند.
  • Urgent pointer: اگر پرچم کنترل URG تنظیم شده باشد ، این مقدار جبران کننده ای از شماره دنباله را نشان می دهد و آخرین بایت فوری داده را نشان می دهد.
  • mTCP optional data: اینها فیلدهای اختیاری برای تنظیم حداکثر اندازه قطعه ، تأییدیه های انتخابی و امکان مقیاس گذاری پنجره برای استفاده بیشتر از شبکه های پهنای باند هستند.

آسیب پذیری TCP DDoS و روش های کاهش:

TCP در برابر انواع مختلفی از حملات DDoS آسیب پذیر است ، از جمله:

SYN flood:

SYN floods در مرحله اولیه three-way handshake با ارسال درخواست های اتصال TCP (بسته های SYN) به هر درگاه روی دستگاه مورد نظر سریعتر از آنکه پردازش درخواست ها انجام شود ، رخ می دهد. سرور تلاش می کند تا درخواست های جعلی SYN حمله کننده را پردازش کند و نسبت به درخواست های قانونی TCP پاسخی ندهد و از تکمیل دستیابی جلوگیری کند.

پروتکل TCP چیست؟

این باعث می شود دستگاه هدفمند تمام درگاه های موجود خود را از بین ببرد. در بسیاری از موارد ، بسته های SYN بار کارآیی است و فقط برای اشباع شبکه هدف مورد استفاده قرار می گیرد.

روش های مختلفی برای کاهش SYN floods وجود دارد ، از جمله:

  • Micro-blocks: سرور برای هر درخواست SYN به جای یک شی اتصال کامل ، یک رکورد در حافظه خود را اختصاص می دهد ، بنابراین فشار بالقوه منابع را از درخواست های زیاد کاهش می دهد.
  • SYN cookies: سرور برای تأیید درخواست TCP قبل از تخصیص حافظه از هش رمزنگاری استفاده می کند.
  • RST cookies: سرور بعد از درخواست اولیه SYN عمداً پاسخ نادرست می فرستد. اگر مشتری موجه باشد ، سرور بسته RST را دریافت می کند و به سرور می گوید چیزی اشتباه است.
  • TCP stack tweaking: می توانید مدت زمان آزادسازی حافظه اختصاص داده شده به یک اتصال را کاهش داده یا اتصالات ورودی را به صورت انتخابی رها کنید.

توجه داشته باشید که علاوه بر روش “کلاسیک” حمله به SYN floods ، بسیاری از مجرمان DDoS از بارهای SYN جعلی برای سوار کردن لایه های شبکه عمومی استفاده می کنند – نوعی که هدف آن ایجاد تراکم شبکه با اضافه بار بسته های جعلی است. کاهش این حملات نیاز به توانایی مقیاس بندی منابع شبکه در صورت تقاضا ، به عنوان مثال ، با استفاده از یک راه حل کاهش ابر دارد.

STOMP DDoS:

STOMP یک پروتکل مبتنی بر متن است که به برنامه ها امکان می دهد با کارگزاران پیام با استفاده از TCP ارتباط برقرار کنند. در حمله STOMP DDoS ، عاملان با استفاده از بات نت برای باز کردن تعداد زیادی از دستهای TCP با برنامه ها. مهاجمان سپس داده های ناخواسته را مبدل به درخواست STOMP TCP می کنند و شبکه را اشباع می کنند. اگر سرور برای تجزیه درخواستهای STOMP آماده باشد ، این حمله همچنین می تواند منابع سرور را هدر دهد.

TCP fragmentation یا (Teardrop):

حمله teardrop نوعی حمله تکه تکه کننده IP است که مکانیسم اتصال مجدد TCP / IP را هدف قرار می دهد ، که پس از اتمام three-way handshake و انتقال داده ها رخ می دهد. این شامل یک مهاجم است که عمداً بسته های داده ای را با زمینه های جبران قطعه قطعی نقص می فرستد ، و مانع از آن می شود که گیرنده داده های تکه تکه شده را به درستی جمع کند. بسته های داده سرورهای قربانی را با هم همپوشانی می کنند و به سرعت سرنگون می شوند.

جلوگیری از حملات تکه تکه شدن TCP نیاز به بازرسی بسته های ورودی با استفاده از روترها ، پراکسی های ایمن یا سرویس حفاظت DDoS مبتنی بر ابر دارد. بسته های دارای قطعه قطعه نادرست سپس قبل از رسیدن به سرور شما شناسایی و رها می شوند.

امیدوارم این مقاله برای شما مفید بوده باشد.

ما را در شتابان هاست دنبال کنید.

برچسب ها: پروتکل