آشنایی با Multicast در شبکه

· Broadcast بسته ای که از یک فرستنده به همه ارسال (منتشر) میشود. این نوع بسته ها، توسط روتر به بخشهای دیگر شبکه منتقل نمیگردد مگر آنکه بدلیل خاصی آنرا برای این کار تنظیم کنیم. نظیر درخواستهای DHCP

· Multicast بسته ای که از یک فرستنده به سمت یک گروه از گیرندگان ارسال میشود.

Ethernet و FDDI ارسال Unicast، Multicast و Broadcast را پشتیبانی کردند و Token Ring نیز توسط Functional Address این مزیت را پیاده سازی کرد. اگر کاربرد برای یک LAN باشد، استفاده از L2 Multicast (لایه دو) در شبکه LAN کافی بنظر میرسد، اما در جاییکه پراکندگی بین گیرنده ها در سطح چندین شبکه یا VLAN باشد، باید از Multicast Routing استفاده کنیم. هرچند که برای پیاده سازی Multicast درون یک شبکه لایه دو نیاز به برخی از Feature های لایه سه نظیم IGMP Querierداریم.

رفتار روتر با Multicast مشابه Broadcast است. روتر Multicast را در ورودی Interface و بین شبکه ها فیلتر میکند (بصورت پیش فرض).

گیرندگان Multicast میتوانند در سطح شبکه پراکنده باشند. اگر نیاز به ارتباط با بیرون باشد، باید Multicast Routing تنظیم گردد.

برای Route کردن ترافیک Multicast باید از Multicast Routing Protocol استفاده کنیم. پروتکل هایی نظیر DVMRP، MOSPF، PIM-SM و یا PIM-DM.

آدرس های Multicast بصورت Class D و همیشه با ۱۱۱۰ شروع می شوند. صرف نظر از ۴ بیت اولیه که همیشه یکسان است، ۲۸ بیت باقیمانده آدرس گروه را تشکیل میدهند (از ۲۲۴٫۰٫۰٫۰ تا ۲۳۹٫۲۵۵٫۲۵۵٫۲۵۵) هر گروه نیازمند یک آدرس است. توجه داشته باشید که آدرس تنها به گروه اشاره میکند و بصورت Destination Address ظاهر میشود نه Source Address.

برای Map کردن این آدرس لایه سه (IP) به لایه دو (Data-Link)، از ARP نمیتوان استفاده کرد. اما روش آدرس دهی وجود دارد که بصورت خودکار براساس آدرس لایه ۳ میتوان آدرس لایه ۲ را بدست آورد. آدرسهای MAC با ۰۱۰۰٫۵E شروع میشوند و برای این کار رزرو شدند. از ۲۸ بیت IP گروه، ۲۳ بیت به باقی OUI اضافه میگردد و فرم آدرس لایه دو را به ازای آدرس لایه سه بخود اختصاص میدهد. (آدرس لایه دو ۴۸ بیتی است)

ترافیک Multicast

گیرنده یک Multicast گروهی از Host ها هستند که در گروه Join شده و شروع به دریافت اطلاعات میکنند. به این گروه Multicast Group میگوییم. اعضا برای پاسخ یا درخواست از فرستنده، از Unicast استفاده میکنند. Multicast بصورت Connectionless و Best-Effort ارسال شده و از UDP استفاده میکند.

آدرس Multicast

کلاس D برای آدرس دهی Multicast در نظر گرفته شده است:

غیرقابل Route   

۲۲۴٫۰٫۰٫۲۵۵    

۲۲۴٫۰٫۰٫۰        

Link-Local address

قابل Route        

۲۳۸٫۲۵۵٫۲۵۵٫۲۵۵        

۲۲۴٫۰٫۱٫۰        

Globally Scoped address 

خصوصی درون شبکه       

۲۳۹٫۲۵۵٫۲۵۵٫۲۵۵        

۲۳۹٫۰٫۰٫۰        

Administratively Scope address

 

CLASS D       

۲۳۹٫۲۵۵٫۲۵۵٫۲۵۵        

۲۲۴٫۰٫۰٫۰        

Complete Multicast address 

ردیف اول جدول بالا، به آدرس های Multicast که توسط Routing Protocol ها و تنها درون Broadcast Domain ارسال میشود، اشاره میکند. مثل آدرس All-Hosts که ۲۲۴٫۰٫۰٫۱ است یا آدرس All-Routers که ۲۲۴٫۰٫۰٫۲ است. این رنج (۲۲۴٫۰٫۰٫۰) تحت عنوان Fixed-group addresses تعریف شده اند. 

ردیف دوم جدول بنام آدرس های جهانی Multicast بین شبکه ها استفاده میشود. نه Local است نه Private. ردیف سوم به آدرس های Private اشاره میکند که بصورت درون شبکه ای، قابل استفاده بوده و نباید به بیرون Route شوند. ردیف آخر جدول، به کل آدرس های Multicast که در برگیرنده ردیف های بالاتر میباشد، بعنوان Class D اشاره میکند. 

برای Multicasting در شبکه، گیرنده باید عضو Multicast Group شود – این کار توسط پروتکل IGMP صورت می گیرد. این پروتکل سه نسخه دارد، IGMPv3 نسخه جدیدتر IGMP است که بدلیل کفایت عملکرد IGMPv2 و عدم نیاز به خصوصیات پیچیده تر رش 

IP Multicast 

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

     ۱٫ آدرس دهی
Multicast

دستگاه های
Multicast از IP آدرس های کلاس D  برای برقراری ارتباط استفاده می کنند. این آدرس ها در رنج  ۲۲۴٫۰٫۰٫۰ تا ۲۳۹٫۲۵۵٫۲۵۵٫۲۵۵ قرار گرفته اند. برای هر آدرس Multicast ، یک مجموعه از صفر میزبان یا بیشتر که برای بسته های انتقال یافته به این آدرس پذیرفته می شوند ، موجود است. این مجموعه از دستگاه ها یک گروه میزبان نامیده می شوند.یک میزبان که بسته ها را به یک گروه خاص می فرستد ، نیازی نیست که یک عضو از این گروه باشد. این میزبان حتی ممکن است که اعضای معمولی که در این گروه حضور دارند را نشناسد.دو نوع گروه میزبان وجود دارد:

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

۲۲۴٫۰٫۰٫۰  :  آدرس های پایه رزرو شده

۲۲۴٫۰٫۰٫۱ : تمام سیستم ها ذر این زیر شبکه

۲۲۴٫۰٫۰٫۲ : تمام روتر ها در این زیر شبکه

۲۲۴٫۰٫۰٫۹ : تمام روتر های RIP2

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

۲۲۴٫۰٫۰٫۵   : تمام روتر های OSPF

۲۲۴٫۰٫۰٫۶ : تمام روتر های تخصیص داده شده به OSPF.

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

۲۲۴٫۰٫۰٫۲۲ : روتر های  Multicast مستعد.


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

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

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

در مقایسه با ارسال ترافیک
IP Unicast استاندارد ، نگاشت میان IP آدرس Multicast  مقصد و آدرس     data-link توسط ARP انجام نمی شود. در عوض یک نگاشت ایستا تعریف شده است. در یک شبکه اترنت ، اگر ترتیب هشتایی بالای آدرس data-link ، ۰X’01‘ باشد ، Multicasting را پشتیبانی می کند. IANA ، محدوده ۰X’01005E000000‘   تا  ۰X’01005E7FFFFF را برای آدرس های Multicast رزرو کرد ه است. این محدوده ، ۲۳ بیت قابل استفاده را فراهم می کند. IP  آدرس Multicast  ، ۳۲ بیتی توسط قرار دادن ۲۳ بیت پایینی آدرس کلاس D درون ۲۳ بیت پایینی بلوک آدرس رزرو شده IANA به یک آدرس اترنت نگاشته می شود. شکل ۱-۶ نگاشت IP آدرس Multicast  را به آدرس IP متناظرش نشان می دهد.
 



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

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

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

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


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

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

تعین شرکت کنندگان (اعضا) Multicast : مکانیزمی برای تعیین اینکه ، آیا یک دیتاگرام Multicast  نیاز دارد که بر روی یک شبکه خاص ارسال گردد یا نه . این مکانیزم در RFC  ۳۳۷۶ ، پروتکل مدیریت گروهی اینترنت (IGMP) نسخه ۳ ، تعریف شده است.

تعیین حوزه 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 به آدرس ویژه گروه بستگی دارد:

۲۲۴٫۰٫۰٫۰ – ۲۲۴٫۰٫۰٫۲۵۵ : این محدوده از آدرس ها برای application  های Multicast تک hop ای معنی دار می باشد. روتر های Multicast دیتاگرام هایی را که آدرس های مقصدشان در این محدوده قرار دارند را ارسال نخواهند کرد.


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

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

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

   

 

دیدگاه‌تان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *