در بخش اول از مقالهی «Internet Group Management Protocol» علاوه بر معرفی این پروتکل، اطلاعاتی در مورد سفارشیسازی آن مطرح گشته و نسخههای متفاوت آن شرح داده شد و در قسمت دوم به شرح فرایندهای Join و Leave در IGMP و همچنین آدرسهای Multicast آن پرداخته شد. در این مقاله که قسمت پایانی می باشد به قابلیت پشتیبانی از ACL گسترده و مزیتهای آن و همچنین شرح پروکسی IGMP خواهیم پرداخت.
پشتیبانی SSM با Extended ACLها
قابلیت پشتیبانی از Extended ACL برای IGMP با هدف پشتیبانی از SSM در IPv4، به IGMPv3 این توانایی را میدهد که لیستهای دسترسی گسترده را تطبیق دهند. با IGMPv3 میتوان از لیستهای دسترسی گسترده به کاربر این توانایی را داد که از یکی از مزیتهای مهم SSM در IPv4 بهره ببرد و این مزیت، فیلتر کردن گزارشات IGMPv3 براساس آدرس مبدا، آدرس گروه و یا هر دو میباشد.
مزیت Extended ACL در SSM
IGMPv3 لیستهای دسترسی Extend شده را تطبیق میدهد و این امر به کاربر این توانایی را میدهد که از یک مزیت مهم از SSM در IPv4 بهره ببرد و این امر در واقع ایجاد دسترسی براساس آدرس IP مبدا است. پیش از این ویژگی، یک لیست دسترسی IGMP، تنها یک ACL استاندارد را میپذیرفت و اجازه میداد که گزارشات عضویت تنها براساس آدرسهای گروه Multicast فیلتر گردند.
IGMP ورژن 3، به دریافتکنندگان Multicast این توانایی را میدهد که به گروههایی ملحق شوند که مبدا مشخص در آنها تعیین شده باشند؛ در نتیجه برای کنترل دسترسی مناسب، لازم است توانایی فیلتر کردن پیامهای IGMPv3، نه تنها توسط آدرسهای گروهِ گزارش شده، بلکه توسط آدرسهای گروه و آدرسهای منبع، فراهم گردد و Extended ACLهای IGMP این قابلیت را فراهم کردهاند. استفاده کردن از SSM با یک لیست دسترسی گستردهی IGMP، به کاربر این توانایی را میدهد که در گزارشات IGMPv3، به مبدا S و گروه G یعنی (S, G) اجازه دسترسی بدهد و یا آن را رد کند؛ در نتیجه گزارشات IGMPv3 را بر اساس آدرس مبدا، آدرس گروه و یا آدرس مبدا و گروه فیلتر نماید.
آدرسهای مبدا IGMPv3 برای گروههای ASM
همچنین میتوان از لیستهای دسترسی گستردهی IGMP برای اجازه دادن و یا فیلتر کردن یا رد کردن ترافیک براساس (0.0.0.0, G)، یعنی (G, *) ، در گزارشات IGMP که غیر SSM هستند، مانند Any Source Multicast یا به اختصار ASM، استفاده نمود. Statementهای اجازه دادن و یا رد کردن برابر با (G, *) ، به ترتیب آدرس گروه permit host 0.0.0.0 host و آدرس گروه deny host 0.0.0.0 host group هستند.
فیلتر کردن، به گزارشات IGMPv3 هم برای گروه ASM و هم SSM اعمال میگردد، اما برای گروههای SSM از همه مهمتر است، زیرا IP Multicast Routing آدرسهای مبدا را در گزارشات IGMPv3 برای گروههای ASM، در نظر نمیگیرد. آدرسهای مبدا در گزارشات عضویت IGMPv3 برای گروههای ASM در IGMP Cache ذخیره میگردند که با دستور show ip igmp membership نمایش داده میشود، اما IP Multicast Routing مبتنی بر PIM، تنها گروههای ASM گزارش شده را در نظر میگیرد. در نتیجه، اضافه کردن فیلتر برای آدرسهای مبدا برای گروههای ASM، تنها روی IGMP Cache برای گروههای ASM تاثیرگذار هستند.
چک کردن Extended ACL توسط IGMP
وقتی که در دستور ip igmp access-group روی یک رابط کاربری، به یک ACL گستردهی IGMP ارجاع داده میشود، جفتهای (S, G) در Statementهای اجازه (Permit) و رد (Deny) از لیست دسترسی گسترده در مقابل جفت (S, G) از گزارشات IGMP دریافتشده روی رابط کاربری قرار میگیرند. به عنوان مثال، اگر یک گزارش IGMP با (S1, S2…Sn, G) دریافت گردد، در ابتدا گروه (0.0.0.0, G) در قیاس با Statement لیست دسترسی چک میشود. (0.0.0.0, G) به معنای (G, *) است که یک مبدا Wildcard میباشد با یک شمارهی گروه Multicast. اگر گروه رد شود، تمام گزارش IGMP رد خواهد شد. اگر گروه مجاز شود، هر جفت (S, G) در قیاس با لیست دسترسی چک میگردد. مبداهای مردود از گزارش IGMP خارج شده و در نتیجه به مبداها، دسترسی به ترافیک Multicast داده نمیشود.
پروکسی IGMP
یک پروکسی IGMP به Hostهایی که در یک محیط Unidirectional Link Routing یا به اختصار UDLR قرار دارند و به طور مستقیم به یک روتر Downstream متصل نیستند توانایی ملحق شده به یک گروه Multicast با مبدای از یک شبکهی Upstream را میدهد.
شکل زیر یک توپولوژی نمونه را نمایش میدهد که بیانگر دو سناریو UDLR است:
- سناریو UDL Routing قدیمی: یک دستگاه UDL با دریافتکنندههایی که به طور مستقیم متصلاند.
- سناریو پروکسی IGMP : دستگاه UDL بدون دریافتکنندههایی که به طور مستقیم متصلاند.
سناریو 1 : UDLR قدیمی
برای سناریو 1، نیاز به هیچ مکانیزم پروکسی IGMP نیست و دستگاه UDL به دریافتکنندهها به طور مستقیم متصلاند. در این سناریو، اتفاقات زیر به ترتیب رخ میدهد:
- کاربر 2 یک گزارش عضویت IGMP را ارسال کرده و درخواست توجه به گروه G میکند.
- روتر B، گزارش عضویت IGMP را دریافت کرده، یک ورودی Forwarding برای گروه G روی LAN B اضافه نموده و گزارش IGMP را به روتر A که دستگاه UDLR Upstream است، پروکسی مینماید.
- سپس، گزارش IGMP روی لینک اینترنت پروکسی میگردد.
- روتر A پروکسی IGMP را دریافت کرده و یک ورودی Forwarding را روی لینک Unidirectional حفظ مینماید.
سناریو 2 : پروکسی IGMP
برای سناریو 2، مکانیزم پروکسی IGMP برای ایجاد توانایی ملحق شده به یک گروه Multicast با مبدای از یک شبکهی Upstream، برای Hostهایی که به طور مستقیم به یک دستگاه Downstream متصل نیستند، مورد نیاز است و دستگاه UDL بدون دریافتکنندههایی که به طور مستقیم متصلاند. در این سناریو، اتفاقات زیر به ترتیب رخ میدهد:
- کاربر 1 یک گزارش عضویت IGMP را ارسال کرده و درخواست توجه به گروه G میکند.
- روتر C یک پیام ملحق شدن PIM را به صورت Hop-by-Hop به RP (روتر B) میفرستد.
- روتر B پیام ملحق شدن PIM را دریافت میکند و یک ورودی Forwarding را برای گروه G روی LAN B اضافه مینماید.
- روتر B به صورت دورهای جدول Mroute خود را چک کرده و گزارشات عضویت IGMP را به دستگاه Upstream UDL خود روی لینک اینترنت، پروکسی مینماید.
- روتر A یک ورودی Forwarding را روی لینک Unidirectional ایجاد و حفظ مینماید (UDL).
در یک شبکهی سازمانی، مطلوب است که بتوان ترافیک IP Multicast را از طریق ماهواره دریافت نمود و آن ترافیک را از طریق شبکه Forward کرد. سناریو 2، با Unidirectional Link Routing یا به اختصار UDLR، به تنهایی ممکن نخواهد بود، زیرا Hostهای دریافتکننده باید به طور مستقیم به دستگاه Downstream، روتر B، متصل باشند. مکانیزم پروکسی IGMP با ایجاد یک گزارش IGMP برای ورودیهای (G, *) در جدول Multicast Forwarding این محدودیت را برطرف مینماید. در نتیجه برای عملیاتی نمودن این سناریو، باید Forwarding گزارش IGMP از ورودیهای مسیر استاتیک Multicast بصورت (G, *) پروکسی شده را با استفاده از دستور ip igmp mroute-proxy فعال نمود و همچنین خدمات پروکسی Mroute را روی رابطهای کاربری منتهی به شبکههایی با PIM فعال با اعضای بالقوه با استفاده از دستور ip igmp proxy-service فعال کرد.
ــــــــــــــــــــــــــــــــ
بررسی پروتکل (Internet Group Management Protocol (IGMP – قسمت اول
بررسی پروتکل (Internet Group Management Protocol (IGMP – قسمت دوم
بررسی پروتکل (Internet Group Management Protocol (IGMP – قسمت سوم (پایانی)