שיעור 12 ~25 דק׳

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 הנפוצים למסכות הנקודה-עשרוניות שלהם:

CIDRSubnet Maskביטי מארחמארחים שמישים
/8255.0.0.02416,777,214
/16255.255.0.01665,534
/24255.255.255.08254
/25255.255.255.1287126
/26255.255.255.192662
/27255.255.255.224530
/28255.255.255.240414
/29255.255.255.24836
/30255.255.255.25222

כתובת רשת, 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
פריסת תת-רשת 192.168.1.0/24 .0 .1 — .254 .255 רשת 254 מארחים שמישים Broadcast
פריסת הרשת 192.168.1.0/24: הכתובת הראשונה (.0) היא הרשת, האחרונה (.255) היא Broadcast, וביניהן 254 כתובות מארח שמישות.

Default Gateway — היציאה מהרשת

מארח יכול לתקשר ישירות רק עם מארחים באותה תת-רשת. כדי להגיע לרשת אחרת — שרת אינטרנט, רשת מחלקה אחרת בארגון — הוא חייב להעביר את החבילה אל Default Gateway: לרוב כתובת ה-IP של הנתב (Router) המקומי.

כיצד המארח מחליט: ישיר או דרך ה-Gateway?

לפני שליחת כל חבילה, המארח מבצע השוואה פשוטה. הוא לוקח את כתובת היעד ואת כתובת ה-IP שלו עצמו, ומבצע על שתיהן AND עם המסכה שלו:

  1. אם כתובת הרשת של היעד זהה לכתובת הרשת שלו → היעד באותה תת-רשת → שולח ישירות (דרך ה-Switch, בלי נתב).
  2. אם כתובות הרשת שונות → היעד ברשת אחרת → שולח אל ה-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, שמסביר את ארבעת המצבים והמעבר ביניהם.

  1. בנו טופולוגיה: נתב R1 עם שני ממשקי GigabitEthernet, כל אחד מחובר ל-Switch נפרד; ל-Switch הראשון מחברים את PC-A ו-PC-B, ול-Switch השני את PC-C.
  2. לחצו על 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.

  1. הגדירו במחשבים (Desktop → IP Configuration → Static):
    • PC-A: ‏IP 192.168.1.10, ‏Mask 255.255.255.0, Default Gateway 192.168.1.1.
    • PC-B: ‏IP 192.168.1.20, ‏Mask 255.255.255.0, Default Gateway 192.168.1.1.
    • PC-C: ‏IP 192.168.2.10, ‏Mask 255.255.255.0, Default Gateway 192.168.2.1.
  2. מ-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.