تعريف بروتوكول TCP واستخداماته
يعد بروتوكول التحكم في الإرسال (TCP) أحد أهم بروتوكولات مجموعة بروتوكولات الإنترنت، إذ إنه البروتوكول الأكثر استخدامًا لنقل البيانات في شبكة الاتصالات مثل الإنترنت، وهو بروتوكول طبقة نقل (transport layer) يسهل نقل الحزم من المصدر إلى الوجهة، وهو بروتوكول مهيئ للاتصال؛ مما يعني أنه ينشئ الاتصال قبل إرسال البيانات، يتم استخدام هذا البروتوكول مع بروتوكول الإنترنت (IP)، لذلك يشار إليهما معًا باسم TCP / IP.[١][٢]
تتمحور الوظيفة الرئيسية لبروتوكول التحكم في الإرسال في أخذ البيانات من طبقة التطبيق (application layer)، ثم تقسيمها إلى عدة حزم، وترقيم هذه الحزم، وأخيراً نقل هذه الحزم إلى الوجهة، سيقوم TCP، على الجانب الآخر، بإعادة تجميع الحزم ونقلها إلى طبقة التطبيق.[٢][١]
آلية عمل برتوكول TCP
يمكن تلخيص مبدأ عمل برتوكول TCP عن طريق ثلاث خطوات، كالآتي:[٣]
إنشاء الاتصال
عندما يرغب جهازا كمبيوتر في إرسال البيانات إلى بعضهما البعض عبر برتوكول TCP، فإنهما يحتاجان أولاً إلى إنشاء اتصال باستخدام اتصال ثلاثي (three-way handshake)، حيث يرسل الكمبيوتر الأول رسالة بدء الاتصال تسمى (SYN) إلى الكومبيوتر الثاني، ثم يرسل الكمبيوتر الثاني ردًا يوافق فيه على رسالة بدء الاتصال تسمى (ACK) إلى الكومبيوتر الأول بالإضافة إلى رسالة بدء اتصال بالكومبيوتر الأول (SYN)، ليرد الكمبيوتر الأول مرة أخرى برسالة (ACK).
لا تتضمن الحزم الثلاث في عملية تبادل الإشارات الثلاثية أي بيانات عادةً، بمجرد أن تنتهي أجهزة الكمبيوتر من التعرف وبدء الاتصال، تصبح جاهزة لتلقي الحزم التي تحتوي على بيانات فعلية.
إرسال البيانات
عندما يتم إرسال حزمة من البيانات عبر TCP، يجب على المستلم أن يوافق دائمًا على الحزم التي يتلقاها، حيث يرسل الكمبيوتر الأول حزمة بها بيانات ورقم تسلسلي، يتعرف الكمبيوتر الثاني عليه عن طريق رسالة ACK وزيادة في رقم الإقرار (acknowledgement number) بعدد البيانات المستلمة، ويساعد هذين الرقمين أجهزة الكمبيوتر في تتبع البيانات التي تم تلقيها بنجاح، والبيانات التي تم فقدها، وأي البيانات تم إرسالها مرتين عن طريق الخطأ.
إغلاق الاتصال
يمكن لأي من جهازي الكمبيوتر إغلاق الاتصال عندما لا يرغبان في إرسال البيانات أو تلقيها، حيث يبدأ الكمبيوتر في إغلاق الاتصال عن طريق إرسال رسالة الإنهاء (FIN)، ويرد الكمبيوتر الآخر برسالة يوافق فيها على الإنهاء (ACK) ورسالة أخرى يطلب فيها إنهاء الاتصال بالكومبيوتر الأول (FIN)، وبعد رسالة الموافقة على الإنهاء من الكومبيوتر الأول (ACK) يتم إغلاق الاتصال.
مزايا وعيوب برتوكول TCP
من أهم مزايا برتوكول TCP:[٢]
- يوفر خدمة موثوقة، مما يعني أنه يضمن تسليم حزم البيانات، وإذا فقدت حزمة البيانات عبر الشبكة، فسيقوم TCP بإعادة إرسال الحزم المفقودة.
- يوفر آلية للتحكم في التدفق باستخدام بروتوكول النافذة المنزلقة (Sliding Window).
- يوفر اكتشاف الأخطاء باستخدام التحكم في الأخطاء باستخدام بروتوكول Go Back أو ARP.
ومن عيوب برتوكول TCP، إنه يزيد الحمل على الشبكة بسبب تجزئة البيانات.