السلام عليكم ورحمة الله وبركاته
لن أتكلم في هذه الموضوع عن تعريف الشبكات وأنواعها ولكن سأتكلم عن الطبقات القياسية المستخدمة في الشبكات وبعض الاجهزة المستخدمة.
الطبقات أو OSI اختصارا لـ (Open Systems Interconnection) قد تم وضعها بواسطة ISO اختصارا لـ (International Organization for Standardization) في أواخر عام 1970م. لقد تم وضع OSI لمساعدة الشركات لتصنيع أجهزة خاصة للشبكات تتمكن من نقل المعلومات مع بعضها البعض. مثلا، نقل المعلومات من جهاز Unix إلى جهاز عادي أو جهاز ماكنتوش. OSI عبارة عن مواصفات أو تعليمات قياسية تساعد الشركات المصنعة على تصنيع أجهزة وبرامج تعمل على شبكات مختلفة للتمكن من نقل المعلومات من بعضها البعض.
تتكون OSI من سبع طبقات وقد تم تقسيم الطبقات إلى مجموعتين. المجموعة العليا والتي تتكون من ثلاثة طبقات تهتم بكيفية اتصال وعمل البرامج في جهاز المستخدم مع بعضها البعض ومع المستخدم. المجموعة السفلى والتي تتكون من أربع طبقات تهتم بنقل البيانات من نقطة إلى نقطة.
الأن سأقوم بإعطاء نبذة مختصرة عن كل طبقة حسب ترتيبها ابتداءاً من الطبقات العليا:
1. Application Layer أو طبقة البرامج: هي الطبقة التي يتفاعل فيها المستخدم مع جهاز الكمبيوتر وتقوم بالتأكد من وجود موارد كافية بالجهاز للقيام بعدة عمليات اتصال، مثلا، نقل الملفات، البريد الإلكتروني، التحكم عن بعد، ادارة ومراقبة الشبكات وغيرها. بعض التطبيقات التي تعمل في هذه الطبقة: FTP، WWW، الطاعة على طابعات موصولة على الشبكة، مشاركة الملفات بين الأجهزة، البريد الإلكتروني.
2. Presentation layer أو طبقة العرض: تقوم بعرض البيانات إلى طبقة البرامج ومسئولة عن ترجمة البيانات وتهيئتها إلى الصيغة القياسية قبل بدء عملية نقل البيانات. من أهم تطبيقات طبقة العرض: ضغط البيانات، فك ضغط البيانات، تشفير البيانات، فك تشفير البيانات،.... بعض المواصفات القياسية المستخدمة في هذه الطبقة: PICT,TIFF,JPEG,MIDI,MPEG,.....
3. Session Layer: تقوم بتجهيز وادارة جميع البيانات القادمة من طبقة العرض وتقوم بتنظيم عملية الإتصال بين عدة أنظمة. تقوم هذه الطبقة بفصل بيانات تطبيق معين من التداخل مع بيانات تطبيق أخر. بعض البروتوكولات المستخدمة في هذه الطبقة: SQL,NFS,RPC,X Window,....
4. Transport Layer أو طبقة النقل: يقوم بتقسيم واعادة تجميع البيانات القادمة من الطبقات العليا ووضعها في مجرى البيانات. تقوم هذه الطبقة بعمل اتصال منطقي(Logical Connection) من الطرف المرسل إلى الطرف المستقبل.
من أهم البرتوكولات المستخدمة في هذه الطبقة: TCP(اتصال موثوق أو reliable connecyion) و UDP (اتصال غير موثوق أو not reliable connection). بمعنى أن مصممي البرامج عندهم خيار استخدام TCP أو UDP الإتصال بالطرف الأخر.
من مهام هذه الطبقة: التحكم في تدفق البيانات (Flow Control) أي في حالة الإتصال الموثوق يتم منع المرسل من ملئ مكان التخزين المؤقت (buffer) في المستقبل حيث أن في حالة امتلاء buffer للمستقبل ومتابعة الإرسال للمرسل سيؤدي ذلك إلى ضياع البيانات. وحتى يتم التأكد من عدم ضياع البيانات في حالة الإتصال الموثوق يتم عمل التالي:
أ. قطعة البيانات (Segment) المرسلة يتم التأكد وصولها للطرف الأخر عن طريق إقرار acknowledge يرسل من المستقبل إلى المرسل.
ب. جميع قطع البيانات التي لم يستلم لها إقرار (acknowledge) يتم إعادة إرسالها.
ج. يتم يرتيب قطع البيانات المسقبلة حسب أرقامها.
د. يتم التحكم بدفق البيانات لمنع الإزدحام أو امتلاء مكان التخزين المؤقت أو فقدان البيانات.
ْ سأقوم بشرح كيفية عمل بدء اتصال موثوق:
أ. يقوم الجهاز المرسل بإرسال طلب تزامن(synchronization)
ب. يقوم المرسل والمستقبل بالتباحث حول الإتصال (negotiate connection)
ج. يقوم المستقبل بإرسال طلب تزامن (synchronization)
د. يقوم المرسل بإرسال إقرار بالذي تم اتفق عليه ويتم إعلام المستقبل أن الإتصال تم عمله وممكن إرسال البيانات (acknowledge)
هـ. تبدأ الأن عملية نقل البيانات
عندما يستقبل الجهاز بيانات، يضعها في مكان التخزين المؤقت (buffer) ويقوم بمعالجتها ولكن في حالة قيام المرسل بإرسال بيانات بسرعة عالية، وعند امتلاء مكان التخزين المؤقت، يقوم المستقبل بإرسال رسالة أنه غير جاهز (not ready) للمرسل. عندها سيقوم المرسل بإيقاف إرسال البيانات ويقوم المستقبل بمعالجة البيانات الموجودة في مكان التخزين المؤقت. ثم يقوم المستقبل بإرسال رسالة أته جاهز (ready) للمرسل، فيقوم المرسل بتكملة إرسال البيانات.
عند قيام الجهاز المستقبل بإرسال إقرار (acknowledge) لكن قطة بيانات (segment) سيؤدي ذلك إلى بطء في عملية الإرسال حيث يقوم الجهاز المرسل بانتظار تقرير الإستلام.
في الصورة الموضحة إعلاه حجم النافذة المستخدمة هو 1 ولكن في استخدام نافذة بحجم 3، سيقوم المرسل بإرسال 3 قطع بيانات (segment) ثم ينتظر استلام تقرير استلام( acknowlege) من المستقبل.
عند وقوع خطأ بالإتصال ولم يصل واحد من قطع البيانات أو لم يصل كاملا، سيقوم المستقبل بطلب قطعة البيانات الناقصة أو التالفة فقط كما هو موضح.
ومن المهام المهمة التي يقوم هذه الطبقة بتفيذها هي محاولة تصحيح الأخطاء في البيانات التالفة قبل طلب إعادة الإرسال.
5. Network Layer أو طبقة الشبكة: مهمة هذه الطبقة إعطاء عنوان للأجهزة ومحاولة معرفة مواقع الأجهزة وتحديد أحسن الطرق المتوفرة لنقل المعلومات. الراوتر (router) يعمل في هذه الطبقة بالإضافة إلى بعض أنواع السويتش التي تسمى (multilayer switch).
6. Data link Layer: تقوم هذه الطبقة بالنقل الفعلي للبيانات وتقوم بالتعرف على الأخطاء التي حدثت أثناء نقل البيانات. تقوم هذه الطبقة إلى تقسيم البيانات القادمة من طبقة الشبكة إلى إطارات (frame) وثم تقوم بتحويلها إلى بت (bits) لأجل أخر طبقة. تقوم هذه الطبقة أيضا بإضافة hardware address الخاص بالمرسل والمستقبل في كل إطار. تتكون هذه الطبقة من طبقتين فرعيتين هي(media Access Control (Mac و (Logical Link Control (LLC.
7. Physical Layer: تقوم بإرسال البت (bits) واستقبالهم على هيئة 0 و 1
أرجو أن تكون هذه المعلومات مفيدة واتمنى أن يستفيد منها الجميع
أخوكم أحمد