اگر تمام کاربران یک VLAN فقط از یک Router بهعنوان Default Gateway استفاده کنند، خرابی همان Router میتواند ارتباط آنها با شبکههای دیگر را قطع کند. این وضعیت یک Single Point of Failure ایجاد میکند. پروتکل HSRP یا Hot Standby Router Protocol برای جلوگیری از همین مشکل استفاده میشود. در این روش چند Router یک Gateway مجازی را در اختیار کاربران قرار میدهند تا در صورت خرابی Router اصلی، دستگاه دیگری بتواند وظیفه Gateway را ادامه دهد.
در این مقاله ابتدا با نحوه عملکرد HSRP و مفاهیمی مثل Virtual IP، Active، Standby و Priority آشنا میشویم و سپس سراغ Configuration، Tracking و روشهای Troubleshooting میرویم.
⏲ زمان تخمینی مطالعه: 17 دقیقه
فهرست موضوعات
HSRP چیست؟
پروتکل HSRP یا Hot Standby Router Protocol یک پروتکل اختصاصی Cisco برای ایجاد افزونگی در Default Gateway است. با HSRP چند دستگاه Layer 3 میتوانند یک Gateway منطقی مشترک برای کاربران فراهم کنند. هدف اصلی HSRP این است که خرابی یک Router باعث از دست رفتن Gateway کاربران نشود.
HSRP چه مشکلی را در شبکه حل میکند؟
اگر R1 تنها Gateway یک VLAN باشد و از مدار خارج شود، سیستمهای آن VLAN دیگر مسیر عادی خود برای خروج از Subnet را نخواهند داشت. HSRP با ایجاد یک Gateway مجازی، این وابستگی را کاهش میدهد.
چرا به Gateway Redundancy نیاز داریم؟
Gateway در شبکههای سازمانی یکی از مسیرهای حیاتی برای دسترسی کاربران به شبکههای دیگر است. بنابراین اگر فقط یک دستگاه این وظیفه را بر عهده داشته باشد، همان دستگاه میتواند به یک نقطه شکست تبدیل شود.
داشتن دو Router بهتنهایی کافی نیست. باید راهی وجود داشته باشد که در صورت خرابی Router اصلی، کاربران بدون تغییر Gateway به Router دوم منتقل شوند. HSRP این جابهجایی را پشت یک آدرس مجازی انجام میدهد تا تغییر Router برای کلاینتها محسوس نباشد.
HSRP در چه لایهای کار میکند؟
HSRP در لایه 3 و برای First Hop Redundancy استفاده میشود. پس خودش وظیفه Routing بین شبکهها را بر عهده ندارد؛ هدف اصلی این است که Gateway کاربران در صورت خرابی یک Router همچنان در دسترس بماند.
پیشنهاد مطالعه بیشتر:
HSRP چگونه کار میکند؟
در یک مثال ساده نحوه کار HSRP را توضیح میدهیم. R1 و R2 را در نظر بگیرید که به یک VLAN متصل هستند. هر دو در یک HSRP Group قرار دارند و برای Gateway از یک Virtual IP مشترک استفاده میکنند:
در این وضعیت، R1 نقش Active را دارد و ترافیک Gateway از طریق آن عبور میکند. R2 در حالت Standby منتظر میماند و در حالت عادی وظیفه Gateway را بر عهده نمیگیرد.
نکته مهم اینجاست که کاربران مستقیما با IP واقعی R1 یا R2 کار نمیکنند. Gateway آنها همان Virtual IP است و HSRP در کنار آن یک Virtual MAC هم در اختیار گروه قرار میدهد.
حالا اگر R1 از دسترس خارج شود، R2 بعد از تشخیص Failure نقش Active را میگیرد. از دید کلاینت، Gateway همچنان همان آدرس قبلی است؛ بنابراین لازم نیست تنظیمات IP سیستمها تغییر کند.
معرفی اجزای اصلی HSRP
قبل از رفتن سراغ Configuration، بهتر است نقش هرکدام از اجزای HSRP را بشناسیم:
| مؤلفه | کاربرد |
|---|---|
| Virtual IP | آدرس Gateway که کلاینتها استفاده میکنند |
| Virtual MAC | MAC مربوط به Gateway مجازی |
| Active Router | Router اصلی در گروه |
| Standby Router | Router آماده برای جایگزینی |
| HSRP Group | مشخصکننده گروه HSRP |
| Priority | تعیین اولویت Routerها |
| Preempt | امکان بازپسگیری نقش Active |
| Tracking | تغییر Priority براساس وضعیت یک مسیر یا Interface |
Active و Standby در HSRP چگونه انتخاب میشوند؟
وقتی HSRP روی دو یا چند Router فعال میشود، Routerها برای تعیین نقشهای Active و Standby وارد فرآیند Election میشوند. در این فرآیند، Router دارای بالاترین Priority بهعنوان Active انتخاب میشود و Router بعدی نقش Standby را بر عهده میگیرد. اگر Priority دو Router برابر باشد، IP Address بالاتر برای تعیین برنده Election در نظر گرفته میشود.
Priority در HSRP چیست؟
Priority مشخص میکند کدام Router در زمان Election شانس بیشتری برای Active شدن داشته باشد. مقدار پیشفرض آن 100 است و عدد بالاتر، اولویت بیشتری ایجاد میکند.
مثلاً اگر بخواهیم R1 با Priority برابر 120 در اولویت باشد، روی Interface مربوط به HSRP مینویسیم:
تنظیم Priority برای Router در HSRP
R1(config-if)# standby 1 priority 120
در این مرحله، مقدار Priority برای Router با نام R1 روی عدد 120 تنظیم میشود. از آنجا که مقدار پیشفرض Priority در HSRP برابر 100 است، R1 با Priority بالاتر شانس بیشتری برای انتخاب شدن بهعنوان Active Router در فرآیند Election خواهد داشت.
Preempt در HSRP چیست؟
Preempt تعیین میکند که Router با Priority بالاتر بتواند بعد از بازگشت، دوباره نقش Active را در اختیار بگیرد.
حالا فرض کنیم R1 که Priority بالاتری دارد، از مدار خارج شود و R2 جای آن را بگیرد. وقتی R1 دوباره در دسترس قرار گرفت، بالا بودن Priority بهتنهایی برای پس گرفتن نقش Active کافی نیست.
اگر میخواهیم R1 بعد از بازگشت دوباره Active شود، باید Preempt را فعال کنیم:
فعالسازی Preempt در HSRP
R1(config-if)# standby 1 preempt
با اجرای دستور standby 1 preempt، Router R1 میتواند در صورت داشتن Priority بالاتر، پس از بازگشت به شبکه دوباره نقش Active Router را به دست آورد. به این ترتیب، اگر در زمان قطعی R1، روتر دیگری مانند R2 نقش Active را بر عهده گرفته باشد، R1 پس از بازگشت و برقراری شرایط لازم میتواند جایگاه Active را از R2 پس بگیرد.
پیشنهاد مطالعه بیشتر:
آموزش پیکربندی HSRP در Cisco
برای یک Configuration ساده، فرض کنیم دو Router داریم، برای پیادهسازی چنین سناریوهایی میتوان از محصولات سیسکو استفاده کرد و تجهیزات موردنیاز را بر اساس ساختار شبکه، تعداد کاربران و نیازهای Redundancy انتخاب کرد.
R1 = 192.168.10.2/24
R2 = 192.168.10.3/24
Virtual IP = 192.168.10.1
HSRP Group = 1
در این سناریو، دو Router با آدرسهای 192.168.10.2 و 192.168.10.3 در گروه HSRP شماره 1 قرار دارند. آدرس 192.168.10.1 بهعنوان Virtual IP استفاده میشود و کلاینتها میتوانند این آدرس را بهعنوان Default Gateway تنظیم کنند. HSRP با استفاده از این Virtual IP، در صورت از دسترس خارج شدن Router فعال، امکان انتقال Gateway به Router دیگر را فراهم میکند.
مثال ساده HSRP
هدف این است که R1 Router اصلی باشد و R2 در صورت خرابی R1 جای آن را بگیرد.
ابتدا Interface هر دو Router را تنظیم میکنیم:
تنظیم آدرس IP روی اینترفیسهای R1 و R2
R1(config)# interface GigabitEthernet0/0
R1(config-if)# ip address 192.168.10.2 255.255.255.0
R1(config-if)# no shutdown
در R1، اینترفیس GigabitEthernet0/0 انتخاب شده و آدرس IP برابر 192.168.10.2/24 روی آن تنظیم میشود. دستور no shutdown نیز اینترفیس را فعال میکند.
R2(config)# interface GigabitEthernet0/0
R2(config-if)# ip address 192.168.10.3 255.255.255.0
R2(config-if)# no shutdown
در R2 نیز همین تنظیمات انجام میشود، با این تفاوت که آدرس IP اینترفیس GigabitEthernet0/0 برابر 192.168.10.3/24 است. به این ترتیب، هر دو Router در یک Subnet قرار گرفته و برای راهاندازی HSRP آماده میشوند.
تنظیم HSRP روی Routerها
حالا Virtual IP را روی هر دو Router تعریف میکنیم:
تنظیم Virtual IP و تعیین Router فعال در HSRP
R1(config-if)# standby 1 ip 192.168.10.1
R2(config-if)# standby 1 ip 192.168.10.1
در این مرحله، آدرس 192.168.10.1 بهعنوان Virtual IP برای گروه HSRP شماره 1 روی هر دو Router تعریف میشود. این آدرس، Gateway مجازی شبکه است و در صورت از دسترس خارج شدن Router فعال، Router دیگر میتواند پاسخگویی به آن را بر عهده بگیرد.
برای اینکه R1 اولویت بیشتری داشته باشد و پس از بازگشت بتواند در صورت نیاز نقش Active را دوباره به دست آورد، Priority و Preempt را روی آن فعال میکنیم:
R1(config-if)# standby 1 priority 120
R1(config-if)# standby 1 preempt
در این سناریو، Priority پیشفرض R2 برابر 100 باقی میماند. بنابراین R1 با Priority برابر 120، Router اصلی و Active خواهد بود و R2 با Priority برابر 100 در حالت Standby قرار میگیرد.
پس تا زمانی که R1 شرایط لازم را داشته باشد، Active خواهد بود و R2 نقش Standby را دارد. Syntax اصلی فعالسازی HSRP، تنظیم Priority و Preempt نیز در مستندات Cisco با همین ساختار ارائه شده است .
پیشنهاد مطالعه بیشتر:
Hello و Hold Timer در HSRP چیست؟
Routerهای HSRP برای اینکه از وضعیت یکدیگر باخبر بمانند، پیامهای Hello ارسال میکنند.Hello Timer فاصله ارسال این پیامها را مشخص میکند و Hold Timer مدت زمانی را تعیین میکند که Router برای دریافت پیام معتبر منتظر میماند.
مقدار پیشفرض Hello برابر 3 ثانیه و Hold برابر 10 ثانیه است. اگر به Failover سریعتری نیاز داشته باشیم، میتوان این مقادیر را تغییر داد:
standby 1 timers 1 3
این تنظیم Hello را به یک ثانیه و Hold را به سه ثانیه کاهش میدهد.
البته سریعتر کردن Failover همیشه به معنی بهتر شدن Configuration نیست. Timerهای خیلی تهاجمی میتوانند در شبکههای ناپایدار باعث تشخیص اشتباه Failure شوند.
HSRP Interface Tracking چیست؟
ممکن است خود Router مشکلی نداشته باشد و Interface مربوط به LAN هم Up باشد، اما یک لینک یا مسیر مهم دیگر از کار افتاده باشد. در چنین وضعیتی، HSRP بهتنهایی متوجه خرابی آن مسیر نمیشود.
اینجا Interface Tracking به کار میآید، میتوانیم تنظیم کنیم که با Down شدن یک Interface، Priority Router کاهش پیدا کند.
Tracking با Priority چگونه کار میکند؟
برای مثال R1 را با Priority برابر 120 در نظر بگیرید. اگر مسیر مهمی که از طریق GigabitEthernet0/1 در اختیار آن است از دست برود، میتوانیم Priority را کاهش دهیم تا R2 شانس بیشتری برای Active شدن داشته باشد:
فعالسازی Interface Tracking و کاهش Priority در HSRP
R1(config)# track 1 interface GigabitEthernet0/1 line-protocol
R1(config-if)# standby 1 track 1 decrement 30
در این مرحله، وضعیت Interface GigabitEthernet0/1 توسط قابلیت Object Tracking بررسی میشود. اگر وضعیت اینترفیس از حالت Up خارج شود، مقدار Priority مربوط به R1 به اندازه 30 کاهش پیدا میکند. این مکانیزم کمک میکند HSRP در صورت بروز مشکل در یک لینک، Router مناسبتری را بهعنوان Active انتخاب کند.
HSRP و IP SLA؛ تشخیص خرابی واقعی مسیر
Tracking همیشه به معنی بررسی سلامت واقعی مقصد نیست. ممکن است Interface WAN همچنان Up باشد، اما مسیر به مقصد مهم شبکه قطع شده باشد.
اینجا میتوان IP SLA را با Object Tracking و HSRP ترکیب کرد تا وضعیت Reachability یک مقصد مشخص بررسی شود. اگر نتیجه SLA نشان دهد مقصد در دسترس نیست، Object تغییر وضعیت میدهد و Priority HSRP کاهش پیدا میکند.
این روش مخصوصاً زمانی مفید است که Up بودن Interface الزاماً به معنی سالم بودن مسیر نیست.
HSRP Version 1 و Version 2 چه تفاوتی دارند؟
HSRP در دو نسخه اصلی استفاده میشود. یکی از تفاوتهای مهم آنها محدوده Group Number است:
| ویژگی | HSRPv1 | HSRPv2 |
|---|---|---|
| Group Number | 0 تا 255 | 0 تا 4095 |
| Multicast Address | 224.0.0.2 | 224.0.0.102 |
برای استفاده از Version 2:
فعالسازی HSRPv2
interface GigabitEthernet0/0
standby version 2
با اجرای دستور standby version 2 روی اینترفیس GigabitEthernet0/0، نسخه HSRP به HSRPv2 تغییر میکند. این نسخه امکان استفاده از شماره گروههای بیشتری را فراهم میکند و از آدرس Multicast 224.0.0.102 برای ارسال پیامهای HSRP استفاده میکند.
برای انتخاب Version، سازگاری آن با Platform و نسخه IOS یا IOS XE تجهیزات را هم بررسی کنید.
دستورهای مهم HSRP برای بررسی وضعیت
بعد از Configuration، وضعیت واقعی HSRP را با چند Command بررسی کنید.
بررسی وضعیت HSRP با دستورات Show
show standby
دستور show standby اطلاعات کامل وضعیت HSRP را نمایش میدهد؛ از جمله Active و Standby Router، مقدار Priority، شماره HSRP Group، آدرس Virtual IP و وضعیت Preempt.
show standby brief
برای مشاهده خلاصه وضعیت HSRP میتوان از show standby brief استفاده کرد. این دستور اطلاعات اصلی گروههای HSRP، وضعیت Router، آدرس Virtual IP و Priority را بهصورت فشرده نمایش میدهد و برای بررسی سریع وضعیت شبکه کاربردی است.
با این دستورات میتوان State، Active Router، Standby Router، Virtual IP و Priority را بررسی کرد.
اگر Priority چیزی غیر از مقدار مورد انتظار باشد، Tracking را هم بررسی کنید. در یک Configuration ساده، show standby اطلاعات اصلی وضعیت HSRP را در اختیار شما قرار میدهد. Cisco نیز این Command را برای نمایش اطلاعات گروههای HSRP ارائه میکند.
عیبیابی HSRP؛ چرا HSRP کار نمیکند؟
برای عیبیابی، اول وضعیت HSRP و Interfaceها را بررسی کنید و فقط در صورت نیاز سراغ Debug بروید.
Active و Standby تشکیل نمیشوند
اگر نقشهای Active و Standby در HSRP تشکیل نشوند، ابتدا وضعیت HSRP را با دستور زیر بررسی کنید:
show standby
سپس وضعیت اینترفیسها را با دستور زیر بررسی کنید:
show ip interface brief
در خروجی این دستورات، Group Number، Virtual IP، وضعیت اینترفیسها و در صورت استفاده، HSRP Version را بررسی کنید. دو Router باید در شرایطی باشند که بتوانند پیامهای HSRP را از یکدیگر دریافت کنند؛ در غیر این صورت، فرآیند Election بهدرستی انجام نمیشود و نقشهای Active و Standby تشکیل نخواهند شد.
Router موردنظر Active نمیشود
ابتدا مقدار Priority را بررسی کنید:
show standby
ممکن است Priority پیکربندیشده، مثلاً 120 باشد، اما قابلیت Tracking باعث کاهش آن شده باشد. همچنین اگر انتظار دارید Router پس از بازگشت دوباره نقش Active را به دست آورد، تنظیمات مربوط به Preempt را بررسی کنید.
Failover انجام نمیشود
در این حالت ابتدا وضعیت HSRP و Timerهای مربوط به آن را بررسی کنید:
show standby
اگر از Tracking استفاده شده است، وضعیت آن را نیز بررسی کنید:
show track
اگر در Configuration از IP SLA استفاده شده است، وضعیت و عملکرد آن را نیز بررسی کنید تا مشخص شود شرایط لازم برای تغییر نقش HSRP برقرار شده است.
Virtual IP قابل دسترسی نیست
ابتدا مطمئن شوید یکی از Routerها واقعاً در وضعیت Active قرار دارد. سپس وضعیت Interface، VLAN، ARP و ارتباط Layer 2 را بررسی کنید.
اگر HSRP بهدرستی تشکیل شده باشد، مشکل ممکن است مربوط به خود HSRP نباشد و در مسیر Layer 2 یا تنظیمات Default Gateway کلاینت قرار داشته باشد.
تفاوت HSRP و VRRP چیست؟
HSRP و VRRP هر دو برای Gateway Redundancy استفاده میشوند، اما تفاوت مهم آنها این است که HSRP فناوری Cisco است، در حالی که VRRP یک استاندارد باز است.
| ویژگی | HSRP | VRRP |
|---|---|---|
| توسعهدهنده | Cisco | IETF |
| کاربرد | Gateway Redundancy | Gateway Redundancy |
| مناسب برای | محیطهای Cisco | محیطهای Multi-vendor |
اگر شبکه شما Cisco است، HSRP انتخاب خوبی است. اما در یک شبکه متشکل از تجهیزات چند Vendor، VRRP ارزش بررسی بیشتری دارد.
تفاوت HSRP، VRRP و GLBP چیست؟
تفاوت اصلی این سه پروتکل را میتوان خیلی خلاصه اینطور دید:
| کاربرد | پروتکل |
|---|---|
| Gateway Redundancy | HSRP |
| Gateway Redundancy | VRRP |
| Gateway Redundancy + Load Balancing | GLBP |
HSRP در حالت معمول یک Active و یک Standby دارد، یعنی وظیفه Router پشتیبان همیشه تقسیم ترافیک Gateway بین کاربران نیست. اگر علاوه بر افزونگی، هدف شما استفاده همزمان از چند Gateway برای توزیع ترافیک باشد، باید فناوریهایی مانند GLBP را نیز بررسی کنید.
مزایا و معایب HSRP چیست؟
مزایای HSRP
مهمترین مزیت HSRP این است که برای Gateway یک نقطه پشتیبان در نظر میگیرد و وابستگی شبکه به یک Router را کاهش میدهد. این قابلیت در شبکههایی که دسترسپذیری Gateway اهمیت زیادی دارد، ارزش بالایی دارد.
قابلیتهای Priority، Preempt و Tracking نیز امکان کنترل دقیقتر رفتار Routerها را فراهم میکنند و به مدیر شبکه اجازه میدهند HSRP را متناسب با شرایط شبکه تنظیم کند.
محدودیتهای HSRP
HSRP فناوری اختصاصی Cisco است و در محیطهای Multi-vendor محدودیت بیشتری نسبت به پروتکلهای استاندارد مانند VRRP دارد. همچنین HSRP بهتنهایی مشکل تمام مسیرهای شبکه را حل نمیکند. اگر Routing، لینک WAN یا یک سرویس بالادستی دچار مشکل شود، باید برای آن بخش نیز مکانیزم مناسب طراحی شود.
در نتیجه، HSRP افزونگی Gateway را فراهم میکند، اما بهتنهایی کل شبکه را بهصورت خودکار High Available نمیکند.
HSRP چه تفاوتی با Load Balancing دارد؟
این دو مفهوم را نباید یکی دانست.
HSRP و Load Balancing دو هدف متفاوت دارند. HSRP در درجه اول برای Gateway Redundancy و Failover استفاده میشود، در حالی که Load Balancing به توزیع ترافیک بین چند مسیر یا منبع مربوط است.
چه زمانی استفاده از HSRP منطقی است؟
HSRP زمانی منطقی است که چند Router یا Layer 3 Switch در یک شبکه دارید و نمیخواهید خرابی یکی از آنها باعث از دست رفتن Gateway کاربران شود. در شبکههای سازمانی و محیطهای Campus، استفاده از سوئیچ سیسکو لایه 3 نیز میتواند برای پیادهسازی Gateway Redundancy و مدیریت ارتباط بین VLANها گزینه مناسبی باشد.
برای مثال در شبکههای سازمانی، Campus و لایه Distribution میتوان دو دستگاه را برای یک VLAN در یک HSRP Group قرار داد و با Priority و Tracking مشخص کرد کدام دستگاه در حالت عادی Gateway اصلی باشد.
اگر برای پیادهسازی زیرساخت شبکه به تجهیزات Cisco و سایر تجهیزات موردنیاز شبکه نیاز دارید، میتوانید محصولات ارائهشده توسط تجارت سرور پارسه را بررسی کنید.
سوالات متداول درباره HSRP
آیا HSRP باعث Load Balancing میشود؟
خیر. HSRP در درجه اول برای Gateway Redundancy و Failover استفاده میشود و در حالت معمول یک Router نقش Active و Router دیگر نقش Standby را دارد. اگر هدف توزیع ترافیک بین چند Gateway باشد، باید راهکارهایی مانند GLBP یا روشهای دیگر Load Balancing را بررسی کرد.
آیا HSRP روی Switch لایه 3 اجرا میشود؟
بله، HSRP میتواند روی تجهیزات Layer 3 مانند Routerها و Layer 3 Switchها استفاده شود؛ البته پشتیبانی دقیق آن به مدل دستگاه و نسخه IOS یا IOS XE بستگی دارد.
Virtual IP در HSRP چه کاربردی دارد؟
Virtual IP همان آدرسی است که کلاینتها بهعنوان Default Gateway تنظیم میکنند. این آدرس به یک Router فیزیکی خاص وابسته نیست و در زمان Failover، Router جدید میتواند بدون نیاز به تغییر تنظیمات Gateway کلاینتها، وظیفه Gateway را بر عهده بگیرد.
اگر Active Router Down شود چه اتفاقی میافتد؟
اگر Active Router از دسترس خارج شود، Router موجود در حالت Standby پس از تشخیص Failure نقش Active را بر عهده میگیرد. چون کلاینتها از Virtual IP بهعنوان Gateway استفاده میکنند، نیازی به تغییر Gateway روی سیستمهای کاربران نیست.
آیا Priority بالاتر همیشه باعث Active شدن میشود؟
خیر. Priority بالاتر در فرآیند انتخاب Active اهمیت دارد، اما بهتنهایی تضمین نمیکند Router بتواند پس از بازگشت، نقش Active را از Router فعلی پس بگیرد. برای این کار باید Preempt نیز در Configuration در نظر گرفته شود. همچنین Tracking میتواند Priority مؤثر Router را کاهش دهد.
Preempt چه زمانی ضروری است؟
زمانی که میخواهید Router دارای Priority بالاتر، پس از بازگشت از Failure دوباره نقش Active را در اختیار بگیرد، باید Preempt را فعال کنید. برای مثال، اگر R1 با Priority 120 از مدار خارج شود و R2 با Priority 100 Active شود، فعال بودن Preempt روی R1 باعث میشود پس از بازگشت R1، امکان بازپسگیری نقش Active را داشته باشد.
HSRP با IP SLA چه تفاوتی دارد؟
HSRP وظیفه Gateway Redundancy و Failover را بر عهده دارد، در حالی که IP SLA برای بررسی وضعیت یا دسترسیپذیری یک مقصد یا سرویس استفاده میشود. با ترکیب IP SLA، Object Tracking و HSRP میتوان سلامت واقعی یک مسیر را بررسی کرد و در صورت از دست رفتن دسترسی، Priority مربوط به HSRP را کاهش داد.
آیا HSRP برای IPv6 هم وجود دارد؟
بله. Cisco برای HSRP در محیطهای IPv6 نیز قابلیت و Configuration جداگانه ارائه میکند. Syntax دقیق Configuration میتواند بر اساس Platform و نسخه IOS یا IOS XE متفاوت باشد.
