آنچه در این مقاله میخوانید [پنهانسازی]
- ⭐ HSRP چیست و چرا مورد استفاده قرار میگیرد؟
- ⭐ نحوه عملکرد HSRP
- ⭐ آدرس آی پی مجازی (VIP) و آدرس مک مجازی (VMAC)
- ⭐ روتر فعال (Active Router) و روتر آماده به کار (Standby Router)
- ⭐ اولویت (Priority) و انتخابات روتر فعال
- ⭐ پیامهای Hello و تایمرها
- ⭐ پیشگیری/جایگزینی اجباری (Preemption)
- ⭐ حالتهای HSRP (HSRP States)
- ⭐ Initial (اولیه)
- ⭐ Learn (یادگیری)
- ⭐ Listen (گوش دادن)
- ⭐ Speak (صحبت کردن)
- ⭐ Standby (آماده به کار)
- ⭐ Active (فعال)
- ⭐ نسخههای HSRP
- ⭐ ویژگیهای پیشرفته و کاربردها
- ⭐ ردیابی واسط (Interface Tracking)
- ⭐ گروههای HSRP چندگانه (MHSRP) و تقسیم بار
- ⭐ احراز هویت (Authentication)
- ⭐ پشتیبانی از ICMP Redirects و MPLS VPN
- ⭐ نحوه پیکربندی HSRP
- ⭐ نتیجهگیری
- ⭐ سوالات پرتکرار درباره HSRP
- ⭐ روتر فعال (Active Router) چگونه در یک گروه HSRP انتخاب میشود؟
- ⭐ چرا HSRP به طور پیشفرض کند است و چگونه میتوان آن را سریعتر کرد؟
- ⭐ Preemption در HSRP چیست و چرا به طور پیشفرض غیرفعال است؟
- ⭐ تفاوت اصلی بین HSRPv1 و HSRPv2 چیست؟
پروتکل Hot Standby Router Protocol یا HSRP یک پروتکل انحصاری شرکت سیسکو (Cisco proprietary protocol) است که برای ارائه قابلیت افزونگی (Redundancy) برای دروازه پیشفرض (default gateway) در شبکههای IP طراحی شده است.
هدف اصلی این پروتکل، تضمین تداوم اتصال (connectivity) برای هاستهایی است که قادر به یادگیری آدرس روتر اولیه به صورت پویا نیستند یا تنها امکان پیکربندی یک دروازه پیشفرض ثابت را دارند.
با استفاده از HSRP، چندین روتر با همکاری یکدیگر، توهم یک روتر مجازی واحد را برای هاستهای موجود در شبکه محلی (LAN) ایجاد میکنند. این سازوکار، بازیابی فوری و شفاف ترافیک کاربر در برابر خرابیهای روتر یا مدارهای دسترسی را تضمین میکند.
HSRP چیست و چرا مورد استفاده قرار میگیرد؟
HSRP به روترهای متعدد اجازه میدهد تا با اشتراکگذاری یک آدرس IP مجازی و یک آدرس MAC مجازی، به عنوان یک دروازه پیشفرض مجازی واحد برای دستگاههای نهایی ظاهر شوند. در واقع، این پروتکل یک راهکار افزونگی برای زیرشبکه محلی فراهم میکند.
وقتی دروازه اصلی (روتر فعال) از کار بیفتد، HSRP به طور خودکار به یک روتر پشتیبان سوئیچ میکند، به طوری که دستگاههای نهایی از همان دروازه پیشفرض استفاده کرده و متوجه این تغییر نمیشوند و نیازی به بهروزرسانی پیکربندی هاستها وجود ندارد.
بدون HSRP یا یک پروتکل دروازه مجازی دیگر، دستگاههای نهایی در صورت خرابی روتر فعال، قادر به دسترسی به دستگاههای خارج از زیرشبکه خود نخواهند بود.
اگر قصد دارید مفاهیمی مانند HSRP، FHRPها، Routing و Switching را بهصورت اصولی و کاربردی بیاموزید، پیشنهاد میکنیم محتوای آموزشی دوره جامع CCNA را بررسی کنید. این دوره مسیر مشخصی برای یادگیری استاندارد شبکه و ورود به مسیرهای تخصصیتر فراهم میکند.
نحوه عملکرد HSRP
آدرس آی پی مجازی (VIP) و آدرس مک مجازی (VMAC)
VIP، آدرس IP است که به عنوان دروازه پیشفرض برای تمام هاستهای محلی در زیرشبکه پیکربندی میشود و در واقع یک آدرس IP عادی در همان زیرشبکه محلی است اما روی هیچ واسط فیزیکی پیکربندی نمیشود.
HSRP یک آدرس MAC مجازی (VMAC) نیز ایجاد میکند که در نسخه HSRPv1، با فرمت 0000.0c07.acXX است که XX نشاندهنده شماره گروه HSRP به صورت هگزادسیمال است. روتر فعال (Active router) به درخواستهای ARP از کامپیوترها پاسخ میدهد و بستههایی را که مقصدشان آدرس MAC مجازی گروه است، به جلو هدایت میکند.
روتر فعال (Active Router) و روتر آماده به کار (Standby Router)
در یک گروه HSRP، تنها یک روتر به عنوان روتر فعال انتخاب میشود و مسئول فوروارد کردن ترافیک است. روتر آماده به کار، روتر پشتیبان اصلی است که در صورت خرابی روتر فعال، وظیفه فوروارد کردن بستهها را بر عهده میگیرد. تنها روتر فعال و روتر آماده به کار، پیامهای دورهای HSRP را پس از اتمام فرآیند انتخابات ارسال میکنند تا ترافیک شبکه به حداقل برسد.
اولویت (Priority) و انتخابات روتر فعال
انتخاب روتر فعال بر اساس اولویت (Priority) انجام میشود که مقدار پیشفرض آن 100 است و میتواند بین 0 تا 255 باشد. روتر با بالاترین اولویت، به عنوان روتر فعال انتخاب میشود. اگر اولویت در دو روتر برابر باشد، روتری که دارای بالاترین آدرس آی پی باشد، به عنوان Tie-breaker (گرهگشا) عمل کرده و فعال خواهد شد.
پیامهای Hello و تایمرها
روترهای HSRP پیامهای Hello دورهای را مبادله میکنند که وضعیت آنها را اعلام میکند. تایمر پیشفرض Hello، 3 ثانیه و تایمر Hold (زمان نگهداری) 10 ثانیه است، که تقریباً سه برابر Hello Time است.
اگر روتر آماده به کار در مدت زمان Hold Time، پیامی از روتر فعال دریافت نکند، Standby Router منتظر میماند تا این تایمر منقضی شود و سپس خود را فعال میکند و مسئولیتها را بر عهده میگیرد. این تایمرها را میتوان تا مقادیر میلیثانیهای (sub-second values) تنظیم کرد تا همگرایی (Convergence) و انتقال نقش سریعتر انجام شود.
پیشگیری/جایگزینی اجباری (Preemption)
Preemption (پیشگیری/جایگزینی اجباری) قابلیتی است که به روتری با اولویت بالاتر اجازه میدهد تا به محض بازگشت به شبکه و فعال شدن، به زور جای روتر فعال فعلی را بگیرد.
این ویژگی به طور پیشفرض غیرفعال است. اگر Preemption فعال نباشد، روتر فعال فعلی حتی اگر اولویت پایینتری داشته باشد، فعال باقی میماند تا زمانی که کاملاً از کار بیفتد.
میتوان با استفاده از preempt delay، یک تأخیر زمانی (مثلاً ۶۰ ثانیه) ایجاد کرد تا روتر قبل از تبدیل شدن به فعال، زمان کافی برای همگرایی مسیریابی و سایر پروتکلها را داشته باشد.
حالتهای HSRP (HSRP States)
هر روتر HSRP قبل از رسیدن به وضعیت فعال یا آماده به کار، از چندین حالت عبور میکند که نشاندهنده ماشین وضعیت پروتکل است:
Initial (اولیه)
این اولین حالت هنگام شروع HSRP است که نشان میدهد پروتکل در حال اجرا نیست. این حالت پس از پیکربندی HSRP یا فعال شدن واسط وارد میشود.
Learn (یادگیری)
روتر هنوز آدرس IP مجازی را شناسایی نکرده یا پیام Hello معتبر از روتر فعال دریافت نکرده است. در این حالت، روتر منتظر شنیدن از روتر فعال است.
Listen (گوش دادن)
روتر آدرس IP مجازی را میداند، اما نه روتر فعال است و نه روتر آماده به کار؛ فقط برای پیامهای Hello روترهای فعال و آماده به کار گوش میدهد.
Speak (صحبت کردن)
روتر پیامهای Hello دورهای را ارسال کرده و فعالانه در فرآیند انتخابات برای تبدیل شدن به روتر فعال و/یا آماده به کار شرکت میکند. یک روتر تا زمانی که آدرس IP مجازی را نداشته باشد، نمیتواند وارد حالت Speak شود.
Standby (آماده به کار)
روتر نامزد برای تبدیل شدن به روتر فعال بعدی است و پیامهای Hello دورهای را ارسال میکند. در حالت عادی (به جز شرایط گذرا)، حداکثر یک روتر در این گروه باید در حالت Standby باشد.
Active (فعال)
روتر بستههای ارسال شده به آدرس MAC مجازی گروه را فعالانه فوروارد میکند و پیامهای Hello دورهای را ارسال میکند. در حالت عادی (به جز شرایط گذرا)، حداکثر یک روتر در این گروه باید در حالت Active باشد.
نسخههای HSRP
پروتکل HSRP دارای دو نسخه است: HSRPv1 و HSRPv2. تفاوتهای کلیدی بین این دو نسخه شامل موارد زیر است:
- Group Numbers (شماره گروهها): HSRPv1 از گروههای 0 تا 255 پشتیبانی میکند، در حالی که HSRPv2 تعداد گروهها را به 0 تا 4095 افزایش میدهد.
- Virtual MAC Address (آدرس MAC مجازی): HSRPv1 از فرمت 0000.0c07.acXX استفاده میکند، در حالی که HSRPv2 از 0000.0c9f.fxxx استفاده میکند، که در هر دو مورد، حروف انتهایی نشاندهنده شماره گروه به صورت هگزادسیمال هستند.
- Multicast Address (آدرس چندپخشی): HSRPv1 از آدرس مالتیکست 224.0.0.2 استفاده میکند، در حالی که HSRPv2 از 224.0.0.102 استفاده میکند.
- پشتیبانی از IPv6: HSRPv1 تنها از IPv4 پشتیبانی میکند، اما HSRPv2 از IPv4 و IPv6 پشتیبانی میکند.
- تایمرها: HSRPv2 امکان استفاده از تایمرهای Hello در واحد میلیثانیه را برای همگرایی سریعتر فراهم میکند، در حالی که HSRPv1 حداقل تایمر Hello 1 ثانیه داشت.
- ملاحظات سازگاری: توجه به این نکته ضروری است که HSRPv1 و HSRPv2 با یکدیگر سازگار نیستند. تمام روترهای درون یک گروه باید نسخه یکسانی را اجرا کنند.
ویژگیهای پیشرفته و کاربردها
ردیابی واسط (Interface Tracking)
قابلیت ردیابی واسط (که با نام object tracking نیز شناخته میشود) به HSRP اجازه میدهد تا وضعیت یک واسط دیگر را روی روتر نظارت کند. اگر واسط ردیابی شده (مانند لینک به روتر بالادستی) از کار بیفتد، HSRP به طور خودکار مقدار اولویت روتر را کاهش میدهد (penalty).
این کاهش اولویت، که مقدار پیشفرض آن 10 است اما میتواند به صورت صریح تنظیم شود (مثلاً 60)، باعث میشود روتر فعال دیگر بالاترین اولویت را نداشته باشد و روتر Standby (در صورتی که Preemption فعال باشد) نقش Active را بر عهده بگیرد. این امر تضمین میکند که ترافیک همیشه از طریق بهترین مسیر در دسترس هدایت شود.
گروههای HSRP چندگانه (MHSRP) و تقسیم بار
در سناریوهایی که یک دستگاه دارای چندین واسط متصل به چندین زیرشبکه است، روتر میتواند در چندین گروه HSRP شرکت کند. قابلیت MHSRP که در نسخههای قدیمیتر Cisco IOS اضافه شد، امکان تقسیم بار (Load Balancing) را فراهم میآورد.
به جای اینکه یک روتر برای همه زیرشبکهها فعال باشد (که باعث Overutilization میشود)، میتوان یک روتر را برای یک گروه فعال و برای گروه دیگر در حالت Standby قرار داد، و روتر دوم را برعکس پیکربندی کرد تا ترافیک بین هر دو روتر توزیع شود.
احراز هویت (Authentication)
HSRP از احراز هویت پشتیبانی میکند تا از ارسال بستههای جعلی یا ورود افراد غیرمجاز به تنظیمات HSRP جلوگیری شود. احراز هویت میتواند از نوع متن ساده یا MD5 باشد. در نسخه RFC 2281، فیلد Authentication Data به صورت یک پسورد ۸ کاراکتری متن ساده بود. احراز هویت ضروری است تا یک روتر با اولویت پایینتر نتواند اطلاعاتی مانند IP مجازی یا مقادیر تایمر را از روتر فعال یاد بگیرد.
پشتیبانی از ICMP Redirects و MPLS VPN
به طور استاندارد، ICMP Redirects به صورت خودکار روی واسطهایی که HSRP روی آنها فعال است، غیرفعال میشوند تا هاستها به آدرسهای MAC فیزیکی هدایت نشوند. با این حال، در برخی نسخههای پیشرفتهتر، پشتیبانی برای ICMP Redirects در کنار HSRP اضافه شد، تا از مزایای هر دو استفاده شود؛ به این صورت که روترها، هاستها را به VIP گروه HSRP دیگری هدایت میکنند.
همچنین، پشتیبانی از HSRP برای Multiprotocol Label Switching Virtual Private Networks (MPLS VPNs) نیز اضافه شده است، که در سناریوهایی با دو روتر لبه (PE) و یک روتر مشتری (CE) با دروازه پیشفرض مجازی HSRP، بسیار مفید است.
نحوه پیکربندی HSRP
پیکربندی HSRP باید روی واسطهای لایه 3 (L3 interfaces) انجام شود، نه روی پورتهای سوئیچینگ لایه 2.
- فعالسازی HSRP و تعیین VIP: از دستور standby استفاده میشود. standby <group> ip <virtual-ip>.
◦ مثال: SW1(config-if)# standby 1 ip 192.168.1.254.
- تنظیم اولویت (اختیاری): برای اطمینان از اینکه روتر مورد نظر، فعال شود.
◦ مثال: SW2(config-if)# standby 1 priority 150.
- فعالسازی Preemption (اختیاری): برای اینکه روتر با اولویت بالاتر، نقش Active را پس بگیرد.
◦ مثال: SW1 & SW2 (config-if)# standby 1 preempt.
- تنظیم تایمرها (اختیاری): برای همگرایی سریعتر، با اطمینان از اینکه Hold Time حداقل سه برابر Hello Time باشد.
◦ مثال: SW1 & SW2 (config-if)# standby 1 timers msec 100 msec 300.
- تأیید پیکربندی: از دستور show standby برای مشاهده وضعیت گروه، VIP، VMAC و وضعیت Active/Standby استفاده کنید.
نتیجهگیری
پروتکل HSRP یک راهکار ضروری و انحصاری سیسکو برای تحقق افزونگی دروازه پیشفرض (First-Hop Redundancy Protocol – FHRP) است. این پروتکل با ارائه یک آدرس IP و MAC مجازی، تضمین میکند که کاربران شبکه در صورت خرابی روتر فعال، بدون وقفه و به صورت شفاف به کار خود ادامه دهند.
HSRP با استفاده از مفاهیم روترهای فعال و آماده به کار، و با قابلیتهایی چون ردیابی واسط برای نظارت بر لینکهای حیاتی، تنظیم تایمرها برای همگرایی سریع و پشتیبانی از احراز هویت، یک زیرساخت شبکهای پایدار و قابل اعتماد را فراهم میآورد. از آنجایی که HSRP از مکانیزمهای بازیابی کندترِ پروتکلهای دیگر (مانند ARP یا IRDP) جلوگیری میکند، نقش حیاتی در حفظ زمان کارکرد (uptime) شبکه ایفا مینماید.
سوالات پرتکرار درباره HSRP
روتر فعال (Active Router) چگونه در یک گروه HSRP انتخاب میشود؟
انتخاب روتر فعال در دو مرحله انجام میشود. ابتدا، روتری که بالاترین مقدار اولویت (Priority) پیکربندی شده را داشته باشد (مقدار پیشفرض 100 است) به عنوان روتر فعال انتخاب میشود. در صورتی که چندین روتر دارای اولویت یکسان باشند، روتری که بالاترین آدرس IP را داشته باشد، به عنوان Tie-breaker عمل کرده و نقش روتر فعال را بر عهده میگیرد.
چرا HSRP به طور پیشفرض کند است و چگونه میتوان آن را سریعتر کرد؟
HSRP به طور پیشفرض دارای تایمر Hello (ارسال پیامهای وضعیت) برابر 3 ثانیه و تایمر Hold (زمان انتظار برای فعال شدن Standby) برابر 10 ثانیه است. اگر روتر فعال از کار بیفتد، روتر آماده به کار باید 10 ثانیه صبر کند تا Hold Time منقضی شده و سپس فعال شود، که این زمان میتواند منجر به 10 ثانیه قطعی شود. برای افزایش سرعت همگرایی، میتوان این تایمرها را با استفاده از دستور standby timers به مقادیر میلیثانیهای (msec) تنظیم کرد، به شرطی که Hold Time حداقل سه برابر Hello Time باشد.
Preemption در HSRP چیست و چرا به طور پیشفرض غیرفعال است؟
Preemption قابلیتی است که به روتر با اولویت بالاتر اجازه میدهد تا نقش روتر فعال را به محض آنلاین شدن و در دسترس بودن، به زور پس بگیرد، حتی اگر روتر فعال فعلی از کار نیفتاده باشد. این ویژگی به طور پیشفرض غیرفعال است. دلیل غیرفعال بودن این است که اگر روتر فعال اصلی مرتباً دچار ریبوت شود، فعال بودن Preemption باعث بیثباتی شبکه میشود، زیرا روترهای دیگر باید مرتباً بین Active و Standby جابجا شوند.
تفاوت اصلی بین HSRPv1 و HSRPv2 چیست؟
تفاوتهای اصلی شامل پشتیبانی از تعداد گروهها و آدرسهای مورد استفاده است. HSRPv1 از 26 گروه (0 تا 255) پشتیبانی میکند و از آدرس مالتیکست 224.0.0.2 استفاده میکند. HSRPv2 تعداد گروهها را به 4096 (0 تا 4095) افزایش میدهد، از آدرس مالتیکست 224.0.0.102 استفاده میکند و مهمتر از آن، از IPv6 و همچنین تایمرهای میلیثانیهای پشتیبانی مینماید. تمام روترهای یک گروه باید از یک نسخه یکسان استفاده کنند.


