در پست قبل به مبانی Multicasting در شبکه پرداختیم. اساس ارتباط Multicast به عضویت در گروه برمیگردد که توسط IGMP صورت میگیرد. توسط IGMP یک Host به یک گروه گوش میدهد – عضو آن گروه میشود و بسته هایی که به آن گروه ارسال میشود را دریافت میکند. این عضویت توسط نرم افزاری که قابلیت Multicast را دارد تقاضا میشود و IGMP توسط آن نرم افزار به اولین روتر میرسد تا تمایل Host جهت دریافت ابراز شود.

Internet Group Management Protocol
IGMP – RFC 1112 و IGMPv2 – RFC 2236 و IGMPv3 – RFC 3376
برای Multicasting در شبکه، گيرنده بايد عضو Multicast Group شود که اين کار توسط پروتکل IGMP صورت می گيرد.
هر 60 ثانيه يک روتر بعنوان IGMP Querier از Host ها دعوت می کند که در صورت تمايل به عضويت گروه مورد نظرشان، درخواست خود را ارسال کنند. اين دعوت به نشانی 224.0.0.1 (All-Hosts) فرستاده می شود.
وقتی یک Host مایل به عضويت در گروه باشد، درخواست خود را بوسيله IGMP به Local Router ارسال ميکند. اعضايی که تمايل به ادامه عضويت دارند نيز بهمين صورت کار خود را ادامه ميدهند.
Router نيازی ندارد که ليست کامل اعضا را داشته باشد، بلکه بايد بداند چه گروهی را به کدام Interface، ارسال کند.
در IGMPv1 روشی برای خروج از گروه وجود نداشت. راه حل این بود که در صورت عدم تمایل، Host عضویت خود را تمدید نکند. پس به پيام عضویت Router جواب نمیداد تا پس از 3 دقيقه Timeout شده و از گروه حذف شود.
در IGMPv2 (نسخه دو این پروتکل) Host بوسيله ارسال Leave Group Message به آدرس 224.0.0.2 يا All-Routers Address در هر زمانی می تواند خروج خود را اعلام کند.
از ديگر تفاوت های IGMP نسخه اولیه با IGMPv2 در نوع Query هاست. در IGMPv2 به يک گروه خاص هم ميتوان Query فرستاد (Group-Specific Message).
اگر روی يک سگمنت روتری IGMPv1 صحبت کند، بقيه روترها مجبور هستند روی آن سگمنت IGMPv1 عمل کنند زيرا IGMPv1 پيامهای نسخه دوم را درک نميکند.
IGMPv3 نسخه جدیدتر IGMP است که بدليل کفايت عملکرد IGMPv2 و عدم نياز به خصوصيات پيچيده تر رشد و استفاده از نسخه سوم در شبکه ها کند پیش میرود.
IGMP برای مدیریت گروه های Multicast در IPv4 ارائه شده و MLD يا Multicast Listener Discovery در IPv6 برای اينکار ساخته شده است.
نکته: وقتی PIM (جهت Multicast Routing) روی يک Interface فعال شود، همراه آن IGMPv2 نيز بصورت قراردادی فعال میشود.
Multicast Switching
بطور کل يک سویيچ لايه دو از Multicast چيزی نمی داند پس فریم های Multicast را همانند Broadcast به همه پورت ها ارسال می کند. برخورد این سوییچ ها با Multicast همانند Broadcast است و از این رو باعث میشوند که ترافیک گروه به همه ارسال شود که با اصول و فلسفه Multicast که تنها ارسال ترافیک به درخواست کننده است تضاد دارد و باعث هدر رفتن پهنای باند شبکه میشود. روش هايی برای Forward کردن فریم ها فقط به پورتهای عضو Multicast وجود دارد که موجب کم کردن ترافيک زائد شبکه می شوند اعم از: IGMP Snooping و CGMP.
IGMP Snooping
همانطور که اشاره شد، برای اينکه یک Host عضو گروه شود بايد بوسيله IGMP به روتر درخواست دهد. IGMP Snooping روی سوییچ از طريق گوش دادن به اين پيام ها، متوجه وجود متقاضی شده و در زمان دريافت Multicast بخوبی ميداند که آنرا تنها به کدام پورت ها ارسال کند.
برای یک L2 Switch قدیمی گوش کردن به تمام Multicast Frame ها دشوار و منجر به اشغال منابع خواهد شد، در حاليکه برای Multilayer Switch ها اين کار به سادگی انجام پذير است.
IGMP Snooping بصورت Default روی اکثر سوییچ های سیسکو فعال است. برای غيرفعال کردن آن میتوان از دستور زير استفاده کرد:
Switch(config)# no igmp snooping
CGMP – Cisco Group Membership Protocol
اين روش قدیمی است و توسط سيسکو در نبود IGMP Snooping ارائه شد تا سویيچهایی که توانايی لازم برای Snooping را ندارد با کمک روتر نزديک خود بتواند ترافيک Multicast و پورتهای عضو را شناسایی کنند. CGMP بايد علاوه بر سوییچ، روی روتر نيز فعال شود تا پيام های CGMP به آدرس 0100.0CDD.DDDD بين سویيچ و روتر رد و بدل شوند. در عين حال سویيچ هايی که CGMP نميفهمند اين ترافيک را از خود عبور میدهند.
درون يک پيام CGMP، آدرس MAC و آدرس Multicast يک Host در موقع عضو شدن و يا خارج شدن، درج میشود تا سویيچ CAM Table خود را Update کند. در واقع روتر نقش سمعک را برای سوئيچ ايفا می کند!
برای فعال کردن CGMP از دستور زير استفاده ميکنيم:
Router(config-if)# ip cgmp
در سویيچ هايی که قابليت IGMP Snooping را پشتیبانی نمیکنند، CGMP بصورت Default فعال است.
اگر در شبکه سویيچ از CGMP يا IGMP Snooping پشتیبانی نکند، در صورت استفاده از Multicast، ترافيک زائد در سطح شبکه منتشر خواهد شد…
جهت دریافت مطلب کامل بصورت PDF روی لینک زیر کلیک کنید:
