📋 תוכן המדריך
למה יסודות האינטרנט חשובים?
הבנת היסודות של האינטרנט היא קריטית לכל מי שעובד בתחום הטכנולוגיה. בין אם אתה כותב סקריפטים Python לאוטומציה, עובד עם שורת הפקודה (Terminal), או אפילו משתמש ב-ChatGPT ל-API calls - כל זה תלוי בהבנה עמוקה של פרוטוקולי התקשורת.
כאשר אתה מכיר את ה-TCP/IP, DNS, HTTP ובטיחות רשתות, אתה יכול:
- לפתור בעיות תקשורת בשרתים ויישומים
- להגן על מערכות מפני התקפות וחדירות
- לעבוד עם ניתוח נתונים שמגיע מרשתות מרוחקות
- לבנות יישומים שמתקשרים בעולם
🔄 איך אינטרנט עובד - OSI Model
ה-OSI Model (Open Systems Interconnection) הוא המסגרת התיאורטית הנפוצה ביותר לתיאור תקשורת ברשתות. הוא מחלק את התקשורת ל-7 שכבות:
| שכבה | שם | דוגמה |
|---|---|---|
| 7 | Application | HTTP, HTTPS, DNS, SMTP |
| 6 | Presentation | Encryption, Compression |
| 5 | Session | SSH, TLS sessions |
| 4 | Transport | TCP, UDP |
| 3 | Network | IP, ICMP, Routing |
| 2 | Data Link | Ethernet, MAC addresses |
| 1 | Physical | כבלים, WiFi, סיבים אופטיים |
תהליך שליחת נתונים
כאשר אתה מבצע בקשה HTTP בדפדפן (למשל כניסה ל-Google):
- Application Layer: הדפדפן יוצר HTTP request
- Transport Layer: TCP עוטף את זה ב-TCP header עם ports
- Network Layer: IP עוטף את זה ב-IP header עם כתובות IP
- Data Link: Ethernet עוטף עם MAC addresses
- Physical: משודר בעבור כבלים או WiFi
🔌 TCP/IP - סדר הדום של האינטרנט
ה-TCP/IP Model היא המודל המעשי שבו משתמשים יום יום. בניגוד ל-OSI עם 7 שכבות, TCP/IP יש רק 4:
TCP (Transmission Control Protocol)
TCP הוא פרוטוקול מموثק ויציב - הוא מבטיח שכל הנתונים יגיעו לסדר הנכון:
- חלוקה לחבילות (segments)
- אישור קבלה (acknowledgment)
- שליחה חוזרת אם חבילה אבדה
- בקרת זרימה (flow control)
Client → Server: SYN (לא, אני רוצה להתחבר)
Server → Client: SYN-ACK (כן, אני מסכים)
Client → Server: ACK (תודה, התחברנו)
UDP (User Datagram Protocol)
UDP הוא פרוטוקול מהיר אך לא מוثק - משדר נתונים בלי לוודא קבלה:
- מהיר יותר מ-TCP
- לא מבטיח קבלה
- משמש לrealtime (משחקים, וידיאו)
🔢 כתובות IP וNAT
כתובת IP היא הזהות הייחודית של כל מכשיר ברשת - כמו מספר טלפון או כתובת בדואר. בלי זה, האינטרנט לא יודע לאן לשלוח את התוכן שלך.
IPv4 vs IPv6
| IPv4 | IPv6 |
|---|---|
| פורמט: 192.168.1.1 | פורמט: 2001:0db8::1 |
| כתובות זמינות: 4.3 מיליארד | כתובות זמינות: 340 טריליון טריליון |
| סטטוס: כמעט אזל | סטטוס: העתיד |
NAT (Network Address Translation)
NAT היא טכנולוגיה שמאפשרת למספר מכשירים ברשת הביתית להשתמש בכתובת IP פומבית אחת:
- אבטחה: מחשבים בתוך הרשת לא נראים ישירות
- חסכון כתובות: אתה צריך רק כתובת אחת פומבית
- הרחבה: אתה יכול לחבר כמה מכשירים שתרצה
Windows (PowerShell):
ipconfig
Mac/Linux (Terminal):
ifconfig
🏷️ DNS - כיצד שמות הופכים לכתובות
DNS (Domain Name System) היא אחת הטכנולוגיות המשכלליות של האינטרנט. מבלי בה, היינו צריכים לזכור כתובות IP של כל אתר - בדיוק כמו זכור מספרי טלפון בראש!
ארכיטקטורת DNS
DNS מורכבת מהיררכיה של שרתים:
- Root Name Servers: עשרות שרתים בעולם שיודעים על כל ה-TLDs (.com, .org, .co.il וכו')
- TLD Name Servers: שרתים המטפלים בהרחבות (.com, .org)
- Authoritative Name Servers: השרת של מלכים - המחזיק את הרשומה של ה-domain
- Recursive Resolvers: הדפדפן שלך והספק האינטרנט שלך
תהליך DNS Resolution
- אתה מקליד google.com בדפדפן
- הדפדפן שלך שואל את ה-Recursive Resolver (בדרך כלל של ה-ISP שלך)
- ה-Recursive Resolver שואל את ה-Root Name Server
- Root Server אומר: "אני לא יודע, אבל שאל את TLD server של .com"
- TLD Server אומר: "אני לא יודע, אבל Google הוא כאן (ה-authoritative server)"
- Google's Authoritative Server חוזר עם IP: 142.251.33.102
- הדפדפן מתחבר ל-IP הזה ו-voilà! אתה ב-Google
🔐 HTTP/HTTPS וTLS - התקשורת המאובטחת
HTTP (Hypertext Transfer Protocol) הוא האפליקציה הנדרשת שדפדפנים משתמשים כדי להורד עמודים. אבל HTTP לא מאובטח - כל אחד יכול להאזין לתקשורת שלך!
HTTPS - HTTP + TLS
HTTPS הוא HTTP שעטוף בשכבת הצפנה בשם TLS (Transport Layer Security):
- 🔒 Encryption: הודעות מוצפנות - אף אחד לא רואה את התוכן
- ✅ Authenticity: סרטיפיקט דיגיטלי מוודא שזה באמת Google, לא פחזן
- 🛡️ Integrity: בדיקה שלא שינו את התוכן בדרך
TLS Handshake - איך היצפנה מתחילה
כל פעם שאתה נכנס לאתר HTTPS, יש תהליך של 4 צעדים כדי לבנות חיבור מוצפן:
Server: "בסדר, זה הסרטיפיקט שלי" [שולח SSL certificate]
Client: "תודה, בואו נשתמש בהצפנה הזו"
Server: "בדיוק! התחברנו בצורה מאובטחת" ✅
🏗️ ארכיטקטורת Web - Client-Server Model
האינטרנט בנוי על מודל פשוט: Client שמבקש משאבים מ-Server שמוחזיק אותם.
Client
הצד שלך - הדפדפן שלך (Chrome, Firefox, Safari) שמבקש משאבים:
- שולח HTTP Request
- ⏳ מחכה לתשובה
- 🎨 מעבד את ה-HTML/CSS/JavaScript
- 📺 מציג את הדף
Server
מחשב חזק בשרת בעולם (למשל בכניסה של Google בקליפורניה) שמחכה לבקשות:
- מקשיב ל-requests על port 80 (HTTP) או 443 (HTTPS)
- 📂 חומר HTML/CSS/JS או מסדי נתונים
- 📤 שולח HTTP Response חזרה
- 🔄 חוזר על זה אלפי פעמים בשנייה
🛡️ בטיחות ברשתות - הגנה מפני התקפות
ברגע שאתה מחובר לאינטרנט, אתה חשוף להתקפות. זה לא משעה, זה קול! כל יום מיליוני התקפות מנסות לחדור למחשבים.
סוגי התקפות שכיחות
- Phishing: אתרים מזויפים שנראים כמו הבנק שלך אבל זה טורחן
- Man-in-the-Middle (MITM): מישהו מאזין לתקשורת שלך בWiFi ציבורי
- DDoS: הפקת אתר בעזרת אלפי בקשות בשנייה
- Malware: תוכנה זדונית שמזיקה למחשב
- SQL Injection: הכנסת קוד זדוני לתוך טפסים
הגנה בסיסית
✅ סיסמאות חזקות
לא: password123, 123456
כן: P@ssw0rd!2K25xYz (ערבוב אותיות, ספרות, סימנים)
✅ 2FA (Two-Factor Authentication)
סיסמה + קוד מ-Google Authenticator = הרבה יותר בטוח
✅ HTTPS תמיד
זה מצפין את התקשורת שלך מפני ציעים שמאזינים
✅ VPN בWiFi ציבורי
Tunnel מוצפן שמחבר את כל התקשורת שלך דרך שרת בטוח
✅ עדכנים/Patches
עדכן את ה-OS שלך ותוכנה - לעתים קרובות זה תיקוני אבטחה
✅ זהירות ממיילים חשודים
לא תלחץ על לינקים או הורידה ממיילים בלתי צפויים
🚀 נושאים מתקדמים
CDN (Content Delivery Network)
אתרים גדולים כמו Netflix משתמשים ברשתות של שרתים בכל העולם כדי למסור תוכן מהר יותר. כאשר אתה שומה סרט, זה לא בא מחולצה בקליפורניה - זה בא מShserver בישראל שהוא קרוב אליך!
Load Balancing
כאשר מיליארדים של בקשות מגיעים לGoogle, הם לא כל הם חציים לשרת אחד. במקום זאת, יש מכשיר בשם Load Balancer שמחלק את הבקשות למאות שרתים בו-זמנית.
API (Application Programming Interface)
APIs הם כלים שמאפשרים לתוכנות לדבר עם שרתים. כאשר אתה משתמש ב-ChatGPT API, בעצם שאתה שולח HTTP request ל-OpenAI servers, והם חוזרים עם טקסט שנוצר על ידי AI!
WebSockets
בניגוד ל-HTTP שהוא request-response, WebSockets שומרים על חיבור פתוח בין client ל-server. זה משמש לתקשורת בזמן אמת כמו משחקים או צ'אט.
🎯 רמה בסיסית
- שנה את סיסמתך לסיסמה חזקה ייחודית
- בדוק את כתובת IP שלך באתר whatismyipaddress.com
- נסה להשתמש ב-VPN בWiFi ציבורי
- קרא 3 מאמרים על בטיחות אינטרנט
⚡ רמה מתקדמת
- תרגול שאילתות DNS עם nslookup (בטרמינל)
- בדוק את הסרטיפיקט SSL של אתר (F12 → Security)
- המר אתר מ-HTTP ל-HTTPS (אם יש לך אתר)
- למד על מבנה התוכן ה-IP שלך (tracert)
📋 משימות מעשיות
🎯 רמה בסיסית - הבנה יסודית
-
בדוק את כתובת IP שלך
בקר באתר: whatismyipaddress.com
תרשום את:- כתובת IPv4 שלך (הפומבית)
- כתובת IPv6 שלך (אם זה זה בעלות)
- מיקום גיאוגרפי שלך
-
בדוק כתובת IP פרטית עם Terminal
פתח Terminal והריץ:Windows: ipconfigתרשום את כתובת ה-IP של ה-Ethernet adapter או Wi-Fi adapter שלך (נראה כמו 192.168.x.x)
Mac/Linux: ifconfig -
תרגול DNS עם Terminal
הריץ את הפקודות הבאות בטרמינל:nslookup google.comתרשום את כתובת IP של כל אתר וראה איך ה-DNS מתרגם שם לכתובת.
nslookup facebook.com
nslookup github.com -
בדוק HTTPS וסרטיפיקט
- פתח אתר כמו Amazon או Gmail
- לחץ על אייקון הנעילה בחלון הכתובת של הדפדפן
- בחר "Certificate" או "Connection is secure"
- תרשום מי הנושא של הסרטיפיקט (Issued to) ומתי הוא פקע (Expires)
-
יצור סיסמה חזקה
צור סיסמה חזקה המכילה:
- אותיות גדולות וקטנות (aAbBcC)
- מספרים (0-9)
- סימנים מיוחדים (!@#$%)
- ✓ לפחות 12 תווים
-
הגדר 2FA (Two-Factor Authentication)
בחר לפחות אתר אחד (Gmail, Facebook, GitHub) והגדר 2FA עם Google Authenticator או Microsoft Authenticator.
⚡ רמה מתקדמת - Networking עמוק
-
תרגול Traceroute - עקוב אחרי נתיבים
פתח Terminal (ייתכן שתידרש הרצת כמנהל):Windows: tracert google.comזה יראה את כל ה-routers שדרכם עובר הנתון עד ל-Google. שימו לב לעיכובים (latency) בכל hop!
Mac/Linux: traceroute google.com -
בדוק TCP Connections עם Terminal
netstat -an | find "ESTABLISHED"זה מראה כל TCP connections פתוחות במחשב שלך כרגע! -
כתוב סקריפט Python שבודק HTTP Status
import requestsזה יודפס לך את HTTP status code (200 = בסדר, 404 = לא נמצא, וכו')
response = requests.get("https://google.com")
print(f"Status Code: {response.status_code}")
print(f"Headers: {response.headers}") -
בדוק Socket עם Python
import socket
# בדוק אם ה-DNS עובד
ip = socket.gethostbyname("google.com")
print(f"IP of google.com: {ip}") -
ניסיון Packet Sniffing (חינוכי בלבד!)
הורד Wireshark (wireshark.org) והתחל ללכוד חבילות ברשת שלך. אתה תראה:- IP sources ודestinations
- TCP/UDP ports
- HTTP requests (אם לא HTTPS)
- DNS queries
-
קרא RFC (Request for Comments)
בקר בחיתוך ietf.org/rfc וקרא:
- RFC 791 - IPv4 Specification
- RFC 793 - TCP Specification
- RFC 1035 - DNS Specification (המסמך המקורי!)