
دنیای فناوری اطلاعات شامل طیف گستردهای از فعالیتهای کاربردی و جذاب است که هریک تاثیر قابل توجهی بر فعالیتهای تجاری دارد. یکی از این فعالیتهای پر چالش، پیچیده و البته جذاب، طراحی مرکز داده است. در این مقاله، قصد دارم شما را با دانش پایهای مورد نیاز برای درک الزامات اصلی مراکز داده و چگونگی برآورده کردن آنها آشنا کنم. در ابتدا، تعریف خواهم کرد توپولوژی شبکه چیست و هنگام انتخاب توپولوژی مناسب برای نیازهای یک سازمان چه نکاتی باید در نظر گرفته شود. سپس، دو رویکرد طراحی اصلی را معرفی خواهم کرد که شامل طراحی شبکه سلسله مراتبی است که به عنوان طرح سنتی شناخته میشود و طراحی برگ-ستون (Leaf-Spine) که در مراکز داده امروزی استفاده میشود. در ادامه، طرحهای ۲ لایه را با طرحهای ۳ لایه مقایسه خواهم کرد تا متوجه شویم که چگونه عملکرد و پروتکلهای آنها بر کارایی شبکه تاثیر میگذارند. اجازه دهید کار را با یک بررسی کلی از ملاحظات عمومی طراحی مراکز داده شروع کنیم.
مرکز داده و الزامات آن
مرکز داده در واقع یک ساختمان یا تاسیسات است که برای نگهداری سامانههای رایانهای و تجهیزات مرتبط مانند سامانههای محاسباتی، شبکه و ذخیرهسازی استفاده میشود. اندازه یک مرکز داده میتواند از یک اتاق سرور کوچک تا چندین ساختمان که از نظر جغرافیایی پراکنده شدهاند، متغیر باشد. مرکز داده یک دارایی حیاتی برای کسبوکارها است که فعالیتهای تجاری خود را از طریق آن انجام میدهند.
مراکز داده امروزی از یک تاسیسات صرفا زیرساخت داخلی یا همان درون سازمانی (On-Premises) به مکانی تکامل یافته که سیستمهای داخلی را با زیرساختها یا شبکههای ابری متصل میکنند، تکامل پیدا کردهاند. در این محیط مدرن، برنامهها و پروژههای مختلف در قالب ابرهای خصوصی و عمومی مجازیسازی شدهاند تا کسبوکارها بتوانند بالاترین سطح از بهرهوری را تجربه کنند. از اینرو، مراکز داده مدرن باید ویژگیهایی مانند قابلیت مقیاسپذیری، انعطافپذیری (توانایی بازیابی از خطا) و امنیت داشته باشند. شایان ذکر است که مراکز داده امروزی به طور فزایندهای از نظر فناوری پیشرفتهتر شدهاند تا عملکرد بهتری را ارائه دهند.
طراحی و توپولوژی شبکه در مرکز داده

طراحی مرکز داده فرآیند برنامهریزی برای پاسخگویی به تمام پارامترهای ضروری محاسباتی و غیرمحاسباتی است. برخی از این پارامترها عبارتند از تعداد و نوع سرورهای مورد نیاز، طرحبندی شبکه، سیستمهای برق، سرمایش و تهویه، امنیت فیزیکی، بازیابی از بلایا و برنامهریزی تداوم کسبوکار. از اینرو، طراحی مراکز داده مدرن شامل جنبههای مختلفی است که مدیریت آن را آسان و کارآمدتر میکند. البته در این بخش، ما فقط بر ملاحظات شبکهسازی تمرکز میکنیم که یک جنبه مهم در طراحی، به خصوص طرحبندی یا توپولوژی شبکه است.
توپولوژی شبکه به آرایش شماتیک عناصر مانند لینکها و گرهها اشاره دارد که در نهایت ساختار شبکه را تشکیل میدهند. این فقط چگونگی اتصال دستگاهها را توصیف نمیکند، بلکه نشان میدهد که دادهها چگونه از یک گره به گره دیگر منتقل میشوند.
ملاحظات کلیدی در انتخاب توپولوژی شبکه
هنگام انتخاب یک توپولوژی شبکه، نکات کلیدی زیر باید در نظر گرفته شوند:
- دسترسپذیری (Availability): سازمانهایی که برنامههای حیاتی را اجرا میکنند، به حداکثر دسترسپذیری منابع شبکه خود نیاز دارند. ویژگی دسترسپذیری بالا باید در سختافزار، نرمافزار، پروتکلهای شبکه و حتی ویژگیهای محیطی و برق مورد توجه قرار گیرند تا در دسترس بودن کلی شبکه تضمین شود.
- قابلیت اطمینان (Reliability): در بسیاری از صنایع، حتی توقفهای کوتاه و تاخیرها نیز قابل قبول نیستند. به همین دلیل، قابلیت اطمینان شبکه یک ملاحظه اساسی است.
- کارایی (Performance): توپولوژی شبکه برای تعیین کارایی آن بسیار مهم است. انتخاب توپولوژی مناسب میتواند عملکرد را افزایش دهد، در حالی که یافتن خطاها، عیبیابی و توزیع موثرتر منابع در شبکه را نیز آسانتر میکند.
- رشد آتی (Future Growth): اگر انتظار میرود شبکه در میانمدت تا بلندمدت رشد کند، باید توپولوژی انتخاب شود که به راحتی بتوان گرههای جدید را بدون تاثیر منفی بر عملکرد یا تجربه کاربری اضافه کرد.
- بودجه: ممکن است توپولوژی انتخاب کنید که کاملا مناسب نیازهای شما باشد اما مقرون به صرفه نباشد. احتمالا جایگزینی با قیمت کمتر وجود دارد که تقریبا به همان اندازه مؤثر باشد.
رویکردهای طراحی شبکه: سلسله مراتبی در مقابل برگ-ستون

طراحی سلسله مراتبی، شبکه را به لایههای متمایز تقسیم میکند که هر لایه نقش خاص خود را دارد. این طراحی برای ترافیک شمال-جنوب (North-South) موثرتر است، یعنی جایی که بیشتر دادهها برای کارهایی مانند برنامههای کلاینت-سرور، وارد و خارج از مرکز داده میشوند. این مدل به دلیل ماژولار بودن تا حد زیادی مقیاسپذیری قابل قبولی دارد، اما اگر لینکهای ارتباطی بین لایهها بیش از حد شلوغ شوند، ممکن است دچار گلوگاه شود.

با توجه به عواملی مانند رایانش ابری، مجازیسازی و کلاندادهها، مراکز داده امروزی بیشتر از گذشته به ترافیک شرق-غرب (East-West) وابسته شدهاند. در این حالت، دادهها بیشتر بین سرورها و گرههای ذخیرهسازی جابهجا میشوند. البته، برای پاسخگویی به این تقاضای فزاینده برای ارتباطات سرور به سرور، مقیاسپذیری و انعطافپذیری، طراحی شبکه نیز باید تغییر قابل توجهی پیدا میکرد.

در سالهای اخیر، بسیاری از مراکز داده برای غلبه بر محدودیتهای طراحی سلسله مراتبی، به طرح برگ-ستون (Leaf-Spine) روی آوردهاند. معماری برگ-ستون یک توپولوژی شبکهای با اتصال کامل دو لایه است که از لایه برگ و لایه ستون تشکیل شده است. سوئیچهای ستون، سوئیچهای برگ را به یکدیگر متصل میکنند، در حالی که سوئیچهای برگ سرورها را به شبکه متصل میسازند؛ به همین دلیل به سوئیچهای برگ سوئیچهای بالای رک (ToR) نیز گفته میشود.

هر سوئیچ برگ به هر سوئیچ ستون متصل است و بالعکس. معماری برگ-ستون مزایای زیادی دارد، از جمله:
- تراکم بالا در پورتها.
- پهنای باند بالا و توان عملیاتی سریع.
- تاخیر پایین و قابل پیشبینی.
- مقیاسپذیری آسان.
- پشتیبانی از چندین مسیر همزمان.
اگر شبکه به مقیاس بسیار بزرگی برسد، میتوان یک سطح سوم از سوئیچها به نام فوقستون (Super-Spine) یا هسته را برای اتصال سوئیچهای ستون به یکدیگر اضافه کرد، اما اصول اتصال یکسان باقی میمانند.

طراحی شبکه: لایه ۲ در مقابل لایه ۳
اکنون که میدانیم طرح برگ-ستون بهترین انتخاب برای مراکز داده مدرن است، باید فرآیند پیکربندی شبکههای لایه ۲ (سوئیچینگ) و لایه ۳ (مسیریابی) را مورد بررسی قرار دهیم.
شبکه لایه ۲

در یک شبکه لایه ۲، دستگاهها برای سوئیچینگ پیکربندی شدهاند؛ یعنی تصمیمات ارسال در لایه ۲ اتخاذ میشوند. آنها جدول مک آدرس را میسازند و نگهداری میکنند که آدرسهای مک را به پورتهای خروجی نگاشت میکند. سوئیچها فریمهای اترنت را پردازش کرده و بر اساس مک آدرس مقصد (که با جدول مک مقایسه میشود) ارسال میکنند.

به طور کلی، یک شبکه لایه ۲ مقیاسپذیری چندان جالبی ندارد و پهنای باند و کارایی کمتری نسبت به شبکه لایه ۳ فراهم میکند. همچنین، دستیابی به انعطافپذیری و پشتیبانی از چندمسیره بودن در آن دشوارتر است.

چالش حلقههای لایه ۲
طراحی شبکه انعطافپذیر به دلیل تکرار عناصر مانند سوئیچها یا لینکها، دسترسپذیری شبکه را تضمین میکند تا اگر عنصری خراب شد، برنامههای حیاتی متوقف نشوند. این هدف، بر مبنای حل مشکل حذف هرگونه نقطه تکشکست (Single Point of Failure) در شبکه است. برای مثال، هر سوئیچ برگ به هر سوئیچ ستون متصل است تا دو مسیر در دسترس برای ارتباط میزبانها وجود داشته باشد.
اگر دو مسیر در دسترس باشد، چرا از هر دوی آنها به طور همزمان استفاده نکنیم؟ این رویکرد امکان توزیع بار ترافیک را فراهم کرده و پهنای باند را دو برابر میکند که مزیت پشتیبانی از چندمسیره بودن را به همراه دارد.

اما در یک شبکه لایه ۲، لینکهای اضافی، حلقههایی در لایه ۲ ایجاد میکنند. اگر از زمان دروس دانشگاه به خاطر داشته باشید، فریمهای بُرودکست توسط سوئیچها در شبکه ارسال میشوند. اگر در شبکه حلقه وجود داشته باشد، فریمهای بُرودکست بیوقفه در شبکه به گردش در میآیند و تمام پهنای باند موجود را مصرف میکنند. به این پدیده طوفان بُرودکست گفته میشود که باید از آن جلوگیری کرد، در غیر این صورت پهنای باند برای ترافیک عادی شبکه در دسترس نخواهد بود. نتیجه ساده این است که یک طراحی شبکه ۲ لایه انعطافپذیر باعث طوفان بُرودکست میشود.

پروتکلهای مدیریت لایه ۲: STP، RSTP و MST
آیا این حرف بدان معنا است که نمیتوانیم شبکه لایه ۲ انعطافپذیر داشته باشیم؟ دقیقا نه. میتوانیم و باید یک طراحی فیزیکی انعطافپذیر داشته باشیم، اما از نظر منطقی در یک زمان فقط باید یک مسیر فعال بین هر جفت گره پایانی وجود داشته باشد. پروتکل درخت پوشا (Spanning Tree Protocol) که به آن STP نیز گفته میشود، یک توپولوژی منطقی بدون حلقه را برای شبکههای اترنت تضمین میکند.

این پروتکل امکان طراحی شبکهای را فراهم میکند که شامل لینکهای اضافی باشد و در صورت خرابی لینک فعال، مسیرهای پشتیبان خودکار را ارائه دهد. STP با شناسایی لینکهای اضافی و قرار دادن پورتهای اضافی در حالت مسدود این کار را انجام میدهد. هنگامی که تغییری در توپولوژی رخ میدهد، STP واکنش نشان داده و پورت مسدود شده را به حالت ارسال (Forwarding State) منتقل میکند. نکته مهم این است که زمان همگرایی STP بین ۳۰ تا ۵۰ ثانیه است که در طول آن، ترافیک داده سرویسدهی نمیشود. این زمان در دهه ۱۹۸۰ که STP توسعه یافت، قابل قبول بود، اما هیچ مرکز داده مدرنی نمیتواند چنین زمان طولانی را تحمل کند.
پروتکل درخت پوشای سریع (Rapid Spanning Tree Protocol) در دهه ۱۹۹۰ معرفی شد تا بازیابی سریع پس از تغییر توپولوژی را فراهم کند. به طور کلی، RSTP به سوئیچها اجازه میدهد تقریبا بلافاصله به تغییر توپولوژی واکنش نشان دهند و مذاکره برای وضعیت پورت را آغاز کنند. همچنین، RSTP پورتهای جایگزینی را فراهم میکند که در صورت عدم دسترسی به یک پورت، فورا به حالت ارسال میروند. این ویژگیها و موارد دیگر باعث میشود که RSTP در عرض چند ثانیه یا حتی در صورت خرابی لینک فیزیکی، در عرض چند میلیثانیه به تغییرات پاسخ دهد.
در مجموع، هر دو STP و RSTP با فراهم کردن تنها یک مسیر فعال در یک زمان، امکان طراحی شبکه انعطافپذیر را میدهند. مسیرهای پشتیبان تا زمانی که شبکه پایدار باشد، استفاده نمیشوند و پهنای باند اضافی به دلیل پورتهای مسدود شده، هدر میرود.
برای اینکه یک شبکه لایه ۲ امکان پشتیبانی از چندمسیره بودن را فراهم کند، نسخه سومی از STP به نام پروتکل درخت پوشای چندگانه (Multiple Spanning Tree Protocol) معرفی شد.

MST امکان پیکربندی چندین نمونه STP را میدهد که گروهی از شبکههای محلی مجازی (VLANs) به هر نمونه نگاشت شدهاند. تنظیمات MSTP میتواند به گونهای پیکربندی شود که هر نمونه، مسیر فعال متفاوتی داشته باشد. به این ترتیب، توزیع بار و پشتیبانی از چندمسیره بودن حاصل میشود و بهرهوری کلی شبکه بهبود مییابد. اگرچه این طرح ایده عال به نظر میرسد، اما در عمل، با مقیاسپذیری شبکه، مدیریت چندین نمونه MST بسیار دشوار میشود.
تجمیع لینک (LAG و MLAG)
یکی دیگر از ویژگیهای لایه ۲ برای دستیابی به پهنای باند بالاتر، توزیع بار و انعطافپذیری، گروه تجمیع لینک (Link Aggregation Group) است که به آن کانال پورت یا باندینگ نیز گفته میشود.

LAG امکان تجمیع چندین پورت فیزیکی در یک پورت منطقی واحد را میدهد. مزایای تجمیع لینک شامل پهنای باند بالاتر (برابر با مجموع پهنای باند لینکهای فیزیکی)، توزیع بار (ترافیک روی تمام لینکهای فیزیکی توزیع میشود) و دسترسپذیری بالا (در صورت خرابی یک لینک فیزیکی، لینکهای دیگر به سرویسدهی ادامه میدهند) است.
در حالی که LAG تجمیع لینکهای فیزیکی روی یک سوئیچ را فراهم میکند، LAG چند شاسی (Multi-Chassis LAG) امکان تجمیع پورتهای فیزیکی دو سوئیچ مجزا را در یک پورت منطقی واحد میدهد. سوئیچهای MLAG به عنوان یک سوئیچ لایه ۲ واحد ظاهر میشوند.

دستگاه متصل دوگانه (میزبان یا سوئیچ) یک LAG استاندارد را اجرا میکند و از این واقعیت که LAG آن به دو سوئیچ مجزا متصل است، بیاطلاع است. MLAG پهنای باند و توزیع بار بالا، دسترسپذیری بالا در صورت خرابی لینک و دسترسپذیری بالا در صورت خرابی سوئیچ یا ارتقاء نرمافزار سوئیچ را فراهم میکند.
جمعبندی طراحی لایه ۲

در یک طراحی شبکه لایه ۲ کامل، ما نیاز به پیکربندی MSTP برای پشتیبانی از چندمسیره بودن و MLAG برای انعطافپذیری داریم. در حالی که رویکرد فوق یک طراحی ساده، شناخته شده و آسان برای پیکربندی در مقیاس کوچک است، مدیریت پروتکلهای لایه ۲ در مقیاس بزرگ دشوار است. این طراحی ممکن است برای شرکتهای سنتی با نیازهای شبکه محدود مناسب باشد. نتیجه این است که برای مراکز داده مدرن و پرتقاضا، یک طراحی ۳ لایه مناسبتر خواهد بود.
شبکه لایه ۳ و مزایای آن

در یک طراحی شبکه لایه ۳، روترها یا سوئیچهای لایه ۳ برای مسیریابی پیکربندی شدهاند. مسیریابها یک پایگاه داده ارسال به نام جدول مسیریابی را میسازند و نگهداری میکنند که شبکههای آیپی از راه دور را به مسیریابهای گام بعدی نگاشت میکند. جدول مسیریابی با پیکربندی مسیرهای ثابت یا فعال کردن یک پروتکل مسیریابی پویا مانند OSPF یا BGP پُر میشود. سپس روترها بستههای آیپی را بر اساس ورودیهای جدول مسیریابی به مقصد ارسال میکنند.

دستیابی به توزیع بار و پشتیبانی از چندمسیره بودن در طراحی لایه ۲ بسیار دشوار است و شامل ترکیبی از تنظیمات STP و MLAG است که نگهداری آنها در شبکههای بزرگ سخت است. اما در یک طراحی لایه ۳، به دلیل اینکه پروتکلهای مسیریابی مکانیسمهای داخلی برای شناسایی و حذف حلقههای مسیریابی دارند، این کار بسیار آسانتر است. بنابراین، یک طراحی لایه ۳ لینکهای فعال-فعال (Active-Active) و انعطافپذیر را بدون پورت مسدود شده فراهم میکند.
پروتکلهای مسیریابی همچنین از چندمسیره بودن با هزینه مساوی (Equal-Cost Multi-Path) پشتیبانی میکنند. ECMP یک استراتژی مسیریابی است که امکان ارسال بسته به یک مقصد واحد را از طریق چندین بهترین مسیر میدهد. علاوه بر این، بستههای آیپی حاوی فیلد TTL هستند که برای جلوگیری از گردش بینهایت بستهها در یک حلقه استفاده میشود. اگر یک بسته آیپی در یک حلقه مسیریابی قرار گیرد، حداکثر میتواند ۲۵۵ گام یا مسیریاب را طی کند قبل از اینکه دور انداخته شود.
انتخاب پروتکل مسیریابی: BGP
هنگام انتخاب پروتکل مسیریابی برای استفاده در مرکز داده، گزینههای زیادی وجود ندارد. ترجیحا باید یک پروتکل استاندارد باز، مقیاسپذیر و قوی انتخاب شود. در مقایسه بین دو پروتکل مسیریابی پرکاربرد OSPF و BGP، پروتکل BGP انتخاب ترجیحی در مراکز داده مدرن است. BGP پروتکل مسیریابی است که باعث کارکرد اینترنت میشود و برای مقیاسپذیری و پایداری در شبکههای بسیار بزرگ طراحی شده است. به دلیل ارتباطات غنی در توپولوژی برگ-ستون، BGP به طور فزایندهای به یک پروتکل محبوب برای استفاده در مرکز داده تبدیل شده است. برخی از ویژگیهای برجسته BGP عبارتند از:
- BGP برخلاف OSPF، نیازی به بهروزرسانی دورهای وضعیت مسیریابی ندارد.
- پیادهسازیهای قوی و با تجربه زیادی از سوی فروشندگان دارد.
- BGP یک پروتکل کاملا آزمایششده و مطمئن است که با سالها تجربه عملی همراه است.
گزینههای طراحی لایه ۳

حالا که مطمئن شدیم یک طراحی شبکه ۳ لایه برای مراکز داده مدرن و پرتقاضا مناسبتر است، دو گزینه طراحی را بررسی میکنیم:
- طراحی ترکیبی لایه ۲ و لایه ۳: در این حالت، سوئیچهای برگ (ToR) در جهت گرهها در لایه ۲ عمل میکنند و از MLAG برای انعطافپذیری استفاده میشود. لینکهای ارتباطی از برگ به ستون در لایه ۳ با استفاده از ECMP عمل میکنند تا مقیاسپذیری، انعطافپذیری و توزیع بار را فراهم کنند. این طرحها ساده، شناخته شده و آسان برای پیکربندی هستند اما همچنان از لایه ۲ استفاده میکنند. استقرارهای معمول آن عبارتند از: مراکز داده در شرکتهای بزرگ، میزبانهای Bare Metal در مقیاس بالا و میزبانهای مجازیسازی شده در مقیاس بالا.
- طراحی کامل لایه ۳: در این حالت، از میزبان تا برگ-ستون به طور کامل لایه ۳ است و از مسیریابی و ECMP برای انعطافپذیری حتی در سطح میزبان استفاده میشود. این طراحی یک سطح بسیار بالایی از مقیاسپذیری و انعطافپذیری را فراهم میکند.
نویسنده: حمیدرضا تائبی






