TCP

بروتكول التي سي بي يمثل جزء اساسي من حزمة بروتوكولات الإنترنت. وهو يعمل يد بيد مع بروتوكول الاي بي ليوجد خدمه ارسال معلومات مضمونه علي الانترنت. يحدد البروتوكول كيفية ترتيب المعلومه التي يراد ارسالها على النحو التالي.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

مقدمة

-يمثل التي سي بي إنگليزية: TCP (ميفاق التحكم بالنقل) جزءاً أساسياً من حزمة موافيق الإنترنت، حيث يكون هو والميفاق الآي.بي إنگليزية: IP الجزءان الأساسيان اللذان يكونان هذه الحزمة، لذلك يرمز لهذه الحزمة بالرمز تي سي بي/آي بي (TCP/IP)، في الحقيقة يوجد اختلاف في مهمات كل من الميفاقين السابقين، حيث يعمل الآي بي في طبقة أدنى وهي طبقة الشبكة إنگليزية: Network Layer ويتحكم بشكل أساسي بعمليات نقل الرسالة من المصدر إلى الوجهة من خلال التعامل مع عنوان كلٍ منهما والذي يكون فريداً على الشبكة ويسمى عنوان الآي بي، في حين يعمل التي سي بي في طبقة أعلى والتي تسمى طبقة النقل إنگليزية: Transport Layer ويتعامل بشكل أساسي مع التطبيقات التي تستخدمه لنقل البيانات عبر الانترنت فيقوم هو بالتخاطب مع الآي بي ليقوم الأخير بمهمته.


الوظيفة الشبكية

- يشكل هذا الميفاق وسيطاً بين التطبيقات التي تريد إرسال بيانات على شبكة الانترنت وبين الآي بي الذي يتحكم بعمليات العنونة وتوجيه الرسالة إلى الوجهة المراد الإرسال إليها، وذلك حتى نخفف العبء على هذه التطبيقات التي تريد الإرسال باستخدام الميفاق آي بي، لأن الآي بي في الحقيقة يقوم بتقسيم المعلومات المراد إرسالها على الشبكة إلى طرود مما يزيد من مهمات التطبيقات التي تريد الإرسال باستخدامه، لذلك يقوم التي سي بي بهذه العمليات كلها ليجرد التطبيقات العليا من جميع عمليات التحكم بالنقل (سواء الإرسال أو الاستقبال).

- ولا تقتصر مهمة التي سي بي على عملية تقسيم البيانات على شكل طرود يمكن للآي بي أن يرسلها، في الحقيقة يقوم أيضاً بعمليات تصحيح أخطاء النقل كلها أيضاً، حيث من الممكن أن تضيع الطرود أو أن تصل تالفة إلى المستقبل، وبالتالي يتوجب على التي سي بي في هذه الحالة أن يقوم بإعادة إرسالها من المرسل مرة أخرى، وذلك بأن يقوم التي سي بي الذي يوجد عند المستقبل بطلب إعادة إرسال من المرسل والذي يقوم بفهم هذا الطلب هو التي سي بي الموجود عند المرسل، كما ويقوم التي سي بي بعملية إعادة ترتيب الطرود التي وصلته عند المستقبل ليقوم بإيصال النسخة الكاملة من البيانات المرسلة إلى الطبقة العليا التي تحوي التطبيقات (البرامج) التي ستقوم بمعالجة هذه البيانات وفهمها.

- يتم استخدام التي سي بي من قبل العديد من تطبيقات الانترنت المشهورة مثل البريد الإلكتروني (E-Mail) والشبكة العنكبوتية العالمية (World Wide Web) وميفاق نقل الملفات (File Transfer Protocol) وتطبيقات نقل الوسائط (Streaming Media Applications) والعديد من التطبيقات أخرى.

ترويسة التي سي بي

+ البتات 0 — 3 4 — 9 10 — 15 16 — 23 24 - 31
0 عنوان بوابة الوجهة عنوان بوابة المصدر
32 الرقم التسلسلي
64 رقم التأكيد (الإقرار)
96 حجم النافذة ع6 ع5 ع4 ع3 ع2 ع1 محجوز مقدار الإزاحة
128 بيانات مستعجلة مجموع الاختبار
160 خيارات وتذييل
+  
المعلومات المرسلة
 

-تحوي ترويسة التي سي بي على الحقول التالية:

1- عنوان بوابة الوجهة: وتحوي رقم التطبيق في طبقة التطبيق (Application layer) عند المستقبل، أي التطبيق الذي سيقوم بالتعامل مع البيانات في هذا الطرد.

2- عنوان بوابة المصدر: وتحوي رقم التطبيق الذي قام بإرسال هذه البيانات باستخدام ميثاق التي سي بي.

3- الرقم التسلسلي: ويدل على رقم أول ثمانية في البيانات المرسلة في هذا الطرد.

4- رقم التأكيد: ويدل على رقم الثمانية التي يقوم مرسل هذا الطرد بانتظار وصولها وجميع الثمانيات التي سبقتها قد وصلت (كون نوع إشارات التأكيد التي يستخدمها التي سي بي إيجابية).

5- حجم النافذة: وهو رقم يخبر به مرسل هذا الطرد الطرف الآخر بعدد الثمانيات التي يمكن لمرسل هذا الطرد أن يستقبلها ابتداءً من رقم التأكيد الذي يوجد في هذا الطرد (هذه تحدد حجم النافذة المتزحلقة عند مرسل هذا الطرد).

6- محجوز: هو حقل غير مستخدم ولكنه سيستخدم في المستقبل.

7- مقدار الإزاحة: ويحوي هذا الحقل على عدد البايتات التي توجد في ترويسة التي سي بي، وتتراوح قيمته بين 5 إلى 15 كلمة لأنه يقدر بواحدة الكلمة وهي 4 بتات وكل بت من هذه البتات يمثل كلمة أي 32 بت.

8- أعلام مميزة:

1) ع1 (URG): وهو بت واحد يدل على أن البيانات التي توجد في هذا الطرد مستعجلة، ويجب على المستقبل أن يقرأ الرقم الذي يوجد في حقل "بيانات مستعجلة"، واذا كان يحوي هذا البت القيمة صفر فهذا يدل على أن البيانات التي في هذا الطرد ليست مستعجلة وبالتالي لا يقوم المستقبل بقراءة الرقم الموجود في الحقل "بيانات مستعجلة".

2) ع2 (ACK): وهو بت واحد يدل على أن البيانات الموجودة في هذا الطرد تحتاج إلى تأكيد من قبل مستقبلها.

3) ع3 (PSH): ويدل هذا الحقل في حالة وضعه على القيمة 1 على أن البيانات التي توجد في هذا الطرد يجب أن يتم رفعها إلى الطبقات العليا بأسرع ما يمكن.

4) ع4 (RST): إذا كان على القيمة 1 يدل على أنه يجب إعادة تأسيس الإتصال (Reset the connection).

5) ع5 (SYN): يحوي القيمة 1 عند فتح الرابطة ليساعد بعملية التزامن بين المرسل والمستقبل.

6) ع6 (FIN): لتدل على إغلاق الرابطة بشكل نظامي بين المرسل والمستقبل.

9- بيانات مستعجلة: لا يقوم المستقبل بقراءة هذا الحقل إلا إذا كان العلم ع1 (URG) فعالاً (أي على القيمة 1)، ويدل على رقم آخر ثمانية في المعطيات المستعجلة مما يسمح للتطبيق بمعرفة حجم البيانات المستعجلة القادمة (أي يحوي على عدد الثمانيات المستعجلة).

10- مجموع الاختبار (Checksum) : وهو مجموع قيم البتات في الطرد وترويسة التي سي بي، ويستخدم من أجل كشف الأخطاء، حيث يقوم المرسل بجمع هذه البتات وتخزين نتيجة الجمع في هذا الحقل، والمستقبل عند استقبال الطرد يقوم أيضاً بعملية الجمع نفسها لنفس العدد من البتات ويقارن بين القيمتين، وفي حال الاختلاف يكتشف وجود خطأ في الطرد المنقول ليطلب من المرسل بعدها أن يعيد إرساله إليه.

خواص الميفاق

A Simplified TCP State Diagram. See TCP EFSM diagram for a more detailed state diagram including the states inside the ESTABLISHED state.

1) موثوق : يهتم التي سي بي بعمليات النقل الموثوق للبيانات بدون أخطاء، وفي حالة حصول أخطاء في النقل يقوم بإعادة إرسال البيانات الضائعة أو الخاطئة من المرسل مرة أخرى وهذا ما جعل استخدامه بالنقل ليس مناسباً لجميع التطبيقات لأنه يقوم بتضييع الكثير من الوقت في الانتظار وتصحيح أخطاء النقل بإعادة الإرسال، لذلك يتم استخدام موافيق أخرى في التطبيقات التي تحتاج لنقل لحظي ومباشر للبيانات، مثل نقل الصوت عبر الآي بي (VoIP)، ولكنه جيد جداً ومفيد في التطبيقات التي تحتاج لبيانات دقيقة وصحيحة مثل نقل الملفات باستخدم ميفاق نقل الملفات إنگليزية: FTP

2) يقيم رابطة (اتصال) بين المرسل والمستقبل قبل الشروع بالإرسال: يستخدم التي سي بي تقنية المصافحة من أجل إقامة رابطة أو اتصال مع المستقبل، حيث يقوم بإرسال 3 طرود (3 إشارات مصافحة) بين كل من المرسل والمستقبل:

1- يقوم المرسل بإرسال طرد طلب فتح رابطة إلى المستقبل.

2- يقوم المستقبل بتأكيد هذا الطلب والموافقة عليه (إن كان يستطيع فتح رابطة وليس مشغولاً بعمليات نقل أخرى مع غيره من العقد على الشبكة).

3- يرد المرسل على المستقبل بإشارة تأكيد أخيرة ليدل على أنه جاهز للإرسال. والفائدة من إقامة رابطة بين الطرفين هي أن يعلم المستقبل ترتيب الطرود الحقيقي الذي أرسل وفقه المرسل من خلال وضع ذاكرة عند المستقبل تحتفظ بالطرود التي استقبلها وفقاً لترقيم معين في كل طرد منها يدل على ترتيب الطرد بين العدد الكلي للطرود التي يرسلها المرسل، مما يساعد في كشف ضياع أو فقدان أحد الطرود من قبل المستقبل خلال النقل ليطلب الأخير من المرسل إعادة إرساله، هذا هو السبب الرئيس الذي جعل هذا الميفاق موثوقاً.

3) يقوم بترقيم ثمانيات البيانات بدلاً من ترقيم الطرود: يقوم التي سي بي بترقيم تسلسلي للثمانيات المرسلة بدلاً من أن يقوم بترقيم الطرود المرسلة، فمثلاً إن كان يريد المرسل إرسال 10 طرود، وكل طرد يتكون من 100 ثمانية (Byte)، فيقوم التي سي بي بترقيم الثمانيات من الرقم 1 إلى الرقم 1000 ويوزع الثمانيات بالتساوي على الطرود العشرة، في حين بعض الموافيق الأخرى تقوم بترقيم الطرود العشرة من 1 إلى 10 بدلاً من ترقيم الثمانيات، ويقوم بإرفاق عدد الثمانيات وأرقامها في ترويسة من البتات تضاف مع البيانات المرسلة.

4) يستخدم إشارات التأكيد الإيجابية.

5) يستخدم طريقة إعادة الإرسال التراكمي (Cumulative Retransmission or Go-Back-N Retransmission).

6) يعتمد وجود مؤقت من أجل إعادة الإرسال: ويوجد عند مرسل الطرد، ويفيد في حالة عدم وصول إشارة التأكيد إليه من الطرف المستقبل، ويعمل هذا المؤقت بإحدى الطريقتين التاليتين:

1- يوجد لكل طرد مؤقت خاص فيه ويبدأ بالعمل فور إرسال الطرد ويتوقف عند استقبال إشارة التأكيد الخاصة بالطرد التالي لهذا الطرد ومشكلتها أنها طريقة مكلفة.

2- يتم تشغيل المؤقت فور استلام إشارة التأكيد الخاصة بأحد الطرود في أحد الأطراف وذلك لأن هذه الإشارة تدل على رقم الطرد المنتظر من الطرف المرسل لها.

TCP sequence numbers and receive windows behave very much like a clock. The receive window shifts each time the receiver receives and acknowledges a new segment of data. Once it runs out of sequence numbers, the sequence number loops back to 0.

7) يعتمد طريقة النافذة المتزحلقة من أجل التحكم بالدفق.

المراجع

1. ^William Stallings, Data And Computer Communication 5th Edition

2. ^ Behrouz A.Forouzan, Data communications and networking


+ البتات 0 — 3 4 — 9 10 — 15 16 — 31
0 المرسل المرسل اليه
32 الرقم التسلسلي
64 رقم إفادَةٌ بالتَّسَلُّمِ
96 الإزاحَةُ محجوز اعلام شباك
128 مَجْمُوعٌ اِخْتِبارِيٌّ اشاده طارئه
160 اختياريات
192 اختياريات (تكمله) تَذْيِيل
224  
المعلومه