هناك طريقتين مشهوريتين لوسائل الاتصال في الشبكات. الطريقة الأولى قد تم استخدامها من قبل المنظمة العالمية للقواعد (Internationa Organization for Standardization) والطريقة الثانية هي لوزارة الدفاع الأمريكية. سنبدأ بمنوذج وزارة الدفاع إن شاء الله تعالى.
لتسهيل عملية تصور كيفية نقل البيانات من جهاز إلى جهاز آخر، قامت وزارة الدفاع الأمريكية بتقسيم العملية إلى 4 طبقات:
1) طبقة البرامج والعمليات (Process/Application Layer)
2) طبقة المضيف إلى المضيف (Host to Host Layer)
3) طبقة الانترنت (Internet Layer)
4) طبقة دخول الشبكة (Network Access Layer)
سنقوم إن شاء الله تعالى بالقاء نظرة على عمليات كل طبقة، وفي النهاية سنأخذ مثال على كيفية ارسال معلومة من جهاز إلى جهاز آخر.
1. البرامج والعمليات:
البروتوكولات الموجودة في هذه الطبقة تستعمل في عمليات توصيل العقدة إلى العقدة (Node to Node) وتتحكم في مواصفات الواجهة الأمامية للمستخدم (user interface)
2. المضيف إلى المضيف:
البروتوكولات الموجودة في هذه الطبقة تستعمل في تنصيب درجة خدمة النقل للبرامج. وتقوم الطبقة بانشاء وسائل اتصال معتمد عليها بين جهازين كما إنها تضمن توصيل البيانات بصورة خالية من الخطأ. ومن مسؤوليات الطبقة ترقيم الرزم والحفاظ على سلامة البيانات.
3. الانترنت:
البروتوكولات هنا مسؤولة عن النقل المنطقي للرزم في الشبكة وإعطاء أرقام الأي بي للمضيفين. وتقوم الطبقة أيضا بتوجيه الرزم في الشبكات المختلفة وتتحكم الطبقة أيضا في مجرى الاتصال بين مضيفين اثنين.
4. دخول الشبكة:
هذه الطبقة تراقب عملية تبادل البيانات بين المستضيف والشبكة. وهي مسؤولة عن عنوان الهاردوير. البروتوكولات الموجودة في هذه الطبقة مسؤولة عن النقل المادي للبيانات.
سنقوم الآن باذن الله مراجعة لبعض البروتوكولات الموجودة في كل طبقة.
من خلال هذا البروتوكول، يستطيع مستخدم الشبكة التليفونية باستعمال الموارد المتاحة في جهاز آخر يسمى بخادم الشبكة التليفونية.
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
اُستحدثت هذه الخاصية لتسهيل حياة الانسان. فالفرد يتسطيع أن يصل لأي جهاز على شبكته عن طريق كتابة رقم الأي بي، ولكنه من الصعب حفظ أرقام الأي بي للكثير من الأجهزة، فتم استحداث خدمة نطاق الاسم بحيث يتم ايجاد واجهة أمامية للأي بي، فلا يحتاج الفرد إلى حفظ الأي بي، ولكنه يستطيع معرفة اسم الجهاز ومن خلال ذلك يستطيع الوصول إليه.
أهم وظيفة لهذه الطبقة أن تحمى الطبقة العليا من عمليات الشبكة المعقدة. كأن هذه الطبقة تطلب من الطبقة العليا كل البيانات والارشادات وهي تقوم بعملية توصيل وتنظيم المعلومات. هناك بروتوكولان اثنان في هذه الطبقة، وهما:
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 يتطلب معلومات أقل، وهذا يؤدي إلى سرعة في الأداء ولكن مع انخفاض في الاعتمادية.
طبقة بروتوكولات الانترنت:
هناك سببين رئيسيين لوجود هذه الطبقة:
1) التوجيه (routing)
2) تقديم واجهة أمامية شبكية موحدة للطبقات العليا.
كل الطبقات - العليا أو السفلى - ليس لديها القدرة على التوجيه إلا طبقة بروتكولات الانترنت. فهي الطبقة الوحيدة الي تقوم بمهمة التوجيه المعقدة والمهمة. مهمة الطبقة الثانية هي تقديم واجهة أمامية شبكية موحدة لبروتوكولات الطبقات العليا. فبدون هذه الطبقة، فإن على مبرمجي البرامج بأن يكتبوا كودات يكون مهمتها الأساسية كيفية التعامل مع طبقة دخول الشبكة. هذه العملية ستكون مرهقة، بالاضافة إلى إنها تؤدي إلى انتاج نسخ مختلفة لنفس البرنامج وكل نسخة تكون مسؤولة عن نوع معين من التوصيل. ولكن مع وجود طبقة بروتوكولات الانترنت، فإنه من مهمتها أن تقوم بارسال جميع البيانات عن طريق واحد دون اللجوء إلى تعقيدات برمجية.
البروتوكولات الموجودة في هذه الشبكة هي:
1) بروتوكول الانترنت Internet Protocol IP
2) بروتوكول رسالة تحكم الانترنت Internet Control Message Protocol ICMP
بروتوكول الانترنت هو بصورة عامة نفسه طبقة الانترنت. فوظيفة بقية البروتوكولات في هذه الشبكة هي مساعدة بروتوكول الانترنت.
بروتوكول الانترنت ينظر إلى عنوان كل رزمة. ثم باستخدام جدول التوجيه، يقرر بروتوكول الانترنت محطة الرزمة التالية باستخدام أفضل طريقة. لمعرفة الأجهزة على شبكة ما يتطلب الإجابة على سؤالين.
السؤال الأول: على أي شبكة الجهاز موجود؟
السؤال الثاني: ما هو رقم التعريف للجهاز على تلك الشبكة؟
إجابة السؤال الأول: يستلزم معرفة العنوان المنطقي logical address
إجابة السؤال الثاني: يستلزم معرفة عنوان الهاردوير.
كل مستضيف على أي شبكة يملك رقم هوية منطقي يسمى بعنوان بروتوكول الانترنت IP Address وهو نفسه العنوان المنطقي.
بروتوكول الانترنت يحصل على الأجزاء segments من طبقة المضيف إلى المضيف ويكسرها إلى رزم packets . وبروتوكول الانترنت في الجهار المستقبل يقوم بإعادة جمع الزوم وتحويلها إلى أجزاء. كل رزمة تحوي عنوان بروتوكول الانترنت للجهاز المرسل وللجهار المستقبل. عندما تصل الزومة إلى الموجه router فإن الموجه يقوم بقراءة عنوان بروتوكول الانترنت الموجود في الرزمة ومن ثم يقوم بعملية التوجيه الصحيحة.
لننظر كيف تبدو ترويسة بروتوكول الانترنت:
الآن مع تعريف المصطلحات:
نسخة version:
رقم نسخة بروتوكول الانترنت
طول الترويسة header length:
واضح من العنوان
أفضلية مع نوع الخدمة Priority and type of service
يوضح كيفية استعمال الرزمة
الطول الكلي Total length
طول الرزمة بالاضافة إلى طول الترويسة
تعريف بالهوية Identification
قيمة معينة لبروتوكول الانترنت.
أعلام flags
يحدد إن استلزم الأمر عملية تكسير
تعويض التكسير frag offset
يقوم بعملية تكسير أخرى إن كان حجم الرزم المرسلة كبيرة مقارنة بالمسموح به في شبكة معينة.
الوقت الباقي للحياة Time to live
كل رزمة تحوي عداد خاص يحدد الوقت الباقي للحياة. فإن كانت الرزمة تسبح في أثير الانترنت لفترة طويلة وتم اجتياز الوقت الباقي للحياة فإن الرزمة توقف عملية الارسال وتلغي نفسها.
بروتوكول protocol
رقم المنفذ الخاص ببروتوكول الطبقة العليا
header checksum
خاص لعملية تأكيد وصول البيانات بصورة خالية من الخطأ
عنوان الـIP الخاص بالمرسل Source IP address
عنوان الـIP الخاص بالمستقبل destination IP address
خيارات Options
يُستعمل لاختبار الشبكة وأمنها وما شابه من الأعمال
بيانات Data
ثانيا: بروتوكول رسالة تحكم الانترنت 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 فإن الأمر تقفي الأثر يُستعمل لمعرفة الطريق الذي تأخذه رزمة معينة للوصول إلى غايتها النهائية.
يقوم هذا البروتوكول بايجاد عنوان العتاد لمستضيف من خلال عنوان الـIP التابع له. فهو يعمل هكذا: عندما لدى الـIP بعض من الرزم للارسال، فإن على الـIP أن يخبر بروتوكولات دخول الشبكة بعنوان العتاد التابع للجهاز المستقبل على الشبكة المحلية. ولكن إن لم يجد الـIP عنوان العتاد الخاص بالجهاز المستقبل، فإنه يستعمل APR لمعرفة هذا العنوان.
ARP يعمل كمحقق من خلال استجواب الشبكة المحلية عن طريق ارسال رسالة عامة تأمر صاحب عنوان الـIP المعين بالاستجابة عن طريق ارسال عنوان العتاد التابع له.
عندما يكون جهاز الـIP جهاز بدون ديسك، فإنه لا توجد أية طريقة لمعرفة عنوان الـIP الخاص به ولكنه يعرف عنوان العتاد الخاص به. فعلى ذلك، فإن هذا الجهاز يستخدم بروتوكول اقرار العنوان المعاكس لارسال رزمة يستفسر من خلالها عن عنوان الـIP التابع له من خلال معرفة عنوان العتاد التابع له. ومن ثم يقوم جهاز معين يسمى بخادم RARP بالاجابة على السؤال وتنتهي أزمة المعرفة الذاتية.