الدرس 23: نظرة عامة على TCP (بروتوكول التحكم في الإرسال)
الـ TCP هو البروتوكول المهيمن في طبقة النقل (L4) للتطبيقات التي تتطلب ضمان وصول البيانات، والموثوقية، والترتيب. وهو يعتبر بروتوكولاً موجهاً للاتصال (Connection-oriented).
الخصائص الرئيسية للـ TCP
1. إنشاء الاتصال (المصافحة الثلاثية - Three-Way Handshake)
يتطلب TCP مرحلة إعداد رسمية قبل بدء نقل البيانات. هذا يضمن استعداد الطرفين للاتصال.
- SYN (تزامن): يرسل العميل حزمة SYN إلى الخادم، طالباً الاتصال.
- SYN-ACK (تزامن-إقرار): يرد الخادم مقراً بالطلب ومقدماً رقم التسلسل الخاص به.
- ACK (إقرار): يرسل العميل إقراراً نهائياً، مؤكداً إنشاء الاتصال.
2. ضمان التسليم (الموثوقية)
يضمن TCP الموثوقية من خلال:
- التسلسل (Sequencing): يخصص رقم تسلسل لكل قطعة (segment)، مما يسمح للمستلم بإعادة تجميعها بالترتيب الصحيح.
- الإقرار (ACK): يجب على المستلم إرسال ACK للمرسل عن كل قطعة يستلمها. إذا لم يستلم المرسل ACK خلال وقت معين، فإنه يعيد إرسال البيانات.
3. التحكم في التدفق والنافذة (Windowing)
يستخدم TCP حجم النافذة (window size) للتحكم في كمية البيانات غير المقر بها والتي يمكن إرسالها في وقت واحد. هذا يمنع المرسل السريع من إغراق المستلم البطيء.
تطبيقات تستخدم TCP
- تصفح الويب (HTTP/HTTPS)
- نقل الملفات (FTP)
- البريد الإلكتروني (SMTP, POP3, IMAP)
الشعار: يضع TCP الجودة والموثوقية قبل السرعة.