بروتوكول إدارة مجموعة الإنترنت
| مجموعة بروتوكولات الإنترنت |
|---|
| طبقة التطبيق |
| Transport layer |
| Internet layer |
| Link layer |
بروتوكول إدارة مجموعة الإنترنت ( IGMP ) هو بروتوكول اتصالات يستخدمه المضيفون وأجهزة التوجيه المجاورة على شبكات IPv4 لإنشاء عضويات مجموعة البث المتعدد. يعد IGMP جزءًا لا يتجزأ من البث المتعدد IP ويسمح للشبكة بتوجيه عمليات الإرسال المتعددة فقط إلى المضيفين الذين طلبوها.
يمكن استخدام IGMP لتطبيقات الشبكات من واحد إلى العديد مثل بث الفيديو والألعاب عبر الإنترنت ، ويسمح باستخدام أكثر كفاءة للموارد عند دعم هذه الأنواع من التطبيقات .
يتم استخدام IGMP على شبكات IPv4 . تتم إدارة البث المتعدد على شبكات IPv6 بواسطة Multicast Listener Discovery (MLD) وهو جزء من ICMPv6 على النقيض من تغليف IP المجرد لـ IGMP.
بنيان
قد تستخدم الشبكة المصممة لتقديم خدمة البث المتعدد باستخدام IGMP البنية الأساسية التالية:
يعمل بروتوكول IGMP بين المضيف وجهاز توجيه متعدد البث محلي. كما تستمد المحولات التي تتميز بمراقبة IGMP معلومات مفيدة من خلال مراقبة معاملات IGMP هذه. ثم يتم استخدام بروتوكول البث المتعدد المستقل عن البروتوكول (PIM) بين أجهزة التوجيه المتعددة البث المحلية والبعيدة لتوجيه حركة البث المتعدد من المضيفين الذين يرسلون البث المتعدد إلى المضيفين الذين سجلوا من خلال IGMP لتلقيها.
يعمل بروتوكول IGMP على طبقة الشبكة (الطبقة 3)، تمامًا مثل بروتوكولات إدارة الشبكة الأخرى مثل ICMP . [1]
يتم تنفيذ بروتوكول IGMP على المضيفين وداخل أجهزة التوجيه . يطلب المضيف العضوية في مجموعة من خلال جهاز التوجيه المحلي الخاص به بينما يستمع جهاز التوجيه لهذه الطلبات ويرسل استعلامات الاشتراك بشكل دوري. يتم اختيار جهاز توجيه واحد لكل شبكة فرعية لأداء وظيفة الاستعلام هذه. تتضمن بعض مفاتيح الطبقات المتعددة إمكانية الاستعلام عن IGMP للسماح لميزات IGMP snooping الخاصة بها بالعمل في غياب جهاز توجيه قادر على IGMP في شبكة الطبقة 2.
يعد بروتوكول IGMP عرضة لبعض الهجمات، [2] [3] [4] [5] وتسمح جدران الحماية عادةً للمستخدم بتعطيله إذا لم يكن هناك حاجة إليه.
الإصدارات
هناك ثلاثة إصدارات من IGMP. [6] تم تعريف IGMPv1 في عام 1989. [7] يعمل IGMPv2، الذي تم تعريفه في عام 1997، [8] على تحسين IGMPv1 من خلال إضافة القدرة على أن يرسل المضيف إشارة إلى الرغبة في مغادرة مجموعة البث المتعدد.
في عام 2002، قام IGMPv3 بتحسين IGMPv2 من خلال دعم البث المتعدد الخاص بالمصدر [9] وتقديم تجميع تقارير العضوية. [10] تم تحسين دعم البث المتعدد الخاص بالمصدر في عام 2006. [11]
الإصدارات الثلاثة من IGMP متوافقة مع الإصدارات السابقة. يمكن لجهاز التوجيه الذي يدعم IGMPv3 دعم العملاء الذين يشغلون IGMPv1 وIGMPv2 وIGMPv3. يستخدم IGMPv1 نموذج الاستعلام والاستجابة. يتم إرسال الاستعلامات إلى 224.0.0.1 . يتم إرسال تقارير العضوية إلى عنوان البث المتعدد للمجموعة. يعمل IGMPv2 على تسريع عملية مغادرة المجموعة وضبط مهلة زمنية أخرى. يتم إرسال رسائل مغادرة المجموعة إلى 224.0.0.2 . يتم تقديم استعلام خاص بالمجموعة. يتم إرسال الاستعلامات الخاصة بالمجموعة إلى عنوان البث المتعدد للمجموعة. يتم تقديم وسيلة لأجهزة التوجيه لتحديد مستعلم IGMP للشبكة. يقدم IGMPv3 إمكانية البث المتعدد الخاصة بالمصدر . يتم إرسال تقارير العضوية إلى 224.0.0.22 .
رسائل
هناك عدة أنواع من رسائل IGMP:
- استفسارات العضوية العامة
- يتم إرسالها بواسطة أجهزة توجيه متعددة البث لتحديد عناوين البث المتعدد التي تهم الأنظمة المرتبطة بالشبكة (الشبكات) التي تخدمها لتحديث حالة عضوية المجموعة لجميع الأنظمة على شبكتها.
- استعلامات العضوية الخاصة بالمجموعة
- يتم استخدامه لتحديد حالة الاستقبال لعنوان متعدد البث معين.
- الاستعلامات الخاصة بالمجموعة والمصدر
- السماح لجهاز التوجيه بتحديد ما إذا كانت أي أنظمة ترغب في استقبال الرسائل المرسلة إلى مجموعة متعددة البث من عنوان المصدر المحدد في قائمة عناوين البث الأحادي.
- تقارير العضوية
- يتم إرسالها بواسطة أجهزة استقبال متعددة البث استجابةً لاستعلام العضوية أو بشكل غير متزامن عند التسجيل لأول مرة في مجموعة متعددة البث.
- ترك رسائل جماعية
- يتم إرسالها بواسطة أجهزة استقبال متعددة البث عندما لا تكون هناك حاجة إلى عمليات إرسال متعددة البث المحددة في جهاز الاستقبال.
يتم نقل رسائل IGMP في حزم IP عارية مع رقم بروتوكول IP 2. [10] : §4 على غرار بروتوكول رسائل التحكم في الإنترنت ، لا توجد طبقة نقل مستخدمة مع رسائل IGMP.
رسائل IGMPv2
| الإزاحة | ثماني بتات | 0 | 1 | 2 | 3 | ||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ثماني بتات | قليل | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
| 0 | 0 | يكتب | الحد الأقصى لوقت الاستجابة | المجموع الاختباري | |||||||||||||||||||||||||||||
| 4 | 32 | عنوان المجموعة | |||||||||||||||||||||||||||||||
- النوع: 8 بت
- يشير إلى نوع الرسالة على النحو التالي:
رسالة قيمة النوع استعلام العضوية 0x11 تقرير عضوية IGMPv1 0x12 تقرير عضوية IGMPv2 0x16 تقرير عضوية IGMPv3 0x22 مغادرة المجموعة 0x17
- الحد الأقصى لوقت الاستجابة: 8 بت
- يحدد الاستجابة المطلوبة للردود على استعلام العضوية (0x11). هذا الحقل ذو معنى فقط في استعلام العضوية؛ في الرسائل الأخرى، يتم تعيينه على 0 ويتجاهله المستقبل. يحدد الحقل الوقت بوحدات 0.1 ثانية (قيمة الحقل 10 تحدد ثانية واحدة). تعمل القيم الأكبر على تقليل تفجر حركة مرور IGMP وتعمل القيم الأصغر على تحسين استجابة البروتوكول عندما يغادر آخر مضيف المجموعة. [8] : §2.2
- المجموع الاختباري : 16 بت
- هذا هو المكمل الواحد المكون من 16 بتًا لمجموع المكمل الواحد لرسالة IGMP بالكامل. يتم حسابه قبل الإرسال، مع ضبط هذا الحقل على الصفر. عند إعادة الحساب عند استلام الحزمة، يتم تضمين هذا الحقل، ويجب أن تكون النتيجة صفرًا.
- عنوان المجموعة: 32 بت
- هذا هو عنوان البث المتعدد الذي يتم الاستعلام عنه عند إرسال استعلام خاص بمجموعة أو مجموعة ومصدر. يتم تعيين الحقل على صفر عند إرسال استعلام عام.
- يتم إرسال الرسالة إلى عناوين البث المتعدد IP التالية : [8] : §9
نوع الرسالة عنوان البث المتعدد استعلام عام جميع المضيفين ( 224.0.0.1 ) استعلام خاص بالمجموعة المجموعة التي يتم الاستعلام عنها تقرير العضوية (جميع إصدارات IGMP) المجموعة التي تم الإبلاغ عنها مغادرة المجموعة جميع أجهزة التوجيه ( 224.0.0.2 )
استعلام عضوية IGMPv3
| الإزاحة | ثماني بتات | 0 | 1 | 2 | 3 | ||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ثماني بتات | قليل | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
| 0 | 0 | النوع (0x11) | رمز الاستجابة الأقصى | المجموع الاختباري | |||||||||||||||||||||||||||||
| 4 | 32 | عنوان المجموعة | |||||||||||||||||||||||||||||||
| 8 | 64 | محجوز | س | قيمة الرهن العقاري | كيويك | عدد المصادر (ن) | |||||||||||||||||||||||||||
| 12 | 96 | عنوان المصدر[1] | |||||||||||||||||||||||||||||||
| 16 | 128 | عنوان المصدر[2] | |||||||||||||||||||||||||||||||
| ⋮ | ⋮ | ⋮ | |||||||||||||||||||||||||||||||
| 8+4ن | 64+32ن | عنوان المصدر[n] | |||||||||||||||||||||||||||||||
- النوع: 8 بت
- يشير إلى نوع الحزمة. تشير القيمة 0x11 إلى استعلام عضوية IGMPv3 .
- الحد الأقصى لرمز الاستجابة: 8 بت
- يستخدم هذا الحقل لحساب أقصى وقت استجابة (بزيادات مقدارها 1/10 ثانية) المسموح به قبل إرسال تقرير الاستجابة. إذا كان الرقم أقل من 128، يتم استخدام القيمة مباشرة. إذا كانت القيمة 128 أو أكثر، يتم تفسيرها على أنها أس وعشري.
- المجموع الاختباري : 16 بت
- هذا هو المكمل الواحد المكون من 16 بتًا لمجموع المكمل الواحد لرسالة IGMP بالكامل. يتم حسابه قبل الإرسال، مع ضبط هذا الحقل على الصفر. عند إعادة الحساب عند استلام الحزمة، يتم تضمين هذا الحقل، ويجب أن تكون النتيجة صفرًا.
- عنوان المجموعة: 32 بت
- هذا هو عنوان البث المتعدد الذي يتم الاستعلام عنه عند إرسال استعلام خاص بمجموعة أو مجموعة ومصدر. يتم تعيين الحقل على صفر عند إرسال استعلام عام.
- محجوز: 4 بت
- هذا الحقل محجوز، ويجب أن يتم تعيينه على الصفر عند الإرسال وتجاهله عند الاستلام.
- قمع معالجة جانب جهاز التوجيه (S): 1 بت
- عندما يتم تعيين هذا العلم، فإنه يشير إلى أجهزة التوجيه المستقبلة أنه يتعين عليها قمع تحديثات المؤقت العادية.
- متغير متانة المستعلم (QRV): 3 بتات
- إذا لم يكن هذا صفرًا، فإنه يحتوي على قيمة متغير المتانة التي يستخدمها مرسل الاستعلام. يجب على أجهزة التوجيه تحديث متغير المتانة الخاص بها ليتوافق مع الاستعلام المستلم مؤخرًا ما لم تكن القيمة صفرًا.
- رمز الفاصل الزمني لاستعلام المستعلم (QQIC): 8 بت
- يستخدم هذا الرمز لتحديد قيمة الفاصل الزمني للاستعلام (بالثواني) التي يستخدمها المستعلم. إذا كان الرقم أقل من 128، يتم استخدام القيمة مباشرة. إذا كانت القيمة 128 أو أكثر، يتم تفسيرها على أنها أس وعشري.
- عدد المصادر (N): 16 بت
- يحدد هذا الحقل عدد عناوين المصدر الموجودة في الاستعلام. بالنسبة للاستعلامات العامة والخاصة بالمجموعة، تكون هذه القيمة صفرًا. بالنسبة للاستعلامات الخاصة بالمجموعة والمصدر، تكون هذه القيمة غير صفرية، ولكنها محدودة بوحدة نقل البيانات القصوى للشبكة.
- عنوان المصدر [i]: 32 بت
- حقول عنوان المصدر [i] عبارة عن متجه من عناوين IP أحادية البث n ، حيث أن n هي القيمة الموجودة في حقل عدد المصادر (N).
التنفيذات
يدعم كل من FreeBSD [ملاحظة 1] وLinux [ملاحظة 2] و Windows بروتوكول IGMP على جانب المضيف.
انظر أيضا
ملحوظات
- ^ تمت إضافة IGMPv3 إلى FreeBSD في الإصدار 8.0.
- ^ تمت إضافة IGMPv3 إلى سلسلة نواة Linux 2.5.
مراجع
- ^ فوروزان، بهروز أ. (2012). اتصالات البيانات والشبكات (الطبعة الخامسة). نيويورك، نيويورك: ماكجرو هيل. ص. 658. ISBN 978-0073376226.
- ^ ثغرة رفض الخدمة في تقرير IGMP المزيف.
- ^ "قد تؤدي حزمة IGMP المجزأة إلى تعزيز هجوم "رفض الخدمة". 20 ديسمبر 2004. مؤرشف من الأصل في 13 فبراير 2005.
- ^ بيان مشكلة أمان IGMP ومتطلباته محفوظ في 2006-10-13 على موقع Wayback Machine .
- ^ "ثغرة أمنية في TCP/IP قد تسمح برفض الخدمة (MS06-007, 913446))". 14 فبراير 2006. مؤرشف من الأصل في 2007-02-05.
- ^ دليل تكوين توجيه البث المتعدد عبر IP، Cisco ، ص 25-28 ، تم استرجاعه في 2017-05-27
- ^ S. Deering (أغسطس 1989). ملحقات المضيف للبث المتعدد عبر بروتوكول الإنترنت. مجموعة عمل الشبكة. doi : 10.17487/RFC1112 . STD 5. RFC 1112. معيار الإنترنت 5. يصبح RFC 988 و1054 قديمين. تم تحديثه بواسطة RFC 2236.
- ^ abcd W. Fenner (نوفمبر 1997). بروتوكول إدارة مجموعة الإنترنت، الإصدار 2. مجموعة عمل الشبكة. doi : 10.17487/RFC2236 . RFC 2236. المعيار المقترح. تحديث RFC 1112. تم التحديث بواسطة RFC 3376.
- ^ "نظرة عامة على بروتوكول إدارة مجموعة الإنترنت". Javvin. مؤرشف من الأصل في 2010-11-10 . تم الاسترجاع في 2010-11-18 .
- ^ abc B. Cain; S. Deering ; I. Kouvelas; B. Fenner; A. Thyagarajan (أكتوبر 2002). بروتوكول إدارة مجموعة الإنترنت، الإصدار 3. مجموعة عمل الشبكة. doi : 10.17487/RFC3376 . RFC 3376. المعيار المقترح. تحديث RFC 2236. تم التحديث بواسطة RFC 4604.
- ^ H. Holbrook; B. Cain; B. Haberman (أغسطس 2006). استخدام بروتوكول إدارة مجموعة الإنترنت الإصدار 3 (IGMPv3) وبروتوكول اكتشاف مستمعي البث المتعدد الإصدار 2 (MLDv2) للبث المتعدد الخاص بالمصدر. مجموعة عمل الشبكة. doi : 10.17487/RFC4604 . RFC 4604. المعيار المقترح. تحديثات RFC 3376 و3810.
