قائمة الشبكات > الشبكة المحلية

شرح للـTCP/IP

الكاتب: غير معروف


هناك طريقتين مشهوريتين لوسائل الاتصال في الشبكات. الطريقة الأولى قد تم استخدامها من قبل المنظمة العالمية للقواعد (Internationa Organization for Standardization) و الطريقة الثانية هي لوزارة الدفاع الأمريكية.
سنبدأ بمنوذج وزارة الدفاع

لتسهيل عملية تصور كيفية نقل البيانات من جهاز إلى جهاز آخر، قامت وزارة الدفاع الأمريكية بتقسيم العملية إلى أربعة طبقات:


1) طبقة البرامج والعمليات (Process/Application Layer)
2) طبقة المضيف إلى المضيف (Host to Host Layer)
3) طبقة الانترنت (Internet Layer)
4) طبقة دخول الشبكة (Network Access Layer)


سنقوم إن شاء الله تعالى بالقاء نظرة على عمليات كل طبقة، و في النهاية سنأخذ مثال على كيفية ارسال معلومة من جهاز إلى جهاز آخر.


1. البرامج والعمليات:
البروتوكولات الموجودة في هذه الطبقة تستعمل في عمليات توصيل العقدة إلى العقدة (Node to Node) و تتحكم في مواصفات الواجهة الأمامية للمستخدم (user interface)


2. المضيف إلى المضيف:
البروتوكولات الموجودة في هذه الطبقة تستعمل في تنصيب درجة خدمة النقل للبرامج. و تقوم الطبقة بانشاء وسائل اتصال معتمد عليها بين جهازين كما إنها تضمن توصيل البيانات بصورة خالية من الخطأ. و من مسؤوليات الطبقة ترقيم الرزم والحفاظ على سلامة البيانات.

3. الانترنت:
البروتوكولات هنا مسؤولة عن النقل المنطقي للرزم في الشبكة و إعطاء أرقام ال IP للمضيفين. و تقوم الطبقة أيضا بتوجيه الرزم في الشبكات المختلفة و تتحكم الطبقة أيضا في مجرى الاتصال بين مضيفين اثنين.

4. دخول الشبكة:
هذه الطبقة تراقب عملية تبادل البيانات بين المستضيف و الشبكة. و هي مسؤولة عن عنوان الهاردوير. البروتوكولات الموجودة في هذه الطبقة مسؤولة عن النقل المادي للبيانات.
و هذه مراجعة لبعض البروتوكولات الموجودة في كل طبقة.


أولا: بروتوكولات طبقة البرامج والعمليات:

1. الشبكة التلفونية Telnet
Telnet هو اختصار لـTelephone Network من خلال هذا البروتوكول، يستطيع مستخدم الشبكة التليفونية باستعمال الموارد المتاحة في جهاز آخر يسمى بخادم الشبكة التليفونية

2. بروتوكول نقل الملفات FTP
FTP هو اختصار لـFile Transfer Protocol و هو البروتوكول الخاص بنقل الملفات بين الأجهزة. و هو ليس فقط بروتوكول بل هو أيضا برنامج لتعديل الملفات. في أغلب الأوقات يُستعمل بروتوكول نقل الملفات مع الشبكة التلفونية للاتصال بخادم لبروتوكول نقل الملفات. بروتوكول نقل الملفات يعطيك الكثير من الحرية في تغيير ترتيب الملفات و تغيير اسم الملفات.

3. بروتوكول بسيط لنقل الملفات TFTP
Trivial File Transfer Protocol هذا البروتوكول عمله كبروتوكول نقل الملفات، إلا أن مميزاته محدودة ، الخاصية الوحيدة هي القدرة على نقل الملفات فقط.

4. نظام ملف الشبكة Network File System NFS
هذا النظام يسمح لأنظمة الملفات المختلفة أن تعمل مع بعضها هكذا: لنفترض أنه عندنا شبكة خادم/زبون و نظام NT يعمل على الخادم و أنظمة الزبون هي Unix. نظام ملف الشبكة يسمح لجزء في ذاكرة RAM الخادم بتخزين ملفات Unix و بذلك تستطيع أجهزة الزبون استعمال هذه الملفات.
فعلى الرغم من أن نظام الملفات في NT و Unix تخلتفان من ناحية طول اسم الملف ، أمن ، و طريقة تسمية الملف فإن مستخدمي NT و Unix يستطيعون الوصول إلى هذه الملفات بصورة طبيعية و بدون الحاجة لتغييرات.

5. بروتوكول نقل البريد البسيط Simple Main Transfer Protocol SMTP
يُستعمل هذا البروتوكول في نقل البريد الالكتروني.

6. Line Printer Daemon
صمم هذا البروتوكول من أجل المشاركة في الطابعات. فـLPD بالاضافة إلى LRP يستخدمان لارسال أوامر الطبع إلى طابعات الشبكة عن طريق TCP/IP

7. نافذة اكس X Window
صممت نافذة اكس من أجل عمليات الخادم/الزبون. فهي تُعرف البروتوكول المسؤول عن استخدام واجهة تصويرية للمستخدم Graphical User Interface في علميات الخادم/الزبون.

8. بروتوكول بسيط لادارة الشبكة Simple Network Management Protocol SNMP
هذا البروتوكول مسؤول عن جمع و تحليل البيانات الموجودة في الشبكة. ففي أوقات مختلفة، يقوم هذا البروتوكول بطلب بيانات معينة من الأجهزة الموجودة بالشبكة. اذا كان كل شيء على ما يرام، فإن البروتوكول يستلم تقرير يسمى بـ" لخط الأساسي" Baseline و ذا التقرير يؤكد على صحة الشبكة. و ن كانت هناك مشاكل في الشبكة فإن البروتوكول يرسل رسائل مستعجلة إلى المسؤولين عن الشبكة تعلمهم بوجود خلل في الشبكة.

9. خدمة نطاق الاسم Domain Name Service DNS
اُستحدثت هذه الخاصية لتسهيل حياة الانسان. فالفرد يتسطيع أن يصل لأي جهاز على شبكته عن طريق كتابة رقم الIP، و لكنه من الصعب حفظ أرقام الIP للكثير من الأجهزة ، فتم استحداث خدمة نطاق الاسم بحيث يتم ايجاد واجهة أمامية للIP ، فلا يحتاج الفرد إلى حفظ الIP ، و لكنه يستطيع معرفة اسم الجهاز و من خلال ذلك يستطيع لوصول إليه.

10. Bootstrap Protocol

11. Dynamic Host Configuration Protocol DHCP


ثانياً: بروتوكولات طبقة المضيف إلى المضيف:

أهم وظيفة لهذه الطبقة أن تحمي الطبقة العليا من عمليات الشبكة المعقدة. كأن هذه الطبقة تطلب من الطبقة العليا كل البيانات و الارشادات و هي تقوم بعملية توصيل و تنظيم المعلومات. هناك بروتوكولان اثنان في هذه الطبقة، و هما :

1) بروتوكول تحكم التوصيل: Transmission COntrol Protocol TCP
2) User Datagram Protocol


أولا: بروتوكول تحكم التوصيل: Transmission COntrol Protocol TCP

يقوم هذا البروتوكول بأخذ مجموعة كبيرة من البيانات من برنامج معين و من ثم تكسيرها إلى أجزاء صغيرة و تُرقم هذه الأجزاء و ترتبها. و عندما يتم إرسال هذه الأجزاء المرقمة، فإن TCP في الجهاز المرسل ينتظر رسالة تأكيد وصول من الـTCP في الجهاز المُستقبل.
فإن لم تصل رسالة تأكيد وصول إلى TCP جهاز المرسل، فإن TCP يقوم بإعادة إرسال الأجزاء التي لم يأتي تأكيد بوصولها.
قُبيل عملية بدأ الارسال، يقوم TCP الجهاز المرسل بارسال رسالة إلى TCP الجهاز المستقبل مستفسرا عن إمكانية إرسال الرسالة الآن. فإن أتت الإجابة بالايجاب يقوم TCP الجهاز المرسل ببدأ عملية الارسال. و إن كانت الإجابة بلا، فإن TCP الجهاز المرسل ينتظر قليلا قبل أن يرسل رسالة استفسار مرة أخرى. و إن لم يأت الجواب على رسالة الاستفسار، فإن TCP الجهاز المرسل يقوم بإعادة إرسال رسالة الاستفسار.
و عندما تأتي رسالة الإيجاب، فإن TCP الجهاز المرسل يقوم بارسال الأجزاء المرقمة. و يتفق TCP الجهاز المرسل مع TCP الجهاز المستقبل على كمية الأجزاء المرسلة قبل الحصول على رسالة تأكيد وصول آخرى من الجهاز المستقبل. و في هذه الأثناء و مع بدأ الارسال فإن TCP المرسل يكون دائرة واقعية Virtual Circuit مع TCP المستقبل.

بنية جزء الـTCP



فيما يلي، سيكون شرحا لبنية جزء TCP

منفذ المصدر Source Port
رقم منفذ الجهاز الذي يقوم بالارسال (سنشرح ما المقصود بالمنفذ في مقال لاحق)

منفذ المستقبل Destination port
رقد منفذ الجهاز الذي يستلم البيانات.

رقم التسلسل Sequence Number
رقم جزء الـTCP الذي يساعد على عملية التجميع عند وصول البيانات إلى غايتها.

رقم التوكيد Aknowledgmenet Number
يحدد أي TCP يجب أن يرسل الآن


طول المقدمة Header Length

محجوز Reserved
دوما يساوي صفر

شفرات البت Code Bits
خواص تحكيم لبدأ ونهاية الدورة session

نافذة Window
حجم النافذة المسموح بارساله في وقت معين.

Checksum
يحتاج لمقالة بنفسها ولكنها برنامج معين لكشف الأخطاء بالرسائل

مؤشر عاجل Urgent Pointer
يؤشر إلى نهاية البيانات المستعجلة

خيار Option
يحدد أعلى قيمة للـTCP

بيانات Data
البيانات المراد توصيلها

كما ترى يا عزيزي القارئ، فإن هناك الكثير من الأمور التي يجب الإحاطة بها لارسال البيانات عن طريق TCP، مما يؤدي إلى بطء في عملية الارسال. و لكن الناحية الإيجابية هي الاعتمادية: فيمكن الاعتماد على TCP لارسال بيانات صحيحة و خالية من الخطأ. و لكن TCP قد صنع في السبعينات من القرن الماضي، عندما لم تكن طبقات التوصيل متطورة بالشكل اللازم، فكانت الكثير من البيانات تضيع أثناء الارسال أو يتم تحويرها.
فاستدعت الحاجة انشاء بروتوكول ذو اعتمادية كبيرة. و لكن الآن و مع التطوير في بنية الطبقات و تحسين عمليات تصحيح الأخطاء، أصبحت اعتمادية TCP غير مهمة على النحو السابق، و لكن في هذا العصر السريع تطلب الأمر استحداث بروتوكول جديد يفي هذا الطلب من ناحية السرعة و اعتمادية أقل و هي User Datagram Protocol


ثانياً: User Datagram Protocol
هذه هي بنية جزء UDP


منفذ المصدر Source Port
رقم منفذ الجهاز الذي يقوم بالارسال

منفذ المستقبل Destination port
رقد منفذ الجهاز الذي يستلم البيانات.

Checksum
يحتاج لمقالة بنفسها ولكنها برنامج معين لكشف الأخطاء بالرسائل

طول المقدمة Header Length
بيانات Data

البيانات المراد توصيلها


فقط! قارن بين هذه المتطلبات وتركيب TCP! ترى بأن UDP يتطلب معلومات أقل، وهذا يؤدي إلى سرعة في الأداء و لكن مع انخفاض في الاعتمادية.

ثانيا: بروتوكول رسالة تحكم الانترنت Internet Control Message Protocol ICMP

يعمل ICMP في طبقة الانترنت و يُستخدم من قِبل الـIP أو بروتوكول الانترنت لأداء مهام مختلفة. ICMP هو بروتوكول إدارة و يقوم بايصال الرسائل من أجل الـIP. رسائل ICMP تكون على هيئة رزم IP. على فترات معينة ، يتم نشر معلومات معينة عن الموجهات routers في الشبكة لنشر عناوين الـIP لمنافذ الموجه الشبكية. و تقوم الأجهزة المستضيفة باستيعاب هذه النشرات لتحديد طرق التوجيه. التماس الموجه router solicitation هو عبارة عن طلب النشرات في الحال، و قد تُرسل هذه النشرات عن طريق أي مستضيف. يستخدم ICMP في النقاط التالية :

الغاية لا تبلغ:
إن كان الموجه لا يستطيع ارسال رزمة الـIP بصورة أبعد، فإنه يستعمل ICMP لكي يرسل رسالة إلى الجهاز المرسل يخبره بالأمر الحدث.

المستودع ملئ:
اذا كانت ذاكرة الموجه ممتلئة بالرزم القادمة، فإنها تستخدم ICMP لارسال رسالة إلى الجهاز المرسل لكي يبطأ من عملية ارسال الرزم لوقت معين.

وثبات Hops
كل رزمة IP لديها عدد معين من الموجهات - تدعى وثبات - يمكنها المرور من خلالها.
اذا وصلت عدد الوثبات إلى العدد النهائي، والرزمة لم تصل بعد إلى غايتها، فإن الموجه المسؤول سيلغي هذه الرزمة ويستخدم ICMP لارسال رسالة إلى الجهاز المرسل مفادها أن الرزمة قد تم الغائها.

بنج Ping
لمعرفة إن كان جهاز معين متصل بالشبكة، فإن ذلك الجهاز يرسل Ping باستخدام ICMP فإن كان هناك صدى، معناته أن الجهاز متصل بالشبكة.

تقفي الأثر Tracerout
باستعمال ICMP فإن الأمر تقفي الأثر يُستعمل لمعرفة الطريق الذي تأخذه رزمة معينة للوصول إلى غايتها النهائية.



ثالثا: بروتوكول اقرار العنوان Address Resolution Protocol ARP

يقوم هذا البروتوكول بايجاد عنوان العتاد لمستضيف من خلال عنوان الـIP التابع له.
فهو يعمل هكذا : عندما لدى الـIP بعض من الرزم للارسال، فإن على الـIP أن يخبر بروتوكولات دخول الشبكة بعنوان العتاد التابع للجهاز المستقبل على الشبكة المحلية.
و لكن إن لم يجد الـIP عنوان العتاد الخاص بالجهاز المستقبل، فإنه يستعمل APR لمعرفة هذا العنوان.

ARP يعمل كمحقق من خلال استجواب الشبكة المحلية عن طريق ارسال رسالة عامة تأمر صاحب
عنوان الـIP المعين بالاستجابة عن طريق ارسال عنوان العتاد التابع له.



رابعا: بروتوكول اقرار العنوان المعاكس Reverse Address Resolution Protocol RARP

عندما يكون جهاز الـIP جهاز بدون ديسك، فإنه لا توجد أية طريقة لمعرفة عنوان الـIP الخاص به و لكنه يعرف عنوان العتاد الخاص به. فعلى ذلك، فإن هذا الجهاز يستخدم بروتوكول اقرار العنوان المعاكس لارسال رزمة يستفسر من خلالها عن عنوان الـIP التابع له من خلال معرفة عنوان العتاد التابع له. و من ثم يقوم جهاز معين يسمى بخادم RARP بالاجابة على السؤال وتنتهي أزمة المعرفة الذاتية.