سرویس Multi Protocol Label Switching (MPLS)

MPLS یک پروتکل انتقال است که از مکانیزم لیبل زدن برای ارسال بسته ها استفاده میکند.

به طور کلی اگر بخواهیم عملکرد MPLS را شرح دهیم عمل سوئیچینگ را با استفاده از مکانیزم لیبل گذاری در بستر مسیریابی انجام می دهد. یعنی یک بسته در هنگام ورود به شبکه MPLS براساس آدرس IP مقصد برچسب گذاری می شود و در طول مسیر در لایه دوم و براساس این لیبل هدایت می شود تا به مقصد برسد.

MPLS  در یک لایه خاص از OSI قرار نمی گیرد و عملکرد آن بین لایه دوم (Data link) و لایه سوم (Network) قرار می گیرد به همین خاطر آن را به عنوان یک پروتکل لایه2.5  معرفی میکنند.

در شبکه MPLS، میزبان ها به عنوان مبدا و مقصد نباید بسته های دارای لیبل را ارسال و دریافت کنند بنابراین در میانه راه مسیریاب هایی وجود دارند که لیبل را به بسته اضافه (Push) و یا از بسته حذف (Pop) و بسته را بر اساس لیبل ارسال میکنند.

لیبل های MPLS بین مسیریاب ها پخش می شوند و مسیریاب ها با استفاده از این لیبل ها می توانند یک نقشه از لیبل های شبکه را بدست آورند. این لیبل ها به بسته های IP متصل می شوند و مسیریاب را قادر می سازد که با استفاده از این لیبل ها، بدون در نظر گرفتن آدرس IP اقدام به ارسال بسته ها کنند.

در MPLS بسته ها به وسیله Label switching بجای IP switching  ارسال می شوند.

در شبکه MPLS مسیریاب LSR همان مسیریابی است که از MPLS پشتیبانی می کند و میتواند یکی از 3 نقش زیر را داشته باشند :

  • Ingress LSR : این نوع LSR، بسته هایی که دارای لیبل نیستند را دریافت می کنند و به آنها لیبل می زنند و آنها را در شبکه MPLS ارسال می کنند. این مسیریاب ها در لبه شبکه MPLS قرار دارند.
  • Egress LSR : این نوع LSR، بسته هایی که دارای لیبل هستند را از شبکه MPLS دریافت می کنند و سپس آنها را ارسال می کنند. این مسیریاب ها نیز در لبه شبکه MPLS قرار دارند.
  • Intermediate LSR: این نوع LSR ، بسته های لیبل زده شده را دریافت می کند عملیاتی مانند تغییر لیبل را روی آن انجام می دهد سپس آن را ارسال می کند. این نوع LSR ، مسیریاب های میانی شبکه MPLS می باشند.

نکته : روترهای Ingress LSR و Egress LSR به عنوان Edge LSR شناخته می شوند.

LSR ها باید بتوانند سه عمل زیر را انجام دهند:

  • Pop : حذف لیبل از بسته را pop گویند.
  • Push : اضافه کردن لیبل به بسته را push گویند.
  • Swap : جایگزینی لیبل جدید با لیبل قبلی را swap گویند.

 

Label Switched Path  یا LSP مسیری است متشکل از LSR ها که بسته لیبل زده را از میان شبکه MPLS عبور می دهند.

Host A یک بسته بدون لیبل را به Host B ارسال میکند.

مسیریاب CE1 بسته بدون لیبل را بر اساس آدرس IP مقصد ارسال میکند. این مسیریاب هیچگونه تنظیمات MPLS ندارد.

مسیریاب PE1 بعنوان Ingress LSR بسته بدون لیبل را دریافت کرده، Label 22 را به آن Push کرده و بسته دارای Label 22 را ارسال میکند.

مسیریاب P1 بسته دارای Label 22 را دریافت، Label 39 را با آن Swap و بعد ارسال میکند.

مسیریاب PE2، بسته دارای Label 39 را دریافت، Label را Pop کرده و بسته را بدون لیبل به مسیریاب CE2 تحویل میدهد.

مسیریاب CE2 بسته بدون لیبل را دریافت کرده و به مقصد Host B ارسال میکند.

 

MPLS دو جدول را به نامهای LIB Table و LFIB Table در خود نگهداری میکند. یک LSR در LIB Table تمام لیبل های موجود در شبکه شامل Local Label و Remote Label (لیبل مسیریاب های همسایه) را نگهداری میکند.

بخشی از یک LIB Table

از جدول LFIB برای لیبل زدن بسته و ارسال آن استفاده میشود. این جدول با لیبل های ورودی و خروجی سروکار دارد. با استفاده از این جدول، لیبل موجود در بسته ورودی با لیبل های موجود در جدول LFIB مقایسه شده و براساس مسیر مناسب ارسال میشود.

بخشی از یک LFIB Table

پروتکل Label Distribution Protocol (LDP) وظیفه پخش لیبل ها میان  LSRها را بر عهده دارد. برای هر شبکه IGP  که در جدول مسیریابی وجود دارد هر LSR برای آن به صورت local یک لیبل در نظر می گیرد. سپس LSR  این لیبل ها را برای همسایه های خود ارسال می کند. سپس روتر همسایه که این لیبل ها را دریافت کرده است لیبل های local  و remote را در جدول LIB  نگهداری می کند.

این فرایند توسط LDP انجام میشود.

 

مسیریاب های MPLS در وهله اول باید یکی از پروتکل­های مسیریابی را راه اندازی کنند و جداول مسیریابی خود را تشکیل دهند. سپس پروتکل MPLS با استفاده از پروتکل مسیریابی مورد استفاده و پروتکل LDP، جدول LIB را با توجه به جداول مسیریابی و LFIB تشکیل دهد.

 

پروتکل MPLS را میتوان به دو روش ایستا و پویا راه اندازی کرد.

برای راه اندازی پروتکل به روش پویا، در سطح پیکربندی سراسری دستور زیر را وارد میکنیم :

برای لغو آن از فرمت no دستور استفاده میکنیم.

برای راه اندازی پروتکل به روش ایستا، در سطح پیکربندی سراسری دستور زیر را وارد میکنیم.

در این دستور، destinationprefix  شبکه ایست که میخواهیم به آن لیبل بزنیم.  prefixmask در واقع subnetmask شبکه مورد نظر است.

برای لیبل میتوان عددی در بازه 16-1048575 انتخاب نمود.

برای لغو آن از فرمت no دستور استفاده میکنیم.

در مرحله دوم  وارد سطح پیکربندی اینترفیس هایی که میخواهیم بر روی آن MPLS داشته باشیم شده و دستور زیر را وارد میکنیم.

برای لغو آن از فرمت no دستور استفاده میکنیم.