مصافحة TCP ثلاثية الاتجاهات (SYN، SYN-ACK، ACK)

⚡ ملخص ذكي

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

  • 📨 تعرف على أنواع الرسائل الأربعة: يبدأ SYN، ويؤكد ACK، ويجمع SYN-ACK كليهما، وينهي FIN اتصال TCP.
  • 🔁 اتبع الخطوات الثلاث التالية: client SYN → server SYN-ACK → client ACK; يتم إنشاء الجلسة فقط بعد وصول الحزمة الثالثة.
  • 🔢 أرقام التسلسل مهمة: يختار كل جانب رقم تسلسل أولي؛ ويؤكد الجانب الآخر ذلك بإضافة واحد، مما يحافظ على ترتيب تدفق البايت.
  • 🚪 خطة الهدم: بعد نقل البيانات، يقوم بروتوكول TCP بإغلاق الاتصال باستخدام أزواج FIN/ACK لتحرير المقبس على كلا الطرفين.
  • 🤖 استخدام الذكاء الاصطناعي لتحليل الحزم: يشرح المساعدون المدعومون بالذكاء الاصطناعي Wireshark التقاط البيانات، وتحديد إشعارات التأكيد المفقودة، وتسليط الضوء على هجمات SYN الفيضية أو الاتصالات نصف المفتوحة.

مصافحة TCP ثلاثية الاتجاهات

ما هي عملية المصافحة الثلاثية لبروتوكول TCP؟

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

صُممت عملية المصافحة بحيث يمكن لكلا الطرفين بدء وتفاوض وإنهاء اتصالات TCP بشكل متناظر. بمجرد اكتمال المصافحة، يصبح الاتصال ثنائي الاتجاه بالكامل - حيث يمكن لكلا الطرفين الإرسال والاستقبال بالتوازي حتى يُصدر أحدهما إشارة FIN لإنهاء الجلسة.

أنواع رسائل TCP

تظهر أربع علامات تحكم بشكل متكرر أثناء عملية المصافحة والتفكيك.

رسالتك الوصف
SYN يبدأ الاتصال ويقوم بمزامنة أرقام التسلسل بين الأجهزة.
ACK يؤكد للطرف الآخر استلام الجزء السابق.
SYN-ACK رسالة مجمعة - رسالة SYN من الجهاز المحلي بالإضافة إلى رسالة ACK من رسالة SYN السابقة من الجهاز النظير.
FIN تُستخدم لإنهاء الاتصال بسلاسة.

عملية المصافحة الثلاثية لبروتوكول TCP

تبدأ حركة مرور بروتوكول TCP دائمًا بمصافحة ثلاثية الأطراف. يبدأ العميل المحادثة بطلب جلسة مع الخادم.

مخطط المصافحة الثلاثية لبروتوكول TCP

مخطط المصافحة الثلاثية.

  • الخطوة 1 — SYN: يرسل العميل مقطعًا مع ضبط علامة SYN. ​​يخبر الخادم "أريد بدء الاتصال" ويقترح رقم تسلسل أولي.
  • الخطوة 2 — SYN-ACK: يستجيب الخادم بجزء من البيانات يتم فيه ضبط كل من علامتي SYN وACK. تؤكد علامة ACK استلام العميل لعلامة SYN، بينما تقترح علامة SYN رقم التسلسل الأولي الخاص بالخادم.
  • الخطوة 3 - ACK: يُقرّ العميل باستلام رسالة SYN-ACK من الخادم برسالة ACK نهائية. وبذلك يتم إنشاء الاتصال، ويمكن لكلا الطرفين البدء. transmitبيانات تطبيق ting.

مثال من العالم الحقيقي

مثال واقعي لعملية المصافحة الثلاثية لبروتوكول TCP

إليكم مثال عملي بأرقام تسلسلية محددة.

  • يبدأ المضيف 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، مما يؤدي إلى إغلاق المحاولة على الفور.

الأسئلة الشائعة

لا يمكن لرسالتين إثبات اتفاق الطرفين على أرقام التسلسل الأولية واستعدادهما للإرسال. تؤكد رسالة التأكيد الثالثة (ACK) وصول رسالة تأكيد التزامن (SYN-ACK) من الخادم، مما يضمن وصول كلا الطرفين إلى حالة التأسيس (ESTABLISHED) قبل بدء تدفق البيانات.

SYN عبارة عن علامة واحدة تفتح المحادثة وتقترح رقم تسلسل أولي. يجمع SYN-ACK بين SYN وإقرار باستلام SYN سابق من الطرف الآخر، مما يكمل عملية المزامنة في حزمة واحدة.

يُغرق هجوم SYN الخادم بإرسال عدد كبير من حزم SYN دون إتمام عملية المصافحة. وتؤدي الاتصالات غير المكتملة إلى تراكم الطلبات ومنع المستخدمين الشرعيين. وتُعدّ ملفات تعريف الارتباط الخاصة بـ SYN الحل القياسي للتخفيف من هذه المشكلة.

يُغلق بروتوكول TCP الاتصال من خلال مصافحة رباعية تتضمن تبادل رسائل FIN وACK. يُغلق كل اتجاه بشكل مستقل، مما يسمح لأحد الطرفين بإنهاء إرسال البيانات حتى بعد أن يُغلق الطرف الآخر نصفه.

رقم التسلسل الأولي هو قيمة عشوائية مكونة من 32 بت يختارها كل طرفية لتدفق البايتات الخاص بها. وهو يُستخدم لتهيئة العداد المستخدم للكشف عن الأجزاء المفقودة أو المكررة وللحماية من الحزم المزيفة.

لا. بروتوكول UDP غير متصل ويرسل حزم البيانات دون أي مصافحة. هذا يجعله أسرع وأخف من بروتوكول TCP، ولكن يجب على التطبيقات التعامل مع الموثوقية والترتيب والتحكم في الازدحام بنفسها.

تقوم مساعدات الذكاء الاصطناعي بتصنيف عمليات التقاط الحزم، وإعادة تصنيفها.transmitتقوم هذه التقنيات بترجمة التعليمات البرمجية s و RSTs، واكتشاف هجمات SYN floods. Wireshark تُحوّل هذه الفلاتر إلى لغة إنجليزية بسيطة وتوصي بالخطوة التشخيصية التالية لمشاكل الاتصال.

نعم. تقوم برامج المساعدة البرمجية المدعومة بالذكاء الاصطناعي بتحويل طلب مكتوب باللغة الإنجليزية البسيطة إلى Python Scapy أو برنامج نصي netcat يقوم بتشغيل وفحص عملية المصافحة الثلاثية، ثم شرح كل سطر حتى يتمكن المهندسون من مراجعته قبل تشغيله.

تلخيص هذه التدوينة بـ: