در بخش اول از سری مقالات بررسی Multicast Forwarding و Reverse path Forwarding، علاوه بر معرفی نشانهگذاریهای مورد استفاده در جداول Multicast Routing، شرحی از انواع درختها برای توزیع Multicast، یعنی «درخت مبدأ» و «درخت مشترک» ارائه گردید و در بخش دوم به مزایا و معایب این دو نوع درخت و شرح فرایند انتقال از درخت مشترک به درخت مبدأ پرداخته شد. در این بخش Reverse Path Forwarding یا به اختصار RPF که در بخش دوم به آن اشاره شده بود به تفصیل مورد بررسی قرار میگیرد.
در Multicast Forwarding، مبدأ، ترافیک را به گروه دلخواهی از Hostها میفرستد که یک آدرس گروه Multicast نشانگر آنها است. روتر Multicast باید تعیین نماید که Upstream به کدام جهت است و جهت (یا جهتهای) Downstream که به سمت دریافتکنندگان قرار دارند، چه جهتهایی هستند. اگر چندین مسیر Downstream وجود داشته باشد، روتر Packet را همسانسازی کرده و آن را در مسیرهای Downstream مناسب Forward مینماید، تمام مسیرها لزوماً مناسب نیستند. Forward کردن ترافیک Multicast به صورتی که از مبدأ دور شود، به جای اینکه به سمت دریافتکننده برود، Reverse Path Forwarding نام دارد.
Reverse Path Forwarding
Reverse Path Forwarding یا به اختصار RPF الگوریتمی است برای Forward کردن دیتاگرامهای Multicast و همانگونه که اشاره شد، RPF عبارت است از Forward نمودن ترافیک Multicast به صورتیکه به جای اینکه به سمت دریافتکننده برود، از مبدا دور شود.
Protocol Independent Multicast یا به اختصار PIM از اطلاعات مسیریابی Unicast استفاده میکند تا یک درخت توزیع روی مسیر Reverse از دریافتکنندهها به سمت مبدا ایجاد نماید. سپس Routerهای Multicast، Packetهایی را روی درخت توزیع، از مبدا به سوی دریافتکنندگان Forward میکنند. RPF مفهومی کلیدی در Multicast Forwarding میباشد و به Routerها این توانایی را میدهد که به طور صحیح ترافیک Multicast را در درخت توزیع Forward نمایند. RPF برای تعیین همسایههای Upstream و Downstream، از جدول مسیریابی Unicast موجود استفاده میکند. یک Router تنها در صورتی یکMulticast Packet را Forward میکند که روی رابط کاربری Upstream دریافت شده باشد. بررسی RPF به حصول اطمینان از اینکه درخت توزیع بدون Loop باشد، کمک مینماید.
بررسی RPF
زمانی که یک Multicast Packet به یک روتر میرسد، Router یک بازرسی RPF را روی Packet انجام میدهد. درصورتی که بازرسی RPF موفقیتآمیز باشد، Packet مورد نظر Forward میگردد. درغیر این صورت Packet مربوطه، Drop میشود.
فرایند بازرسی RPF برای ترافیکی که در یک درخت مبدا جریان دارد، به صورت زیر میباشد:
- روتر، آدرس مبدا را در جدول مسیریابی Unicast پیدا میکند تا تعیین کند که آیا Packet به اینترفیسی که روی مسیر Reverse رو به مبدا است رسیده است یا خیر.
- اگر Packet به اینترفیسی که به مبدا منتهی میشود رسیده باشد، بازرسی RPF با موفقیت به اتمام میرسد و Packet به خارج از اینترفیسهای حاضر در فهرست اینترفیسهای خروجی یک مدخل از جدول مسیریابی Multicast، Forward میگردد.
- درصورتی که بازرسی RPF در مرحلهی 2 ناموفق باشد، پکت Drop میشود.
شکل زیر مثالی از یک بررسی RPF ناموفق را نشان میدهد.
همانطور که در شکل نمایش داده شده است، یک Multicast Packet از مبدا (151.10.3.21 در Serial Interface 0 (S0 دریافت میگردد. بررسی یک جدول Unicast Route نشان میدهد که S1 اینترفیسی است که این Router برای Forward کردن دادهی Unicast به 151.10.3.21 از آن استفاده میکند. از آنجایی که Packet به اینترفیس S0 رسیده است، Drop خواهد شد.
در شکل زیر مثالی از یک بررسی RPF موفق نشان داده شده است.
در این مثال Multicast Packet به اینترفیس S1 رسیده است. روتر به جدول مسیریابی Unicast اشاره میکند و بررسی میکند که S1 اینترفیس صحیحی باشد. درصورتی که بازرسی RPF موفقیتآمیز باشد، Packet مورد نظر Forward میگردد.