🌐

الشبكات (Networking)

فهم البروتوكولات والمفاهيم التي تجعل الخوادم والتطبيقات تتواصل. أساس لا غنى عنه لكل DevOps.

متوسط HTTP / DNS / TCP

📖 نموذج OSI

الطبقات السبع للتواصل

نموذج OSI يوضح كيف تنتقل البيانات عبر الشبكة من التطبيق إلى الكابل والعكس. كمهندس DevOps، ستتعامل غالباً مع الطبقات 4-7.

الطبقةالاسمأمثلة
7ApplicationHTTP DNS SSH FTP
6PresentationSSL/TLS JSON XML
5SessionNetBIOS RPC
4TransportTCP UDP
3NetworkIP ICMP Routing
2Data LinkEthernet MAC Switch
1PhysicalCables WiFi Fiber

🔌 TCP vs UDP

📞

TCP (موثوق)

يضمن وصول البيانات بالترتيب. يستخدم في HTTP و SSH و FTP. أبطأ لكن آمن.

📡

UDP (سريع)

يرسل بدون تأكيد. يستخدم في البث المباشر والألعاب. أسرع لكن قد يفقد بيانات.

Terminal — فحص المنافذ
# فحص المنافذ المفتوحة ss -tlnp State Recv-Q Send-Q Local Address:Port Process LISTEN 0 0 0.0.0.0:80 nginx LISTEN 0 0 0.0.0.0:443 nginx LISTEN 0 0 0.0.0.0:22 sshd # فحص منفذ معين curl -v http://localhost:80 # فحص الاتصال بمنفذ nc -zv server.com 443

🌍 DNS — نظام أسماء النطاقات

كيف يعمل DNS؟

DNS يحوّل أسماء النطاقات (مثل google.com) إلى عناوين IP. العملية: المتصفح → DNS المحلي → DNS الجذر → TLD → Nameserver → IP.

Terminal — أوامر DNS
# فحص سجلات DNS dig example.com dig example.com MX # سجلات البريد dig example.com TXT # سجلات TXT (SPF, DKIM) dig example.com CNAME # الأسماء المستعارة # تتبع حل DNS nslookup example.com # فحص من سيرفر DNS محدد dig @8.8.8.8 example.com

🔒 HTTP/HTTPS و SSL/TLS

📄

HTTP Methods

GET جلب، POST إرسال، PUT تحديث، DELETE حذف، PATCH تعديل جزئي.

🔐

HTTPS (TLS)

نسخة مشفرة من HTTP. تستخدم شهادة SSL لتشفير البيانات بين المتصفح والسيرفر.

📊

HTTP Status Codes

200 نجاح، 301 تحويل دائم، 404 غير موجود، 500 خطأ سيرفر.

🔄

Reverse Proxy

سيرفر وسيط يستقبل الطلبات ويوزعها. Nginx و Traefik أشهر الأمثلة.

Terminal — فحص HTTP
# طلب GET مع عرض الهيدرز curl -vI https://example.com HTTP/2 200 content-type: text/html server: cloudflare strict-transport-security: max-age=31536000 # فحص شهادة SSL openssl s_client -connect example.com:443 -servername example.com

⚖️ Load Balancing

توزيع الحمل

Load Balancer يوزع الطلبات على عدة خوادم لمنع الحمل الزائد وتحسين الأداء والتوفر. الأنواع: Round Robin, Least Connections, IP Hash.

nginx.conf — Load Balancer
upstream backend { server 10.0.0.1:8080; server 10.0.0.2:8080; server 10.0.0.3:8080; } server { listen 80; location / { proxy_pass http://backend; } }

أفضل الممارسات

🎯 1. استخدم HTTPS دائماً — Let's Encrypt مجاني
2. فعّل HSTS لتوجيه المتصفح لـ HTTPS تلقائياً
3. استخدم Reverse Proxy أمام تطبيقاتك
4. راقب استجابة الشبكة بـ ping و traceroute
5. استخدم CDN (مثل Cloudflare) لتسريع المحتوى
السابق: Git & GitHub التالي: Docker