شما اینجا هستید
MPLS Traffic Engineering
با گسترش روزافزون ارائه خدمات فناوری اطلاعات ، مباحث مربوط به کیفیت خدمات سرویسدهی و تضمین مقدمات لازم برای انتقال ترافیک دادههای شبکههای کامپیوتری موردتوجه قرارگرفته است. توجه ویژهی شبکههای Service Provider یی به کاهش هزینه و بالا بردن کیفیت سرویس و تضمین پهنای باند برای مشتریان خود، منجر به استفاده از سرویس MPLS TE در شبکههای SP میشود. قبل از MPLS TE ، مهندسی ترافیک داده برحسب اینکه چه پروتکلی روی روترهای مرزی شبکه SP( Provider Edge-PE) استفادهشده است، با استفاده از ATM و یا IP انجام میگرفت.
مهندسی ترافیک با استفاده از IP با دستکاری در مقدار Cost هر اینترفیس انجام میگیرد و حتی گاهی میتوان با استفاده از مسیریابی استاتیک مسیر عبور ترافیک را مشخص نمود.
شکل ۱ را در نظر بگیرید. بین دو شعبه مشتری A که روترهای مرزی(Customer Edge-CE) آن بانامهای CE1-A و CE2-A مشخصشدهاند دو مسیر وجود دارد. با فرض اینکه تمامی لینکها در شبکه نشان دادهشده در شکل ۱ دارای Cost برابر باشند آنگاه مسیر بهینه برای عبور ترافیک مشتری A از شبکه SP عبور از مسیر PE1-AS1، P1-AS1 و PE2-AS1 میباشد. همین قضیه نیز برای مشتری B صادق است. حال فرض کنید تمامی لینکها در توپولوژی شکل ۱ از تکنولوژی نوع T3 با پهنای باند ۴۴.۷۳۶ Mbps باشند، درصورتیکه مشتری A بخواهد ترافیک ۴۵Mbps و همزمان نیز مشتری B ترافیک ۱۰Mbps را به شعبه دیگر خود انتقال دهند، آنگاه چون ظرفیت لینکها کمتر از ترافیک تولیدی است و هر دو مشتری از یک مسیر برای انتقال دادههای خود استفاده میکنند، مقداری از دادههای این دو مشتری از بین میروند. در این حالت از مسیر Path 2 بهره کافی برده نمیشود. با استفاده از TE میتوان از مسیر Path 2 نیز به شکل مفیدی استفاده کرد که این کار با توجه به خصوصیات پروتکل IGP که در شبکه SP استفادهشده است بهنوعی عملیات Load balancing را انجام داد. نکته قابلتوجه در ارتباط با شبکههای SP که از تعداد زیادی روتر درون خود استفاده میکنند، بهصرفه نبودن استفاده از TE با استفاده از IP است زیرا باید بر روی تکتک روترها پیکربندیهای خاصی را انجام داد تا بتوان TE را به سرانجام رساند.
حال فرض کنید شبکه SP از بستر ATM استفاده میکند که در این صورت بین دو روتر مرزی PE1 و PE2، Permanent Virtual Circuit (PVC) پیکربندی میگردد. اما این روش باعث به وجود آمدن یک شبکه Full Mesh از PVC ها میگردد که درصورتیکه یکی از لینکها دچار خرابی شود، پیامهای بیشماری در شبکه پخش میگردد.
شکل ۱ توپولوژی شبکه سرویسدهنده و مشتری
با این توضیحات اهمیت استفاده از MPLS TE که خصوصیات مثبت شبکه IP و ATM بهطور همزمان استفاده میکند مشخص میگردد. در شبکه MPLS با برقراری تانل TE بین دو روتر مرزی بهراحتی میتوان ترافیک را از مسیر دلخواه و با در نظر گرفتن منابع موجود در شبکه هدایت نمود. قبل از اینکه نحوه برقراری تانل TE و پیکربندی آن بیان شود لازم است تا یک دید کلی از نحوه برقراری تانل TE بیان گردد.
با فرض بر اینکه شبکه SP روی بستر MPLS پیکربندیشده است برای پیکربندی تانل TE ابتدا باید مسیرهای موجود بین دونقطه مبدأ و مقصد مشخص گردد که گاهی این مسیرها دارای قیدهایی هستند که باید مدنظر قرار بگیرد. بهعنوانمثال از بین تمامی مسیرهایی که بین دونقطه موردنظر وجود دارد نیاز به مسیری است که بتواند پهنای باند ۵۰ مگابیت در ثانیه را تضمین نماید که ممکن است با در نظر گرفتن این قید تعدادی از مسیرهای موجود حذف شوند. با استفاده از پروتکل Constraint SPF این مسیرها مشخص میگردند. به عبارت بهتر نتیجه محاسباتی که پروتکل CSPF انجام میدهد یک مجموعه منظم از IP ها است که مسیرهای موجود بین دونقطه مبدأ و مقصد در شبکه MPLS را مشخص میکند که این مسیرها قیودی را که مشتریان برای گرفتن سرویس از SP وضع کردهاند را در خود جایدادهاند. بعد از عملیات CSPF از پروتکل RSVP برای بررسی منابع موجود در شبکه و سپس رزرو کردن منابع موردنیاز برای برقراری تانل TE استفاده میشود. برای درک بهتر، شبکه SP یی که در شکل ۲ نشان دادهشده است را در نظر بگیرید. هر لینک در این شبکه با دو عدد مشخصشده است که عدد اول Cost لینک و عدد دوم پهنای باند پشتیبانی شده توسط لینک را نشان میدهد.
شکل ۲. شبکه سرویسدهنده
در فرایند SPF(Shortest Path First) تنها Cost هر لینک مدنظر قرار میگیرد درنتیجه مسیر محاسبهشده در فرایند SPF مسیری عبوری از PE1-AS1 , P3-AS1 , PE2-AS1 است که کمترین Cost با مقدار برآیند ۴۰ است. اما فرض کنید که مشتری سرویسی میخواهد که بتواند ترافیک حداقل ۵۰ مگابیتی خود را از آن عبور دهد. در این صورت یک قید به محاسبه مسیر اضافه میشود. در این صورت CSPF تعدادی لینک را که قابلیت پشتیبانی از این پهنای باند را ندارند را حذف میکند. شکل ۳ نتیجه محاسبه CSPF است.
شکل ۳. نتیجه محاسبه CSPF
همانطور که دیده میشود تنها یک مسیر باقی میمانند که میتواند درخواست مشتری را برآورده نماید. حال اگر درجایی بعد از CSPF بیشتر از یک مسیر باقی بماند آن مسیری که تعداد Hop کمتری دارد انتخاب میشود و باز اگر در تعداد Hop نیز برابر باشند مسیر بهصورت تصادفی انتخاب میگردد.
بعدازاینکه محاسبه CSPF پایان یافت و مسیر با یک مجموعه منظم از IP ها مشخص شد، نیاز است تا با استفاده از پروتکلی قیود موردنظر مشتری در هر Hop رزرو شود. به عبارت بهتر مشتری A میخواهد x واحد پهنای باند در اختیار داشته باشد. از پروتکل RSVP برای بررسی و تصدیق درخواست مشتری استفاده میشود. محاسبات پروتکل RSVP که توسط روتر مرزی انجام میگیرد، یک سری پیام در طول مسیر منتشر میکند. ابتدا پیام Path توسط روتر Headend تولید میشود(روتری که مبدأ تانل است). این پیام در طول مسیر به جلو میرود و منابع شبکه را بررسی میکند. این پیام در هر Hop یا روتر بررسی میکند که آیا روتر میتواند منابع درخواستی از سمت مشتری که ممکن است x مقدار پهنای باند باشد را تأمین کند یا خیر.بهاصطلاح بهتر، پیام Path به هر روتر که میرسد از روتر میپرسد که آیا قادر هستی x مقدار پهنای باند در اختیار تانل قرار دهی یا خیر؟. پیام Path پاسخ روتر را ذخیره میکند و تا انتهای مسیر میرود و به همین صورت اطلاعات منابع موجود در شبکه را ذخیره مینمایید. روتر Tailend (روتری که مقصد تانل را مشخص میکند)در پاسخ به پیام Path پیام Reservation را در جهت ابتدای مسیر (تانل)یا همان روتر headend تولید میکند. این پیام عملیات تصدیق را انجام میدهد. بهاصطلاح بهتر به روترهایی که گفتهاند ما میتوانیم منابع درخواستی را در اختیار تانل قرار دهیم، میگوید شما برای تشکیل تانل انتخابشدهاید و دیگر نباید آن مقدار پهنای باندی که در پیام Path اظهار کردهاید که میتوانید در اختیار تانل قرار دهید را در جای دیگری صرف کنید. زمانی که پیام Reservation به مبدأ مسیر تانل رسید، عملیات انتخاب مسیر به پایان رسیده است و تانل برقرار میشود.
بهطور خلاصه برای برقراری تانل TE مراحل زیر به ترتیب انجام میشود:
- محاسبات CSPF در روتر Headend بر اساس قیودی که در تعریف تانل و درخواستهای مشتری آورده شده انجام میگیرد. این درخواستها در شبکه SP با IGP که در این شبکه راهاندازی شده است انجام میگیرد. این IGP یکی از پروتکلهای Link state است که میتواند IS-IS یا OSPF باشد.
- زمانی که LSP با پروتکل CSPF محاسبه شد، نتیجه آنکه یک مجموعه منظم از IP ها است به پروتکل RSVP واگذار میشود.(منظور از LSP(Label Switched Path) یا همان مسیر، مجموعهای از روترهاست که روی آنها پروتکل MPLS پیکربندیشده است.)
- در این مرحله پروتکل RSVP برای ارزیابی و تصدیق منابع موردنیاز در مسیر LSP ، انجام میگیرد تا منابع درخواستی را در LSP ارزیابی کند که ببیند آیا منابع درخواستی در LSP قابل برآورد هستند یا خیر.
- زمانی که محاسبات پروتکل RSVP انجام شد و پیام Reservation دریافت گردید، دریافت این پیام نشان میدهد که LSP برای تانل برقرارشده است.
- زمانی که LSP برای تانل برقرار شد، تانل TE برای استفاده IGP (OSPF یا IS-IS) در دسترس قرار میگیرد. بهصورت پیشفرض اطلاعات تانل در جدول روتینگ نمایش داده نمیشود اما روتر میتواند بهگونهای پیکربندی گردد که اینترفیسی که در تانل شرکت دارد در جدول روتینگ مشاهده شود.
راهاندازی سرویس MPLS TE با OSPF
برای راهاندازی سرویس TE در این بخش فرض شده است که MPLS و OSPF روی روترها پیکربندیشده است. خلاصه دستورات برای راهاندازی سرویس TE به شرح زیر میباشد:
Router(config)#interface loopback [num]
Router(config-if)# ip address (IP Address) (Mask in length 32)
Router(config)#mpls traffic-eng tunnels
Router(config)#interface [type | number]
Router(config-if)#mpls traffic-eng tunnels
Router(config)#interface [type | number]
Router(config-if)#ip rsvp bandwidth [reservable bandwidth 1-1000000 Kbps | maximum reservable bandwidth per flow 1-1000000 Kbps]
Router(config)#interface Tunnel [Number]
Router(config-if)#ip unnumbered loopback [Number]
Router(config-if)#tunnel mode mpls traffic-eng
Router(config-if)#tunnel destination [ip address of remote loopback]
Router(config-if)#tunnel mpls traffic-eng path-option [priority] [dynamic | explicit name name | explicit identifier Number]
Router(config-if)#tunnel mpls traffic-eng bandwidth [number kbps]
Router(config-if)#tunnel mpls traffic-eng priority [setup priority value]
Router (config-if)#tunnel mpls traffic-eng autoroute announce
Router(config)#ip explicit-path name [name] enable
Or
Router(config)#ip explicit-path identifier [number] enable
Router(cfg-ip-expl-path)#next-address [ip address]
Router(config)#router ospf
Router(config-router)#mpls traffic-eng area [number]
Router(config-router)#mpls traffic-eng router-id [interface number]
تانل TE در شبکه MPLS از روتر Headend شروع و به روتر Tailend در شبکه ختم میشود. مراحل راهاندازی سرویس MPLS TE به ترتیبی که در جدول زیر به آن اشارهشده است انجام میگیرد.
جدول ۱- پیکربندی سرویس MPLS TE
پیکربندی سرویس MPLS TE بهصورت عمومی |
|
پیکربندی یک اینترفیس Loopback با Mask بهاندازه /۳۲ |
Router(config)#interface loopback [num] Router(config-if)# ip address (IP Address) (Mask in length 32)
|
پیکربندی تانل TE بهصورت Globally |
Router(config)#mpls traffic-eng tunnels
|
پیکربندی تانل TE برای هر اینترفیسی که در شبکه MPLS عضویت دارد و در محاسبات انتخاب مسیر شرکت میکند. |
Router(config)#interface [type | number] Router(config-if)#mpls traffic-eng tunnels
|
پیکربندی پارامترهای پروتکل RSVP روی اینترفیس برای تخصیص منابع لازم برای تانل TE. به عبارت بهتر با این دستور شخص میشود که چه مقدار از پهنای باند اینترفیسی که در برقراری تانل شرکت میکند، به تانل تعلق گیرد. برای یک جریان ترافیکی خاص نیز میتوان حداکثر پهنای باند را مشخص نمود. |
Router(config)#interface [type | number] Router(config-if)#ip rsvp bandwidth [reservable bandwidth 1-1000000 Kbps | maximum reservable bandwidth per flow 1-1000000 Kbps] |
پیکربندی پارامترهای اینترفیس تانل روی روتر Headend |
|
تعریف اینترفیس تانل |
Router(config)#interface Tunnel [Number] |
تعریف آدرس IP تانل. در این تعریف آدرس اینترفیس Loopback که در ابتدا تعریف شد برای تانل در نظر گرفته میشود. |
Router(config-if)#ip unnumbered loopback [Number] |
پیکربندی مد عملکرد تانل. تانل برای عملکرد در مد MPLS TE پیکربندی میشود. |
Router(config-if)#tunnel mode mpls traffic-eng |
آدرس مقصد تانل پیکربندی میشود. |
Router(config-if)#tunnel destination [ip address of remote loopback] |
پیکربندی تانل بهگونهای که بهصورت دینامیکی یا استاتیکی (Explicit) مسیر LSP تشکیل شود. در حالت دینامیکی تانل بهگونهای پیکربندی میشود که با استفاده از IGP و محاسبات CSPF مسیر تانل، از بین مسیرهای موجود که بین دو روتر Headend و Tailend است، مشخص میشود. در حالت Explicit، کاربر با مشخص کردن مسیر دقیق و دادن IP هاپها بهصورت متوالی مسیر تانل را مشخص میکند. ترم priority برای مسیری که دارد برای تانل مشخص میشود،تعیین میکند که این مسیر چه الویتی داشته باشد. بهعنوانمثال برای یک تانل دو path تعریف میشود، یکی dynamic با الویت ۱ و دیگری explicit با الویت ۲ .در این صورت ترافیک ابتدا از مسیر dynamic میرود و درصورتیکه مسیر دینامیک از کار بیفتد، ترافیک از مسیر explicit عبور میکند.حتی ممکن است چند مسیر explicit داشته باشیم. ترم identifier برای نامگذاری مسیر explicit از یک عدد استفاده میکند. |
Router(config-if)#tunnel mpls traffic-eng path-option [priority] [dynamic | explicit name name | explicit identifier Number] |
مقدار پهنای باند موردنیاز تانل مشخص میگردد. |
Router(config-if)#tunnel mpls traffic-eng bandwidth [number kbps] |
این دستور مشخص میکند که تانل موردنظر از چه اولویتی بین تانلهایی که روی روتر پیکربندیشده است برخوردار است. در مواقعی برای چند تانل یک LSP مشخص میشود.ترم setup priority مشخص میکند تانل با اولویت بالاتر (عدد priority پایینتر) نسبت به سایر تانلها ارجحتر است. |
Router(config-if)#tunnel mpls traffic-eng priority [setup priority value] |
با این دستور مسیر تانل در جدول روتینگ نمایش داده میشود زیرا بهصورت پیشفرض مسیر تانل نمایش داده نمیشود. |
Router (config-if)#tunnel mpls traffic-eng autoroute announce |
مشخص کردن مسیر explicit در صورت نیاز |
|
این دستور در مد کانفیگ، مشخص کردن مسیر برای explicit path را فعال میکند. |
Router(config)#ip explicit-path name [name] enable Or Router(config)#ip explicit-path identifier [number] enable |
Hop هایی که مسیر LSP را برای تانل مشخص میکنند با این دستور، به ترتیب مشخص میشوند. |
Router(cfg-ip-expl-path)#next-address [ip address] |
فعال کردن IGP برای پشتیبانی از تانل TE (OSPF) |
|
ورود به مد روتر |
Router(config)#router ospf |
پیکربندی یک Area مشخص برای سرویس TE |
Router(config-router)#mpls traffic-eng area [number] |
پیکربندی router ID برای سرویس TE |
Router(config-router)#mpls traffic-eng router-id [interface number] |
شبکه دادهشده با توپولوژی شکل ۴ را در نظر بگیرید. هدف پیکربندی MPLS Traffic Engineering در مسیرهای نشان دادهشده با جهت موردنظر روی شبکه SP است. در این سناریو از OSPF بهعنوان IGP استفادهشده است. قسمتی از خروجی Show running configuration روترها در ادامه آورده شده است. قسمتهایی که بارنگ آبی مشخصشده است مربوط به پیکربندی عمومی بستر MPLS است و قسمتهایی که Bold شده است پیکربندی تانل را مشخص میکند.
شکل ۴. سناریو عملی
جدول ۲ -پیکربندی روترها در سناریو عملی
Esfahan |
Tehran |
Current configuration:
!
version 12.0
!
hostname Esfahan
!
ip cef
!
mpls traffic-eng tunnels
!
interface Loopback0
ip address 10.10.10.4 255.255.255.255
!
interface Tunnel1
ip unnumbered Loopback0
no ip directed-broadcast
tunnel destination 10.10.10.6
tunnel mode mpls traffic-eng
tunnel mpls traffic-eng autoroute announce
tunnel mpls traffic-eng priority 5
tunnel mpls traffic-eng bandwidth 25
tunnel mpls traffic-eng path-option 2 dynamic
!
interface Tunnel3
ip unnumbered Loopback0
no ip directed-broadcast
tunnel destination 10.10.10.6
tunnel mode mpls traffic-eng
tunnel mpls traffic-eng autoroute announce
tunnel mpls traffic-eng priority 6
tunnel mpls traffic-eng bandwidth 69
tunnel mpls traffic-eng path-option 1 dynamic
!
interface Serial0/1.1
ip address 10.1.1.14 255.255.255.252
mpls traffic-eng tunnels
tag-switching ip
ip rsvp bandwidth 512 512
!
router ospf 9
network 10.1.1.0 0.0.0.255 area 9
network 10.10.10.0 0.0.0.255 area 9
mpls traffic-eng area 9
mpls traffic-eng router-id Loopback0
!
|
Current configuration:
!
version 12.1
!
hostname Tehran
!
ip cef
!
mpls traffic-eng tunnels
!
interface Loopback0
ip address 10.10.10.6 255.255.255.255
!
interface Tunnel158
ip unnumbered Loopback0
tunnel destination 10.10.10.4
tunnel mode mpls traffic-eng
tunnel mpls traffic-eng autoroute announce
tunnel mpls traffic-eng priority 2
tunnel mpls traffic-eng bandwidth 158
tunnel mpls traffic-eng path-option 1 explicit name low
!
interface Tunnel159
ip unnumbered Loopback0
tunnel destination 10.10.10.4
tunnel mode mpls traffic-eng
tunnel mpls traffic-eng autoroute announce
tunnel mpls traffic-eng priority 4
tunnel mpls traffic-eng bandwidth 159
tunnel mpls traffic-eng path-option 1 explicit name straight
!
interface Serial0/1 bandwidth 512
ip address 10.1.1.22 255.255.255.252
tag-switching ip
mpls traffic-eng tunnels
ip rsvp bandwidth 512 512
!
router ospf 9
network 10.1.1.0 0.0.0.255 area 9
network 10.10.10.0 0.0.0.255 area 9
mpls traffic-eng area 9
mpls traffic-eng router-id Loopback0
!
!
ip explicit-path name low enable
next-address 10.1.1.21
next-address 10.1.1.10
next-address 10.1.1.1
next-address 10.1.1.14
!
ip explicit-path name straight enable
next-address 10.1.1.21
next-address 10.1.1.5
next-address 10.1.1.14
|