زمانی در طراحی شبکه برای پایدار و دسترس پذیری بالا مباحث افزونگی (Redundancy) را رعایت می کنیم و تجهیزات افزونه  مثل روترها، سوئیچ‌ها، لینک‌های LAN و لینک‌های WAN در نظر میگیریم. باید بتوانیم به صورت منطقی از این تجهیزات افزونه بهره ببریم که در زمان بروز مشکل در تجهیزات یا لینک های ارتباط تجهیزات افرونه بدون دخالت نیروی انسانی و صورت کار عمل کنند و شبکه بدون مشکل به کار خود ادامه دهد. برای اینکار باید از تکنولوژی ها و پروتکل‌های که قابلبت افزونگی دارند استفاده کنیم.

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

به‌عنوان مثالی دیگر، یک شبکه LAN با لینک‌ها و سوئیچ‌های افزونه را در نظر بگیرید. چنین شبکه‌ای بدون استفاده از پروتکل های خانواده STP دچار مشکل خواهد شد و لینک های افزونه باعث ایجاد لوپ در شبکه می شود. پروتکل های STP با شناسایی لینک های افزونه و مسدود کردن آنها از بروز مشکلاتی جلوگیری می‌کنند و در زمان نیاز به صورت خودکار این لینک ها را فعال می کند تا ارتباطات شبکه برقرار بماند.

در این مقاله به معرفی FHRP میپردازیم که در بحث افزونگی روترها کاربرد دارد. زمانی که دو یا چند روتر در طراحی شبکه برای یک شبکه LAN در نظر گرفته می شوند دستگاه های آن شبکه فقط می‌توانند از یکی از این روترها به ‌عنوان گیتوی استفاده کنند. برای اینکه بتوانیم به صورت بهینه از روتر افزونه استفاده کنیم و اگر برای روتر اصلی مشکل پیش اومد به صورت خودکار روتر افزونه نقش اونو به عهده بگیرد از پروتکل های خانواده FHRP استفاده می کنیم. اصطلاح First Hop Redundancy Protocol (FHRP)  به دسته‌ای از پروتکل‌ها اشاره دارد که این امکان را میده که دستگاه ها بتوانند با یک IP به عنوان گیتوی خود از همه روترهای افزونه استفاده کنند.

شبکه‌ها برای افزایش دسترس‌پذیری به لینک‌های افزونه نیاز دارند. قطعی و خراب در شبکه امری طبیعی است و بنا به دلایل مختلف ممکن است لینک های ارتباطی یا خود دستگاه ها دچار مشکل شوند به طور مثال ممکن است منبع تغذیه یک روتر خراب شود، یک لینک قطع شود یا یک سوئیچ برق خود را از دست بدهد. یا لینک‌های WAN دچار مشکل شوند.

 

بسته به طراحی شبکه، خرابی در هر کدام از بخش های شبکه می‌تواند باعث قطعی کل شبکه یا بخشی از شبکه یا سرویسی شود که حداقل بخشی از کاربران را تحت تأثیر قرار می‌دهد. مهندسان و طراحان شبکه به هر مؤلفه‌ای که خرابی آن باعث اختلال یا قطعی در شبکه شود Single Point of Failure (SPOF) می‌گویند. برای مثال، در شکل زیر، شبکه‌های LAN تا حدی دارای افزونگی است، اما برای روتر و شبکه WAN این‌گونه نیست. اگر در هر یک از نقاط مشخص شده مشکلی بوجود بیاید باعث قطعی ارتباط با شبکه WAN خواهد شد.

 

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

برای افزایش دسترس‌پذیری، مهندسان شبکه ابتدا طراحی موجود را بررسی کرده و نقاط SPOF را شناسایی می‌کند. سپس تصمیم می‌گیرند که کجا باید اجزایی به شبکه اضافه شود تا یک یا چند نقطه SPOF دارای گزینه جایگزین شوند و در نتیجه دسترس‌پذیری افزایش یابد. به‌طور خاص، مهندس شبکه:

·         دستگاه‌ها و لینک‌های افزونه اضافه می‌کند

·         قابلیت‌ها و مکانیزم‌هایی را پیاده‌سازی می‌کند که بتوانند از این افزونگی استفاده کنند

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

 

در مقایسه با تصویر قبلی با این تغییرات نقاط SPOF ما کمتر شده است و دسترس پذیری و پایداری شبکه ما افزایش پیدا کرده است اما همچنان در طرح ما چند SPOF وجود دارد و در صورتی که در این نقاط مشکلی رخ دهد بازهم ارتباطات ما تحت تاثیر قرار می گیرد.

برای اینکه چند SPOF باقی مانده را از بین ببریم مطابق تصویر زیر یک روتر دیگر به شبکه اضافه می کنیم و همینطور که در تصویر می بینید SPOF های باقی مانده از بین رفته اند و به این شکل شبکه ای بدون SPOF داریم که دسترس پذیری و پایداری بالایی دارد.

 

نکته: هرچقدر بخواهیم دسترس پذیری و پایدار شبکه را افزایش دهیم به همان نسبت هزینه های پیاده سازی و نگهداری شبکه نیز افزایش می یابد. درنتیجه در طراحی شبکه باید بودجه ، اهمیت و حساسیت شبکه و سیاست های سازمان را در نظر گرفته و براساس آن شبکه را طراحی کنیم که بهینه ترین حالت را از نظر بودجه ، دسترس پذیری و پایداری داشته باشیم.

نیاز به پروتکل FHRP جهت بهره برداری از افزونگی فیزیکی

تا اینجای کار از نظر مسیرها و تجهیزات فیزیکی افزونگی را کامل رعایت کرده ایم اما هنوز نمیتوانیم به صورت بهینه از این افزونگی استفاده کنیم. در تصویر بالا کلاینت ها از روتر R1 به عنوان گیتوی خود استفاده می کنند و در صورتی که برای این روتر یا ارتباطات آن مشکلی بوجود آید ارتباط کلاینت با شبکه WAN قطع خواهد شد. یک راه حل این است که کلاینت ها در این زمان گیتوی خود را به روتر R2 تغییر دهند. راه حل بعدی این است که IP روتر R1 را روی روتر R2 قرار دهیم. یا راه حل دیگر این است که نیمی از کلاینت ها از R1 به عنوان گیتوی خود استفاده کنند و نیمی دیگر از کلاینت ها از R2 به عنوان گیتوی استفاده کنند.

در تصویر زیر راه حل سوم نمایش داده شده است.

 

تمام این روش‌ها که به آن اشاره کردیم یک مشکل اساسی دارند اینکه در زمان خرابی نیازمند تغییرات و دخالت نیروی انسانی دارد و کاربران متوجه قطعی می شوند. پس برای اینکه به صورت بهینه و درست از افزونگی ایجاد شده استفاده کنیم نیازمند یک راهکار اصولی هستیم که این راه کار استفاده از FHRP می باشد.

پروتکل‌های FHRP این مشکل را حل می‌کنند، بدون آنکه کاربران متوجه تغییری شوند. دو روتر افزونه از دید میزبان‌ها مانند یک روتر واحد واحد عمل می‌کنند. کاربران هیچ کاری انجام نمی‌دهند؛ تنظیمات کلاینت ها ثابت می‌ماند و جدول‌ ARP آنها نیز تغییری نمی‌کند.

زمانی که روترها از پروتکل‌های FHRP استفاده می کنید از یک آدرس IP مجازی (Virtual IP) استفاده می کنند و این Virtual IP توسط کلاینت ها به عنوان گیتوی استفاده می شود. روترهای FHRP با یکدیگر پیام های کنترلی ردوبدل می کنند و به این شکل از وضعیت یکدیگر آگاه می شوند و مشخص می کنند که کدام روتر Virtual IP را دراختیار داشته باشد و ترافیک به این Virtual IP را هدایت کند. به این شکل Virtual IP که به عنوان گیتوی کلاینت هاست همیشه در دسترس است و در صورت خرابی در لینک ها یا خود روتر اصلی ، روتر افزونه Virtual IP را در اختیار می گیرید و ترافیک ارسالی به آن را هدایت و مدیریت می کند.

پروتکل های خانواده FHRP

اصطلاح FHRP که مخفف First Hop Redundancy Protocol است به یک پروتکل خاصی اشاره نمی‌کند، بلکه نام یک خانواده از پروتکل‌هاست که همگی یک نقش مشابه را ایفا می‌کنند. و طراح و مهندسان شبکه براساس نیاز و شرایط یکی از این پروتکل ها را انتخاب و استفاده می کنند.

سه پروتکل اصلی FHRP به ترتیب ورود به بازار عبارت‌اند از:

  • HSRP (Hot Standby Router Protocol): پروتکل اختصاصی سیسکو که اولین بار معرفی شد و برای مدت طولانی مورد استفاده قرار گرفت.
  • VRRP (Virtual Router Redundancy Protocol) : پروتکل استاندارد IETF که بعدها برای ایجاد سازگاری بین تجهیزات برندهای مختلف توسعه یافت.
  • GLBP (Gateway Load Balancing Protocol): پروتکل پیشرفته‌تر سیسکو که علاوه بر افزونگی، امکان توزیع بار ترافیکی را نیز فراهم می‌کند.