الفصل الحادي عشر

الفصل الحادى عشر

أنظمة الكمبيوتر ومبادئ OSI

مبادئ OSI

يمكن تصنيف تصميم أنظمة الكمبيوتر إلي الآتى:

·        أنظمة مفتوحة.

·        أنظمة مغلقة.

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

·        OSI Model.

·        مشروع Project 802 وهو تعديل على OSI Model.

تم تطوير OSI Model وهو اختصار Open Systems Interconnection من قبل منظمة المقاييس الدولية International Standards Organization (ISO) ليكون منصة بالرجوع إليها يستطيع منتجو ومصنعو الشبكات تطوير مقاييس تسمح للأنظمة المفتوحة بالإتصال والتوافق فيما بينها وبالتالي أصبحت منتجات الشبكة قائمة على مواصفاتOSI. وتقسم مقاييس OSI إتصالات الشبكة إلي سبع طبقات:

·        Application.  

·        Presentation.

·        Session.

·         Transport.

·        Network.

·         Data-Link.

·        Physical.

كل طبقة تقدم خدمة للطبقات الأعلى منها بينما تستفيد من خدمات الطبقات الأسفل منها كما ترى بالشكل (120).

شكل رقم (120)

فمثلا طبقة Network تتصل مع طبقة Transport وتستخدم خدمات الطبقتين Data-Link و Physical والطبقات الثلاث السفلى مخصصة لنقل الـ Bits من البيانات وتبادلها بين الشبكات. أما الطبقات الثلاث العليا فهي مخصصة لتطبيقات وبرامج المستخدم.

أما الطبقة الوسطى فتعمل كواجهة بين الطبقات السفلى والعليا. وبشكل عام كلما ارتفعت الطبقة كلما زاد تعقيد مهامها. كما أن كل طبقة في الجهاز المرسل تقوم بالإتصال بالطبقة المماثلة لها في الجهاز المستقبل كما ترى بالشكل (121).

شكل رقم (121)

وهذا الإتصال لا يكون فعلياً بل ظاهرياً أو منطقياً. وتتم عملية الإتصال بين الجهازين كما يلي:

يتم إدخال البيانات المطلوب إرسالها بواسطة التطبيقات وتنتقل هذه البيانات ويتم ترجمتها بالمرور على كل الطبقات في الجهاز المرسل إبتداءا بطبقة التطبيقات وانتهاءا بطبقة Physical حيث تكون البيانات قد تحولت إلي Bits جاهزة للنقل عبر الأسلاك بعد أن تضيف كل طبقة معلومات خاصة إلي البيانات التي يرغب في إرسالها وتسمى هذه العملية Encapsulation وعند وصولها إلي الجهاز المستقبل تمر البيانات بطبقات OSI بشكل معكوس ابتداءا بطبقة Physical وانتهاءا بطبقة التطبيقات في عملية تسمى De-Encapsulation وتكون البيانات الناتجة هي ما يراه المستخدم المستقبل على جهازه. ويفصل بين كل طبقة وأخرى في OSI فاصل يسمى Interface وهو الذي يمرر البيانات بين الطبقات كما ترى بالشكل (122).

شكل رقم (122)

لنلق نظرة مفصلة على كل طبقة من طبقات OSI :

1- الطبقة الأولى Application يتحكم فيها المستخدم مباشرة وهي تدعم برامج مثل:

·        برامج نقل الملفات.

·        برامج قواعد البيانات.

·        برامج البريد الإلكتروني.

وهذه الطبقة هي المسئولة عن توفير إتصال بين عمليات التطبيقات وبيئة OSI كما أنها تتحكم بالوصول العام للشبكة وتدفق البيانات وعلاج الأخطاء. وتوفر هذه الطبقة خدمات تسمى Application Service Elements (ASEs) وتشمل هذه الخدمات ما يلي:

·        Association Control Service Element (ACSE).

·        File Transfer, Access and Management (FTAM).

·        .Message Handling System (MHS)

2- الطبقة الثانية Presentation وهي المسئولة عن تشكيل البيانات بالهيئة المناسبة للطبقة المجاورة العليا أو السفلى حسب الحالة هل هي عملية إرسال أو استقبال، كما أن هذه الطبقة مسئولة عن الترجمة بين البروتوكولات المختلفة كما تقوم بتحويل الصيغ المختلفة من الصور مثل PCX وPNG و JPG وغيرها إلي صيغة قابلة للقراءة والمشاهدة من قبل برنامج المستخدم، وتقوم هذه الطبقة أيضاً بضغط البيانات لتقليل عدد الـ Bits التي يجب نقلها.

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

·        Network File System (NFS).

·        Structured Query Language (SQL).

·        Windows X.

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

4- الطبقة الرابعة Transport وهي الطبقة التي تفصل بين الطبقات الموجهة للمستخدم User-Oriented والطبقات الموجهة للشبكة Network-Oriented تقوم هذه الطبقة بتجزئة البيانات إلي أجزاء تسمى Segments، كما تقوم بالتأكد من وصول هذه الأجزاء بدون أخطاء أو نقص أو تكرار وبالترتيب المناسب وباستخدام الوجهة المناسبة وتقوم هذه الطبقة في الجهاز المستقبل بإرسال رسالة تعلم باستلامها للبيانات.

5- الطبقة الخامسة Network وهي مسئولة عن عنونة الرسائل وترجمة العناوين المنطقية والأسماء إلي عناوين مادية تفهمها الشبكة. العنوان المنطقي قد يكون بريداً إلكترونياً أو عنوان إنترنت بهذا الشكل 123.123.123.123 أما العنوان المادي فيكون بهذا الشكل 02.12.3A.D1.23.AS. وتقوم هذه الطبقة باختيار أنسب مسار بين الجهاز المرسل والمستقبل، لهذا فإن أجهزة الموجهات Routers تعمل من ضمن هذه الطبقة.

6- الطبقة السادسة Data-Link وهي المسئولة عن المحافظة على التزامن في إرسال واستقبال البيانات وتقوم بتقسيم البيانات إلي أجزاء أصغر تسمى Frames وتضيف إليها أجزاء الرأس Header والذيل Trailer والتي تحتوي على معلومات تحكم للتأكد من خلو الإطارات من أي أخطاء.

7- الطبقة السابعة Physical وهي الطبقة المواجهة لوسط الإرسال والمسئولة عن إرسال البيانات التي تم تجهيزها من قبل الطبقات العليا عبر وسط الإرسال. كما تعرف هذه الطبقة الكيفية التي ستتصل بها كارت الشبكة بالأسلاك.

لنر الآن الكيفية التي تتصل وتتفاعل بواسطتها هذه الطبقات معاً.

يطلق على الهيئة القياسية التي يقوم البروتوكول بتشكيل البيانات المارة بين الطبقات عليها اسم Protocol Data Unit (PDU). وتقوم الواجهة الفاصلة بين كل طبقتين بتعريف العمليات والخدمات التي توفرها الطبقة السفلى لجارتها العليا وتسمى هذه العمليات Primitives.

ولكي تقوم أي طبقة عليا بالوصول إلي الطبقة المجاورة السفلى فإنها لا بد أن تستخدم عنواناً يسمى Service Access Point (SAP) ويمكن تصور هذا العنوان كمنفذ منطقي تمر البيانات من خلاله ويضاف الحرف الأول من اسم كل طبقة لهذا المصطلح ليصف اسم المنفذ الخاص بكل طبقة، فمنفذ طبقة Network يسمى NSAP. وعند مرور البيانات من طبقة لأخرى يمكن استخدام نوعين من الخدمات هما:

·        Confirmed. ü Unconfirmed.

في الخدمة Confirmed تستخدم العمليات Primitives التالية:

·        الطلب Request. ü الإشارة Indication.

·        الرد Response. ü التأكيد Confirm.

أما في الخدمة Unconfirmed فتستخدم :

·        الطلب Request. ü الإشارة Indication.

مبادئ Project 802

نظراً لتعدد مصنعي الشبكات واختلاف تصميماتها كان لابد من إيجاد مقاييس ومعايير تسمح للشبكات التي تستخدم تقنيات وتصميمات مختلفة بالإتصال فيما بينها. لهذا قامت هيئة IEEE بإصدار مشروع Project 802 لتوفير معايير للشبكات المحلية وشبكات نطاق المدن معتمدة على مقاييس OSI. ويرجع الرقم 802 إلي تاريخ إطلاق المشروع وهو شهر 2 من عام 1980. وتغطي مقاييس مشروع Project 802 ما يلي:

1- بطاقات الشبكة.

2- مكونات شبكات WAN.

3- مكونات شبكات الأسلاك المحورية والأسلاك الملتفة.

مواصفات كارت الشبكة تحدد طريقة الوصول إلي البيانات وكيفية إرسالها عبر وسط الإرسال وهذا يتضمن تحقيق الإتصال وصيانته وقطعه بين أجهزة الشبكة. وتقسم مقاييس Project 802 إلي 12 فئة كما يلي:

·        802.1 وهو متعلق بالطبقة الفرعية MAC من طبقة Data-Link في OSI ويحدد مواصفات الجسور وإدارتها.

·        802.2 هو متعلق بالطبقة الفرعية LLC من طبقة Data-Link في OSI.

·        802.3 وهو يحدد مواصفات CSMA/CD في شبكات Ethernet.

·        802.4 وهو يحدد مواصفات شبكات Token Bus LAN.

·        802.5 وهو يحدد مواصفات شبكات Token Ring LAN.

·        802.6 وهو يحدد مواصفات شبكات MAN.

·        802.7 وهو يحدد مواصفات شبكات Broadband.

·        802.8 وهو يحدد مواصفات شبكات الألياف البصرية.

·        802.9 وهو يحدد مواصفات الشبكات المتكاملة Integrated Voice/Data.

·        802.10 وهو يحدد مواصفات لأمن الشبكات.

·        802.11 وهو يحدد مواصفات الشبكات اللاسلكية.

·        802.12 وهو يحدد مواصفات شبكات 100BaseVG- AnyLAN والشبكات المحلية Demand Priority Access LAN.

تنقسم طبقة Data-Link إلي طبقتين فرعيتين هما:

·        Logical Link Control (LLC).

·        Media Access Control (MAC).

تحددLLC طريقة مرور المعلومات بين طبقة MAC والطبقات العليا من OS وتدمج مهامها في البرنامج الذي يتحكم بكارت الشبكة، وتتلخص هذه المهام فيما يلي:

·        تحقيق الإتصال الأساسي بين الأجهزة في شبكات LAN.

·        تنظيم البيانات وتقسيمها إلي أجزاء أصغر يسهل نقلها.

·        التأكد من التدفق الصحيح للبيانات في التتابع المطلوب.

·        العثور على الأخطاء وتحديد طريقة معالجتها.

لا يتم تشغيل جميع مهام طبقة LLC مع كل اتصال وإنما يعتمد ذلك على نوع الإتصال المستخدم. وتستطيع LLCتوفير ثلاثة أنواع من الخدمات:

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

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

3- Acknowledged Connectionless وفي هذا النوع يعطي الجهاز المستقبل إشارة تعلم الجهاز المرسل باستلامه للبيانات بشكل سليم.

أما الطبقة الفرعية MAC فهي التي تقوم بالمهام التالية:

·        تعرف كل بطاقات الشبكة بشكل فريد.

·        تقوم بالتأكد من تسليم بيانات خالية من الأخطاء بين الأجهزة المتصلة وإعادة الإرسال في حالة وجود أخطاء.

·        تقوم بإنشاء الإطارات التي تتسلمها من طبقة LLC لتكون جاهزة للإرسال.

·        القيام بمهمة العنونة بإضافة عنوان المرسل والمستقبل لحزم البيانات المرسلة ويطلق على العنوان MAC Address وهو عنوان فريد لا يتكرر ويتم تخزين هذا العنوان في ذاكرة ROM في كارت الشبكة، وأحياناً يطلق على هذا العنوان اسم Burned-In-Address (BIA).

·        توفر خدمة للتأكد من استلام الجهاز المستقبل للبيانات المرسلة إليه.

ويزود MAC بعدد يطلق عليه (Error-Detecting Frame-Check Sequence (FCS يُحسب بواسطة الجهاز المرسل وفقاً للبيانات التي يحملها الإطار ويُحسب مرة أخرى من قبل الجهاز المستقبل ، فإذا كان الناتج غير متوافق مع العدد الذي تم حسابه أولا،ً فإن البيانات يتم التخلص منها ويطلب من الطبقات العليا في OSI للجهاز المرسل إعادة إرسال البيانات مرة أخرى.

عندما يريد جهاز ما الإتصال بآخر باستخدام طبقة MAC فإن هذا الأمر في حالة الإتصال الموجه Connection-Oriented يتم كما يلي:

1- يقوم الجهاز المرسل بطلب خدمة Request من الجهاز المستقبل.

2- يتم تسجيل طلب الخدمة في الجهاز المستقبل وتظهر على شكل إشارة Indication.

3- في الجهاز المرسل تظهر استجابة Response من الجهاز المستقبل وهذه الاستجابة قد تكون إيجابية أو سلبية في حال انشغال الجهاز المستقبل.

4- إذا كانت الاستجابة إيجابية فسيظهر تأكيد استلام من الجهاز المستقبل.

أما في الإتصالConnectionless فعملية الإرسال تمر بالمرحلتين الأوليين فقط. ولكن معايير مشروع Project 802 ليست هي الوحيدة التي أعدت لتطوير OSI ، فهناك حزم بروتوكولات أخرى أعدت لنفس الغرض:

·        Manufacturing Automation Protocol (MAP) وقد تم تطويره للشبكات المحلية من قبل شركةGeneral Motors وهي تستخدم تصميم Token Bus.

·        Technical and Office Protocols (TOP) وقد طورت من قبل شركة Boeing Corporation وتعمل بشكل مشابه لمعايير MAP وهي تستخدم شبكات Ethernet و Token Ring.

·        Fiber Distributed Data Interface (FDDI) وقد طورت من قبل معهد المعايير الوطنية الأمريكية American National Standards Institute (ANSI) عام 1987 وتستخدم بكثرة في الشبكات التي تستخدم أسلاك الألياف البصرية وقد تم تطوير معايير مشابهة ولكن مخصصة للأسلاك النحاسية STP وUTP ويطلق علىها اسم (Copper Distributed Data Interface (CDDI.

وتقسم معايير FDDI طبقة Physical إلي طبقتين فرعيتين:

1- Physical Layer Protocol (PHY)

2- Physical Medium Dependent (PMD)

الطبقة الفرعية الأولى PHY مسئولة عن المهام التالية:

·        Encoding.

·        Decoding.

·        Data Framing.

أما طبقة PMD فهي مسئولة عما يلي:

·        إرسال واستقبال مستويات الطاقة Power Levels.

·        توفير احتياجات واجهات الإرسال والاستقبال.

·        تحديد معدلات حدوث الأخطاء.

·        مواصفات الأسلاك والمشابك.

مشغلات الشبكة Network Drivers

مشغل الجهاز أو Device Driver هو البرنامج الذي يسمح لنظام تشغيل الكمبيوتر بالعمل والتخاطب مع جهاز معين. لنر كيف يعمل مشغل كارت الشبكة:

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

تقوم مشغلات الشبكة بتوفير إتصال بين كارت الشبكة وبين موجه برمجي في الكمبيوتر يسمى Network Redirector وهو جزء من برنامج التشبيك مهمته استقبال طلبات Input/Output (I/O) للملفات على جهاز آخر وتحويلها للجهاز المطلوب. ويتم تنصيب مشغل الكارت من خلال برنامج الإعداد المتوفر على القرص المرن حيث يتم تخزينه على القرص الصلب للجهاز.

تعمل مشغلات كارت الشبكة من خلال الطبقة الفرعية MAC لطبقة Data-Link في OSI. وكل كارت تستخدم بروتوكولاً معينا للإتصال عبر الشبكة. وحيث أن أنظمة التشغيل المختلفة تدعم بروتوكولات مختلفة فإن على كارت الشبكة بدورها أن تدعم بروتوكولات متعددة ومختلفة، وإذا كان هذا هو الحال فإن على المصنعين كتابة مشغلات خاصة متوافقة مع كل بروتوكول أو نظام تشغيل، لذا وللتخلي عن أي عمل إضافي تم تطوير ما يسمى واجهة مشغل الشبكة Network Driver Interface. وعلى مشغلات الشبكة أن تكون متوافقة مع أحد معايير الواجهات التالية:

1- Network Driver Interface Specification (NDIS).

2- Open Data-Link Interface (ODI).

برنامج تشبيك Microsoft متوافق مع NDIS بينما أنظمة Novell NetWare فهي متوافقة مع ODI.

تقوم هذه الواجهات بعزل كارت الشبكة عن تفاصيل البروتوكولات المختلفة المستخدمة وعزل البروتوكولات عن الأنواع المختلفة لبطاقات الشبكات. مع هذه الواجهات أصبح لا داعي لكتابة مشغلات خاصة لكل بروتوكول أو نظام تشغيل بل أصبح يكفي كتابة مشغلات متوافقة مع أحد الواجهات آنفة الذكر بحيث أصبح المستخدمون قادرين على الإتصال عبر شبكات تستخدم بروتوكولات مختلفة باستخدام كارت شبكة وحيدة ومشغل شبكة وحيد متوافق مع واجهة NDIS أو ODI ومن الممكن عند الضرورة تحميل كلتا الواجهتين على نفس الجهاز. وتتمتع واجهة مشغلات الشبكة التي تعتمدها Microsoft وهي NDIS بالمميزات التالية:

1- تدعم استخدام أكثر من معالج على نفس الجهاز.

2- تستطيع التعامل مع عدة اتصالات أو روابط شبكية في نفس الوقت.

3- تستطيع التعامل مع عدة بروتوكولات نقل محملة في نفس الوقت.

وكل مشغل NDIS يكون مسئولاً عن المهام التالية:

·        إرسال واستقبال الحزم عبر الإتصال الشبكي.

·        الإدارة الفعلية لكارت الشبكة بما يتناسب مع نظام التشغيل.

·        تشغيل نظام Input/Output في كارت الشبكة وتلقي طلبات المقاطعة Interrupts منها.

·        إعلام نظام التشغيل باستقبال البيانات أو الإنتهاء من إرسالها.

·        عزل معلومات نظام التشغيل أو مكونات الجهاز عن مشغلات كارت الشبكة في حالة عدم حاجة هذه المشغلات لهذه المعلومات.