زمانی که مشتری بخواهد از سرویس های لایه ۳ فراهم کننده ی سرویس استفاده کند، فراهم کننده ی سرویس باید مسیرهای مشتری را دریافت کرده و آنها را در شبکه خود تبلیغ کند. مشکل این سناریو اینست که بسیاری از شرکت ها و سازمان ها از فضای آدرس های IP مشابه استفاده میکنند که باعث ایجاد همپوشانی آدرس های IP میشود.
از MP-BGP برای حل این مشکل استفاده میشود.
در شبکه های MPLS ، وقتی مسیریاب PE مسیرها را از مسیریاب CE یاد گرفت ، نیاز دارد که به دیگر PE ها آنها را ارسال کند. BGP با ویژگی های عملیاتی اصلی خودش نمی تواند چندین مشترک را با یک بازه IP یکسان سرویس دهد. اگر Prefix Y در شبکه مشتری A و B یکسان باشد مسیریاب PE قادر به تشخیص اینکه این Prefix متعلق به کدام مشتری است نمیباشد و یا ممکن است ترافیک مربوط به میزبان های موجود در شبکه مشتری A به شبکه مشتری B ارسال شود. در نتیجه از MP-BGP برای متمایز کردن ترافیک مشتری ها از یکدیگر استفاده میشود.
اجزای اصلی MPLS L3 VPN:
۱- جداسازی ترافیک مسیریابی مشتری ها
۲- ارسال ترافیک در شبکه فراهم کننده ی سرویس
VRF:
Vitual Routing and Forwarding یکی از مفاهیم بسیار مهم و پرکاربرد در بحث MP-BGP است. در واقع VRF یک جدول مسیریابی میباشد که با استفاده از آن میتوان مسیرها را از یکدیگر جدا کرد.
یک شبکه میتواند چندین VRF داشته باشد. همچنین یک شبکه میتواند چندین بازه ی IP مشابه داشته باشد و آنها را توسط VRF از یکدیگر جدا کند تا همپوشانی به وجود نیاید.
مسیریاب PE حداقل یک لینک متصل به شبکه مشتری دارد. این مسیریاب مسیرهای شبکه مشتری را از طریق Static Route، OSPF، EIGRP و … دریافت کرده و آنها در VRF مخصوص آن مشتری قرار میدهد و از طریق iBGP به مسیریاب PE دیگر ارسال میکند.
نام VRFهای یک مشتری در دو طرف میتواند یکسان نباشد.
در VRF از پارامترهایی مانند Route Distinguisher یا RD و Route Target یا RT استفاده میشود.
مفهوم RD:
MP-BGP برای تبلبغ کردن مسیرها از iBGP استفاده میکند. خود BGP قابلیتی برای جلوگیری از همپوشانی شبکه های مشتری ها ندارد. این مشکل با اضافه کردن یک عدد در جلوی Prefix یا NLRI شبکه مشتری حل میشود. هر عدد نشان دهنده یک مشتری متفاوت است که باعث منحصربه فرد شدن NLRI موجود در BGP میشود.
برای ایجاد تمایز بین آدرسهایی که با هم همپوشانی دارند از مفهوم RD یا Route Distinguisher استفاده میشود. تلفیق IPv4 prefix و RD یک VPNv4 prefix است که توسط MP-BGP بین Tunnel ها جابجا میشود.
RD اجازه میدهد که BGP بتواند چندین IPv4 Prefix را تبلیغ کند. در این صورت هر Prefix یا NLRI را به عنوان همان IPv4 Prefix قدیمی تبلیغ میکند اما یک RD را که یک مشخصه منحصر به فرد برای هر مسیر است ، اضافه میکند.
بطور خاص فرمت جدید NLRI که VPN-v4 نامیده میشود ، از دو قسمت زیر تشکیل شده است :
1. RD (64 bit)
2. IP Prefix (32 bir)
همچنین RD به سه صورت نوشته میشود :
2 byte-integer : 4 byte-integer
4 byte-integer : 2 byte-integer
4 byte-dotted decimal : 2 byte-integer
در همه این موارد توضیح داده شده ، مقدار اول (یعنی قبل از “:” باید شماره AS باشد و یا یک آدرس IP
مقدار دوم ، بعد از “:” ، میتواند هر مقدار دلخواهی باشد.
به عنوان مثال وقتی از نمونه سوم استفاده میشود :3.3.3.3:100
و یا اگر از AS استفاده شود : 423:1
مفهوم RT:
Route Target یا RT مشخص کننده VRF است. مسیریاب PE مقدار RT را در بسته های BGP Update و در قالب BGP Extended Community Path Attribute ارسال میکند. سایز این صفت، ۸ بایت است. نحوه مقداردهی RT نیز مانند RD است. MPLS با استفاده از RT تعیین میکند هر مسیری که از iBGP دریافت کرده است متعلق به کدام VRF میباشد.
خود RT دارای ۲ پارامتر export و import میباشد. export یعنی توزیع از VRF در BGP و import به معنی توزیع از BGP در VRF میباشد. import در یک طرف باید با export طرف دیگر شبکه (روی مسیریاب PE دیگر) یکسان باشد و بالعکس.
ارسال ترافیک در شبکه فراهم کنندهی سرویس:
نحوه پیکربندی
- یک IGP ( پروتکل مسیریابی) مانند ISIS و یا OSPF بین مسیریاب های PE و P راه اندازی میکنیم.
- پروتکل MPLS را روی تمام مسیریاب های PE و P فعال میکنیم.
- در مسیریاب ها PE، تعریف VRF و پارامترهای RD و RT را انجام میدهیم.
- همسایگی بین مسیریاب های PE و CE را از طریق BGP، IGP و یا Static Route برقرار میکنیم.
- ارتباط بین PE ها رو از طریق(MP-BGP) برقرار میکنیم.
- بین مسیریاب های PE و P پروتکل OSPF را پیکربندی و سرویس MPLS را راه اندازی میکنیم.