در بخش اول از مقالهی (Internet Group Management Protocol (IGMP علاوه بر معرفی این پروتکل، اطلاعاتی در مورد سفارشیسازی آن مطرح گشته و نسخههای متفاوت IGMP شرح داده شد. در این مقاله به شرح فرایندهای Join و Leave در IGMP و همچنین آدرسهای Multicast آن میپردازیم.
بررسی فرایند Join در IGMP
وقتی که یک Host میخواهد به یک گروه Multicast ملحق گردد، یک یا چند اعلان عضویت درخواستنشده (Unsolicited) را برای گروه Multicastی که میخواهد به آن ملحق شود، میفرستد. در ورژنهای IGMPv1 و IGMPv2 فرایند Join (ملحق شدن) IGMP برای Hostها یکسان است؛ ولی در IGMPv3، فرایند Join برای Hostها بصورت زیر است:
- وقتی یک Host میخواهد عضو یک گروه شود، یک اعلان عضویت IGMPv3 را با یک لیست EXCLUDE خالی به 224.0.0.22 میفرستد.
- وقتی یک Host میخواهد به یک کانال مشخص ملحق شود، یک اعلان عضویت IGMPv3 را با آدرس مبدا مشخصی که در لیست INCLUDE آمده است، به 224.0.0.22 میفرستد.
وقتی یک Host میخواهد بعد از حذف منابعی مشخص، به یک گروه ملحق شود، یک گزارش عضویت IGMPv3 را به 224.0.0.22 میفرستد و در لیست EXCLUDE آن موارد استثنا را مشخص مینماید.
اگر یک IGMPv3 Host روی شبکه LAN بخواهد منبعی را در لیست Excluded قرار دهد و دیگر Hostها بخواهند منبع را داشته باشند، دستگاه روی LAN ترافیک را برای مبدا ارسال میکند. در این مورد تقاضای استفاده از منابع بر حذف کردن آنها پیروز میشود.
فرایند Leave (ترک کردن) در IGMP
روشی که Hostها برای خارج شدن از یک گروه استفاده میکنند با توجه به نسخهی IGMP عملیاتی متفاوت است که در ذیل به آنها میپردازیم:
فرایند Leave در IGMPv1
در IGMPv1 هیچ پیامی مبنی بر خارج شدن از گروه وجود ندارد تا به دستگاههای روی Subnet اطلاع دهد که یک Host، دیگر نمیخواهد ترافیک Multicast را از یک گروه مشخص دریافت نماید. Host به سادگی پردازش ترافیک را برای گروه Multicast متوقف میکند و دیگر به Queryهای IGMP با گزارشات عضویت IGMP برای گروه پاسخ نمیدهد. در نتیجه، تنها چیزی که به دستگاههای IGMPv1 نشان میدهد که برای یک گروه Multicast مشخص روی یک Subnet، دیگر هیچ دریافتکنندهی فعالی وجود ندارد، این است که دستگاه دیگر گزارشات عضویت دریافت نمیکند. برای تسهیل این فرایند، دستگاههای IGMPv1 یک تایمر را به یک گروه IGMP روی یک Subnet متصل میکنند. وقتی که یک گزارش عضویت برای گروه روی Subnet دریافت میگردد، تایمر ریست میشود. برای دستگاههای IGMPv1، این فاصلهی زمانیِ Timeout معمولا سه برابرفاصلهی Query است (سه دقیقه). این فاصلهی زمانیِ Timeout به این معناست که ممکن است دستگاه به مدت سه دقیقه پس از اینکه تمام Hostها گروه Multicast را ترک کردهاند، به Forward کردن ترافیک Multicast به Subnet ادامه دهد.
فرایند Leave در IGMPv2
IGMPv2 از یک پیام مبنی بر ترک کردن گروه استفاده میکند که به Host این توانایی را میدهد که نشان دهد دیگر نمیخواهد ترافیک Multicastی را برای یک گروه خاص دریافت نماید. وقتی یک IGMPv2 Host، یک گروه Multicast را ترک میکند، اگر آخرین Hostی باشد که با یک گزارش عضویت برای آن گروه، به Query پاسخ میدهد، یک پیام مبنی بر ترک کردن گروه را به تمام دستگاههای گروه Multicast میفرستد (224.0.0.22).
فرایند Leave در IGMPv3
IGMPv3 با معرفی این قابلیت که یک Host بتواند با وارد کردن یا کنار گذاشتن مبداها، گروهها و یا کانالها در اعلانات عضویت IGMPv3، دریافت ترافیک را از یک گروه، مبدا یا کانال مشخص در IGMP متوقف کند، فرایند Leave را بهبود میبخشد.
آدرسهای IGMP Multicast
ترافیک IP Multicast از آدرسهای IPی Class D استفاده میکنند. Four Bitهای High-Order از یک آدرس Class D، 1110 میباشند. در نتیجه، آدرسهای گروه Host میتوانند در محدودهی 224.0.0.0 تا 239.255.255.255 باشند.
آدرسهای Multicast در محدودهی 224.0.0.0 تا 224.0.0.255 برای استفاده توسط پروتکلهای Routing و دیگر ترافیکهای کنترل شبکه در نظر گرفته میشوند. و طبق پروتکلها تضمین شده است که محدوده آدرس 224.0.0.0 به هیچ گروهی تخصیص داده نشده باشد.
Packetهای IGMP به نحوهی زیر با استفاده از آدرسهای IP گروه Multicast منتقل میگردند:
- مقصد Queryهای عمومی IGMP آدرس 224.0.0.1 است (تمام سیستمهای روی یک Subnet).
- مقصد Queryهای مختص به گروه IGMP آدرس IP گروهی است که دستگاه برای آن Query ارسال میکند.
- مقصد گزارشات عضویت IGMP آدرس IP گروهی است که دستگاه برای آن گزارش ارسال میکند.
- مقصد پیامهای ترک گروه IGMPv2 آدرس 224.0.0.2 است (تمام دستگاهها روی یک Subnet).
- مقصد گزارشات عضویت IGMPv3 آدرس 224.0.0.22 است؛ تمام دستگاههای Multicast دارای قابلیت IGMPv3 باید این آدرس را بپذیرند.
ــــــــــــــــــــــــــــــــ
بررسی پروتکل (Internet Group Management Protocol (IGMP – قسمت اول
بررسی پروتکل (Internet Group Management Protocol (IGMP – قسمت دوم
بررسی پروتکل (Internet Group Management Protocol (IGMP – قسمت سوم (پایانی)