نموذج OSI بالتفصيل: الطبقات السبع من الكابل إلى التطبيق

في كل مرة تفتح فيها موقعًا إلكترونيًا أو ترسل رسالة أو تشاهد فيديو، تمر البيانات بعدة مراحل قبل أن تصل إلى شاشتك. فهي تنتقل من الإشارات الكهربائية في كابل إيثرنت أو الموجات الراديوية في Wi-Fi وصولًا إلى البرنامج الذي تستخدمه. ويمنحك فهم هذا التسلسل صورة واضحة عن طريقة عمل الشبكات، ويساعدك على تشخيص مشكلات الإنترنت بترتيب منطقي. والنموذج الأكثر استخدامًا لوصف هذا التسلسل هو نموذج OSI، وهو إطار مرجعي يقسّم الاتصال الشبكي إلى سبع طبقات. تشرح هذه المقالة نشأة النموذج، ووظيفة كل طبقة، وكيفية انتقال البيانات بينها، ومقارنته بنموذج TCP/IP، وكيفية استخدامه لحل المشكلات الفعلية.

ما هو نموذج OSI

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

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

نشأة النموذج

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

وكانت النتيجة المعيار ISO 7498 الذي نُشر عام 1984، والمعروف باسم نموذج OSI المرجعي. ورغم أن النموذج لاقى احترامًا واسعًا كفكرة، فإن البروتوكولات التي وُضعت لتطبيقه، مثل X.400 للبريد الإلكتروني وX.500 للأدلة، لم تحظَ بالانتشار المتوقع. في المقابل، طُوّر TCP/IP في الولايات المتحدة ضمن DARPA، ونُشر على شبكة ARPANET، ثم أصبح أساس الإنترنت، فانتشر على نطاق أوسع بكثير.

نظرة عامة على الطبقات السبع

تُرقَّم الطبقات من الأسفل إلى الأعلى. فالطبقة الأولى أقرب ما تكون إلى الوسط الفيزيائي، والطبقة السابعة أقرب ما تكون إلى المستخدم.

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

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

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

4. طبقة النقل (Transport Layer)

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

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

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

ومن العبارات الإنجليزية الشائعة لتذكّر الترتيب "Please Do Not Throw Sausage Pizza Away"، وهي تبدأ من الطبقة الأولى حتى السابعة. وبمجرد أن تتذكرها، تستطيع معرفة الطبقة التي ينتمي إليها جهاز أو بروتوكول معيّن.

الطبقة الأولى: الطبقة الفيزيائية

تهتم هذه الطبقة بإرسال البتات الخام عبر وسط فيزيائي، مثل الجهد الكهربائي في أسلاك النحاس، أو الضوء في الألياف البصرية، أو الموجات الراديوية في Wi-Fi. وهي تحدد كيف يُمثَّل الصفر والواحد بمستويات الجهد أو الترددات أو شدة الضوء، إضافة إلى أشكال الموصلات وسرعات الإشارة وحدود الجهد.

تشمل أجهزة هذه الطبقة كابلات الإيثرنت مثل Cat 6، والكابلات الليفية، والمحاور (Hubs) التي تعيد بث الإشارة، والمرسلات المستقبلات (Transceivers). ومن المشكلات الشائعة الكابلات المفكوكة أو التالفة، والموصلات الرديئة، وأطوال الكابلات التي تتجاوز المعيار، والتداخل الكهرومغناطيسي.

الطبقة الثانية: طبقة ربط البيانات

تتولى هذه الطبقة التسليم بين الأجهزة الموجودة على الشبكة المحلية نفسها أو المتصلة مباشرة ببعضها. وهي تجمع البتات في إطارات (Frames)، يحتوي كل منها على عنوان الوجهة وعنوان المصدر والبيانات وقيمة للتحقق من الأخطاء مثل CRC. والعنوان المستخدم في هذه الطبقة هو عنوان MAC، وهو معرّف من 48 بتًا تحدده الشركة المصنعة لبطاقة الشبكة، ويُكتب عادة بالنظام السداسي عشر، مثل 00-1A-2B-3C-4D-5E.

كما تنظم هذه الطبقة طريقة مشاركة الأجهزة للوسط. فإيثرنت تستخدم قواعد لتجنب الإرسال المتزامن على الكابل، وتستخدم Wi-Fi آلية CSMA/CA لتقليل التصادم في الهواء. والجهاز الرئيسي هنا هو المحوّل (Switch)، الذي يتعلم عناوين MAC المرتبطة بكل منفذ، ويرسل كل إطار إلى المنفذ الصحيح فقط. وتتيح شبكات VLAN، المعرّفة في المعيار 802.1Q، تقسيم محوّل واحد إلى شبكات افتراضية منفصلة.

الطبقة الثالثة: طبقة الشبكة

تنقل طبقة الشبكة الحزم (Packets) عبر شبكات كثيرة، وتستخدم عناوين IP لتحديد الوجهة. عناوين IPv4 طولها 32 بتًا، مثل 192.168.1.10، أما عناوين IPv6 فطولها 128 بتًا لتوفير مساحة عناوين أكبر بكثير. ومهمتها الأساسية التوجيه (Routing)، أي اختيار أفضل مسار للحزمة، ويقوم بذلك الموجّهات (Routers) بالرجوع إلى جداول التوجيه.

تتضمن هذه الطبقة أيضًا بروتوكول ICMP الذي يحمل رسائل التشخيص. فأوامر ping وtraceroute تستخدم ICMP للتحقق من استجابة الوجهة، ولمعرفة عدد القفزات على المسار. ومن المشكلات الشائعة في هذه الطبقة إعدادات IP الخاطئة، مثل قناع الشبكة الفرعية (Subnet Mask) أو البوابة الافتراضية (Default Gateway) غير الصحيحة، أو مسارات غير موجودة.

الطبقة الرابعة: طبقة النقل

تنقل طبقة النقل البيانات من برنامج على جهاز إلى برنامج على جهاز آخر. وتستخدم أرقام المنافذ (Ports) لتحديد الخدمات، فالمنفذ 80 لـ HTTP، والمنفذ 443 لـ HTTPS، والمنفذ 53 لـ DNS.

البروتوكولان الرئيسيان هنا هما TCP وUDP. فـ TCP موثوق، إذ يجري مصافحة ثلاثية قبل الإرسال، ويؤكد الاستلام بالإقرارات (Acknowledgements)، ويعيد إرسال البيانات المفقودة، ويتحكم في تدفق البيانات حتى لا يُغرَق المستقبِل. أما UDP فأبسط وأسرع لكنه لا يضمن الوصول، ولذلك يناسب البث المباشر للفيديو والألعاب الإلكترونية وDNS. ووحدة البيانات في هذه الطبقة تسمى قطعة (Segment) في TCP، وتسمى بيانات مستقلة (Datagram) في UDP.

الطبقة الخامسة: طبقة الجلسة

تفتح طبقة الجلسة المحادثات بين برنامجين وتديرها وتنهيها، وتسمى هذه المحادثات جلسات (Sessions). ومن وظائفها إنشاء نقاط تفتيش (Checkpoints) حتى يمكن استئناف النقل بعد انقطاع، وتنظيم من يتحدث في وقت معيّن، والحفاظ على الاتصال نشطًا أثناء الاستخدام.

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

الطبقة السادسة: طبقة العرض

تحوّل طبقة العرض البيانات إلى شكل يفهمه الطرفان. وتشمل ترميز المحارف والضغط والتشفير. فمثلًا تفسير النص المرمّز بـ UTF-8، والتعامل مع صيغ الصور مثل JPEG وPNG، وضغط الملفات بـ gzip، وتشفير البيانات بـ TLS الذي يحمي مواقع HTTPS من التنصت.

وفي الممارسة تصنّف بعض الكتب TLS ضمن طبقة الجلسة وبعضها ضمن طبقة العرض، وفي نموذج TCP/IP يقع بين TCP وHTTP. ومن المفيد تذكر هذه النقطة عند شرح النموذج للآخرين.

الطبقة السابعة: طبقة التطبيق

تُعد طبقة التطبيق الأقرب إلى المستخدم، فبرامج مثل متصفحات الويب وعملاء البريد ومنصات الدردشة تستخدم بروتوكولات هذه الطبقة للتواصل مع أجهزة أخرى. ومن أمثلتها HTTP وHTTPS للويب، وSMTP وIMAP وPOP3 للبريد الإلكتروني، وFTP لنقل الملفات، وDNS لتحويل أسماء النطاقات إلى عناوين IP، وDHCP لتوزيع عناوين IP تلقائيًا.

ومن المهم أن تفهم أن طبقة التطبيق تشير إلى البروتوكولات التي يستخدمها التطبيق، لا إلى التطبيق نفسه. فمثلًا يستخدم Chrome وFirefox بروتوكول HTTP نفسه.

كيف تنتقل البيانات عبر الطبقات

عندما يرسل برنامج بيانات، تنتقل من الطبقة السابعة إلى الأولى. وتضيف كل طبقة ترويستها الخاصة، وتسمى هذه العملية التغليف (Encapsulation). فطبقة النقل تضيف أرقام المنافذ، وطبقة الشبكة تضيف عناوين IP، وطبقة ربط البيانات تضيف عناوين MAC وCRC. ثم تحول الطبقة الفيزيائية كل ذلك إلى إشارات كهربائية أو ضوئية أو موجات راديوية.

ويحدث العكس عند الطرف المستقبِل، وتسمى هذه العملية فك التغليف (Decapsulation). فكل طبقة تقرأ ترويستها وتتحقق منها، ثم تمرر الباقي إلى الطبقة الأعلى. وعندما تصل البيانات إلى الطبقة السابعة، يتسلم البرنامج المستقبِل الرسالة الأصلية.

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

مثال: تحميل صفحة إلكترونية واحدة

لنرَ كيف تمر عملية فتح صفحة على example.com عبر النموذج.

1. طبقة التطبيق: يحتاج المتصفح إلى HTML الصفحة، فيبني طلب HTTP GET. وأولًا يحتاج إلى عنوان IP للموقع، فيسأل DNS.

2. طبقة العرض: في حالة HTTPS يُشفَّر الطلب بـ TLS قبل إرساله.

3. طبقة الجلسة: يُفتح الاتصال ويُحافظ عليه طوال التبادل.

4. طبقة النقل: يقسّم TCP البيانات إلى قطع، ويضيف المنفذ الوجهة 443، ويجري مصافحة مع الخادم.

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

6. طبقة ربط البيانات: يُضاف إلى الإطار عنوان MAC للجهاز التالي على الشبكة المحلية، وهو الموجّه.

7. الطبقة الفيزيائية: يُرسل الإطار إشارات عبر الكابل أو عبر Wi-Fi إلى الموجّه.

وعندما يرد الخادم، تعود البيانات في الاتجاه المعاكس، وتزيل كل طبقة ترويستها تباعًا.

مقارنة OSI بـ TCP/IP

يتكون نموذج TCP/IP من أربع طبقات، هي طبقة الوصول إلى الشبكة (Network Access)، وطبقة الإنترنت (Internet)، وطبقة النقل (Transport)، وطبقة التطبيق (Application). وفي هذا النموذج تجمع طبقة الوصول إلى الشبكة بين الطبقتين الفيزيائية وربط البيانات في OSI. وتقابل طبقة الإنترنت طبقة الشبكة، وتقابل طبقة النقل طبقة النقل في OSI. أما طبقة التطبيق فتجمع طبقات الجلسة والعرض والتطبيق في OSI.

وتبيّن هذه المقارنة أن النموذجين يصفان الشيء نفسه بدرجات مختلفة من التفصيل. فنموذج OSI أدق وملائم للتدريس والشرح المفاهيمي، بينما يعكس TCP/IP طريقة عمل الإنترنت الفعلية.

استخدام OSI لحل المشكلات الفعلية

يتيح التفكير في الطبقات تحديد العطل خطوة بخطوة، سواء بدءًا من الأسفل أو من الأعلى. ومن الفحوص المعتادة:

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

أجهزة الشبكة في كل طبقة

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

وبعض الأجهزة تعمل في عدة طبقات في وقت واحد. فمثلًا يجمع المحوّل من الطبقة الثالثة بين وظيفتي المحوّل والموجّه في جهاز واحد.

أهمية OSI في الممارسة

رغم أن OSI ليس بروتوكولًا يُستخدم مباشرة، فإن له فوائد عديدة. فهو يمنح المهندسين لغة مشتركة، ويفصل بين مسؤوليات الأجهزة والبرمجيات، ويدعم تشخيص الأعطال خطوة بخطوة، ويشكّل أساسًا لتعلم الشبكات. وما زالت شهادات مثل CompTIA Network+ وCisco CCNA تستخدم نموذج الطبقات السبع لشرح المفاهيم.

الأمان في كل طبقة

يساعد نموذج OSI أيضًا على تحديد الطبقات التي يمكن أن تقع فيها هجمات الشبكات، وكيفية الدفاع عنها. ويجب أن يغطي الأمان الجيد كل طبقة، لأن حماية طبقة واحدة وحدها قد يُتجاوز بسهولة.

المبدأ الأساسي هو الدفاع متعدد الطبقات (Defense in Depth)، أي تكديس عدة ضوابط أمنية بحيث يضطر المهاجم إلى تجاوز عقبات كثيرة قبل الوصول إلى البيانات الحساسة.

رؤية الحزم الحقيقية باستخدام Wireshark

أوضح طريقة لرؤية نموذج OSI أثناء العمل هي فحص الحزم الحقيقية بأداة تحليل مثل Wireshark. فهو يفكك كل حزمة إلى طبقاتها، من الإطار (الطبقتان 1 و2) إلى Ethernet II (الطبقة 2) وIPv4 (الطبقة 3) وTCP أو UDP (الطبقة 4) وHTTP (الطبقة 7). وعند اختيار طبقة، تُبرز الأداة البايتات المقابلة لها.

تمرين بسيط هو بدء التقاط على حاسوبك، وفتح موقع اختبار يعمل بـ HTTP العادي لا HTTPS، ثم إيقاف الالتقاط والبحث عن حزمة HTTP GET. ستشاهد طلب طبقة التطبيق، وأرقام المنافذ في طبقة النقل، وعناوين IP في طبقة الشبكة، وعناوين MAC في طبقة ربط البيانات، كما وصفتها هذه المقالة تمامًا. فرؤية البيانات الحقيقية تحوّل النموذج من مخطط إلى شيء ملموس.

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

دروس من نموذج OSI

الخلاصة

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