چرا فرستادن داده به بسیاری گیرنده نیازمند رویکرد متفاوتی است
آدرسدهی یونیکست که در سراسر بیشتر این مجموعه بحث شد ترافیک را دقیقاً به یک مقصد تحویل میدهد. پخش، که پیشتر در این مجموعه بحث شد، به هر دستگاه روی یک سگمنت محلی تحویل میدهد، صرفنظر از اینکه آیا آنها واقعاً ترافیک را میخواهند. هیچکدام از رویکردها برای سناریویی مانند یک جریان ویدیویی زنده که توسط هزار کاربر علاقهمند در سراسر بسیاری زیرشبکه مختلف تماشا میشود مقیاسپذیر نیستند: یونیکست نیازمند فرستادن هزار کپی جداگانه از همان جریان میبود، در حالی که پخش ترافیک را به دستگاههایی که اصلاً علاقهای به آن ندارند سیلاب میکرد، و از ابتدا نمیتوانست مرزهای زیرشبکه را عبور کند.
مالتیکست: یک جریان، بسیاری گیرنده علاقهمند
IP Multicast این را با تحویل یک جریان واحد از ترافیک به یک آدرس گروه مالتیکست خاص، و داشتن خود شبکه که آن ترافیک را فقط در نقاطی که واقعاً نیاز دارد بهسمت چند گیرنده علاقهمند شاخه کند تکثیر کند، حل میکند.
بازه آدرس مالتیکست: 224.0.0.0 تا 239.255.255.255
(کلاس D، که پیشتر در این مجموعه درباره
کلاسهای آدرس تاریخی بحث شد)
یک منبع یک جریان واحد را به یک آدرس گروه، مانند
239.1.1.1، میفرستد، و فقط دستگاههایی که صراحتاً
درخواست کردهاند ترافیک آن گروه خاص را دریافت
کنند واقعاً یک کپی از آن دریافت میکنندیک هاست چگونه به یک گروه مالتیکست میپیوندد: IGMP
IGMP (Internet Group Management Protocol) روشی است که یک هاست با آن به روتر محلیاش اطلاع میدهد میخواهد ترافیک یک گروه مالتیکست خاص را دریافت کند.
انواع پیام IGMP:
Membership Report: فرستادهشده توسط یک هاست برای
پیوستن به یک گروه مالتیکست خاص
Query: بهطور دورهای توسط روتر فرستاده میشود
تا بررسی کند آیا هر هاست روی سگمنت همچنان
ترافیک یک گروه مشخص را میخواهد
Leave Group: توسط یک هاست فرستاده میشود تا
صراحتاً یک گروه را ترک کند (در IGMPv2 و بعد)،
که اجازه میدهد روتر فورواردکردن ترافیک آن
گروه به سگمنت را سریعتر از انتظار برای یک
timeout پرسوجو متوقف کندRouter(config)# interface gigabitethernet 0/1
Router(config-if)# ip igmp version 2
Router# show ip igmp groups
IGMP Connected Group Membership
Group Address Interface Uptime Expires
239.1.1.1 Gi0/1 00:15:22 00:02:30روتر از این اطلاعات عضویت گروه استفاده میکند تا تصمیم بگیرد آیا اصلاً نیاز دارد یک جریان مالتیکست خاص را به یک سگمنت خاص فوروارد کند — اگر هیچ هاستی روی آن سگمنت به گروه نپیوسته باشد، روتر پهنایباند را با فرستادن ترافیکی که هیچچیزی به آن گوش نمیدهد هدر نمیدهد.
ساخت درختهای توزیعی: PIM
در حالی که IGMP "گام آخر" بین یک روتر و هاستهای مستقیماً متصلش را مدیریت میکند، PIM (Protocol Independent Multicast) مسئله سختتر ساخت یک مسیر توزیعی کارآمد در سراسر روترها بین منبع مالتیکست و هر گیرنده علاقهمند، که بالقوه بسیاری هاپ و چند زیرشبکه را در بر میگیرد، را مدیریت میکند.
عبارت "Protocol Independent" به این اشاره دارد
که PIM به جدول مسیریابی یونیکست موجود، که
پیشتر در این مجموعه بحث شد، ساختهشده توسط
هر پروتکل مسیریابی یونیکستای (OSPF، EIGRP، BGP)
که از قبل در حال اجراست متکی است -- PIM پایگاهداده
توپولوژی جداگانه خودش را نگه نمیدارد، در عوض
از جدول مسیریابی یونیکست برای تعیین جهت درست
بهسمت منبع مالتیکست استفاده میکندPIM Sparse Mode: استاندارد مدرن
PIM Sparse Mode (PIM-SM) حالت غالب PIM در شبکههای مدرن است، ساختهشده حول این فرض که گیرندگان مالتیکست نسبتاً پراکنده و پخششدهاند، پس ترافیک فقط باید به سگمنتهای شبکهای که صراحتاً آن را درخواست کردهاند فرستاده شود — فرض کاملاً مخالف PIM Dense Mode تا حد زیادی منسوخشده، که ابتدا ترافیک را در همهجا سیلاب میکند و سپس شاخههایی با هیچ گیرنده علاقهمندی را قطع میکند.
مفهوم کلیدی PIM-SM: Rendezvous Point (RP)
RP یک روتر بهطور خاص تعیینشده است که بهعنوان
یک نقطه ملاقات شناختهشده عمل میکند: منابع
مالتیکست ابتدا با RP ثبتنام میکنند، و گیرندگان
ابتدا بهسمت RP میپیوندند بهجای نیاز به دانستن
موقعیت یک منبع مستقیماً
Router(config)# ip pim rp-address 10.0.0.1
-- مشخص میکند کدام روتر بهعنوان RP برای
-- دامنه مالتیکست عمل میکند -- هر روتر
-- فعالشده-PIM باید با همان آدرس RP پیکربندی
-- شود تا با هم بهدرستی کار کننددرخت مشترک در مقابل درخت کوتاهترین-مسیر
PIM-SM ابتدا یک Shared Tree (درخت مشترک) ریشهدار در RP میسازد، که اجازه میدهد گیرندگان به یک گروه بپیوندند بدون نیاز به دانستن اینکه منبع واقعاً کجاست. وقتی ترافیک شروع به جریانیافتن میکند، PIM-SM میتواند بهطور اختیاری به یک Shortest-Path Tree (SPT) کارآمدتر تغییر کند که کاملاً از RP عبور میکند، و مستقیماً بین منبع و هر گیرنده در امتداد کوتاهترین مسیر واقعی مسیریابی میکند.
تکامل جریان ترافیک در PIM-SM:
وضعیت اولیه: منبع → RP → درخت مشترک → گیرندگان
(ترافیک مسیری بالقوه طولانیتر از میان RP طی
میکند، اما این فوراً بدون نیاز گیرندگان به
دانش قبلی از منبع کار میکند)
پس از سوئیچ SPT: منبع → درخت کوتاهترین-مسیر
→ مستقیماً گیرندگان (کاملاً از میان RP عبور
میکند، وقتی روتر گام-آخر آدرس منبع واقعی را
یاد گرفته و مسیر مستقیمتری را تعیین کرده باشد)این رویکرد دومرحلهای بهطور ظریف دو نیاز رقیب را متوازن میکند: گیرندگان میتوانند بلافاصله بدون هیچ دانش قبلی از موقعیت منبع به یک گروه مالتیکست بپیوندند، در حالی که جریان ترافیک بلندمدت همچنان بهسمت واقعاً کارآمدترین مسیر همگرا میشود وقتی آن اطلاعات در دسترس شود.
تأیید وضعیت مسیریابی مالتیکست
Router# show ip mroute
(*, 239.1.1.1), 00:20:15/00:02:45, RP 10.0.0.1, flags: S
Incoming interface: GigabitEthernet0/0
Outgoing interface list:
GigabitEthernet0/1, Forward/Sparse, 00:15:22/00:02:30
(192.168.1.10, 239.1.1.1), 00:05:03/00:03:15, flags: T
Incoming interface: GigabitEthernet0/2
Outgoing interface list:
GigabitEthernet0/1, Forward/Sparse, 00:05:03/00:03:15جدول مسیریابی مالتیکست دو نوع ورودی متمایز را نشان میدهد: یک ورودی (*, G) (هر منبع، گروه خاص) که درخت مشترک ریشهدار در RP را نشان میدهد، و یک ورودی (S, G) (منبع خاص، گروه خاص) که درخت کوتاهترین-مسیر را وقتی سوئیچ رخ داده نشان میدهد — خواندن این خروجی مستقیماً آشکار میکند یک جریان مالتیکست خاص در حال حاضر در کدام مرحله از فرآیند دومرحلهای توصیفشده در بالا است.
چرا مالتیکست برای اپلیکیشنهای خاص ضروری باقی میماند
در حالی که اینترنت بهطور کلی بهطور فزاینده بهسمت تحویل محتوای مبتنیبر-یونیکست برای بسیاری اپلیکیشن استریمینگ حرکت کرده، IP مالتیکست در محیطهای خاصی ضروری باقی میماند: توزیع داده بازار مالی، IPTV درون شبکههای ارائهدهنده خدمات مدیریتشده، و برخی اپلیکیشنهای سازمانی که نیازمند ارتباط یک-به-چند کارآمد درون یک شبکه کنترلشده هستند. درک نقش IGMP در لبه شبکه و نقش PIM در ساخت درختهای توزیعی کارآمد در سراسر هسته شبکه پایهای برای استقرار و عیبیابی درست هرکدام از این اپلیکیشنهای وابسته-به-مالتیکست فراهم میکند.