Fabricpath سیسکو

نویسنده: میثم خزایی
7 ماه پیش

Fabricpath سیسکو

با معرفی تکنولوژی FabricPath در NX-OS 5.1(3) امکان مسیریابی (Routing) در شبکه های لایه دو نیز ایجاد گردید. این تکنولوژی بر اساس توپولوژی Leaf & Spine می باشد.

FabricPath بر اساس پروتکل IS-IS کار می کند که پروتکلی Link State است و از الگوریتم SPF (Shortest Path First) استفاده می کند.

دلیل اینکه FabricPath تقریبا یک Plug-and-Play Protocol می باشد این است که بر خلاف سایر تکنولوژی های موجود در بازار، سوئیچ ها را قادر می سازد تا به محض اتصال به شبکه همانند تمام پروتکل های Link State، یک توپولوژی از شبکه ترسیم کنند.

مزایای FabricPath

  • بهینه سازی ذخیره MAC Address با استفاده از روش Conversational Learning، در شبکه های معمول هرگاه فریمی به سوئیچ وارد شود آدرس Source MAC بدون هیچ شرطی در جدول MAC Table سوئیچ وارد می شود، این روش در شبکه های بزرگ باعث ذخیره حجم زیادی از MAC Address ها می شود که گاها بی مصرف خواهند بود و فقط جدول CAM Table را پر می کنند. در شبکه های مبتنی بر FabricPath به خاطر استفاده از روش Conversational MAC Learning سوئیچ ها قادرند تعداد بسیار کمتری MAC Address را Learn کنند.
  • عدم استفاده از STP (Spanning Tree Protocol) در شبکه های مبتنی بر FabricPath. در شبکه های مبتنی بر STP در صورت وجود Loop، حتما بعضی از لینک ها Block خواهند شد، که این مساله باعث اتلاف هزینه به خاطر عدم استفاده از Blocked Ports و بالا بردن زمان Convergence Time به هنگامی که یکی از لینک های فعال قطع شود و نیاز به فعال سازی یکی از Blocked Port ها باشد، می شود. ولی در شبکه های مبتنی بر FabricPath می توان از تمامی لینک ها بهره برد بدون اینکه لینکی غیر فعال شود و یا Loop در شبکه اتفاق بیفتد. علت این امر، استفاده از پروتکل مسیریابی IS-IS در لایه دو می باشد، که امکان استفاده از تمامی لینک ها را به ما می دهد بدون اینکه در شبکه Loop اتفاق بیفتد. در این وضعیت هیچ گونه نیازی به STP نخواهد بود.
  • ترافیک Unicast می تواند از Load Balancing بهره مند شود.
  • ترافیک Multicast با استفاده از قابلیت Multi Destination Tree امکان Load Balancing را پیدا می کند.
  • ترافیک Unknown Unicast و Broadcast فقط روی یک Multi Destination Tree توزیع می شوند.
  • امکان تعریف هر گونه توپولوژی در شبکه، بدین معنی که می توان مثلا دو سوئیچ Access و یا دو سوئیچ Edge را در شبکه به صورت مستقیم به یکدیگر متصل نمود.
  • ساده سازی Configuration: پیکربندی FabricPath بسیار ساده است، اگر چه Tuning همیشه پیشنهاد می شود ولی حتی بدون تنظیمات اولیه نیز قابل استفاده می باشد.
  • استفاده از TTL (Time To Live) در FabricPath. در شبکه های لایه سه اگر یک Packet در شبکه Loop شود با استفاده از TTL سرانجام Drop خواهد شد، برخلاف شبکه های معمول لایه دو که هیچ گاه Loop از بین نخواهد رفت مگر اینکه سوئیچ Reload شود. در FabricPath نیز از قابلیت TTL استفاده شده است تا در صورت ایجاد Looped Packet بتوان آن را Drop کرد.

سخت افزار و نرم افزار

سوئیچ های Nexus 5500 از نسخه NX-OS 5.1(3)N1(1) به بعد می توانند به عنوان Edge or Leaf Switch مورد استفاده قرار گیرند و سوئیچ های سری Nexus 7000 از نسخه NX-OS 5.1(1) به بعد می توانند به عنوان Spine Switch در نظر گرفته شوند.

لایسنس

برای استفاده از این قابلیت نیاز به لایسنس ENHANCED_LAYER2_PKG می باشد.

تکنولوژی های FabricPath

در زیر برخی از توپولوژی های لایه دو که قبلا امکان پذیر نبودند ولی با وجود FabricPath قابل پیاده سازی هستند نمایش داده شده است.

FabricPath Technologies

DRAP (Dynamic Resource Allocation Protocol)

اختصاص Switch-ID با استفاده از این پروتکل به صورت Dynamic انجام می شود و بنابراین نیازی به اختصاص به صورت دستی وجود ندارد، اگر چه این امر امکان پذیر است.

DRAP

Leaf and Spine

در توپولوژی های مبتنی بر FabricPath هر دستگاه می تواند یکی از دو حالت زیر را داشته باشد:

  • Leaf (or Edge) Devices: این دستگاه ها معمولا به عنوان یک واسط بین شبکه Classical Ethernet که بر روی آن STP فعال است و شبکه FabricPath عمل می کنند، بنابراین تعدادی از پورت های این سوئیچ ها در شبکه Classical Ethernet (CE) هستند و STP روی آن ها فعال است و تعداد دیگری نیز در مود FabricPath هستند. ترافیک ورودی از سمت Classical Ethernet بعد از بررسی جدول Layer 2 Forwarding درون یک FabricPath Frame قرار می گیرد، در این حالت Destination Address به جای MAC Address این بار Switch-ID سوئیچی که دستگاه مقصد به آن متصل است، خواهد بود.

در شکل زیر در ستون آخر برای ترافیک ارسالی به شبکه FabricPath به جای شماره پورت Destination Switch-Id آورده شده است.

leaf

 

  • Spine Devices: این دستگاه ها ارتباط بین Edge Device ها را برقرار می سازند.

Spine

FabricPath Routing

همانطور که گفته شد FabricPath بر اساس پروتکل IS-IS کار می کند که پروتکلی Link State است و از الگوریتم SPF (Shortest Path First) استفاده می کند. همانند Layer 3 Routing Protocols در FabricPath نیز هر سوئیچ با سایر سوئیچ ها Negotiate کرده و اطلاعات کاملی از MAC Address ها و بهترین مسیر برای رسیدن به آن ها را دارد. همچنین هر Switch برای خود یک Switch-ID دارد و جدول Layer 2 Forwarding بر اساس بهترین مسیر برای دسترسی به این Switch-ID ها می باشد.

بنابراین هر سوئیچ Leaf یک جدول MAC Address دارد که برای رسیدن به هر MAC Address به جای پورت خروجی آدرس Switch-ID را تعیین می کند، و همچنین یک جدول مسیریابی لایه 2 دارد که بهترین مسیر رسیدن به آن Switch-ID مشخص گردیده است.

FabricPath Routing

نکته: سوئیچ های Spine فقط مسیر رسیدن به Switch-ID ها را در خود ذخیره می کنند و هیچ گونه اطلاعاتی از MAC Address ها ندارند.

Conversational Learning

در شبکه های FabricPath به این صورت عمل می شود که هر گاه Frame ای از سوئیچ دیگری وارد شود در صورتی آدرس Source MAC ذخیره می شود که، آدرس Destination MAC قبلا در جدول MAC Table وجود داشته باشد، این روش باعث بهینه سازی MAC Address Learning می شود و آدرس های Source MAC ترافیکی که Broadcast یا Unknown Unicast باشند هیچ گاه در جدول MAC وارد نخواهند شد.

نکته: سوئیچ، MAC Address تمام دستگاه هایی که به صورت Local به آن متصل هستند را در جدول MAC وارد می کند حتی اگر Destination Address را قبلا Learn نکرده باشد.

Multidestination Trees

پروتکل FabricPath با استفاده از قابلیت Link State Protocols توانایی ایجاد ترسیم توپولوژی شبکه را دارد، همچنین FabricPath بر اساس توپولوژی بدست آمده دو یا چند Forwarding Tree یا Multidestination Tree ایجاد می کند.

این درخت ها در واقع مسیرهای متفاوت در شبکه هستند که تمام سوئیچ های Leaf و Spine را در بر می گیرند بدون اینکه Loop در شبکه اتفاق بیفتد، قاعدتا در این مسیرهای ایجاد شده یا Multi destination Trees بعضی از مسیرها غیر قابل استفاده هستند تا Loop اتفاق نیفتد.

برای مثال توپولوژی شبکه زیر را در نظر بگیرید:

Multidestination Trees

در این توپولوژی دو درخت که با دو رنگ متفاوت مشخص شده اند بدست آمده است، درخت اول با FTag 1 و درخت دوم با Ftag 2 مجزا شده اند.

برای هر درخت یک Root تعیین می گردد که تعیین Root براساس چند پارامتر انجام می شود، که ممکن است حتی سوئیچ های Leaf نیز به عنوان Root انتخاب شوند.

نکته مهم این است که هیچ درختی Loop ندارد و هر سوئیچ به دو درخت ارتباط دارد، یعنی هر سوئیچ توانایی Load Balancing با ارسال ترافیک روی درخت های متفاوت را دارد و هیچ لینکی غیر فعال نخواهد بود.

برای ایجاد Load Balancing روی ترافیک Multicast از چند Multidestination Tree استفاده می شود که هر درخت با یک شماره به نام FTag (Forwarding Tag) مشخص شده و در هدر FabricPath Frames آورده می شود.

FabricPath Frame Format

FabricPath-frame-format

عملکرد FabricPath با یک مثال

در این مثال می خواهیم از A به B ارسال ترافیک داشته باشیم:

FabricPath

 

  1. ابتدا A شروع به ارسال ARP Request در شبکه می کند.
  2. سوئیچ 111 بلافاصله MAC A را در جدول خود وارد می کند(A به صورت Local است)
  3. ARP Request به صورت Broadcast می باشد بنابراین باید Flood شود پس باید روی Multidestination Tree به همه ارسال گردد. سوئیچ 111 فریم ARP Broadcast را درون یک فریم دیگر Encapsulate می کند که آدرس SSID= 111 و آدرس DSID= FFFF.FFFF.FFFF خواهد بود.
  4. اکنون ARP Request به سوئیچ 112 رسیده است، ولی سوئیچ آدرس MAC A را در جدول خود وارد نمی کند چرا که آدرس مقصد Broadcast می باشد. بنابراین آن را روی تمام پورت های VLAN ارسال می کند.
  5. B جواب ARP Reply را ارسال می کند.
  6. سوئیچ 112 بلافاصله MAC B را در جدول خود وارد می کند. اگر چه ARP Reply به صورت Broadcast نمی باشد ولی به خاطر اینکه سوئیچ 112، MAC A را در جدول خود وارد نکرده است، این Frame به صورت Unknown Unicast خواهد بود و باید بر روی Multidestination Tree به همه ارسال گردد. سوئیچ 112 فریم ARP Reply را درون یک فریم FabricPath قرار داده و آدرس SSID= 112 و آدرس DSID= 010F.FFC1.010C که یک آدرس Reserved MAC Address برای ترافیک Multicast می باشد، معین می کند.
  7. سوئیچ 111 بلافاصله بعد از دریافت ARP Reply آدرس MAC B را در جدول خود وارد می کند، چون MAC A را قبلا Learn کرده است.
  8. سپس A شروع به ارسال ترافیک Unicast به B می کند، سوئیچ 111 به خاطر داشتن آدرس MAC B و بر اساس مسیریابی FabricPath آن را از کوتاه ترین مسیر به سوئیچ 112 ارسال می کند
  9. سوئیچ 112 هم MAC A را در جدول خود اضافه می کند، چون آدرس مقصد در جدول MAC Table وجود دارد.
  10. از این پس ترافیک بر اساس کوتاهترین مسیر انتقال می یابد.
400
0
2
نظرات