پیش‌نویس:معاملات کوکی TCP

"این مقاله در حال ترجمه از ویکی انگلیسی است

لطفا حذف نشود."

TCP Cookie Transactions (TCPCT) که در RFC 6013 (در حال حاضر با وضعیت «تاریخی» و پیش‌تر «آزمایشی») تعریف شده است، یک افزونه برای پروتکل کنترل انتقال (TCP) بود که با هدف محافظت از TCP در برابر حملات منع سرویس (DoS) طراحی شد؛ حملاتی مانند SYN Flooding که باعث مصرف بیش از حد منابع سیستم می‌شوند، یا خاتمه‌دادن مخرب به اتصال توسط اشخاص ثالث.

برخلاف روش سنتی SYN Cookies، TCPCT با سایر افزونه‌های TCP تداخل نداشت؛ اما برای استفاده از آن، هم کلاینت (آغازکننده اتصال) و هم سرور (پاسخ‌دهنده) باید از TCPCT در پشته TCP خود پشتیبانی می‌کردند.

دلیل اصلی ارائه TCPCT، گسترش استفاده از DNSSEC بود. پیش از DNSSEC، درخواست‌های DNS عمدتاً از بسته‌های کوچک UDP استفاده می‌کردند؛ اما به دلیل بزرگ‌تر شدن تبادلات DNSSEC و همچنین محدودیت‌های قطعه‌قطعه‌سازی IP (IP Fragmentation)، استفاده از UDP برای DNSSEC چندان مناسب نبود.

 در نتیجه، درخواست‌های مبتنی بر DNSSEC تعداد زیادی اتصال TCP کوتاه‌مدت ایجاد می‌کردند. 
TCPCT با این روش از مصرف بی‌رویه منابع سرور جلوگیری می‌کرد که تا زمانی که فرآیند دست‌دهی سه‌مرحله‌ای (Three-Way Handshake) کامل نمی‌شد، هیچ منبعی در سمت سرور تخصیص داده نمی‌شد.

علاوه بر این، TCPCT به سرور اجازه می‌داد بلافاصله پس از بسته‌شدن اتصال، حافظه مربوط به آن را آزاد کند؛ حتی اگر اتصال همچنان در وضعیت TIME-WAIT باقی مانده باشد.

پشتیبانی از TCPCT در دسامبر ۲۰۰۹ تا حدی در هسته لینوکس (Linux Kernel) ادغام شد؛ اما در مه ۲۰۱۳ حذف گردید، زیرا هرگز به‌طور کامل پیاده‌سازی نشد و همچنین هزینه عملکردی (Performance Overhead) قابل توجهی داشت.

در سال ۲۰۱۶، TCPCT به نفع فناوری TCP Fast Open کنار گذاشته شد و وضعیت RFC مربوط به آن به «تاریخی» (Historic) تغییر یافت.

 همچنین ببینید 
SYN Cookies

T/TCP (Transactional TCP)

TCP Fast Open

William Allen Simpson، ژانویه ۲۰۱۱، TCP Cookie Transactions، منتشرشده توسط IETF در RFC 6013.

Daniel J. Bernstein، مقاله SYN Cookies

 منابع 
Perry E. Metzger، William Allen Simpson و Paul Vixie، دسامبر ۲۰۰۹، مقاله Improving TCP Security With Robust Cookies.

B. Carpenter و S. Brim، Middleboxes: Taxonomy and Issues، RFC 3234، فوریه ۲۰۰۲.

P. Srisuresh و K. Egevang، Traditional IP Network Address Translator (Traditional NAT)، RFC 3022، ژانویه ۲۰۰۱