آموزش CCNA : پروتکل FHRP و پروتکل HSRP در سیسکو

در این مقاله میخواهیم به معرفی و روش پیاده سازی پروتکل FHRP و پروتکل HSRP در سیسکو بپردازیم و ببینیم برای Availability یا در دسترس بودن و Redundancy یا افزونگی در سیسکو چه کاری می توان انجام داد.
همانطور که آشنا هستید در شبکه های با مقیاس بزرگ از مدل طراحی سه لایه ای سیسکو که شامل لایه های Core, Distribution و Access هست استفاده شده و برای افزایش Availability یا در دسترس بودن از تکنیک های مختلف Redundancy یا افزونگی استفاده میشود. در اکثر این شبکه ها افزونگی در لایه های توزیع و هسته (Distribution و Core) دیده میشه که ما هم در این آموزش مبنا رو افزونگی در همین لایه ها در نظر می گیریم.
بعضاً در سازمان ها دیده شده علارغم وجود قابلیت استفاده از پروتکل های FHR در سوییچ های لایه Distribution، از تکنیک تنظیم چندین Default Gateway روی کلاینت های مختلف استفاده میشه، یعنی روی بخشی(معمولاً نصفی) از کلاینت ها آدرس آی پی اینترفیس یکی از سوییچ های لایه Distribution رو تنظیم می کنن و روی بخش دیگری از کلاینت ها آدرس آی پی اینترفیس سوییچ دوم رو تنظیم می کنند. اگرچه این روش باعث ایجاد Load Balancing و تا حدودی Redundancy در شبکه می شود ولی در صورت قطعی یکی از لینک ها یا خرابی یکی از سوییچ ها، دسترسی نصف کلاینت ها به کل شبکه قطع خواهد شد.
FHRP ها (first hop redundancy protocol) پروتکل هایی هستند که با ایجاد یک اینترفیس مجازی این مشکل را حل کرده و باعث ایجاد Redundancy و در نتیجه High Availability در لایه Distribution می شوند. عملکرد هر سه پروتکل HSRP, VRRP و GLBP از دید کلاینت ها تقریباً شبیه به هم بوده و کلاینت ها این دو یا چند سوییچ لایه توزیع را به صورت یک سوییچ (میشه گفت سوییچ مجازی) می بینند.
در حالت کلی در تمامی این سه پروتکل یک IP Address و Mac Address به صورت مجازی انتخاب می شود (اینترفیس مجازی ساخته می شود) و سوییچ ها در تصاحب کنترل این اینترفیس مجازی با همدیگر رقابت می کنند!
از پروتکل های FHRP می توان موارد زیر را نام برد:
- پروتکل Hot Standby Router Protocol – HSRP که اختصاصی سیسکو است در سال 1998 معرفی شده است.
- پروتکل Virtual Router Redundancy Protocol – VRRP که یک پروتکل استاندارد است.
- پروتکل Common Address Redundancy Protocol – CARP که شبیه به HSRP است و در سال 2003 معرفی شده است.
- پروتکل Extreme Standby Router Protocol – ESRP
- پروتکل Gateway Load Balancing Protocol – GLBP باز هم یک پروتکل جدیدتر از سیسکو می باشد
- پروتکل Routed Split multi-link trunking – R-SMLT یک پروتکل اختصاصی برای شرکت Avaya می باشد.
- پروتکل NetScreen Redundancy Protocol – NSRP یک پروتکل اختصاصی برای شرکت Juniper Networks می باشد.
پیشنهاد میکنم پادکست زیر رو که از سایت itpro قرار داده ایم را نیز گوش نمایید:
که در زیر به توضیح هر سه پروتکل HSRP, VRRP و GLBP می پردازیم:
پروتکل Hot Standby Router Protocol) HSRP) چیست؟
در ادامه به تشریح شیوهی استفادهی Hot Standby Router Protocol) HSRP) جهت ایجاد Redundancy در مسیریابی، برای مسیریابی ترافیک IP، بدون وابستگی به دردسترس بودن هر یک از روترها، میپردازیم. جهت استفاده از این قابلیت، باید Enhanced Multilayer Software Image یا به اختصار EMI روی Switch مورد نظر نصب باشد. تمام سوئیچهای Catalyst 3550 Gigabit Ethernet، دارای EMI بوده و همچنین بر روی سوئیچهای مدل Catalyst 3550 Fast Ethernet نیز برنامه (SMI (Standard Multilayer Software Image و یا EMI به صورت پیشفرض نصب شده است. در صورت نیاز میتوان بستهی بهروزرسانی Enhanced Multilayer Software Image را جهت Update نمودن سوئیچهای Catalyst 3550 Fast Ethernet از SMI به EMI به شرکت سیسکو سفارش داد و تهیه نمود.
مفهوم HSRP
HSRP یک پروتکل استاندارد سیسکو است؛ که جهت ایجاد High Availability) HA) در شبکه ارائه شده است، این پروتکل از طریق ایجاد Redundancy در First-Hop، برای IP هاستهای روی IEEE 802 LAN، با یک Gateway پیشفرض تنظیم شده است. در واقع HSRP ترافیک IP را بدون هیچگونه وابستگی به در دسترس بودن هر یک از روترها، مسیریابی مینماید. این امر باعث فعال نمودنِ گروهی از Interfaceهای روتر می شود که ظاهر یک روتر مجازی منفرد یا Gateway پیشفرض را به هاستهای روی یک LAN میدهد. هنگامیکه HSRP روی یک شبکه یا Segment پیکربندی میگردد، یک آدرس مجازی MAC و یک IP آدرس میسازد که در گروهی از روترهای پیکربندیشده به اشتراک گذاشته میشود. HSRP به دو یا چند روتر پیکربندیشده بر اساس HSRP اجازه میدهد که از MAC یا IP یک روتر مجازی استفاده نمایند. در واقع، این روتر مجازی وجود ندارد، بلکه هدف مشترک روترهایی است که برای ارائهی پشتیبانی به یکدیگر، تنظیم شدهاند. یکی از روترها به عنوان روتر Active و دیگری بهعنوان روتر Standby انتخاب میشود، روتر Standby، کنترل MAC گروه و IP را، در صورتی که روتر Active از کار بیافتد، بهعهده میگیرد.
HSRP از طریق ایجاد Redundancy روی ترافیک IP از هاستهای شبکه، باعث ایجاد HA در شبکه میگردد. در یک گروه از Interfaceهای روتر، بهترین روتر جهت مسیریابی Packetها، روتر Active محسوب میگردد و متقابلاً روتر Standby همان روتری است که وظایف مسیریابی را هنگام خرابی روتر Active یا فراهم شدن شرایط از پیش تعیین شده بهعهده میگیرد.
HSRP جهت استفاده در Hostهایی مفید است که از Router Discovery Protocol) RDP) پشتیبانی نمیکنند و به تبع آن نمیتوانند هنگامی که روتر انتخابیشان Reload می شود و یا Power آن دچار مشکل می گردد، به روتری جدید سوئیچ نمایند. هنگامی که HSRP روی بخشی از یک شبکه پیکربندی میشود، یک آدرس مجازی MAC و یک IP ساخته می شود که بین Interface روترها، در گروهی از Interfaceهای روتر که HSRP را اجرا میکنند به اشتراک گذاشته میشود. روتری که بوسیله این پروتکل انتخاب می گردد روتر Active می باشد و Packetهای مقصد را برای گروه MAC Address مسیریابی می نماید. توجه داشته باشید که برای N روتری که HSRP را اجرا مینماید، N+1 آدرس IP و MAC اختصاص داده میشود.
پروتکل HSRP قابلیت تشخیص این را دارد که چهزمانی Active Router از کار میافتد و روتر Standby انتخابی، کنترل آدرسهای MAC و IP گروه Hot Standby را بهعهده بگیرد؛ در هر لحظه، یک روتر Standby جدید انتخاب میشود. تجهیزاتی که HSRP را اجرا میکنند به ارسال و دریافت Hello Packetهای Multicast مبتنی بر UDP میپردازند تا خرابی روتر را تشخیص داده و روترهای Active و Standby را تعیین نمایند. این نکته قابل ذکر است که هنگامیکه HSRP روی یک Interface پیکربندی گردد، پروتکل ICMP بهصورت پیشفرض برای Interface غیرفعال می شود.
به طور کلی میتوان چند گروه Hot Standby بین سوئیچهای Catalyst 3550ی که در لایهی ۳ عمل میکنند پیکربندی نمود تا از روترهای اضافی که در مسیر قرار دارد، نهایت استفاده را نمود. جهت انجام این کار، یک شمارهی گروه برای گروه دستوری Hot Standbyی که برای Interface پیکربندی میکند، باید تعیین نمود. به عنوان مثال میتوان یک Interface را روی سوئیچ ۱ بهعنوان روتر Active و دیگری را روی سوئیچ ۲ بهعنوان روتر Standby تنظیم نمود و سپس Interface دیگر را روی سوئیچ ۲، بهعنوان روتر Active با یک Interfaceی دیگر روی سوئیچ ۱ بهعنوان روتر Standby آن تعریف نمود.
شکل زیر، بخشی از شبکه را نشان میدهد که برای HSRP پیکربندی شده است. همانطور که در بالا اشاره شد، هر روتر با آدرس MAC و IP شبکهی روتر مجازی پیکربندی شده است. بهجای پیکربندی Hostهای روی شبکه با IP آدرس روتر A، میتوانید آنها را با IP آدرس روتر مجازی بهعنوان روتر پیشفرض پیکربندی نمایید. وقتی هاست C اقدام به ارسال packetها به هاست B مینماید، روتر B به Virtual IP و Virtual MAC جواب داده و به روتر Active تبدیل میگردد و وظایف روتر Active را بر عهده میگیرد. هاست C همچنان از IP آدرس روتر مجازی برای رسیدگی به packetهای راهی هاست B استفاده میکند. روتر B اکنون آنها را دریافت کرده به هاست B میفرستد. تا زمانی که روتر A مجددا عملیاتی گردد، HSRP به روتر B اجازه میدهد بیوقفه به کاربران بخش هاست C که نیاز به ارتباط با کابران بخش هاست B دارند خدمات ارائه کرده و همچنین به اجرای وظیفهی معمول خود یعنی مدیریت packetها بین بخش هاست A و هاست B بپردازد.

یکی از راههای رسیدن به Uptime تقریباً ۱۰۰ درصدی، استفاده از HSRP است که Redundancy شبکه را برای شبکههای مبتنی بر IP فراهم کرده و رفع مشکل ارسال و دریافت ترافیک کاربر پس از خرابی اولین Hop، در تجهیزات Edge شبکه و مدارهای دسترسی را تضمین مینماید.
با بهاشتراکگذاری آدرسهای IP و MAC، تعداد دو یا چند روتر میتوانند بهعنوان روتر مجازی (Virtual Router) مجزا عمل نمایند. اعضای گروه روتر مجازی، بصورت متوالی اقدام به ارسال و دریافت پیامهای وضعیت میکنند. به این ترتیب، یک روتر میتواند مسئولیت مسیریابی یک روتر دیگر را، در صورتی که بهدلایل برنامهریزی شده یا مشکلاتی پیشبینی نشده از کار افتاد، به عهده بگیرد. همچنین Hostها، packetهای IP را به یک آدرس IP و MAC ثابت Forward میکند و تغییرات تجهیزاتی که مسیریابی را انجام میدهد کاملا مشخص و واضح است.
پروتکل Virtual Router Redundancy Protocol – VRRP چیست؟

این پروتکل توسط IETF به صورت عمومی منتشر شده و قابل استفاده در تمامی سوییچ ها با هر برندی می باشد. نحوه عملکرد کلی آن شبیه HSRP بوده و در موارد جزئی تفاوتی با آن دارد. در این پروتکل می توان از آدرس اینترفیس فیزیکی هم به عنوان آدرس انتخابی مجازی استفاده کرد ولی در HSRP چنین قابلیتی وجود نداشت. هرچند این کار توصیه نمیشه ولی می توان استفاده کرد. همچنین در این پروتکل بر خلاف HSRP چندین سوییچ یا اینترفیس می توانند در گروه به صورت Standby منتظر به دست گرفتن کنترل اینترفیس مجازی بمانند.
پروتکل Gateway Load Balancing Protocol – GLBP چیست؟

پروتکل GLBP ، پروتکل اختصاصی شرکت سیسکو است و بصورت دیفالت از 3 روش برای LOAD-BALANCE استفاده می کند. این پروتکل را در سطح روتر در خیلی از IOS ها می توانیم داشته باشیم اما در زمینه MLS ها ما به سوئیچ های 4500,6500 محدود شده ایم. این پروتکل برای برداشتن محدودیت هایی که در پروتکل HSRP و VRRP با آن مواجه بودیم معرفی شد.
در پروتکل های HSRP و VRRP ما تنها یک روتر ACTIVE داشتیم که ترافیک از طریق آن به خارج از شبکه ( اینترنت ) ارسال می شد و سایر روتر ها منتظر بودند تا روتر ACTIVE ی ، FAIL شود تا جایگزین آن شوند.
همچنین در پروتکل های مزبور (HSRP و VRRP) وقتی کلاینت هایی که برای GATEWAY آنها VIRTUAL IP تخصیص داده شده بود و حالا برای VIRTUAL MAC آنها، ARP REQUEST ارسال میکردند، تنها روتر ACTIVE (در HSRP) و MASTER (در VRRP) جوابگو بودند و برای آنها در ARP REPLY ارسالی، VIRTUAL MAC را معرفی می کردند.
اما در پروتکل GLBP ، وقتی کلاینت ها برای مک VIRTUAL IP ی ، ARP REQUEST ارسال می کنند، روتر AVG پاسخگو است و در هر بار ARP REQUEST کلاینت ها VIRTUAL MAC یکی از FORWARDER ها را معرفی میکند که البته براساس یکسری الگوریتم، این روش (اختصاص VIRTUAL MAC) متفاوت است.
سناریوی پیاده سازی و تنظیمات پروتکل HSRP در سیسکو

خوب وقت آن رسیده که یک سناریو با هم انجام دهیم، به شبکه بالا دقت کنید، ما قرار است HSRP را برای این شبکه راه اندازی کنیم و به PC هایی که سمت چپ قرار دارن یک آدرس آی پی که همان آدرس روتر مجازی (192.168.1.3) ما می باشد را بدهیم. این آدرس آی پی بین روتر 1 و 2 به صورت مشترک استفاده می شود.
برای شروع دستوراتی که ما برای راه اندازی این سناریو بر روی روتر های خود زدیم به صورت زیر می باشد:
R1(config)#interface fastEthernet 0/0
R1(config-if)#ip address 192.168.1.1 255.255.255.0
R1(config-if)#no shutdown
R1(config)#interface fastEthernet 0/1
R1(config-if)#ip address 192.168.24.2 255.255.255.0
R1(config-if)#no shutdown
R1(config)#router eigrp 1
R1(config-router)#network 192.168.1.0
R1(config-router)#network 192.168.24.0
R2(config)#interface fastEthernet 0/0
R2(config-if)#ip address 192.168.1.2 255.255.255.0
R2(config-if)#no shutdown
R2(config)#interface fastEthernet 0/1
R2(config-if)#ip address 192.168.35.3 255.255.255.0
R2(config-if)#no shutdown
R2(config)#router eigrp 1
R2(config-router)#network 192.168.1.0
R2(config-router)#network 192.168.35.0
R3(config)#interface fastEthernet 0/1
R3(config-if)#ip address 192.168.2.1 255.255.255.0
R3(config-if)#no shutdown
R3(config)#interface fastEthernet 0/0
R3(config-if)#ip address 192.168.24.4 255.255.255.0
R3(config-if)#no shutdown
R3(config)#router eigrp 1
R3(config-router)#network 192.168.2.0
R3(config-router)#network 192.168.24.0
R4(config)#interface fastEthernet 0/1
R4(config-if)#ip address 192.168.2.2 255.255.255.0
R4(config-if)#no shutdown
R4(config)#interface fastEthernet 0/0
R4(config-if)#ip address 192.168.35.5 255.255.255.0
R4(config-if)#no shutdown
R4(config)#router eigrp 1
R4(config-router)#network 192.168.2.0
R4(config-router)#network 192.168.35.0
اول وارد اینترفیسی که قرار است HSRP بر روی آن فعال شود شده و سپس شما با دستور زیر می توانید HSRP ورژن یک را فعال کنید و آی پی 192.168.1.3 را بر روی آن ست کنید، در حالت پیشفرض HSRP فعال می شود پس ما در این ورژن برای گروه خود می توانیم از عدد 0 تا 255 رو انتخاب کنیم که در زیر ما گروه شماره 1 را وارد کردیم.
R1(config)#interface fastEthernet 0/0
R1(config-if)#standby 1 ip 192.168.1.3
HSRP دو ورژن دارد که به صورت پیش فرض ورژن 1 آن بر روی روترهای سیسکو فعال می شود، در صورتی که دستور show standby را بزنیم به ما اطلاعاتی از این پروتکل نمایش می دهد، اگر دقت کنید در زیر شماره Group یک وارد شده است ، آی پی مجازی که دریافت کرده (192.168.1.3) است را نمایش می دهد، حتی مک آدرس مجازی که دریافت کرده است (0000.0c07.ac01) را می توانید ببینید که در ورژن یک رنج مک آدرس مجازی 0000.0c07.acXX می باشد و اطلاعات مفید دیگری را در این دستور می توانید مشاهده کنید.

حالا همین دستور را در روتر دوم نیز وارد میکنیم
R2(config)#interface fastEthernet 0/0
R2(config-if)#standby 1 ip
اگه به دستور بالا توجه کنید ما دیگر IP برای آن مشخص نکردیم که دلیل آن این است که به صورت خودکار به کمک بسته هایی که بین این دو روتر ارسال می شود ای پی 192.168.1.3 ما که در روتر اول وارد کردیم به صورت خودکار انتخاب می شود.
حالا در می خواهیم ورژن HSRP را به 2 تغییر دهیم، برای این کار در هر دو روتر دستور زیر را وارد میکنیم:
R(config-if)#standby version 2
و حالا اگر دوباره دستور show standby را وارد کنیم میبینیم که ورژن تغییر کرده و مک آدرس نیست به 0000.0c9f.f001 تغییر پیدا کرده است، رنج مک در ورژن دوم به صورت 0000.0c9f.f0XX می باشد.

نکته: در هر دو روتر باید ورژن ها به صورت یکسان فعال باشند.
به صورت دیفالت اسم اینترفیس شما به عنوان اسم گروه HSRP قرار می گیرد که می توانید در شکل زیر ببینید که اسم hsrp-Fa0/0-1 برای آن انتخاب شده است.

در صورتی که لازم باشد تا این اسم را تغییر دهید می توانید از دستور زیر استفاده کنید:
R(config-if)#standby 1 name nextadmin
برای تغییر Priority که به صورت پیشفرض 100 می باشد از دستور زیر استفاده کنید، Priority زمانی استفاده می شود که میخواهیم مشخص کنید کدام روتر به صورت Active قرار داشته باشد، هرچه عدد بالاتر باشد یعنی آن روتر Priority و اولویت بیشتری دارد.
R(config-if)#standby 1 priority 200
نکته ای که در دستور بالا وجود دارد این است که باید Preemption فعال شود تا روتری که Priority بالاتری دارد انتخاب شود و برای فعال سازی Preemption از دستور زیر استفاده می کنیم زیرا Preemption به صورت پیشفرض خاموش است.
R2(config-if)#standby 1 preempt
نکته: زمانی که Preemption روشن است و تمام Priority ها نیز یکسان باشد روتری انتخاب می شود که ادرس ای پی بالاتری داشته باشد.
دستور زیر هم اطلاعات خوبی چهت خطایابی به ما می دهد:
R#show standby brief
به همین راحتی کار انجام شد و در صورتی که هر یک از این روتر ها غیرفعال شود روتر دیگر می تواند جای روتر خراب را پر کند.
پیشنهاد میکنم حتما این فایل PDF رو که خود سیسکو منتشر کرده است را مطالعه کنید.
PDF | Configuring HSRP – Cisco