مصافحة TCP ثلاثية الاتجاهات (SYN، SYN-ACK، ACK)
⚡ ملخص ذكي
تُعدّ عملية المصافحة الثلاثية لبروتوكول TCP إجراءً أساسياً لإنشاء الاتصال، تبدأ به كل جلسة TCP. يتبادل العميل والخادم حزم SYN وSYN-ACK وACK لمزامنة أرقام التسلسل والتأكد من جاهزية كلا الطرفين قبل إرسال أي بايت من بيانات التطبيق.

ما هي عملية المصافحة الثلاثية لبروتوكول TCP؟
استخدم TCP مصافحة ثلاثية الاتجاهات هو الإجراء الذي يستخدمه العميل والخادم على شبكة TCP/IP لإنشاء اتصال موثوق قبل تبادل أي بيانات تطبيقية. وكما يوحي الاسم، يتكون من ثلاث خطوات يتبادل فيها الطرفان حزم التزامن (SYN) والإقرار (ACK) ويتفقان على أرقام التسلسل الأولية التي سيستخدمانها.
صُممت عملية المصافحة بحيث يمكن لكلا الطرفين بدء وتفاوض وإنهاء اتصالات TCP بشكل متناظر. بمجرد اكتمال المصافحة، يصبح الاتصال ثنائي الاتجاه بالكامل - حيث يمكن لكلا الطرفين الإرسال والاستقبال بالتوازي حتى يُصدر أحدهما إشارة FIN لإنهاء الجلسة.
أنواع رسائل TCP
تظهر أربع علامات تحكم بشكل متكرر أثناء عملية المصافحة والتفكيك.
| رسالتك | الوصف |
|---|---|
| SYN | يبدأ الاتصال ويقوم بمزامنة أرقام التسلسل بين الأجهزة. |
| ACK | يؤكد للطرف الآخر استلام الجزء السابق. |
| SYN-ACK | رسالة مجمعة - رسالة SYN من الجهاز المحلي بالإضافة إلى رسالة ACK من رسالة SYN السابقة من الجهاز النظير. |
| FIN | تُستخدم لإنهاء الاتصال بسلاسة. |
عملية المصافحة الثلاثية لبروتوكول TCP
تبدأ حركة مرور بروتوكول TCP دائمًا بمصافحة ثلاثية الأطراف. يبدأ العميل المحادثة بطلب جلسة مع الخادم.
مخطط المصافحة الثلاثية.
- الخطوة 1 — SYN: يرسل العميل مقطعًا مع ضبط علامة SYN. يخبر الخادم "أريد بدء الاتصال" ويقترح رقم تسلسل أولي.
- الخطوة 2 — SYN-ACK: يستجيب الخادم بجزء من البيانات يتم فيه ضبط كل من علامتي SYN وACK. تؤكد علامة ACK استلام العميل لعلامة SYN، بينما تقترح علامة SYN رقم التسلسل الأولي الخاص بالخادم.
- الخطوة 3 - ACK: يُقرّ العميل باستلام رسالة SYN-ACK من الخادم برسالة ACK نهائية. وبذلك يتم إنشاء الاتصال، ويمكن لكلا الطرفين البدء. transmitبيانات تطبيق ting.
مثال من العالم الحقيقي
إليكم مثال عملي بأرقام تسلسلية محددة.
- يبدأ المضيف X الاتصال بإرسال حزمة TCP SYN إلى الخادم. تحمل الحزمة رقم تسلسل أولي عشوائي - على سبيل المثال،
4321— هذا يمثل بداية تدفق البايتات الذي سيرسله المضيف X. - يستقبل الخادم رسالة SYN ويرد برسالة SYN-ACK. رقم ACK هو رقم تسلسل المضيف X مضافًا إليه 1 (
4322)، ويقترح SYN رقم التسلسل الأولي الخاص بالخادم. - يرد المضيف X برسالة تأكيد نهائية يكون رقم تأكيدها هو رقم تسلسل الخادم مضافًا إليه 1.
بمجرد اكتمال تبادل البيانات، يقوم بروتوكول TCP بإنهاء الاتصال بتسلسل FIN/ACK رباعي الاتجاه حتى تتمكن كلتا النقطتين الطرفيتين من تحرير المقبس بشكل نظيف.
لماذا يحتاج بروتوكول TCP إلى مصافحة ثلاثية؟
إن عملية المصافحة ليست مجرد إجراء شكلي، بل إنها تحل ثلاث مشاكل ملموسة تصاحب نقل البيانات الموثوق به عبر تدفق البايتات:
- مزامنة أرقام التسلسل: يتعرف كلا الطرفين على رقم التسلسل الأولي للطرف الآخر، وهو ما يستخدمه بروتوكول TCP لاكتشاف الأجزاء المفقودة أو غير المرتبة.
- اتفاقية الاتصال بين الدولة: يؤكد إشعار التأكيد الثالث وصول إشعار تأكيد المزامنة من الخادم، لذلك لا يبدأ أي من الطرفين بإرسال البيانات حتى يكون كلاهما في وضع الاستعداد. أنشئت الدولة.
- حماية من تكرار الحزم: تمنع أرقام التسلسل الأولية العشوائية وحالات المصافحة الموقوتة قبول المقاطع القديمة من جلسة سابقة عن طريق الخطأ.
المشاكل الشائعة في عملية المصافحة TCP
تتميز عملية المصافحة بالمتانة، لكنها تتعطل بطرق يمكن تحديدها. عادةً ما يلاحظ مهندسو الشبكات أحد الأمور التالية:
- هجمات فيضان SYN: يقوم عميل خبيث بإرسال آلاف طلبات SYN دون الرد على طلبات SYN-ACK، مما يؤدي إلى استنفاد جدول اتصالات الخادم. وتُعدّ ملفات تعريف الارتباط الخاصة بطلبات SYN وسيلة الدفاع القياسية.
- اتصالات نصف مفتوحة: عندما يتم فقدان الإقرار الثالث، يبقى الاتصال مفتوحًا جزئيًا ويتم تنظيفه في النهاية عن طريق انتهاء المهلة.
- انقطاع الاتصال أثناء الرحلة بسبب جدار الحماية أو تقنية NAT: يمكن للأجهزة الوسيطة التي تحتفظ بالحالة والتي تفقد الحالة أن تسقط حزم SYN-ACK وتترك العميل يعيد المحاولة.
- إعادة ضبط RST: إذا لم يكن الخادم يستمع على المنفذ المطلوب، فإنه يجيب على طلب SYN برسالة RST، مما يؤدي إلى إغلاق المحاولة على الفور.


