تي سي بي
التي سي بي (بالإنجليزية: 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) : وهو مجموع قيم البتات في الطرد وترويسة التي سي بي، ويستخدم من أجل كشف الأخطاء، حيث يقوم المرسل بجمع هذه البتات وتخزين نتيجة الجمع في هذا الحقل، والمستقبل عند استقبال الطرد يقوم أيضاً بعملية الجمع نفسها لنفس العدد من البتات ويقارن بين القيمتين، وفي حال الاختلاف يكتشف وجود خطأ في الطرد المنقول ليطلب من المرسل بعدها أن يعيد إرساله إليه.
خواص الميفاق
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- يتم تشغيل المؤقت فور استلام إشارة التأكيد الخاصة بأحد الطرود في أحد الأطراف وذلك لأن هذه الإشارة تدل على رقم الطرد المنتظر من الطرف المرسل لها.
7) يعتمد طريقة النافذة المتزحلقة من أجل التحكم بالدفق.
المراجع
1. ^William Stallings, Data And Computer Communication 5th Edition
2. ^ Behrouz A.Forouzan, Data communications and networking
--Aiham taleb (نقاش) 00:47، 9 ديسمبر 2009 (تعم)
ast:Transmission Control Protocol
bg:TCP
bn:ট্রান্সমিশন কন্ট্রোল প্রোটোকল
br:Transmission Control Protocol
bs:Transmission Control Protocol
ca:Transmission Control Protocol
cs:Transmission Control Protocol
da:TCP
de:Transmission Control Protocol
el:Transmission Control Protocol
Transmission Control Protocol]]
eo:TCP
es:Transmission Control Protocol
et:Edastusohje protokoll
eu:Transmission Control Protocol
fa:قرارداد هدایت انتقال
fi:TCP
fr:Transmission Control Protocol
gl:TCP
he:Transmission Control Protocol
hr:TCP
hu:Transmission Control Protocol
id:Transmission Control Protocol
is:TCP
it:Transmission Control Protocol
ja:Transmission Control Protocol
ko:전송 제어 프로토콜
lb:Transmission Control Protocol
lt:TCP
lv:TCP
ms:Protokol Kawalan Penghantaran
nl:Transmission Control Protocol
nn:Transmission Control Protocol
no:TCP
pam:Transmission Control Protocol
pl:TCP (protokół)
pt:Transmission Control Protocol
ro:Protocol de control al transmisiei
ru:TCP
sh:TCP
simple:Transmission Control Protocol
sk:Transmission Control Protocol
sq:Transmission Control Protocol
sr:TCP
sv:Transmission control protocol
ta:பரப்புகை கட்டுப்பாடு நெறிமுறை
th:Transmission Control Protocol
tr:TCP
uk:TCP
ur:تضبیط ترسیل دستور
uz:TCP
vi:TCP
yo:Transmission Control Protocol
zh:传输控制协议
zh-yue:傳輸控制協議