MPLS و پیکربندی آن در روترهای سیسکو

mpls

MPLS

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

Multi-Protocol Label Switched پروتکلی است که به وسیله آن مسیریابی بسته‌ها بر اساس Labelها صورت می‌گیرد. اگر در شبکه‌ای MPLS فعال شده باشد، روترها مسیریابی را بر اساس آدرسهای IP انجام نمی‌دهند! بلکه این کار با نگاه کردن آنها به یک سری label صورت می‌گرد. این labelها 32 بیتی بوده و بین هدر لایه 2 و 3 قرار می‌گیرند. به همین دلیل است که گاهی به MPLS یک پروتکل لایه 2.5 گفته می‌شود.

mpls label

البته با گذشت زمان و ابداع روشهای جدید برای مسیریابی بسته‌ها (روشهایی مانند Cisco Express Forwarding) استفاده از MPLS صرفا برای افزایش سرعت مسیریابی بی معنی گردید. اما آنچه باعث شد MPLS یک پروتکل محبوب سرویس دهندگان باقی بماند سرویسهایی است که ارائه می‌دهد. سرویسهایی مانند:

1- MPLS L3VPN 

2- MPLS L2VPN یا همان Any Transfer over MPLS که به AToM معروف است

3- Traffic Engineering

پیکربندی MPLS در روترهای سیسکو

قبل از فعال کردن MPLS باید مطمئن بود که مسیریابی بر اساس آدرس IP یا همان IP routing در شبکه به درستی صورت می‌گیرد. چه این مسیریابی بر اساس مسیرهای دریافتی از یک پروتکل IGP مانند OSPF باشد و یا مسیریابی static انجام شده باشد.

برای فعال کردن MPLS در یک مسیریاب سیسکو باید کارهای زیر را انجام داد:

1- مشخص کردن محدوده labelها برای هر مسیریاب (اختیاری)

2- فعال کردن MPLS در روتر به صورت کلی

3- فعال کردن MPLS در اینترفیسهای لازم

تصور کنید که می‌خواهیم در شبکه‌ای مانند شکل زیر MPLS را فعال کنیم.

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

هر روتر دارای یک اینترفیس loopback است که بر روی آن آدرس IP متناظر شماره روتر قرار گرفته است. مثلا بر روی روتر R1 آدرس 1.1.1.1 قرار گرفته است.

mpls topology

بررسی صحت IP routing

ابتدا از درستی عملکرد IP routing مطمئن می‌شویم. در هر مسیریاب یک اینترفیس loopback در نظر گرفته شده است. این اینترفیس در R1 آدرس 1.1.1.1 در R2 آدرس 2.2.2.2 و … را دارد.

R1-PE#show ip route
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route, + - replicated route

Gateway of last resort is not set

      1.0.0.0/32 is subnetted, 1 subnets
C        1.1.1.1 is directly connected, Loopback0
      2.0.0.0/32 is subnetted, 1 subnets
O        2.2.2.2 [110/2] via 10.12.0.2, 00:12:34, FastEthernet0/0
      3.0.0.0/32 is subnetted, 1 subnets
O        3.3.3.3 [110/3] via 10.12.0.2, 00:12:24, FastEthernet0/0
      4.0.0.0/32 is subnetted, 1 subnets
O        4.4.4.4 [110/4] via 10.12.0.2, 00:12:24, FastEthernet0/0
      5.0.0.0/32 is subnetted, 1 subnets
O        5.5.5.5 [110/5] via 10.12.0.2, 00:12:24, FastEthernet0/0
      10.0.0.0/8 is variably subnetted, 5 subnets, 2 masks
C        10.12.0.0/24 is directly connected, FastEthernet0/0
L        10.12.0.1/32 is directly connected, FastEthernet0/0
O        10.23.0.0/24 [110/2] via 10.12.0.2, 00:12:35, FastEthernet0/0
O        10.34.0.0/24 [110/3] via 10.12.0.2, 00:12:25, FastEthernet0/0
O        10.45.0.0/24 [110/4] via 10.12.0.2, 00:12:25, FastEthernet0/0

از روی روتر R1-PE آدرس 5.5.5.5 که بر روی روتر R5-PE قرار دارد را پینگ می‌کنیم تا از درستی ارتباط کاملا مطمئن شویم.

R1-PE#ping 5.5.5.5 source 1.1.1.1

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 5.5.5.5, timeout is 2 seconds:
Packet sent with a source address of 1.1.1.1
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 48/64/88 ms

پیکربندی MPLS

برای فعال کردن MPLS در روتر R1-PE (اولین مسیریاب از سمت چپ) به صورت زیر عمل می‌کنیم:

mpls label range 100 199

mpls label

interface FastEthernet0/0
 mpls ip

برای سایر روترها نیز مشابه بالا عمل می‌کنیم.

بررسی صحت عملکرد MPLS

در صورتی که همه چیز به درستی پیکربندی شده باشد هر یک از روترها به ازای هر روت در جدول مسیریابی خود یک label ایجاد می‌کند. سپس روترها این labelها را از طریق پروتل LDP با یکدگیر به اشتراک می‌گذارند تا روترهای همسایه از labelهای یکدیگر نیز آگاهی پیدا کنند.

برای مشاهده labelهایی که یک روتر برای روتهای مختلف ایجاد کرده و همچنین labelهایی که همسایه‌های آن ایجاد کرده اند می‌توان به صورت زیر عمل کرد.

R1-PE#show mpls ldp bindings
  lib entry: 1.1.1.1/32, rev 5
        local binding:  label: imp-null
        remote binding: lsr: 2.2.2.2:0, label: 202
  lib entry: 2.2.2.2/32, rev 7
        local binding:  label: 101
        remote binding: lsr: 2.2.2.2:0, label: imp-null
  lib entry: 3.3.3.3/32, rev 16
        local binding:  label: 105
        remote binding: lsr: 2.2.2.2:0, label: 201
  lib entry: 4.4.4.4/32, rev 15
        local binding:  label: 104
        remote binding: lsr: 2.2.2.2:0, label: 205
  lib entry: 5.5.5.5/32, rev 13
        local binding:  label: 103
        remote binding: lsr: 2.2.2.2:0, label: 204
  lib entry: 10.12.0.0/24, rev 4
        local binding:  label: imp-null
        remote binding: lsr: 2.2.2.2:0, label: imp-null
  lib entry: 10.23.0.0/24, rev 9
        local binding:  label: 102
        remote binding: lsr: 2.2.2.2:0, label: imp-null
  lib entry: 10.34.0.0/24, rev 19
        local binding:  label: 107
        remote binding: lsr: 2.2.2.2:0, label: 203
  lib entry: 10.45.0.0/24, rev 18
        local binding:  label: 106
        remote binding: lsr: 2.2.2.2:0, label: 206

با گرفتن تریس در شبکه‌ای که بر روی آن MPLS فعال شده است می‌توان labelهای مورد استفاده در هر گام را مشاهده کرد.

R1-PE#traceroute 5.5.5.5 source 1.1.1.1

Type escape sequence to abort.
Tracing the route to 5.5.5.5

  1 10.12.0.2 [MPLS: Label 204 Exp 0] 52 msec 12 msec 68 msec
  2 10.23.0.3 [MPLS: Label 306 Exp 0] 44 msec 16 msec 68 msec
  3 10.34.0.4 [MPLS: Label 401 Exp 0] 12 msec 28 msec 32 msec
  4 10.45.0.5 64 msec 40 msec 44 msec

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

نشانی ایمیل شما منتشر نخواهد شد.