در شبکه های IP قدیمی ،یک بسته می توانست به یک دستگاه  ( Unicast ) یا به همه دستگاه ها ( Broadcast) فرستاده شود. یک انتقال واحد خاص برای یک گروه از دستگاه ها ممکن نبود. بهرحال ، در طی چند سال گذشته ، مجموعه جدیدی از برنامه های کاربردی ( application  ) ها پدیدار شده بود.این application  ها برای فراهم کردن ارتباطی موثر بین گروه هایی از این دستگاه ها از انتقالات Multicast  استفاده می کنند. داده به یک IP آدرس Multicast  واحد انتقال داده می شود و بوسیله هر دستگاهی که نیازمند دریافت این انتقال است ، دریافت می گردد.

     1. آدرس دهی Multicast

دستگاه های Multicast از IP آدرس های کلاس D  برای برقراری ارتباط استفاده می کنند. این آدرس ها در رنج  224.0.0.0 تا 239.255.255.255 قرار گرفته اند. برای هر آدرس Multicast ، یک مجموعه از صفر میزبان یا بیشتر که برای بسته های انتقال یافته به این آدرس پذیرفته می شوند ، موجود است. این مجموعه از دستگاه ها یک گروه میزبان نامیده می شوند.یک میزبان که بسته ها را به یک گروه خاص می فرستد ، نیازی نیست که یک عضو از این گروه باشد. این میزبان حتی ممکن است که اعضای معمولی که در این گروه حضور دارند را نشناسد.دو نوع گروه میزبان وجود دارد:

    ثابت (دائمی) :
 application  هایی که بخشی از این گروه هستند ،‌دارای IP آدرس هایی می باشند که بطور دائمی توسط IANA تخصیص می یابد.عضویت در این کروه میزبان دائمی نیست، یک میزبان در صورت نیاز می تواند به گروه بپیوندد یا گروه را ترک کند. یک گروه دائمی حتی اگر هیچ عضوی هم نداشته باشد ، موجود باقی     می ماند. لیستی از  IP آدرس های  تخصیص یافته به گروه های میزبان دائمی در RFC  3232 موجود است. این آدرس های رزرو شده عبارتند از :

  • 224.0.0.0  :  آدرس های پایه رزرو شده
  • 224.0.0.1 : تمام سیستم ها ذر این زیر شبکه
  • 224.0.0.2 : تمام روتر ها در این زیر شبکه
  • 224.0.0.9 : تمام روتر های RIP2

سایر آدرس های نمونه شامل آن هایی است که برای OSPF رزرو شده اند.این آدرس ها عبارتند از :

  • 224.0.0.5   : تمام روتر های OSPF
  • 224.0.0.6 : تمام روتر های تخصیص داده شده به OSPF.

بعلاوه ، IGMPv3  ( تعریف شده در RFC  3376 ) آدرس زیر را رزرو می کند :

  • 224.0.0.22 : روتر های  Multicast مستعد.


یک application  می تواند برای بدست آوردن IP آدرس تخصیص یافته به یک گروه میزبان دائمی با استفاده از دامنه mcast.net از DNS استفاده کند .این می تواند به تعیین یک گروه دائمی از یک آدرس با استفاده از یک اشاره کر پرسش و پاسخ در حوزه  224. in-addr.arpa بپردازد.

    غیر دائمی :
 هر گروهی که دائمی نباشد غیر دائمی است. این گروه برای جایگزینی پویا در صورت نیاز در دسترس قرار می گیرد. گروه های غیر دائمی زمانی که تعداد اعضایشان صفر شود ، یعنی دیگر عضوی نداشته باشد ، از بین خواهد رفت.

    1-1 : Multicasting  روی یک شبکه فیزیکی واحد
این فرآیند آسان است. فرآین ارسال ، یک IP آدرس Multicast  را برای مقصذد تعیین می کند. برنامه راه انداز این IP آدرس را به آدرس اترنت متناظر با آن تبدیل می کند و بسته را به آن مقصد ارسال می نماید. فرآیندی که در مقصد انجام می گیرد ، به بر نامه های راه اندلز شبکه آن اطلاع می دهد که خواهان دریافت دیاگرام های معین شده برای یک آدرس Multicast  معین  است. این برنامه راه انداز دریافت بسته ها را برای این آدرس ممکن می سازد.

در مقایسه با ارسال ترافیک IP Unicast استاندارد ، نگاشت میان IP آدرس Multicast  مقصد و آدرس     data-link توسط ARP انجام نمی شود. در عوض یک نگاشت ایستا تعریف شده است. در یک شبکه اترنت ، اگر ترتیب هشتایی بالای آدرس data-link ، 0X'01' باشد ، Multicasting را پشتیبانی می کند. IANA ، محدوده 0X'01005E000000'   تا  0X'01005E7FFFFF را برای آدرس های Multicast رزرو کرد ه است. این محدوده ، 23 بیت قابل استفاده را فراهم می کند. IP  آدرس Multicast  ، 32 بیتی توسط قرار دادن 23 بیت پایینی آدرس کلاس D درون 23 بیت پایینی بلوک آدرس رزرو شده IANA به یک آدرس اترنت نگاشته می شود. شکل 1-6 نگاشت IP آدرس Multicast  را به آدرس IP متناظرش نشان می دهد.



بخاطر اینکه 5 بیت بالایی از گروه Multicast ، IP نادیده گرفته شده است ، 32 گروه Multicast  مختلف به آدرس اترنت یکسانی نگاشته شده اند. بدلیل یکتا نبودن این نگاشت ، فیلتر کردن توسط یک برنامه راه انداز نیاز است.این کار بوسیله چک کردن آدرس مقصد قرار گرفته در سرآیند IP قبل از ارسال بسته به لایه IP  انجام      می شود . این کار تضمین می کند که فرآیند دریافت ، دیتاگرام های نادرستی را دریافت نمی کند. در این جا دو دلیل اضافی برای اینکه چرا فیلتر کردن ممکن است مورد نیاز باشد ، وجود دارد :

  • بعضی از مبدل های شبکه ( سازگار کنندگان شبکه )به تعداد محدودی از آدرس های Multicast مختلف محدود می شوند. و هنگامی که از این محدوده تجاوز کند ، آن ها تمام بسته های Multicast را دریافت می کنند.
  • فیلتر ها در بعضی از مبدل های شبکه به استفاده از مقادیر جدول hash برای یک آدرس Multicast  درست می پردازند . اگر دو آدرس با مقدار hash یکسان در یک زمان مورد استفاده قرار گیرند ، این فیلتر ممکن است بسته های اضافی را عبور دهد.

به وجود این نیازمندی ها برای فیلتر کردن نرم افزاری ، نقل و انتقالات Multicast هنوز باعث کم شدن عدم ظرفیت برای میزبان هایی می شود که در یک نشست خاص شرکت ندارند. بویژه ، میزبان هایی که در یک گروه میزبانی شرکت ندارند ، برای آدرس Multicast پذیرفته نمی شوند. در این وضعیت ، بسته های Multicast  بوسیله سخت افزار واسط شبکه لایه پایین فیلتر می شوند.


2-1 : Multicasting بین قسمت های مختلف شبکه
ترافیک Multicast به یک شبکه فیزیکی واحد محدود نمی شود. بهر حال ، هنگام Multicasting  بین شبکه ها ، خطرات مهمی وجود دارند. اگر محیطی حاوی چندین روتر باشد ، اقدامات محتاطانه خاصی برای تضمین اینکه بسته های Multicast بطور دائمی در حلقه شبکه قرار نمی گیرند ، باید انجام شود. ایجاد یک حلقه مسیریابی Multicast آسان و ساده است. و برای مدیریت آن ، پروتکل های مسیریابی Multicast به منظور تحویل بسته ها زمانی که به طور همزمان از حلقه های مسیریابی و نقل و انتقالات اضافی اجتناب می کند ، توسعه یافته اند.

دو نیازمندی برای ارسال داده ها بصورت Multicast از میان شبکه های چندگانه وجود دارد :

  1. تعین شرکت کنندگان (اعضا) Multicast : مکانیزمی برای تعیین اینکه ، آیا یک دیتاگرام Multicast  نیاز دارد که بر روی یک شبکه خاص ارسال گردد یا نه . این مکانیزم در RFC  3376 ، پروتکل مدیریت گروهی اینترنت (IGMP) نسخه 3 ، تعریف شده است.
  2. تعیین حوزه Multicast : مکانیزمی برای تعیین حوزه یک انتقال. بر خلاف آدرس های Unicast ، آدرس های Multicast می توانند در تمام اینترنت گسترش یابند.

فیلد TTL در دیتاگرام Multicast میتواند به منظور تعیین حوزه یک انتقال مورد استفاده قرار کیرد. مانند سایر دیتاگرام ها ،‌ هر دیتاگرام Multicast دارای یک فیلد TTL می باشد. (TTL=Time To Live )مقدار قرار گرفته در این فیلد در هر hop کاهش می یابد. وقتی که یک میزبان یا روتر Multicast ، دیتاگرامی را دریافت    می کند ،‌ پردازش بسته به هر دو مقدار TTL و IP آدرس مقصد بستگی دارد :

  • TTL=0  : دیتاگرام دریافتی با مقدار TTL صفر به میزبان مبدا محدود می شود.
  • TTL=1 : دیتاگرام دریافتی با مقدار یک به تمام میزبان های زیر شبکه ای که عضو این گروه هستند ، می رسد. روترهای Multicast این مقدار را به صفر کاهش می دهند. بهر حال ، بر خلاف دیتاگرام های Unicast ، هیچ پیام خطای ICMP Time Exceeded به میزبان مبدا برگردانده نمی شود. انقضای دیتاگرام یک رویداد استاندارد در محیط های Multicast می باشد.
  • TTL=2 (یا بیشتر ): دیتاگرام Multicast ای با این مقدار TTL به تمام میزبان های این زیر شبکه که عضو این گروه هستند ، می رسد.

این عمل انجام شده بوسیله روتر های Multicast به آدرس ویژه گروه بستگی دارد:

  • 224.0.0.0 - 224.0.0.255 : این محدوده از آدرس ها برای application  های Multicast تک hop ای معنی دار می باشد. روتر های Multicast دیتاگرام هایی را که آدرس های مقصدشان در این محدوده قرار دارند را ارسال نخواهند کرد.


با وجود اینکه روتر های Multicast دیتاگرام هایی با این رنج آدرس را ارسال نخواهند کرد، یک میزبان باید عضویت در یک گروه را مطابق با این رنج گزارش کند. این گزارش ، برای اطلاع سایر میزبان ها ی زیر شبکه از اینکه ، میزبان گزارش دهنده یک عضو از این گروه می باشد ، مورد استفاده قرار می گیرد.

  • سایرین : دیتاگرام هایی با سایر آدرس های مقصد معتبر کلاس D ، بصورت نرمال بوسیله روتر Multicast ارسال می گردند. مقدار TTL در هر hop یکی کم می شود.

این به یک میزبان اجازه می دهد تا یک expanding ring search را برای قرار دادن نزدیک ترین سرور که به یک آدرس Multicast خاص گوش می دهد ، پیاده سازی نماید. این میزبان دیتاگرامی با مقدار TTL یک را در زیر شبکه ای یکسان ارسال می کند و منتظر پاسخ می ماند. اگر هیچ پاسخی دریافت نشود ، این میزبان دیتاگرامی با این مقدار TTL را دوباره ارسال  می کند و اگر باز هم هیچ پاسخی دریافت نشد ،‌ میزبان بطور سیستماتیک افزایش مقدار TTL را تا زمانی که نزدیک ترین سرور پیدا شود ،‌ادامه می دهد .