לדלג לתוכן

מדריך לחלוקת רשתות - subnetting בלי כאב ראש

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

למה בכלל מחלקים רשת

תארו לעצמכם משרד עם 500 מחשבים, מדפסות, שרתים, ומצלמות אבטחה, כולם על אותה רשת אחת גדולה. זה נשמע נוח, אבל בפועל זה אסון. כל מכשיר ברשת שומע בעצם את כל התעבורה של כולם (broadcast), מה שמאט הכל. אם מחשב אחד נדבק בנגיף, הוא יכול לגשת ישירות לכל שאר 499 המכשירים בלי שום מחסום. וזה גם קשה לניהול - אין דרך פשוטה להפריד בין רשת העובדים לרשת השרתים לרשת המצלמות.

הפתרון הוא לחלק את הרשת הגדולה לרשתות קטנות יותר, שנקראות תת-רשתות - subnets. סאבנטינג הוא בדיוק התהליך של לקחת טווח כתובות IP גדול, ולחלק אותו לחלקים קטנים ומאורגנים יותר.

תזכורת קצרה - איך נראית כתובת IP

כתובת IPv4 בנויה מארבעה מספרים בין 0 ל-255, מופרדים בנקודות, כמו 192.168.1.10. מאחורי הקלעים, כל מספר כזה הוא בעצם 8 ביטים (סיביות), כלומר כל כתובת IP היא בסך הכל 32 ביטים.

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

מסכת הרשת - subnet mask

כאן נכנסת לתמונה מסכת הרשת. היא כתובה באותו פורמט כמו IP, למשל 255.255.255.0, והיא בעצם אומרת "כמה ביטים מהכתובת שייכים לרשת, וכמה שייכים למכשיר".

דרך נוחה יותר לכתוב את זה היא סימון CIDR, שנראה כך: 192.168.1.0/24. ה-24/ אומר "24 הביטים הראשונים שייכים לרשת". מכיוון שיש בסך הכל 32 ביטים, נשארים 8 ביטים למכשירים בתוך הרשת - וזה בדיוק מה ש-255.255.255.0 אומר, רק בצורה אחרת.

ככל שהמספר אחרי הלוכסן גדול יותר, יש פחות ביטים למכשירים, כלומר הרשת קטנה יותר. רשת /24 יכולה להכיל עד 254 מכשירים. רשת /28 יכולה להכיל רק 14. רשת /30 בקושי מספיקה לחיבור בין שני ראוטרים.

דוגמה מספרית פשוטה

נניח שיש לכם את הרשת 192.168.1.0/24, ואתם רוצים לחלק אותה לארבע תת-רשתות קטנות יותר, למשל אחת למחלקת פיתוח, אחת למחלקת כספים, אחת לשרתים, ואחת לאורחים.

כדי לחלק רשת /24 לארבעה חלקים שווים, אתם "שואלים" 2 ביטים נוספים מהחלק שהיה שייך למכשירים (כי 2 בחזקת 2 שווה 4). זה הופך כל תת-רשת ל-/26 במקום /24. התוצאה נראית כך:

  • 192.168.1.0/26 - כתובות 0 עד 63
  • 192.168.1.64/26 - כתובות 64 עד 127
  • 192.168.1.128/26 - כתובות 128 עד 191
  • 192.168.1.192/26 - כתובות 192 עד 255

כל אחד מהטווחים האלה הוא עכשיו רשת עצמאית, עם עד 62 מכשירים בפועל (כי כתובת אחת שמורה לזיהוי הרשת עצמה, ואחת לשידור broadcast).

זה כל הרעיון. כל שאר החישובים המורכבים שרואים באינטרנט הם בעצם וריאציות על אותו עיקרון - קובעים כמה ביטים "שואלים" מחלק המכשירים, וזה קובע כמה תת-רשתות מקבלים וכמה מכשירים כל אחת מהן יכולה להכיל.

למה זה שווה זמן לימוד אמיתי

סאבנטינג הוא לא רק שאלה תיאורטית למבחן הסמכה. זה כלי עבודה יומיומי לכל מי שמנהל תשתית, בין אם זה מנהל רשת בארגון, אנשי DevOps שמגדירים רשתות בענן, או חוקר אבטחה שצריך להבין איך רשת ארגונית בנויה כדי למצוא בה חולשות. כשמישהו אומר לכם "יש לנו VLAN בטווח 10.0.5.0/24", אתם צריכים לדעת מיד כמה מכשירים זה, ואיפה הגבולות שלו.

זה גם בדיוק סוג הנושא שקשה ללמוד רק מקריאה - זה משהו שצריך לתרגל עם דוגמאות אמיתיות עד שהמוח פשוט "רואה" את החישוב בלי מאמץ. בקורס הרשתות שלנו יש פרק שלם שמלמד את זה בהדרגה, עם תרגילים שבונים ביטחון צעד אחר צעד.

קורס הרשתות המלא נמצא כאן, חינם ובעברית, כולל תרגול מעשי בסאבנטינג עד שזה נכנס לדם.

נתקעתם בחישוב? יש קהילה שלמה בדיסקורד שתעזור.

הצטרפו לקהילה בדיסקורד

לסיכום

סאבנטינג נשמע מפחיד כי רוב ההסברים מתחילים מהחישוב ולא מהרעיון. אבל ברגע שמבינים שזה פשוט "כמה ביטים שייכים לרשת וכמה למכשיר", כל השאר הוא תרגיל חשבון פשוט. תנו לזה כמה דוגמאות תרגול אמיתיות, וזה יהפוך מסיוט לכלי שאתם מפעילים בעיניים עצומות.