شرح الـ OSI Model

المقدمة

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

  1. بتكتب الجواب
  2. بتحطه في ظرف
  3. بتكتب العنوان
  4. بتنزل تحطه في صندوق البريد
  5. عامل البوسطة بياخده
  6. بيتنقل بين مكاتب بريد
  7. لحد ما يوصل لصاحبك

ده بالظبط اللي بيحصل في الشبكات، بس بدل الجواب، عندنا بيانات. والخطوات دي اسمها OSI Model.


يعني إيه OSI Model؟

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

النموذج ده بيقسم عملية الاتصال لـ 7 طبقات، كل طبقة ليها شغلها الخاص ومعزولة عن التانية.


الطبقات السبعة (من فوق لتحت)

تذكر الترتيب

في جملة بنستخدمها عشان نفتكر الطبقات:

“All People Seem To Need Data Processing”

  • Application
  • Presentation
  • Session
  • Transport
  • Network
  • Data Link
  • Physical

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

الوصف

دي الطبقة اللي إنت بتتعامل معاها مباشرة. المتصفح، البريد الإلكتروني، برامج المحادثة - كلها في الطبقة دي.

الوظيفة

  • توفير واجهة للمستخدم للتفاعل مع الشبكة
  • تطبيقات زي HTTP, FTP, SMTP, DNS

يعنى مثلا لما بتفتح المتصفح وتكتب google.com، المتصفح (Chrome مثلاً) بيشتغل في الطبقة دي وبيستخدم بروتوكول HTTP/HTTPS.

من ناحية السيكيورتي

معظم الثغرات اللي في الويب بتحصل هنا:

  • SQL Injection
  • XSS
  • CSRF
  • Command Injection

وده طلب HTTP بسيط بيحصل في Application Layer

GET /index.html HTTP/1.1
Host: example.com
User-Agent: Mozilla/5.0
Accept: text/html

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

الوصف

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

الوظيفة

  • Encryption/Decryption: التشفير وفك التشفير
  • Compression: ضغط البيانات
  • Translation: تحويل الصيغ (مثلاً ASCII لـ Unicode)

مثال

لما بتفتح موقع HTTPS:

  1. البيانات بتتشفر هنا باستخدام SSL/TLS
  2. بعدين بتنزل للطبقات اللي تحت

من ناحية السيكيورتي

  • التشفير الضعيف بيحصل هنا
  • هجمات Man-in-the-Middle بتستهدف الطبقة دي

مثال تقني

# شوف نوع التشفير المستخدم
openssl s_client -connect google.com:443 -tls1_2

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

الوصف

مسؤولة عن فتح وإدارة وإنهاء “الجلسات” (Sessions) بين التطبيقات.

الوظيفة

  • فتح Session بين جهازين
  • الحفاظ على الـ Session مفتوحة
  • إنهاء الـ Session لما الاتصال يخلص

مثال

يعنى لما بتعمل Login على موقع:

  1. بيتعملك Session ID
  2. الـ Session ده بيفضل مفتوح طول ما إنت متصفح
  3. لما تعمل Logout، الـ Session بيتقفل

من ناحية السيكيورتي

  • Session Hijacking: سرقة الـ Session بتاع المستخدم
  • Session Fixation: فرض Session ID معين

مثال تقني

Cookie اللي بيتبعت في كل طلب:

Cookie: PHPSESSID=abc123xyz789

ده الـ Session ID اللي بيربطك بالـ Session بتاعك على السيرفر.


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

الوصف

الطبقة دي مسؤولة عن توصيل البيانات بشكل موثوق من جهاز للتاني. هنا بنستخدم TCP أو UDP.

الوظيفة

  • تقسيم البيانات لـ Segments
  • ضمان التسليم (في حالة TCP)
  • إعادة ترتيب الـ Segments
  • التحكم في السرعة (Flow Control)

الفرق بين TCP و UDP

TCP UDP
موثوق (Reliable) غير موثوق
بطيء نسبياً سريع
يستخدم في: HTTP, HTTPS, FTP يستخدم في: DNS, Gaming, Video Streaming

مثال عملي - TCP Three-Way Handshake

قبل ما يبدأ أي اتصال TCP، بيحصل “مصافحة” من 3 خطوات:

Client → Server: SYN (هل ممكن نتصل؟)
Server → Client: SYN-ACK (أيوة، تمام)
Client → Server: ACK (خلاص، يلا نبدأ)

مثال تقني

شوف الاتصالات النشطة على جهازك:

netstat -an | grep ESTABLISHED

النتيجة:

tcp    0    0    192.168.1.5:54321    142.250.185.46:443    ESTABLISHED

يعني جهازك (192.168.1.5) متصل بسيرفر Google (142.250.185.46) على المنفذ 443 (HTTPS).


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

الوصف

مسؤولة عن التوجيه (Routing) - يعني إزاي البيانات هتوصل من جهازك لأي جهاز تاني في العالم.

الوظيفة

  • تحديد أفضل مسار للبيانات
  • التعامل مع الـ IP Addresses
  • تقسيم البيانات لـ Packets

البروتوكولات

  • IP (Internet Protocol)
  • ICMP (Ping بيستخدمه)
  • Routing Protocols (مثل OSPF, BGP)

مثال عملي

لما بتبعت طلب لموقع في دولة تانية، البيانات مش بتروح في خط مستقيم. بتعدي على عشرات الأجهزة (Routers) وكل واحد بيقرر: “الخطوة الجاية فين؟”

من ناحية السيكيورتي

  • IP Spoofing: تزييف الـ IP Address
  • Routing Attacks: تغيير مسار البيانات
  • DDoS: إغراق السيرفر بطلبات

مثال تقني - Traceroute

traceroute google.com

النتيجة:

1  192.168.1.1       1.2 ms    (الراوتر بتاعك)
2  10.5.5.1          5.8 ms    (ISP)
3  62.114.x.x        12 ms     (عقدة في الطريق)
...
10 142.250.185.46    45 ms     (سيرفر Google)

كل سطر = Router في الطريق.


الوصف

مسؤولة عن نقل البيانات بين جهازين متصلين مباشرة (مثلاً جهازك والـ Switch).

الوظيفة

  • استخدام MAC Addresses بدل IP
  • تقسيم البيانات لـ Frames
  • كشف الأخطاء في الإرسال

MAC Address

كل كرت شبكة (Network Card) في العالم له عنوان فريد اسمه MAC Address، بيبقى شكله كده:

00:1A:2B:3C:4D:5E

مثال عملي - ARP

لما جهازك عايز يكلم جهاز تاني في نفس الـ LAN:

  1. بيعرف الـ IP بتاعه
  2. بيستخدم بروتوكول ARP عشان يعرف الـ MAC Address
  3. بعد كده بيبعت البيانات

من ناحية السيكيورتي

  • ARP Spoofing: تزييف جدول ARP عشان تعترض البيانات
  • MAC Flooding: إغراق الـ Switch

مثال تقني

شوف جدول ARP على جهازك:

arp -a

النتيجة:

192.168.1.1    00:11:22:33:44:55    dynamic
192.168.1.10   AA:BB:CC:DD:EE:FF    dynamic

ده بيقولك: الجهاز اللي IP بتاعه 192.168.1.1 (الراوتر غالباً)، الـ MAC Address بتاعه هو 00:11:22:33:44:55.


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

الوصف

دي الطبقة اللي فيها الأسلاك والكوابل والإشارات الكهربائية. كل حاجة ملموسة.

الوظيفة

  • تحويل البيانات لإشارات كهربائية أو ضوئية
  • نقل الإشارات عبر الوسط (كابل، WiFi، Fiber)
  • استقبال الإشارات وتحويلها لبيانات

أمثلة

  • كابلات Ethernet
  • WiFi Signals
  • Fiber Optic
  • Bluetooth

من ناحية السيكيورتي

  • Wiretapping: التنصت على الكوابل
  • Jamming: تشويش على الإشارات اللاسلكية
  • Physical Access: الوصول المادي للأجهزة

مثال عملي

لما بتوصل كابل Ethernet من جهازك للراوتر، البيانات بتتحول لإشارات كهربائية بتمشي في الأسلاك النحاسية جوه الكابل.


التدفق الكامل: مثال حي

لما بتفتح موقع https://example.com:

الإرسال (من جهازك)

Layer 7: المتصفح بيعمل HTTP Request
Layer 6: التشفير بـ SSL/TLS
Layer 5: إنشاء Session
Layer 4: تقسيم لـ TCP Segments + إضافة Port Numbers
Layer 3: إضافة IP Addresses (مصدر ووجهة)
Layer 2: إضافة MAC Addresses + تحويل لـ Frames
Layer 1: تحويل لإشارات كهربائية وإرسالها

الاستقبال (على السيرفر)

Layer 1: استقبال الإشارات الكهربائية
Layer 2: قراءة الـ Frame والـ MAC
Layer 3: قراءة الـ IP وتوجيه الـ Packet
Layer 4: إعادة ترتيب الـ Segments
Layer 5: التعامل مع الـ Session
Layer 6: فك التشفير
Layer 7: السيرفر بيفهم الـ HTTP Request ويرد

ليه OSI Model مهم للسيكيورتي؟

1. تحديد مكان الهجوم

كل طبقة ليها هجمات مختلفة:

  • Layer 7: SQL Injection, XSS
  • Layer 4: SYN Flood
  • Layer 3: IP Spoofing
  • Layer 2: ARP Poisoning
  • Layer 1: Physical Tampering

2. فهم الدفاعات

كل طبقة ليها دفاعات:

  • Layer 7: WAF (Web Application Firewall)
  • Layer 4: Stateful Firewall
  • Layer 3: Router ACLs
  • Layer 2: Port Security

3. Troubleshooting

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


OSI vs الواقع العملي

OSI هو نموذج نظري مثالي. في الواقع:

  • مش كل البروتوكولات بتلتزم بيه 100%
  • TCP/IP Model (4 طبقات) هو المستخدم فعلياً وده اللي هشرحه في المقاليه الجايه
  • لكن OSI مهم جداً للفهم والتعليم

خلاصة

OSI Model هو طريقة لفهم كيف البيانات بتتنقل من جهاز لجهاز عبر 7 طبقات:

  1. Physical: الكوابل والإشارات
  2. Data Link: MAC Addresses و Frames
  3. Network: IP Addresses و Routing
  4. Transport: TCP/UDP و Ports
  5. Session: إدارة الجلسات
  6. Presentation: التشفير والضغط
  7. Application: التطبيقات اللي بتستخدمها

فهمك للنموذج ده هيساعدك:

  • تفهم ازاي الشبكات بتشتغل
  • تحدد الثغرات في أي طبقة
  • تختار الدفاع المناسب
  • تعمل Troubleshooting صح