درواقع پروتکل MPLS تشکیل شده از کلمات MultiProtocol Label Switch میباشد که به منظور ایجاد یک تحول در دنیای Routing به وجود امده است این پروتکل برخلاف Normal Routing که از طریق جدول Routing درون روتر بسته هارا و به سمت روتر های مجاور و Next-Hop های خود ارسال میکردند به سمت Dst IP, پروتکل MPLS به جای IP از مکانیزمی تحت عنوان Label زنی یا برچسب زنی استفاده میکند و بستههارا از طریق برجسپ آن مسیریابی میکند از این سرعت بالایی در Switching بسته ها نیز دارد. علاوه بر این قطعا پروتکلی را با ارائه Concept های جدید و مباحث کانفینگ جدید آن برای بالا رفتن چند میلی ثانیه ایی Switching بسته ها ارائه نمیدهند. پروتکل MPLS ویژگی های بسیار زیادی دارد و استفاده آن بیشتر در محیط های Service Provider میباشد از جمله این ویژگی ها میتوان به MPLS Application ها اشاره کرد که به شرح زیر هستند:
برای آشنایی بیشتر با مفاهیم MPLS و اجزا آن و شروع یادگیری پروتکل MPLS به ویدیو های دوره آموزشی MPLS مراجعه کنید.
درواقع MPLS L3VPN همانطور که گفتیم یک MPLS Application میباشد و همانطور که از نامش نیز پیداست یک ارتباط VPN لایه 3 برای ما توسط MPLS ایجاد میکند و اما این ارتباط VPN لایه 3 چه مزیتی دارد و چرا میبایست از آن استفاده کنیم درون بستر MPLS ؟! دورواقع MPLS L3VPN که توسط نهاد های Service Provider به سمت مشتریان خود ارائه میشود یک بستری را برای مشتریان ایجاد میکند که بتوانند ارتباط شعب های مشتریان خود را برقرار کنند برای مثال یک سازمان 2 شعب دارد از یک Service Provider خدمات میگیرند اما اگر این دو شعب بخواهند با یک دیگر ارتباط داشته باشند راهکار چیست؟ درواقع اینجاست که درصورت وجود MPLS در شبکه Service Provider مورد نظر و امکان ارائه خدمات MPLS L3VPN به راحتی از سمت Service Provider میتوان ارتباط بین شعب هارا برقرار کرد.
حال بیاید بررسی کنیم که MPLS L3VPN به چه شکل میتواند ارتباطات بین شعب های یک سازمان را برقرار کند. در واقع ابتدایی کاری که میبایست انجام شود این است که یک L3 Link بین روتر CE که متعلق به مشتری و روتر PE که متعلق به Service Provider میباشد راه اندازی شود
درواقع L3 Link ها همان Routing Protocol های ما میباشند که در بین CE و PE پیاده سازی میشوند و به صورتی که برای ارتباط بین CE و PE به منظور راه اندازی شدن MPLS L3VPN میتوان از انواع Routing Protocol ها و حتی Static Routing استفاده کرد که به پیشنهاد شرکت Cisco گفته شده است که از Static Routing و یا eBGP استفاده کنید اما شما مایل و صاحب اختیار به راه اندازی هر Routing Protocol دیگر هستید حتی پروتکل منسوخ شده ایی مانند RIP
ابتدایی ترین کاری که میبایست انجام دهیم راه اندازی یک IGP در شبکه مان میباشد که به سبب آن توانایی راه اندازی شبکه MPLS را داشته باشیم. براساس سناریو پروتکل EIGRP را در شبکه Service Provider راه اندازی میکنیم
PE1(config)# router eigrp 1 PE1(config-router)# network 10.0.0.8 0.0.0.3 PE1(config-router)# network 10.1.1.1 0.0.0.0 P(config)# router eigrp 1 P(config-router)# network 10.0.0.8 0.0.0.3 P(config-router)# network 10.0.0.12 0.0.0.3 P(config-router)# network 10.1.1.2 0.0.0.0 PE2(config)# router eigrp 1 PE2(config-router)# network 10.0.0.12 0.0.0.3 PE2(config-router)# network 10.1.1.3 0.0.0.0
پس از راه اندازی کردن EIGRP در شبکه میبایست به سمت روتر های CE برویم و درون آنها به سمت روتر های PE یک eBGP راه اندازی کنیم و پس از آن ارتباط بین CE و PE را با eBGP برقرار کنیم
CE1A(config)# router bgp 64401 CE1A(config-router)# neighbor 10.0.0.1 remote-as 64501 CE1A(config-router)# network 172.16.1.0 mask 255.255.255.0
CE2A(config)# router bgp 64402 CE2A(config-router)# neighbor 10.0.0.17 remote-as 64501 CE2A(config-router)# network 172.16.2.0 mask 255.255.255.0
CE1B(config)# router bgp 64301 CE1B(config-router)# neighbor 10.0.0.5 remote-as 64501 CE1B(config-router)# network 172.16.1.0 mask 255.255.255.0
CE2B(config)# router bgp 64302 CE2B(config-router)# neighbor 10.0.0.21 remote-as 64501 CE2B(config-router)# network 172.16.2.0 mask 255.255.255.0
پس از انجام فرآیند بالا وارد روتر های PE میشویم و در بین روتر های PE یک MP-BGP راه اندازی میکنیم درواقع به زبان ساده MP-BGP همان پروتکل BGP است اما به صورتی که از Address Family های مختلفی پشتیبانی میکندو به سبب پروتکل VPNv4 در MP-BGP ما توانایی ردوبدل سازی داده های CE های خودمان را داریم به همین سبب VPNv4 را بین دیوایس های PE خودمان راه اندازی میکنیم که اصولا به این کار VPNv4 Load Sharing نیز میگویند
PE1(config)# router bgp 64501 PE1(config-router)# neighbor 10.1.1.3 remote-as 64501 PE1(config-router)# neighbor 10.1.1.3 update-source lo0 PE1(config-router)# address-family vpnv4 PE1(config-router-af)# neighbor 10.1.1.3 activate PE1(config-router-af)# exit
PE2(config)# router bgp 64501 PE2(config-router)# neighbor 10.1.1.1 remote-as 64501 PE2(config-router)# neighbor 10.1.1.1 update-source lo0 PE2(config-router)# address-family vpnv4 PE2(config-router-af) # neighbor 10.1.1.1 activate PE2(config-router-af)# exit
پس از انجام فرآیند های بالا حالا نوبت راه اندازی کردن و اجرا سازی شبکه MPLS میرسد که به شکل زیر اینکار را با زدن دستور mpls ip در زیر هر Interface متصل به شبکه SP به انجام میرسانیم
PE1(config)# interface GigabitEthernet 0/3 PE1(config-if)# mpls ip
P(config)# interface GigabitEthernet 0/3 P(config-if)# mpls ip P(config)# interface GigabitEthernet 0/4 P(config-if)# mpls ip
PE2(config)# interface GigabitEthernet 0/4 PE2(config-if)# mpls ip
ویژگی VRF درواقع یکی از ویژگی های جالب درون پروتکل MPLS میباشد که توانایی جدا سازی و تفکیک سازی ارتباطات CE های مختلف را برعهده دارد و بدین شکل که CE 1 و CE 2 امکان دسترسی و دیدن داده های CE 3 و CE 4 را ندارند علاوه بر این موضوع این امکان راهم به ما ارائه میدهد که درصورت وجود IP Address Overlapping درون دو شبکه این مشکل را با استفاده از VRF و مقدار RD که توانایی متمایز سازی IP Address را دارد حل میکنیم. با استفاده از VRF ما توانایی ایجاد کردن Routing Table های مجزا از هم را درون روتر هایمان داریم که این امکان و امر به ما کمک میکند که داده های CE را را مجزا از هم ردوبدل کنیم و ارتباطی به داده ها و ارتباطات درون شبکه SP هم نیز نداشته باشند.
PE1(config)# ip vrf CustomerA PE1(config-vrf)# rd 64501:1 PE1(config-vrf)# route-target both 64501:1
PE1(config-vrf)# ip vrf CustomerB PE1(config-vrf)# rd 64501:2 PE1(config-vrf)# route-target both 64501:2
پس از ایجاد کردن VRF ها حالا نوبت اختصاص دادن آنها به Interface های متصل به دیوایس های CE مان میباشد
PE1(config)# interface gigabitEthernet 0/1 PE1(config-if)# ip vrf forwarding CustomerA PE1(config-if)# ip address 10.0.0.1 255.255.255.252 PE1(config)# interface gigabitEthernet 0/2 PE1(config-if)# ip vrf forwarding CustomerB PE1(config-if)# ip address 10.0.0.5 255.255.255.252
PE2(config)# ip vrf CustomerA PE2(config-vrf)# rd 64501:1 PE2(config-vrf)# route-target both 64501:1 PE2(config-vrf)# ip vrf CustomerB PE2(config-vrf)# rd 64501:2 PE2(config-vrf)# route-target both 64501:2
پس از این حالا در اخر میبایست وارد BGP شویم و یک eBGP را به سمت CE ها از سمت PE ها ایجاد کنیم از طریق جدول مسیریابی مجزایی که برای هر CE درون PE ها با استفاده از VRF هایمان ایجاد کردیم.
PE1(config)# router bgp 64501 PE1(config-router)# address-family ipv4 vrf CustomerA PE1(config-router-af)# neighbor 10.0.0.2 remote-as 64401 PE1(config-router-af)# exit PE1(config-router)# address-family ipv4 vrf CustomerB PE1(config-router-af)# neighbor 10.0.0.6 remote-as 64301
PE2(config)# router bgp 64501 PE2(config-router)# address-family ipv4 vrf CustomerA PE2(config-router-af)# neighbor 10.0.0.18 remote-as 64402 PE2(config-router-af)# exit PE2(config-router)# address-family ipv4 vrf CustomerB PE2(config-router-af)# neighbor 10.0.0.22 remote-as 64302
ابتدایی ترین کاری که میبایست انجام دهیم از سمت کامپیوتر های CE به هم یک Ping میگیریم و میتوانیم متوجه شویم که ارتباط برقرار است یا که خیر
در تصویر بالا یک Wireshark بر روی لینک بین P و PE1 درحال ضبط کردن بسته ها میباشد اگر توجه کنید بسته های بالا میبینیم که LSP Header بسته ICMP Echo Request برابر با 18 میباشد که دقیقا همان Label میباشد که بسته مورد نظر را به مقصد مورد نظر یعنی روتر PE 2 میرساند.
در تصویر بالا نیز این نکته را میتوانیم ببینیم که Local Label 18 برای PE 2 میباشد
مهندس و مدرس شبکه و امنیت سایبری و مدیر کل جزیره هک و امنیت اطلاعات توسینسو
متخصص امنیت اطلاعات و کارشناس شکار تهدیدات بانک ملی ایران ، دارای مدارک مختلف از Splunk و AWS و Fortinet و Huawei حوزه اصلی فعالیت بنده در زمینه شبکه مباحث R&S و Service Provider میباشد و در زمینه امنیت نیز در موقعیت های مختلفی مانند PenTest و SoC فعالیت داشته و دارم. سابقه همکاری با بعضی سازمان های در قالب پروژه و... را داشته ام الان به عنوان تحلیلگر امنیت سایبری در زیرساخت بانک ملی مشغول به کار هستم. لینکداین: https://www.linkedin.com/in/amirhoseintangsirinezhad/
زمان پاسخ گویی روز های شنبه الی چهارشنبه ساعت 9 الی 18
فقط به موضوعات مربوط به محصولات آموزشی و فروش پاسخ داده می شود