نموذج OSI هو إطار مرجعي يقسم وظائف الاتصال الشبكي إلى سبع طبقات، تبدأ من نقل الإشارة عبر الوسط الفيزيائي في Layer 1 وتنتهي بخدمات الاتصال التي تستخدمها التطبيقات في Layer 7. فائدته الأساسية ليست حفظ سبعة أسماء، بل فهم نوع الوظيفة التي تحدث في كل مستوى وتحديد مكان المشكلة عندما يفشل الاتصال.
OSI اختصار لـ Open Systems Interconnection. وهو ليس بروتوكولًا مثل TCP أو IP، ولا توجد داخل الحاسوب «حزمة OSI» تمر حرفيًا عبر سبعة برامج منفصلة. توضح ISO في معيار ISO/IEC 7498-1 أن النموذج يوفر أساسًا مشتركًا لتنظيم وفهم معايير ربط الأنظمة، وليس مواصفة تنفيذية تفرض على الشبكات بناءً واحدًا بعينه.
إذا كنت تبدأ دراسة Networking للمرة الأولى، فمن المفيد وضع هذا الموضوع داخل الصورة الأكبر عبر دليل أساسيات الشبكات من الصفر، ثم العودة إلى OSI باعتباره الخريطة التي تساعدك على ترتيب المفاهيم.
ما هي طبقات OSI السبع؟
يُرقّم نموذج OSI من الطبقة الأولى في الأسفل إلى الطبقة السابعة في الأعلى:
| الطبقة | الاسم | الفكرة الأساسية | أمثلة مفيدة للفهم | وحدة البيانات الشائعة |
|---|---|---|---|---|
| 7 | Application | خدمات الاتصال التي تحتاجها التطبيقات | HTTP، DNS، SMTP، SSH | Data |
| 6 | Presentation | تمثيل البيانات وصيغتها وتحويلها | Encoding، Serialization، الضغط والحماية من منظور وظيفي | Data |
| 5 | Session | تنظيم الحوار والجلسات والمزامنة | إنشاء الحوار وإدارته واستعادته من منظور OSI | Data |
| 4 | Transport | النقل بين التطبيقات | TCP، UDP، Ports | TCP Segment أو UDP Datagram |
| 3 | Network | العنونة المنطقية والنقل بين الشبكات | IP، Routing | Packet أو IP Datagram |
| 2 | Data Link | نقل البيانات عبر الوصلة المحلية | Ethernet Frames، MAC، Switching | Frame |
| 1 | Physical | تحويل المعلومات إلى إشارات قابلة للنقل | النحاس، الألياف، الراديو، PHY | Bits / Symbols |
هذه الأسماء لوحدها لا تكفي. الطريقة الأفضل لفهم النموذج هي أن تسأل عند كل طبقة: ما المشكلة التي تحلها هذه الطبقة؟ وما المعلومات التي تحتاجها لاتخاذ قرارها؟
كذلك فإن أسماء وحدات البيانات في الجدول مفيدة تعليميًا لكنها ليست قاموسًا عالميًا يفرض مصطلحًا واحدًا على كل بروتوكول؛ فمثلًا يستخدم TCP مصطلح Segment بينما يعتمد UDP على Datagrams.
شرح طبقات OSI السبع
الطبقة 1 — Physical Layer
Physical Layer هي الطبقة الأقرب إلى الوسط الذي يحمل الإشارة. وظيفتها هي جعل نقل المعلومات فيزيائيًا ممكنًا بين الأطراف.
بحسب التقنية المستخدمة، تدخل هنا وظائف مثل خصائص الإشارة الكهربائية أو الضوئية أو الراديوية، التوقيت والمزامنة، معدلات الإشارة، خصائص الواجهات والموصلات، والوسط المستخدم في النقل.
يمكن أن يكون الوسط:
- كابلًا نحاسيًا.
- أليافًا ضوئية.
- قناة لاسلكية تستخدم موجات راديوية.
إذا كان كابل Ethernet مفصولًا، أو لا توجد إشارة لاسلكية مناسبة، أو فشل الطرفان في إنشاء Link، فمن غير المفيد البدء بفحص DNS أو TCP قبل حل المشكلة الأساسية في الاتصال الفيزيائي.
ولأن هذه الطبقة تحتوي على تفاصيل كثيرة تتعلق بالإشارات وPHY ووسائط النقل، يوجد شرح مستقل عن Physical Layer ووظائف الطبقة الفيزيائية.
الطبقة 2 — Data Link Layer
بعد توفر وسط يستطيع حمل الإشارة، نحتاج إلى طريقة منظمة لنقل البيانات بين الأطراف الموجودة على الوصلة المحلية. هنا يأتي دور Data Link Layer.
في Ethernet مثلًا تُنظم المعلومات داخل Frames، ويحتوي رأس Ethernet على عناوين MAC تساعد على تحديد المصدر والوجهة على ذلك الاتصال المحلي.
من الوظائف المرتبطة بهذه الطبقة:
- Framing أو تنظيم البيانات داخل Frames.
- العنونة المرتبطة بتقنية الوصلة، مثل MAC في Ethernet.
- تنظيم الوصول إلى وسيط الاتصال وفق التقنية المستخدمة.
- اكتشاف بعض أخطاء النقل على الوصلة.
الـEthernet Switch التقليدي مثال مفيد لفهم Layer 2؛ فهو يتعلم عناوين MAC التي تظهر عبر منافذه ويستخدمها لاتخاذ قرارات Forwarding داخل الشبكة المحلية.
لكن القول إن «كل Switch هو Layer 2 فقط» غير دقيق؛ فهناك Multilayer Switches تستطيع تنفيذ Routing ووظائف أخرى أيضًا.
وللتعمق دون تكرار التفاصيل هنا، يمكنك فهم تقسيم الطبقة الثانية من خلال الفرق بين LLC وMAC، ثم دراسة بنية الـFrame ومكوناته.
الطبقة 3 — Network Layer
الاتصال المحلي لا يكفي عندما تكون الوجهة موجودة في شبكة أخرى. نحتاج عندها إلى عنونة منطقية وطريقة لنقل البيانات بين شبكات مترابطة، وهي الوظائف التي تصفها Network Layer.
في الإنترنت يعد IP المثال الأوضح على هذه الفكرة. تحمل حزمة IP عنوان المصدر والوجهة، وتستخدم أجهزة التوجيه هذه المعلومات لتقرير الخطوة التالية في المسار.
من الوظائف المرتبطة بالطبقة الثالثة:
- العنونة المنطقية.
- نقل Packets بين شبكات مختلفة.
- اختيار المسارات.
- Forwarding نحو الـNext Hop المناسب.
الـRouter هو المثال التعليمي الأشهر: عندما يستقبل حزمة موجهة إلى شبكة أخرى، يفحص معلومات الطبقة الشبكية وجدول التوجيه لتحديد الواجهة أو الخطوة التالية المناسبة.
الفرق المهم هنا هو أن MAC يخدم الاتصال على الوصلة المحلية في تقنيات مثل Ethernet، بينما يسمح IP بتمييز المصدر والوجهة عبر عدة شبكات مترابطة.
الطبقة 4 — Transport Layer
الوصول إلى الجهاز الصحيح باستخدام IP لا يجيب وحده عن سؤال آخر مهم: أي تطبيق أو اتصال داخل الجهاز يجب أن يحصل على هذه البيانات، وما خصائص النقل المطلوبة؟
هذه من الوظائف التي تصفها Transport Layer.
أشهر بروتوكولين في طبقة النقل ضمن Internet Protocol Suite هما TCP وUDP.
TCP يوفر للتطبيقات تدفقًا موثوقًا ومرتبًا للبيانات، ويستخدم آليات مثل أرقام التسلسل والإقرارات وإعادة الإرسال والتحكم في التدفق للتعامل مع عدد من مشكلات النقل.
UDP يستخدم Datagrams ولا يقدم بنفسه آليات TCP المتعلقة بإنشاء اتصال موثوق أو إعادة إرسال البيانات المفقودة أو ضمان ترتيب وصولها.
هذا لا يعني أن UDP «أسرع دائمًا» أو أن التطبيق لا يستطيع إضافة آليات موثوقية خاصة به. الفرق هو في الخصائص التي يوفرها البروتوكول نفسه.
كما تستخدم TCP وUDP أرقام Ports للمساعدة على تمييز الخدمات والاتصالات المختلفة داخل الجهاز.
الطبقة 5 — Session Layer
Session Layer في النموذج المرجعي OSI تصف وظائف تنظيم الحوار بين الأطراف، مثل إنشاء الجلسة وإدارتها وإنهائها والمزامنة أثناء الاتصال.
هذه الطبقة من أكثر أجزاء OSI التي يُساء تفسيرها عند محاولة ربط النموذج بتطبيقات الإنترنت الحديثة.
فكلمة Session هنا لا تعني تلقائيًا جلسة تسجيل الدخول في موقع ويب، ولا Cookie في المتصفح. كثير من هذه المفاهيم تُدار اليوم داخل بروتوكولات أو تطبيقات تعمل وفق Internet Protocol Suite التي لا تحتوي على Session Layer مستقلة مطابقة حرفيًا للطبقة الخامسة في OSI.
الأفضل إذن التعامل مع Layer 5 باعتبارها وصفًا لمجموعة وظائف متعلقة بالحوار والمزامنة، لا صندوقًا يجب أن نضع فيه كل شيء يسمى Session.
الطبقة 6 — Presentation Layer
Presentation Layer تصف كيفية تمثيل المعلومات بطريقة يستطيع الطرفان فهمها والتعامل معها.
من الوظائف التي يمكن ربطها بها من الناحية المفاهيمية:
- Character Encoding.
- تحويل البيانات بين تمثيلات مختلفة.
- Serialization وتمثيل البنى والأنواع.
- الضغط.
- بعض وظائف حماية البيانات وتغيير تمثيلها.
لكن يجب الانتباه إلى الفرق بين الوظيفة المفاهيمية وبين تصنيف بروتوكول حقيقي.
على سبيل المثال، العبارة المنتشرة «TLS هو Layer 6» مفيدة أحيانًا كتقريب تعليمي، لكنها ليست قاعدة معمارية مطلقة. TLS بروتوكول حقيقي تستخدمه تطبيقات الإنترنت، بينما Presentation Layer جزء من النموذج المرجعي OSI. لذلك قد تتشابه بعض وظائف TLS مع وظائف نربطها بالطبقة السادسة دون أن يعني ذلك وجود طبقة Presentation مستقلة يمر TLS خلالها داخل كل نظام.
الطبقة 7 — Application Layer
Application Layer هي أعلى طبقات OSI. وهي تصف وظائف الاتصال الشبكي التي تحتاجها التطبيقات للوصول إلى الخدمات وتبادل المعلومات.
لا يعني ذلك أن برنامجًا مثل المتصفح بالكامل «يعمل في Layer 7». البرنامج يحتوي على وظائف كثيرة لا علاقة مباشرة لها بالشبكة؛ المقصود هنا الجزء المرتبط بخدمات وبروتوكولات الاتصال.
عند الحديث عن الإنترنت الحديث، من أمثلة البروتوكولات التي نراها على مستوى Application:
| البروتوكول | وظيفته |
|---|---|
| HTTP | تبادل طلبات واستجابات الويب |
| DNS | الاستعلام عن معلومات مرتبطة بأسماء النطاقات |
| SMTP | نقل البريد الإلكتروني |
| SSH | الوصول الآمن إلى الأنظمة والخدمات البعيدة |
| DHCP | توفير إعدادات الشبكة للأجهزة |
هذه أمثلة من Internet Protocol Suite وليست قائمة «ببروتوكولات OSI الرسمية». لفهم معنى Protocol والفرق بين وظائف البروتوكولات المختلفة، راجع شرح البروتوكولات الشبكية وأشهر أنواعها.
كيف تنتقل البيانات عبر الطبقات؟
لنأخذ مثالًا مبسطًا: متصفح يريد إرسال طلب إلى خادم ويب عبر اتصال يستخدم TCP وIP وEthernet.
- ينشئ التطبيق بيانات الطلب، مثل رسالة HTTP.
- تُعالج البيانات وفق البروتوكولات والوظائف المستخدمة في المستويات العليا.
- يستلم TCP البيانات ويضيف معلومات النقل اللازمة للاتصال.
- تحمل IP Datagram بيانات طبقة النقل وتضيف معلومات العنونة الشبكية.
- على شبكة Ethernet المحلية تُحمل IP Datagram داخل Ethernet Frame.
- تُحوّل معلومات الإطار إلى إشارات أو Symbols مناسبة للوسط الفيزيائي المستخدم.
تسمى إضافة معلومات التحكم أثناء الانتقال إلى الأسفل Encapsulation. وعند الطرف المستقبل تحدث العملية بالعكس، حيث تُزال معلومات كل مستوى حتى تصل البيانات إلى التطبيق، وتسمى هذه العملية Decapsulation.
إذا أردت تتبع هذه الرحلة بالتفصيل ورؤية العلاقة بين Data وSegment وPacket وFrame، فراجع شرح Encapsulation وDecapsulation بين طبقات الشبكة.
المهم هو ألا تتخيل وجود سبعة برامج مستقلة داخل الجهاز، كل منها يستلم البيانات من البرنامج السابق. OSI يصف الوظائف بصورة تجريدية؛ أما التنفيذ الحقيقي فيعتمد على نظام التشغيل والبروتوكولات والبرمجيات وعتاد الشبكة المستخدم.
ما الفرق بين OSI وTCP/IP؟
الخطأ الشائع هو الاعتقاد أن الإنترنت الحديث ينفذ طبقات OSI السبع حرفيًا. في الواقع، البنية المستخدمة في الإنترنت مرتبطة بـInternet Protocol Suite التي يشار إليها عادة باسم TCP/IP.
يصف RFC 1122 من IETF بنية تتضمن طبقات Application وTransport وInternet وLink. ولذلك فإن الربط بين TCP/IP وOSI يجب التعامل معه كتقريب تعليمي، لا كتحويل رسمي واحد إلى واحد.
| OSI | المقابل التقريبي في Internet Protocol Suite |
|---|---|
| 7 — Application | Application |
| 6 — Presentation | وظائف توجد عادة ضمن Application والبروتوكولات والبرمجيات المستخدمة |
| 5 — Session | لا توجد Session Layer مستقلة مطابقة لها |
| 4 — Transport | Transport |
| 3 — Network | Internet |
| 2 — Data Link | وظائف مرتبطة ببيئة Link |
| 1 — Physical | تقنيات وواجهات الاتصال التي تعمل أسفل أو ضمن بيئة Link |
هذا الاختلاف لا يجعل OSI «خاطئًا» ولا يجعل TCP/IP مجرد نسخة مختصرة منه. النموذجان لهما بنية وتاريخ مختلفان، والأهم هو معرفة متى تستخدم كل واحد لفهم الاتصال.
لماذا ما زال نموذج OSI مهمًا؟
القيمة العملية الأكبر لـOSI هي إعطاؤك لغة منظمة لوصف المشكلة.
بدل قول «الإنترنت لا يعمل»، تستطيع تقسيم السؤال:
- هل توجد إشارة وLink أصلًا؟
- هل تعمل الوصلة المحلية وFrames بصورة صحيحة؟
- هل لدى الجهاز عنوان IP صحيح ومسار إلى الوجهة؟
- هل خدمة النقل والمنفذ المطلوب قابلان للوصول؟
- هل المشكلة في DNS أو TLS أو HTTP أو منطق التطبيق نفسه؟
بهذه الطريقة يتحول OSI من قائمة للحفظ إلى إطار لتحليل الاتصال.
استخدام OSI في Troubleshooting
لنفترض أن حاسوبًا لا يستطيع فتح موقع ويب. يمكن استخدام النموذج لتنظيم التحقيق بدل تغيير الإعدادات عشوائيًا.
| المستوى | ما الذي يمكن فحصه؟ |
|---|---|
| Layer 1 | الكابل، Wi-Fi، حالة Link، المنفذ، الوسط الفيزيائي |
| Layer 2 | الاتصال المحلي، Ethernet، VLAN، Switch أو نقطة الوصول عند الحاجة |
| Layer 3 | IP Address، Subnet، Default Gateway، Routing والوصول إلى الشبكة |
| Layer 4 | TCP أو UDP، المنفذ المطلوب، الاتصال بالخدمة وقواعد Firewall ذات الصلة |
| الطبقات العليا | DNS، TLS، HTTP، البروتوكول ومنطق التطبيق |
هذه ليست قاعدة تلزمك دائمًا بالبدء من Layer 1. إذا كان لديك دليل واضح على أن الجهاز يستطيع الوصول إلى عنوان IP لكن DNS وحده يفشل، فمن المنطقي الانتقال مباشرة إلى الجزء المرتبط بالاسم والخدمة.
OSI يساعدك على ترتيب التفكير، وليس على تنفيذ سبعة اختبارات ثابتة في كل عطل.
أخطاء شائعة عند تعلم OSI
اعتبار OSI بروتوكولًا
OSI نموذج مرجعي. أما IP وTCP وUDP وDNS وHTTP وغيرها فهي بروتوكولات حقيقية لها مواصفات وتنفيذات.
حفظ الطبقات دون فهم المشكلة التي تحلها
أن تعرف أن Layer 3 تسمى Network أقل أهمية من فهم أن وظيفتها تتعلق بالعنونة المنطقية والوصول عبر شبكات مترابطة.
وضع كل بروتوكول في طبقة واحدة بالقوة
نماذج الطبقات تبسط الواقع. بعض البروتوكولات والبرمجيات الحديثة تحتوي على وظائف يمكن مقارنتها بمسؤوليات عدة طبقات، لذلك لا توجد فائدة من إجبار كل تقنية على خانة واحدة عندما لا يكون ذلك دقيقًا.
القول إن TLS هو Layer 6 دائمًا
الأدق أن بعض وظائف TLS يمكن مقارنتها بوظائف نربطها بالعرض والحماية، لكن هذا لا يجعل TLS تنفيذًا حرفيًا لطبقة Presentation في كل نظام.
اعتبار كل Session في الويب Layer 5
جلسات تسجيل الدخول وCookies ومعلومات الحالة التي تديرها تطبيقات الويب ليست دليلًا على وجود OSI Session Layer منفصلة داخل التطبيق.
الاعتقاد أن Switch أو Firewall يعمل دائمًا في طبقة واحدة
Layer 2 Switch التقليدي مثال ممتاز لشرح Data Link، لكن الأجهزة الحديثة قد تفحص أو تعالج معلومات من طبقات متعددة. توجد Multilayer Switches وFirewalls وLoad Balancers ومنصات حماية تعمل على أكثر من مستوى وظيفي.
الاعتقاد أن كل طبقة تضيف Header مستقلًا دائمًا
Encapsulation مفهوم أساسي، لكن لا توجد قاعدة تقول إن كل واحدة من طبقات OSI السبع يجب أن تضيف Header خاصًا بها في كل اتصال حديث. شكل البيانات ومعلومات التحكم يعتمد على البروتوكولات التي تُستخدم فعليًا.
كيف تتذكر OSI بطريقة مفيدة؟
بدل الاعتماد على جملة لحفظ سبعة أسماء، اربط كل طبقة بسؤال:
- Physical: هل يمكن نقل الإشارة عبر الوسط؟
- Data Link: كيف تنتقل Frame عبر الوصلة المحلية؟
- Network: كيف نصل إلى شبكة أو Host آخر باستخدام عنونة منطقية؟
- Transport: كيف تنتقل البيانات بين التطبيقات وما خصائص النقل المطلوبة؟
- Session: كيف يُنظم الحوار والمزامنة من منظور النموذج؟
- Presentation: كيف تُمثل البيانات وتُفسر بين الأطراف؟
- Application: ما خدمة الاتصال التي يحتاجها التطبيق؟
إذا استطعت الإجابة عن هذه الأسئلة وربطها بمثال عملي، فأنت تفهم النموذج بالفعل ولا تحتاج إلى الاعتماد على الحفظ وحده.
الخلاصة
يقسم نموذج OSI الاتصال إلى سبع طبقات: Physical وData Link وNetwork وTransport وSession وPresentation وApplication. الطبقات السفلى تصف الإشارة والاتصال عبر الوصلة والشبكات، بينما تنتقل الطبقات الأعلى تدريجيًا نحو النقل بين التطبيقات وتنظيم الحوار وتمثيل البيانات والخدمات التي تستخدمها التطبيقات.
لكن النقطة الأهم هي أن OSI نموذج مرجعي وليس وصفًا حرفيًا لبنية الإنترنت الحديثة. استخدمه كخريطة لفهم وظائف Ethernet وIP وTCP وUDP وDNS وHTTP، ولتتبع Encapsulation، ولعزل المشكلات أثناء Troubleshooting.
عندما يصبح بإمكانك النظر إلى مشكلة شبكية وتحديد هل هي أقرب إلى الإشارة، أو Frame، أو IP، أو Transport، أو البروتوكول والتطبيق، تكون قد استفدت من OSI بالطريقة التي صُمم النموذج من أجلها بدل الاكتفاء بحفظ أسماء طبقاته السبع.