پروتکل IGMP یا Internet Group Management Protocol چیست
Multicasting چیست:
Multicasting در شبکههای کامپیوتری یک روش ارسال داده است که به ارسال همزمان داده به یک گروه از دستگاهها در شبکه اشاره دارد. در این روش، یک منبع ارسال کننده (مثلاً یک سرور) دادهها را به یک گروه از مقصدها (مثلاً دستگاههای مشترک در یک محل شبکه) ارسال میکند. در مقابل، دستگاههای گیرنده (مقصد) با عضویت در گروه مشخص میکنند که میخواهند پیامهای Multicast را دریافت کنند.
روش Multicasting برای انتقال اطلاعات به گروههای بزرگی که از طریق یک شبکه مشترک به اشتراک گذاشته میشوند، بسیار موثر است. در این روش، فقط یک نسخه از داده ارسال میشود و توسط روترها و سوئیچها در شبکه کپی شده و به تمامی دستگاههای مشترک در گروه Multicast ارسال میشود. این باعث کاهش ترافیک شبکه و استفاده بهینه از پهنای باند میشود.
در پروتکلهای مختلف شبکه، مکانیزمهای مختلفی برای ارسال Multicast وجود دارد. مثالهایی از پروتکلهای Multicast شامل Internet Group Management Protocol (IGMP) در IPv4 و Multicast Listener Discovery (MLD) در IPv6 هستند.
از موارد استفاده Multicasting میتوان به ارسال پیامهای چندرسانهای (مانند صدا و تصویر) در شبکههای تلویزیونی و رادیویی، انتقال دادههای تلفن IP و ارسال بهروزرسانیها و پیامهای چندرسانهای در برنامههای گروهی اشاره کرد.
پروتکل IGMP چیست:
IGMP (Internet Group Management Protocol) یک پروتکل شبکه است که برای مدیریت گروههای Multicast در شبکههای IPv4 استفاده میشود. این پروتکل بین دستگاههای میزبان (hosts) و روترهای Multicast در شبکه ارتباط برقرار میکند.
هدف اصلی IGMP، اطلاعات عضویت و عدم عضویت میزبانها در گروههای Multicast را مدیریت کند. بدین منظور، میزبانها که میخواهند پیامهای Multicast را دریافت کنند، به روترها اعلام میکنند که در یک گروه Multicast عضو شوند. این اعلامیه به عنوان یک پیام IGMP ارسال میشود.
روترها نیز با استفاده از IGMP، اطلاعات عضویت میزبانها را در گروههای Multicast دریافت و مدیریت میکنند. با توجه به این اطلاعات، روترها میتوانند فقط پیامهای Multicast را به میزبانهایی ارسال کنند که در واقعیت عضو گروه هستند. این کار باعث کاهش ترافیک شبکه و بهبود عملکرد Multicast میشود.
نسخههای مختلفی از IGMP وجود دارد. IGMPv1 اولین نسخه این پروتکل بود که ارائه شد و نسخههای بعدی شامل IGMPv2 و IGMPv3 میباشند. هر نسخه از IGMP امکانات و قابلیتهایی را برای مدیریت بهتر Multicast ارائه میدهد و با نسخههای قبلی سازگاری دارد.
IGMP یکی از عناصر کلیدی در ارسال پیامهای Multicast در شبکههای IPv4 است و در ارتباط با پروتکلهای مسیریابی Multicast مانند DVMRP (Distance Vector Multicast Routing Protocol) و PIM (Protocol Independent Multicast) استفاده میشود.
کاربرد IGMP چیست:
کاربردهای IGMP (Internet Group Management Protocol) در شبکههای IPv4 عبارتند از:
مدیریت گروههای Multicast: IGMP برای مدیریت عضویت و عدم عضویت میزبانها در گروههای Multicast استفاده میشود. میزبانها با استفاده از IGMP به روترها اعلام میکنند که میخواهند در یک گروه Multicast عضو شوند یا از آن خارج شوند. این اطلاعات به روترها کمک میکند تا بتوانند پیامهای Multicast را به میزبانهایی ارسال کنند که در واقعیت عضو گروه هستند.
روتینگ Multicast: IGMP در ارتباط با پروتکلهای مسیریابی Multicast مانند DVMRP (Distance Vector Multicast Routing Protocol) و PIM (Protocol Independent Multicast) استفاده میشود. روترها با استفاده از IGMP اطلاعات عضویت میزبانها را در گروههای Multicast دریافت و مدیریت میکنند و پیامهای Multicast را به میزبانها منتقل میکنند. این کار باعث توزیع بهینه پیامهای Multicast در شبکه میشود.
انتقال دادههای Multicast: با استفاده از IGMP، میزبانها میتوانند به صورت همزمان دادههای Multicast را دریافت کنند. مثلاً در شبکههای تلویزیونی و رادیویی، IGMP برای ارسال پیامهای چندرسانهای به گروههای مختلف از میزبانها استفاده میشود. هر میزبان که در گروه Multicast عضو شده باشد، میتواند پیامها را دریافت کند و آنها را پخش کند.
به طور کلی، IGMP به میزبانها و روترها امکان میدهد تا در شبکههای IPv4 عضویت و عدم عضویت در گروههای Multicast را مدیریت کنند و پیامهای Multicast را به صورت بهینه منتقل کنند.
IGMP چگونه عمل میکند:
IGMP (Internet Group Management Protocol) برای مدیریت عضویت و عدم عضویت میزبانها در گروههای Multicast در شبکههای IPv4 عمل میکند. در اینجا چگونگی عملکرد این پروتکل توضیح داده میشود:
درخواست عضویت (Membership Request):
وقتی یک میزبان در شبکه متصل میشود و قصد دارد در یک گروه Multicast عضو شود، ابتدا یک پیام IGMP Membership Request (IGMPv2) یا IGMP Membership Report (IGMPv3) را به روتر مربوطه ارسال میکند.
در این پیام، میزبان آدرس IP گروه Multicast مورد نظر را اعلام میکند و درخواست عضویت خود را بیان میکند.
پاسخ روتر (Router Response):
روترها در شبکه IGMP را بررسی میکنند و پیامهای IGMP Membership Request و IGMP Membership Report میزبانها را دریافت میکنند.
اگر روتر متوجه شود که یک گروه Multicast جدید تشکیل شده است و میزبانی درخواست عضویت در آن داشته است، آن روتر پیام IGMP Membership Query را به تمام میزبانهای موجود در شبکه ارسال میکند.
پیام IGMP Membership Query برای جمعآوری اطلاعات عضویت میزبانها استفاده میشود و به میزبانها اجازه میدهد تا خود را به عنوان عضو گروه Multicast معرفی کنند.
تایمر و عمر میزبان (Timer and Host Lifetime):
دریافت پیام IGMP Membership Query توسط میزبانها، آنها را مجاب میکند که در صورت عدم دریافت پیام Membership Query تا زمانی که تایمری تمام شود، همچنان عضو گروه Multicast بمانند.
اگر میزبان دریافت پیام Membership Query دیگری کند، تایمر تازه میزبان مجدداً شروع میشود و میزبان به عنوان عضو گروه Multicast به روزرسانی میشود.
بازنشانی عضویت (Membership Refresh):
روترها در بازههای زمانی مشخص، پیام IGMP Membership Query را به میزبانها ارسال میکنند تا عضویت آنها را به روز کنند.
میزبانها دریافت پیام Membership Query را تشخیص داده و در صورت عضویت در گروه Multicast، پیام Membership Report را به روتر ارسال میکنند تا عضویت خود را تأیید کنند.
با استفاده از این روند، IGMP تعامل بین میزبانها و روترها را برای مدیریت عضویت در گروههای Multicast فراهم میکند. میزبانها با ارسال پیامهای IGMP Membership Request و دریافت پیامهای IGMP Membership Query و IGMP Membership Report عضویت خود را مدیریت میکنند و روترها با ارسال پیامهای IGMP Membership Query و دریافت پیامهای IGMP Membership Report اطلاعات عضویت را جمعآوری و مدیریت میکنند. این روند به روترها کمک میکند تا پیامهای Multicast را به صورت بهینه در شبکه توزیع کنند و میزبانها فقط پیامهایی را دریافت کنند که در واقعیت به آنها مربوط هستند.
منبع:
پروتکل IGMP یا Internet Group Management Protocol چیست