هر کامپیوتر و سرور در شبکه فقط یک Default Gateway دارد. اگر روتر یا سوئیچ لایه ۳ ای که آن گیتوی است از کار بیفتد، همه دستگاههای آن شبکه از بقیه دنیا جدا میشوند، حتی اگر روتر دوم سالم کنارش نشسته باشد. HSRP یا Hot Standby Router Protocol ، پروتکل سیسکو برای حل همین مشکل است: دو یا چند روتر یک IP و MAC مجازی مشترک میسازند، یکی فعال است و بقیه منتظر، و اگر فعال بیفتد، دیگری در چند ثانیه جایش را میگیرد؛ بدون اینکه تنظیمی روی کلاینتها عوض شود.
در این مطلب HSRP را از مفهوم تا کانفیگ کامل مرور میکنیم: نقشها و حالتها، نسخه ۱ و ۲ ، Priority و Preempt ، Tracking برای وقتی که لینک WAN میافتد نه خود روتر، تقسیم بار با چند گروه، احراز هویت، دستورهای بررسی و مقایسه با VRRP و GLBP. توضیحات بر پایه راهنمای رسمی HSRP در Catalyst 9300 است و روی روترهای ISR و سوئیچهای لایه ۳ کاتالیست یکسان کار میکند.

HSRP در یک نگاه
| هدف | افزونگی Default Gateway با یک IP و MAC مجازی مشترک |
| نقشها | Active (پاسخگو و فورواردر) ، Standby (پشتیبان اول) ، بقیه Listen |
| پیشفرضها | Priority 100 ، Hello هر ۳ ثانیه ، Hold ده ثانیه ، Preempt خاموش |
| HSRPv1 | گروه 0 تا 255 ، multicast 224.0.0.2 ، MAC مجازی 0000.0c07.acXX |
| HSRPv2 | گروه 0 تا 4095 ، multicast 224.0.0.102 ، MAC مجازی 0000.0c9f.fXXX ، پشتیبانی IPv6 |
| استاندارد باز معادل | VRRP (RFC 5798) |
فهرست مطالب
HSRP چطور کار میکند
روترهای یک گروه HSRP روی یک VLAN یا subnet ، هر کدام IP واقعی خودشان را دارند و علاوه بر آن یک IP مجازی مشترک تعریف میکنند. کلاینتها همین IP مجازی را بهعنوان Default Gateway دارند. روتری که Active است به ARP برای IP مجازی با MAC مجازی جواب میدهد و ترافیک را فوروارد میکند. روتر Standby با گوش دادن به Helloهای Active ، سلامت آن را زیر نظر دارد. اگر در زمان Hold (پیشفرض ۱۰ ثانیه) Hello نرسد، Standby فعال میشود و همان IP و MAC مجازی را برمیدارد؛ چون MAC عوض نشده، کلاینتها حتی جدول ARP خود را بهروز نمیکنند.
| حالت | معنی |
|---|---|
| Initial / Learn | روتر تازه شروع کرده یا هنوز IP مجازی را نمیداند |
| Listen | IP مجازی را میداند اما نه Active است نه Standby |
| Speak | در حال شرکت در انتخاب Active و Standby |
| Standby | پشتیبان اول؛ آماده گرفتن نقش Active |
| Active | فوروارد ترافیک و پاسخ به ARP |
انتخاب Active بر اساس Priority است (عدد بالاتر برنده است) و در تساوی، IP واقعی بالاتر برنده میشود.
کانفیگ پایه
فرض کنید سرورها در شبکه 192.168.10.0/24 هستند و Default Gateway آنها 192.168.10.1 است. دو روتر (یا دو سوئیچ لایه ۳) به نام R1 و R2 را گیتوی مشترک میکنیم. توجه کنید IP مجازی و IP واقعی روترها باید در یک subnet باشند.
! ---------- R1 (Active) ---------- interface GigabitEthernet0/0/1 description LAN - Servers ip address 192.168.10.2 255.255.255.0 standby version 2 standby 10 ip 192.168.10.1 standby 10 priority 110 standby 10 preempt delay minimum 60 standby 10 authentication md5 key-string Hsrp-K3y ! ! ---------- R2 (Standby) ---------- interface GigabitEthernet0/0/1 description LAN - Servers ip address 192.168.10.3 255.255.255.0 standby version 2 standby 10 ip 192.168.10.1 standby 10 priority 100 standby 10 preempt standby 10 authentication md5 key-string Hsrp-K3y
چند نکته که در کانفیگهای اشتباه زیاد میبینیم:
- شماره گروه باید روی همه روترها یکی باشد. اگر روی یک روتر
standby 10و روی دیگریstandbyبدون شماره (یعنی گروه 0) بزنید، دو گروه جدا ساختهاید و هر دو خود را Active میدانند. - نسخه (
standby version) و احراز هویت روی همه اعضا یکسان باشد. - Preempt بهطور پیشفرض خاموش است. بدون آن، وقتی R1 بعد از خرابی برمیگردد، نقش Active را پس نمیگیرد.
preempt delay minimum 60باعث میشود R1 بعد از بوت، ۶۰ ثانیه صبر کند تا مسیریابیاش کامل شود و بعد Active شود؛ وگرنه ترافیک را به روتری میدهد که هنوز جدول مسیر ندارد.
تایمرها و همگرایی سریعتر
با تایمرهای پیشفرض (Hello سه ثانیه، Hold ده ثانیه)، جابهجایی تا ۱۰ ثانیه طول میکشد. برای سرویسهای حساس میتوانید تایمرها را کوتاه کنید؛ حتی به میلیثانیه:
standby 10 timers msec 250 msec 800
تایمر کوتاه یعنی بار بیشتر روی CPU و احتمال جابهجایی کاذب در شبکه شلوغ. برای بیشتر شبکهها standby 10 timers 1 3 تعادل خوبی است. اگر Hold را خیلی کوتاه کردید، BFD را هم در نظر بگیرید.
Tracking : وقتی لینک اینترنت میافتد نه خود روتر
سناریوی رایج: R1 سالم است و Active میماند، اما لینک WAN آن قطع شده. کلاینتها همچنان ترافیک را به R1 میدهند و R1 آن را جایی نمیتواند بفرستد. راهحل Object Tracking است: وضعیت لینک WAN یا دسترسی به یک IP را زیر نظر میگیریم و اگر افتاد، Priority روتر را کم میکنیم تا R2 (که preempt دارد) Active شود.
! track the WAN interface line-protocol track 1 interface GigabitEthernet0/0/0 line-protocol ! ! or better: track reachability to the ISP gateway with IP SLA ip sla 10 icmp-echo 203.0.113.1 source-interface GigabitEthernet0/0/0 frequency 5 ip sla schedule 10 life forever start-time now track 2 ip sla 10 reachability ! interface GigabitEthernet0/0/1 standby 10 track 2 decrement 20
با افت track ، Priority روتر R1 از 110 به 90 میرسد و چون R2 با Priority 100 و preempt منتظر است، Active میشود. IP SLA بهتر از ردیابی اینترفیس است، چون قطعیهایی را هم که لینک up میماند اما مسیر کار نمیکند، تشخیص میدهد؛ جزئیات را در مطلب سیسکو IP SLA چیست ببینید.
تقسیم بار با چند گروه
در HSRP فقط روتر Active ترافیک را جابهجا میکند و Standby بیکار است. برای استفاده از هر دو روتر، دو گروه میسازیم: R1 برای گروه ۱۰ و R2 برای گروه ۲۰ Active است، و نیمی از کلاینتها (یا یک VLAN) گیتوی اول و نیمی دیگر گیتوی دوم را میگیرند.
! R1 interface Vlan10 ip address 192.168.10.2 255.255.255.0 standby 10 ip 192.168.10.1 standby 10 priority 110 standby 10 preempt interface Vlan20 ip address 192.168.20.2 255.255.255.0 standby 20 ip 192.168.20.1 standby 20 priority 90 standby 20 preempt ! ! R2 : priorities reversed (90 for group 10 , 110 for group 20)
در طراحی کلاسیک پردیس، بهتر است Active هر VLAN همان سوئیچی باشد که Root Bridge آن VLAN در STP است تا ترافیک مسیر اضافه نرود. اگر تقسیم بار خودکار میخواهید، نگاهی به GLBP بیندازید.
بررسی و عیبیابی
R1# show standby brief
P indicates configured to preempt.
|
Interface Grp Pri P State Active Standby Virtual IP
Gi0/0/1 10 110 P Active local 192.168.10.3 192.168.10.1
R1# show standby GigabitEthernet0/0/1 10
R1# debug standby events
| علامت | علت محتمل |
|---|---|
| هر دو روتر Active هستند | Hello به هم نمیرسد: VLAN یا پورت اشتباه، ACL ، شماره گروه یا نسخه متفاوت، احراز هویت ناهمسان |
| Standby هرگز Active نمیشود | روتر اصلی واقعاً سالم است؛ یا Tracking تعریف نشده است |
| روتر اصلی بعد از برگشت Active نمیشود | preempt روی آن فعال نیست |
| قطعی کوتاه بعد از برگشت روتر اصلی | preempt بدون delay ؛ روتر پیش از کامل شدن مسیریابی Active شده |
HSRP ، VRRP یا GLBP؟
| ویژگی | HSRP | VRRP | GLBP |
|---|---|---|---|
| استاندارد | اختصاصی سیسکو | باز (RFC 5798) | اختصاصی سیسکو |
| نقشها | Active و Standby | Master و Backup | AVG و تا ۴ AVF |
| تقسیم بار | با چند گروه، دستی | با چند گروه، دستی | خودکار در یک گروه |
| Preempt پیشفرض | خاموش | روشن | AVG خاموش ، AVF روشن |
| IP مجازی = IP واقعی | مجاز نیست | مجاز است | مجاز نیست |
| چندبرندی | خیر | بله | خیر |
اگر همه تجهیزات سیسکو است، HSRP سادهترین و جاافتادهترین انتخاب است. در شبکه چندبرندی VRRP. در دیتاسنترهای مدرن با VXLAN EVPN ، هیچکدام؛ آنجا Anycast Gateway جای FHRP را گرفته است.
پرسشهای متداول
HSRP روی سوئیچ لایه ۳ هم کار میکند؟
بله؛ روی SVIها (interface Vlan) در سوئیچهای Catalyst لایه ۳ دقیقاً همینطور کانفیگ میشود.
HSRPv1 یا v2؟
برای شبکه جدید v2 ، چون تعداد گروه بیشتری دارد، IPv6 را پشتیبانی میکند و MAC آن با شماره گروههای بزرگتر سازگار است. نسخه باید روی همه اعضا یکی باشد.
آیا HSRP با StackWise یا vPC لازم است؟
در استک و StackWise Virtual ، دو سوئیچ یک دستگاه منطقیاند و FHRP لازم نیست. در vPC روی Nexus ، HSRP به کار میرود و هر دو عضو ترافیک را فوروارد میکنند.
منابع رسمی
- IP Addressing Services Configuration Guide, IOS XE 17.15 (Catalyst 9300) – Configuring HSRP
- RFC 5798 – Virtual Router Redundancy Protocol (VRRP) Version 3
مشاوره با AKA NET
برای طراحی افزونگی گیتوی، HSRP با Tracking و IP SLA و مهاجرت به Anycast Gateway با آکانت (AKA NET) تماس بگیرید.
تلفن: 09121308444 | ایمیل: aka@aka.ir | aka.ir