Internet Group Management Protocol

Internet Group Management Protocol או בקיצור IGMP הוא פרוטוקול תקשורת מעל IP המשמש לניהול קבוצת שידור Multicast.

ארכיטקטורה בסיסית של IGMP

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

IGMP מהווה חלק אינטגרלי מהדרישות להקמת רשת התומכת ב-Multicast, והוא נחשב לחלק משכבת הרשת של מודל ה-TCP/IP, למרות שהוא פועל מעל ל-IP. זאת בדומה ל-ICMP, שלא נחשב לפרוטוקול בשכבת התעבורה של מודל ה-TCP/IP שכן אינו מאפשר העברת מידע ברמה מעליו.

גרסאות עריכה

קיימות שלוש גרסאות ל-IGMP המוגדרות על ידי ה-Request for Comments הבאים:

  • IGMPv1 - מוגדר על ידי RFC 1112
  • IGMPv2 - מוגדר על ידי RFC 2236
  • IGMPv3 - מוגדר על ידי RFC 3376

מבנה חבילת IGMPv2 עריכה

חבילת IGMPv2 מוגדרת על ידי RFC 2236 באופן הבא:

+ Bits 0 - 7 8 - 15 16 - 23 24 - 31
0 סוג זמן תגובה מקסימלי Checksum
32 כתובת הקבוצה

כאשר:

  • סוג - מסמן את אחת מארבע סוגי הפעולות האפשריות:
    • 0x11 - שאילתא לנתב על קבוצת Multicast. אם מופיעה כתובת ספציפית בשדה הכתובת השאילתא תהיה האם יש איזשהם מנויים בנתב המתושאל על הקבוצה הזו. אם לא מופיעה כתובת ספציפית אזי הנתב יחזיר את כל הקבוצות המוגדרות אצלו כרגע.
    • 0x16 - הודעת הצטרפות לקבוצה עבור נתבים התומכים ב-IGMPv2. הקבוצה המבוקשת היא לפי כתובת ה-IP הרשומה בשדה האחרון של ההודעה.
    • 0x17 - הודעת עזיבה מקבוצה שכתובתה היא כתובת ה-IP הרשומה בשדה האחרון של ההודעה.
    • 0x12 - הודעת הצטרפות לקבוצה עבור IGMPv1. קיים מטעמי תאימות לאחור.
  • זמן תגובה מקסימלי - שדה הרלוונטי אך ורק להודעות שאילתא. מציין את הזמן המקסימלי שהנתב רשאי לחכות טרם ישלח את תשובתו חזרה. בשאר ההודעות הערך הוא 0 והנתב מתעלם מהשדה.
  • Checksum - מחושב על פני כל חבילת ה-IP שנשלחה.
  • כתובת הקבוצה - כתובת ה-IP של הקבוצה המבוקשת. רלוונטית לכל ההודעות.