Subnet Mask ו-Default Gateway
בשיעורים הקודמים פירקנו את כתובת ה-IPv4 לארבעה אוקטטים. אבל נשארה שאלה פתוחה: כשמחשב מסתכל על הכתובת 192.168.1.10, איך הוא יודע איזה חלק ממנה מזהה את הרשת ואיזה חלק מזהה את המארח הספציפי בתוכה? הכתובת לבדה לא מספיקה — צריך מידע נוסף. המידע הזה הוא ה-Subnet Mask.
מהו Subnet Mask?
ה-Subnet Mask הוא מספר בן 32 ביט (בדיוק כמו כתובת IP) שתפקידו לסמן היכן עובר הגבול בין חלק הרשת לחלק המארח:
- ביטים של 1 במסכה מסמנים את חלק הרשת (Network).
- ביטים של 0 במסכה מסמנים את חלק המארח (Host).
הביטים תמיד רצופים: כל אחדות המסכה משמאל, ואחריהן כל האפסים. למשל המסכה 255.255.255.0 בבינארי היא:
11111111.11111111.11111111.00000000
24 אחדות (חלק הרשת) ואחריהן 8 אפסים (חלק המארח).
פעולת ה-AND: כך מחושבת כתובת הרשת
כדי למצוא את כתובת הרשת, המחשב מבצע AND ביטי (Bitwise AND) בין כתובת ה-IP לבין המסכה — ביט מול ביט. כלל ה-AND פשוט: 1 AND 1 = 1, וכל שילוב אחר = 0. נראה דוגמה מלאה עבור 192.168.1.10 עם המסכה 255.255.255.0:
IP 192.168.1.10 = 11000000.10101000.00000001.00001010
Mask 255.255.255.0 = 11111111.11111111.11111111.00000000
--------------------------------------------------------------
AND => 192.168.1.0 = 11000000.10101000.00000001.00000000
התוצאה — 192.168.1.0 — היא כתובת הרשת. שימו לב: בכל מקום שבו המסכה היא 1, הביט המקורי “שורד”; בכל מקום שבו המסכה היא 0, הביט מתאפס. כך האוקטט הרביעי (חלק המארח) התאפס לחלוטין.
תרגול אינטראקטיבי: מחשבון תת-רשת
המחשבון הבא חי בדפדפן ומציג עבור כל כתובת ומסכה את כתובת הרשת, ה-Broadcast, טווח המארחים ומספרם. הוא טעון לדוגמה של השיעור — 192.168.1.10 ב-/24. שנו את ה-Prefix (למשל ל-/25 או /26) וצפו כיצד כתובת הרשת, ה-Broadcast ומספר המארחים משתנים.
רישום CIDR ומסכות נפוצות
כתיבת מסכה מלאה כמו 255.255.255.0 מסורבלת. במקום זה משתמשים ברישום CIDR (Classless Inter-Domain Routing): לוכסן ואחריו מספר ביטי הרשת. כך 255.255.255.0 נכתב /24. CIDR הוא שהחליף את מערכת המחלקות ההיסטורית — הוא מאפשר לקבוע את גבול הרשת בכל מקום, ולא רק על גבול אוקטט.
הטבלה הבאה ממפה את רישומי ה-CIDR הנפוצים למסכות הנקודה-עשרוניות שלהם:
| CIDR | Subnet Mask | ביטי מארח | מארחים שמישים |
|---|---|---|---|
/8 | 255.0.0.0 | 24 | 16,777,214 |
/16 | 255.255.0.0 | 16 | 65,534 |
/24 | 255.255.255.0 | 8 | 254 |
/25 | 255.255.255.128 | 7 | 126 |
/26 | 255.255.255.192 | 6 | 62 |
/27 | 255.255.255.224 | 5 | 30 |
/28 | 255.255.255.240 | 4 | 14 |
/29 | 255.255.255.248 | 3 | 6 |
/30 | 255.255.255.252 | 2 | 2 |
כתובת רשת, Broadcast, טווח מארחים ומספר המארחים
לכל תת-רשת יש מבנה קבוע. בהינתן כתובת רשת ומסכה, אפשר לחשב ארבעה דברים:
- כתובת הרשת (Network Address) — הכתובת הראשונה בטווח; כל ביטי המארח הם 0. משמשת לזיהוי הרשת עצמה ואינה ניתנת למארח.
- כתובת Broadcast — הכתובת האחרונה בטווח; כל ביטי המארח הם 1. חבילה אליה מגיעה לכל המארחים ברשת, ולכן גם היא אינה ניתנת למארח.
- טווח מארחים שמיש (Usable Host Range) — כל הכתובות בין כתובת הרשת לכתובת ה-Broadcast.
- מספר מארחים — מחושב לפי הנוסחה 2^(ביטי מארח) − 2.
מדוע מחסירים 2? כי כתובת הרשת וכתובת ה-Broadcast “תפוסות” ואינן ניתנות להקצאה למכשירים.
דוגמה מלאה: 192.168.1.0/24
נחשב את כל הפרטים של הרשת 192.168.1.0/24:
- ביטי מארח: 32 − 24 = 8
- מספר מארחים: 2⁸ − 2 = 256 − 2 = 254
- כתובת רשת:
192.168.1.0(האוקטט האחרון = 0) - כתובת Broadcast:
192.168.1.255(האוקטט האחרון = 255) - טווח שמיש:
192.168.1.1עד192.168.1.254
Default Gateway — היציאה מהרשת
מארח יכול לתקשר ישירות רק עם מארחים באותה תת-רשת. כדי להגיע לרשת אחרת — שרת אינטרנט, רשת מחלקה אחרת בארגון — הוא חייב להעביר את החבילה אל Default Gateway: לרוב כתובת ה-IP של הנתב (Router) המקומי.
כיצד המארח מחליט: ישיר או דרך ה-Gateway?
לפני שליחת כל חבילה, המארח מבצע השוואה פשוטה. הוא לוקח את כתובת היעד ואת כתובת ה-IP שלו עצמו, ומבצע על שתיהן AND עם המסכה שלו:
- אם כתובת הרשת של היעד זהה לכתובת הרשת שלו → היעד באותה תת-רשת → שולח ישירות (דרך ה-Switch, בלי נתב).
- אם כתובות הרשת שונות → היעד ברשת אחרת → שולח אל ה-Default Gateway, והנתב ימשיך לנתב.
זה בדיוק מה שראינו במעבדה הראשונה (lab-first-network): שני המחשבים היו ב-192.168.1.x עם אותה מסכה — אותה תת-רשת — ולכן ה-ping עבד בלי נתב כלל. ברגע שהיעד נמצא ברשת אחרת, היעדר Default Gateway תקין הוא הסיבה הנפוצה ביותר לכשל בתקשורת.
ה-Gateway הוא נקודת חנק אבטחתית. העובדה שכל התעבורה היוצאת מתת-רשת אל רשתות אחרות חייבת לעבור דרך הנתב הופכת אותו לנקודה אסטרטגית: זהו המקום הטבעי להציב בו סינון — ACLs, חוקי Firewall, בקרת זרימה. חלוקת הרשת לתת-רשתות נפרדות אינה רק עניין של ארגון — היא גבול אבטחתי, כי היא מכריחה תעבורה לחצות נקודת בקרה. על הסינון הזה נרחיב במודולים הבאים.
תרגול מעשי (Packet Tracer)
נדגים את ההבדל בין תקשורת באותה תת-רשת (לא דורשת Gateway) לבין תקשורת חוצת-רשתות (דורשת Gateway). נשתמש בנתב מרכזי עם שני ממשקים: 192.168.1.1/24 ו-192.168.2.1/24.
חדשים ב-CLI? כאן נגדיר בפעם הראשונה ממשקי נתב דרך שורת הפקודה. אם המצבים והפקודות לא מוכרים — חזרו לשיעור מבוא ל-CLI של Cisco IOS, שמסביר את ארבעת המצבים והמעבר ביניהם.
- בנו טופולוגיה: נתב
R1עם שני ממשקי GigabitEthernet, כל אחד מחובר ל-Switch נפרד; ל-Switch הראשון מחברים אתPC-Aו-PC-B, ול-Switch השני אתPC-C. - לחצו על
R1, עברו ללשונית CLI, לחצו Enter, והגדירו את שני הממשקים — כתובת, מסכה והפעלה:
Router> enable
Router# configure terminal
Router(config)# interface GigabitEthernet0/0/0
Router(config-if)# ip address 192.168.1.1 255.255.255.0
Router(config-if)# no shutdown
Router(config-if)# exit
Router(config)# interface GigabitEthernet0/0/1
Router(config-if)# ip address 192.168.2.1 255.255.255.0
Router(config-if)# no shutdown
Router(config-if)# end
כתובת ה-Gateway של כל תת-רשת היא הכתובת שהגדרתם על הממשק המחובר אליה —
192.168.1.1לרשת הראשונה,192.168.2.1לשנייה. אמתו ב-show ip interface briefששני הממשקיםup/up.
- הגדירו במחשבים (Desktop → IP Configuration → Static):
PC-A: IP192.168.1.10, Mask255.255.255.0, Default Gateway192.168.1.1.PC-B: IP192.168.1.20, Mask255.255.255.0, Default Gateway192.168.1.1.PC-C: IP192.168.2.10, Mask255.255.255.0, Default Gateway192.168.2.1.
- מ-
PC-Aשלחוping 192.168.1.20(אותה תת-רשת — יצליח גם בלי Gateway) ואזping 192.168.2.10(תת-רשת אחרת — מצליח רק כי ה-Default Gateway מוגדר ומפנה את החבילה לנתב). כדי לוודא שזה ה-Gateway שעושה את ההבדל, נסו זמנית למחוק את ה-Default Gateway ב-PC-Aולחזור על ה-pingהשני — הוא ייכשל.
הפלט הצפוי ל-ping חוצה-הרשתות אל 192.168.2.10:
Pinging 192.168.2.10 with 32 bytes of data:
Reply from 192.168.2.10: bytes=32 time=1ms TTL=127
Reply from 192.168.2.10: bytes=32 time<1ms TTL=127
Reply from 192.168.2.10: bytes=32 time<1ms TTL=127
Reply from 192.168.2.10: bytes=32 time<1ms TTL=127
Ping statistics for 192.168.2.10:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 1ms, Average = 0ms
TTL=127 (ולא 128) מעיד שהחבילה עברה דרך נתב אחד — תקשורת חוצת-רשתות שעברה ניתוב דרך ה-Default Gateway.
מה הלאה
עכשיו אנחנו יודעים לקרוא מסכה ולחשב את גבולות הרשת. בשיעור הבא נעבור לצד היצירתי: כיצד לבנות בעצמנו תת-רשתות — Subnetting קבוע ו-VLSM — כדי לחלק בלוק כתובות אחד למספר רשתות בגדלים שונים ביעילות.
מה דעתכם על השיעור?
דיון
יש לכם שאלה, תיקון או הערה? הצטרפו לדיון. כדי לכתוב נדרשת התחברות עם חשבון GitHub.