موقف من الحياة اليومية#

بتكتب رسالة واتساب لصاحبك: «إنت فين؟». وبتضغط إرسال.

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

وكل حاجة من دول ممكن تكون من شركة مختلفة: الموبايل من شركة، والراوتر من شركة، والكابلات من شركة، والتطبيق من شركة. طب إزاي كلهم بيشتغلوا مع بعض من غير لخبطة؟

السر في فكرة بسيطة جدًا: التقسيم لطبقات.

خلاصة سريعة#

  • نموذج OSI (OSI Model (Open Systems Interconnection) · نموذج OSIنموذج مرجعي يقسّم عملية الاتصال بين الأجهزة إلى سبع طبقات، لكل طبقة وظيفة محددة، من الطبقة الفيزيائية في الأسفل إلى طبقة التطبيقات في الأعلى.عرض في القاموس) بيقسّم عملية الاتصال بين أي جهازين لـ 7 طبقات، وكل طبقة ليها شغلانة واحدة واضحة.
  • الطبقات بتترقّم من تحت لفوق: 1 الفيزيائية، 2 ربط البيانات، 3 الشبكة، 4 النقل، 5 الجلسة، 6 العرض، 7 التطبيقات.
  • OSI نموذج مرجعي للفهم والكلام المشترك. أما الإنترنت فعليًا ماشي بنموذج تاني أبسط اسمه TCP/IP (TCP/IP Model (Internet protocol stack) · نموذج TCP/IPنموذج الطبقات الذي يعمل به الإنترنت فعليًا، ويتكون من خمس طبقات في وصف كتاب Kurose وRoss، وليس فيه طبقتا الجلسة والعرض الموجودتان في نموذج OSI.عرض في القاموس).

ببساطة#

تخيل إنك بتبعت طرد لصاحبك في بلد تانية عن طريق شركة شحن:

  1. إنت بتكتب الجواب وتحطه في الطرد.
  2. موظف بيغلّف الطرد ويحط عليه ورقة فيها اسم صاحبك وعنوانه.
  3. قسم الفرز بيختار الطريق: الطرد هيعدّي على أنهي مدن.
  4. العربية أو الطيارة بتنقل الطرد فعليًا.

وعند صاحبك، كل خطوة بتتعمل بالعكس: الطرد يوصل، وحد يشيل الغلاف، وصاحبك يفتح الجواب ويقراه.

كل واحد في السلسلة دي مش محتاج يعرف شغل التانيين. سواق العربية مش محتاج يعرف إنت كاتب إيه في الجواب. وده بالظبط فكرة الطبقات.

الرسالة بتنزل في الجهاز المرسل وكل طبقة بتزوّد رأس، وبتطلع في المستقبل وكل طبقة بتشيل الرأس بتاعها. (الرسم مبسّط: بيوضح رؤوس الطبقات 4 و3 و2 بس.)

بالتفصيل#

ليه نقسّم لطبقات أصلًا؟#

حسب كتاب «Computer Networking: A Top-Down Approach» لـ Kurose وRoss، التقسيم لطبقات طريقة لتصميم الأنظمة المعقدة وللكلام عنها:

  • بيوضّح أجزاء النظام وعلاقتها ببعض، فيبقى عندنا نموذج مرجعي نتكلم بيه.
  • بيسهّل الصيانة والتطوير: لو غيّرت الطريقة اللي طبقة معيّنة بتشتغل بيها، باقي النظام مش بيحس. يعني ممكن تغيّر الواي فاي بكابل، والتطبيق مش هيفرق معاه.

نموذج OSI: منين جه؟#

OSI اختصار Open Systems Interconnection، يعني «الربط بين الأنظمة المفتوحة». والنموذج منشور في معيار دولي رسمي هو ITU-T X.200، ونصه مطابق للمعيار ISO/IEC 7498-1 الصادر سنة 1994.

الطبقات السبع واحدة واحدة#

هنمشي من تحت لفوق، بالترقيم المعتاد. والوظائف من المعيار X.200، مكتوبة ببساطة:

الطبقة 1: الفيزيائية (Physical)

بتنقل البتات (Bit (Binary Digit) · البتأصغر وحدة لتخزين المعلومات في الحاسوب، وقيمتها إما 0 أو 1.عرض في القاموس)، يعني الأصفار والآحاد، على الوسط نفسه: سلك، أو ألياف ضوئية، أو موجات. وحسب المعيار، دي الطبقة اللي بتتعامل مع الوسائل الميكانيكية والكهربائية لنقل البتات. وكتاب Kurose وRoss بيوصفها ببساطة: «البتات على السلك».

الطبقة 2: ربط البيانات (Data Link)

بتنقل البيانات بين جهازين جنب بعض مباشرة في الشبكة. وحسب المعيار، بتكتشف الأخطاء اللي ممكن تحصل في الطبقة الفيزيائية، وساعات بتصلّحها. ومن أمثلتها حسب الكتاب: Ethernet (الشبكة السلكية) والواي فاي. والسويتش (Switch · المحوّل (السويتش)جهاز يربط الأجهزة داخل الشبكة المحلية الواحدة وينقل البيانات بينها.عرض في القاموس) بيشتغل في الطبقة دي.

الطبقة 3: الشبكة (Network)

بتوصّل البيانات من المصدر للوجهة، حتى لو بينهم شبكات كتير. وحسب المعيار، بتريّح الطبقات اللي فوقها من التفكير في الطريق اللي البيانات هتمشي فيه. ومن أمثلتها حسب الكتاب: بروتوكول IP. والراوتر (Router · الموجّه (الراوتر)جهاز يربط الشبكات ببعضها ويوجّه حركة البيانات بينها، مثل الراوتر المنزلي الذي يربط شبكة البيت بالإنترنت.عرض في القاموس) بيشتغل في الطبقة دي.

الطبقة 4: النقل (Transport)

بتنقل البيانات بين البرامج نفسها على الجهازين، مش بس بين الجهازين. وحسب المعيار، بتوفر نقل بيانات موثوق من غير ما الطبقات اللي فوقها تشيل همّ إزاي ده بيحصل. ومن أمثلتها حسب الكتاب: TCP وUDP.

الطبقة 5: الجلسة (Session)

بتنظّم الحوار بين الطرفين. وحسب المعيار، بتبدأ الاتصال، وبتنظّم تبادل البيانات وتزامنه، وبتنهي الاتصال بشكل منظم. وكتاب Kurose وRoss بيوضح إن من شغلها التزامن، وحفظ «نقط رجوع»، واستعادة تبادل البيانات لو حصلت مشكلة.

الطبقة 6: العرض (Presentation)

بتهتم بشكل تمثيل البيانات، علشان الطرفين يفهموها بنفس الطريقة. وحسب المعيار، بتخلي التطبيقات مش محتاجة تقلق من مشكلة «الشكل المشترك» للبيانات. وكتاب Kurose وRoss بيذكر أمثلة زي التشفير والضغط.

الطبقة 7: التطبيقات (Application)

دي الطبقة اللي فوق خالص. وحسب المعيار، هي الوسيلة الوحيدة اللي البرنامج بيستخدم بيها الاتصال. ومن أمثلتها حسب الكتاب: HTTP (المواقع)، وDNS (تحويل أسماء المواقع لعناوين)، وSMTP وIMAP (الإيميل).

الطبقات في جدول واحد#

رقمالطبقةشغلتها باختصارأمثلة
7التطبيقاتالواجهة اللي البرامج بتستخدم بيها الشبكةHTTP وDNS وSMTP
6العرضشكل تمثيل البيانات، زي التشفير والضغط
5الجلسةتنظيم الحوار: بدايته وتزامنه ونهايته
4النقلنقل البيانات بين البرامج بشكل موثوقTCP وUDP
3الشبكةتوصيل البيانات من المصدر للوجهة واختيار الطريقIP، والراوتر
2ربط البياناتالنقل بين جهازين جنب بعض، واكتشاف الأخطاءEthernet والواي فاي، والسويتش
1الفيزيائيةنقل البتات على الوسط نفسهالكابلات والإشارات

إزاي تحفظ الترتيب؟#

فيه جملتين إنجليزي مشهورين بين اللي بيدرسوا الشبكات، كل كلمة فيهم بتبدأ بنفس أول حرف من اسم الطبقة:

  • من تحت لفوق (1 لـ 7): «Please Do Not Throw Sausage Pizza Away»، يعني Physical، Data Link، Network، Transport، Session، Presentation، Application.
  • من فوق لتحت (7 لـ 1): «All People Seem To Need Data Processing»، يعني Application، Presentation، Session، Transport، Network، Data Link، Physical.

الرسالة بتنزل وتطلع: لمحة عن التغليف#

زي ما شايف في الرسم، لما بتبعت رسالة:

  1. في جهازك: الرسالة بتنزل من الطبقة 7 لتحت، وكل طبقة بتزوّد عليها «رأس» (Header · الرأس (الترويسة)معلومات تضيفها كل طبقة في مقدمة البيانات قبل إرسالها، مثل العناوين، لتستخدمها الطبقة المقابلة في الجهاز المستقبل.عرض في القاموس) فيه المعلومات اللي تخصها، زي العناوين. حسب كتاب Kurose وRoss، طبقة النقل بتزوّد رأسها، وبعدين طبقة الشبكة تزوّد رأسها، وهكذا.
  2. على الكابل: كل ده بيتحول لبتات وبيتنقل.
  3. في جهاز صاحبك: الرسالة بتطلع لفوق، وكل طبقة بتشيل الرأس بتاعها وتقراه، لحد ما الرسالة الأصلية توصل للتطبيق.

وده اسمه التغليف وفك التغليف، وهنشرحه بالتفصيل في مقال لوحده.

OSI مش هو اللي الإنترنت ماشي بيه#

نقطة مهمة جدًا: حسب كتاب Kurose وRoss، الإنترنت عمليًا ماشي بنموذج طبقات أبسط، اسمه «مجموعة بروتوكولات الإنترنت» أو TCP/IP، والكتاب بيوصفه في 5 طبقات: التطبيقات، والنقل، والشبكة، والربط، والفيزيائية.

يعني طبقتي الجلسة والعرض مش موجودين فيه. والكتاب بيوضح إن الوظائف دي، لو التطبيق محتاجها، بيعملها بنفسه.

طب ليه بنتعلم OSI؟ لأنه نموذج مرجعي: لغة مشتركة بين اللي بيشتغلوا في الشبكات. لما حد يقولك «المشكلة في الطبقة 2»، هتفهم على طول إنه بيتكلم عن السويتش أو الواي فاي، مش عن الراوتر ولا التطبيق. وهنقارن بين النموذجين بالتفصيل في المقال الجاي من المجال ده.

للمتعمقين

المعيار الرسمي

النموذج منشور في ITU-T Recommendation X.200 (يوليو 1994)، والمعيار نفسه بيذكر إن نصه مطابق للمعيار الدولي ISO/IEC 7498-1. والمعيار بيشرح الطبقات السبع، وبيحدد لكل طبقة الغرض منها والخدمات اللي بتقدمها للطبقة اللي فوقها.

كل طبقة بتخدم اللي فوقها

حسب المعيار، كل طبقة (ما عدا اللي فوق خالص) بتقدّم خدمة للطبقة اللي فوقها، وبتستخدم خدمة الطبقة اللي تحتها. والطبقة اللي فوق خالص (التطبيقات) مافيش فوقها حاجة، والطبقة اللي تحت خالص (الفيزيائية) مافيش تحتها حاجة غير الوسط الفيزيائي نفسه. علشان كده المعيار بيقول إن طبقة التطبيقات هي «الوسيلة الوحيدة» اللي البرنامج بيوصل بيها لبيئة الاتصال.

تفاصيل عن الطبقات الوسطانية

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

مين بيشتغل في أنهي طبقة؟

حسب رسم «التغليف من طرف لطرف» في كتاب Kurose وRoss: الأجهزة الطرفية (زي جهازك) بتشتغل بكل الطبقات، والراوتر بيشتغل بطبقات الشبكة والربط والفيزيائية، والسويتش بيشتغل بطبقتي الربط والفيزيائية بس. يعني الرسالة بتطلع لحد الطبقة 3 في كل راوتر علشان يقرر يبعتها فين، وبعدين تنزل تاني.

أخطاء شائعة#

  • «الإنترنت ماشي بنموذج OSI»: غلط. OSI نموذج مرجعي للفهم، والإنترنت ماشي بـ TCP/IP.
  • «الطبقة 1 هي التطبيقات»: غلط. الترقيم بيبدأ من تحت: الطبقة 1 هي الفيزيائية، والطبقة 7 هي التطبيقات.
  • «طبقة التطبيقات يعني البرنامج نفسه»: غلط. هي الجزء اللي البرنامج بيستخدمه علشان يتكلم على الشبكة، زي HTTP.
  • «الراوتر والسويتش في نفس الطبقة»: غلط. السويتش في الطبقة 2 (ربط البيانات)، والراوتر في الطبقة 3 (الشبكة).
  • «كل طبقة محتاجة تعرف شغل باقي الطبقات»: غلط. ميزة الطبقات إن كل واحدة بتشتغل في حالها، وبتستخدم خدمة اللي تحتها بس.

المصطلحات#

  • نموذج OSI (OSI Model (Open Systems Interconnection) · نموذج OSIنموذج مرجعي يقسّم عملية الاتصال بين الأجهزة إلى سبع طبقات، لكل طبقة وظيفة محددة، من الطبقة الفيزيائية في الأسفل إلى طبقة التطبيقات في الأعلى.عرض في القاموس): نموذج مرجعي يقسّم الاتصال بين الأجهزة إلى سبع طبقات.
  • البروتوكول (Protocol · البروتوكولمجموعة قواعد متفق عليها تحدد شكل الرسائل التي تتبادلها الأجهزة وترتيبها، وما يفعله كل جهاز عند إرسال رسالة أو استقبالها.عرض في القاموس): قواعد متفق عليها لتبادل الرسائل بين الأجهزة.
  • الرأس (Header · الرأس (الترويسة)معلومات تضيفها كل طبقة في مقدمة البيانات قبل إرسالها، مثل العناوين، لتستخدمها الطبقة المقابلة في الجهاز المستقبل.عرض في القاموس): معلومات تضيفها كل طبقة في مقدمة البيانات قبل إرسالها.
  • نموذج TCP/IP (TCP/IP Model (Internet protocol stack) · نموذج TCP/IPنموذج الطبقات الذي يعمل به الإنترنت فعليًا، ويتكون من خمس طبقات في وصف كتاب Kurose وRoss، وليس فيه طبقتا الجلسة والعرض الموجودتان في نموذج OSI.عرض في القاموس): نموذج الطبقات الذي يعمل به الإنترنت فعليًا.
  • الراوتر (Router · الموجّه (الراوتر)جهاز يربط الشبكات ببعضها ويوجّه حركة البيانات بينها، مثل الراوتر المنزلي الذي يربط شبكة البيت بالإنترنت.عرض في القاموس): جهاز يربط الشبكات ويوجّه البيانات بينها، ويعمل في طبقة الشبكة.
  • السويتش (Switch · المحوّل (السويتش)جهاز يربط الأجهزة داخل الشبكة المحلية الواحدة وينقل البيانات بينها.عرض في القاموس): جهاز يربط الأجهزة داخل الشبكة المحلية، ويعمل في طبقة ربط البيانات.
  • الحزمة (Packet · الحزمةقطعة صغيرة من البيانات. تُقسَّم الرسالة أو الملف إلى حزم، وتنتقل كل حزمة عبر الشبكة من جهاز إلى الذي يليه حتى تصل إلى وجهتها.عرض في القاموس): قطعة صغيرة من البيانات تنتقل عبر الشبكة.
  • البت (Bit (Binary Digit) · البتأصغر وحدة لتخزين المعلومات في الحاسوب، وقيمتها إما 0 أو 1.عرض في القاموس): أصغر وحدة للمعلومات، وتنقلها الطبقة الفيزيائية.

اختبر نفسك#

رتّب الطبقات دي من تحت لفوق: الشبكة، الفيزيائية، النقل، ربط البيانات.

إظهار الإجابة

الفيزيائية (1)، ثم ربط البيانات (2)، ثم الشبكة (3)، ثم النقل (4). وتقدر تفتكرها بأول 4 كلمات من الجملة: «Please Do Not Throw».

جهاز بيقرر الطريق اللي البيانات هتمشي فيه من شبكة لشبكة. ده جهاز إيه، وبيشتغل في أنهي طبقة؟

إظهار الإجابة

الراوتر، في الطبقة 3 (الشبكة). طبقة الشبكة هي المسؤولة عن توصيل البيانات من المصدر للوجهة عبر الشبكات.

ليه الإنترنت ماشي بـ TCP/IP، ومع ذلك بنتعلم OSI؟

إظهار الإجابة

لأن OSI نموذج مرجعي ولغة مشتركة. بيقسّم الاتصال لطبقات واضحة، فلما حد يقول «المشكلة في الطبقة 2» أو «الطبقة 3»، كل اللي شغالين في الشبكات بيفهموا قصده.