پروتکل HSRP چیست؟ آموزش راه اندازی HSRP در روتر سیسکو

HSRP چیست؟ HSRP چه ویژگی ها و حالت هایی در روتر سیسکو دارد؟ چگونه HSRP را پیاده سازی کنیم؟ پروتکل HSRP جزو پروتکل های لایه سه است که روی دستگاه های intermediate لایه سه (مثل روتر و سوئیچ لایه سه) پیاده سازی و اجرا می شود . پروتکل HSRP ارائه شده توسط سیسکو است و اختصاصی این شرکت است . بطور کلی اگر بخواهیم کاربرد این پروتکل را بیان کنیم باید گفت این پروتکل باعث High availability(تمام دسترسی) در شبکه می شود.به طوری که uptime بودن شبکه را تقریبا نزدیک به 100 درصد می رساند. یعنی هیچ گاه دسترسی شبکه ما به شبکه مورد نظر قطع نمی شود.

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

همانطور که می دانید برای دسترسی به شبکه ای دیگر نیاز به روتر داریم. اگر این روتر به هر دلیلی ارتباطش با ما یا با شبکه مقصد قطع شود دسترسی به شبکه نداریم. اینجاست که اهمیت پروتکلHSRP مشخص می شود. راه حل این است که بجای یک روتر از دو روتر برای اتصال و دسترسی به شبکه ی مورد نظر استفاده کنیم تا به محض قطع شدن و از دسترس خارج شدن روتر اولیه ، روتر بعدی active شود.شکل زیر نشان می دهد که شبکه ما برای اتصال به دنیای اینترنت از دو روتر استفاده کرده است .

وب سایت توسینسو

بحث دیگری که وجود دارد این است که HSRP باعث به وجود آمدن افزونگی(Redundancy) در ip networks و دستگاه روتر می شود . با استفاده از این افزونگی می توان ویژگی high availability را به وجود آورد . نحوه ی کار HSRP بدین شکل است که با اجرای این پروتکل روتر ها در یک گروه قرار میگیرد که این گروه را روتر مجازی می نامیم . توجه داشته باشید که IP این روتر مجازی را که virtual ip می نامیم ، باید به عنوانDefault gateway به station های شبکه خودمان بدهیم . از میان دو روتر در گروه روتر مجازی، یک روتر به عنوان روترactive برای اتصال به شبکه مورد استفاده قرار می گیرد و روتر بعدی نیز در حالت standby قرار دارد.

روتر standby با روتر active دائما از طریق بسته های hello جهت اطمینان از on بودن روتر active در شبکه باهم در حال گفتگو اند. این بسته ها بطور پیش فرض هر 3 ثانیه یک بار بهactive router فرستاده می شود.(این زمان 3 ثانیه ای را hello time می نامیم). اگر شرایطی پیش بیاید که active router از دسترس خارج شود(down شود)،standby router بعد از نیامدن پیام hello به مدت 10 ثانیه از طرف active router ،خود را تبدیل به active router می کند.به این زمان 10 ثانیه ای نیز hold time میگوییم. Hold time و hello time را میتوان به صورت دستی تنظیم و از حالت پیش فرض خارج کرد.

وضعیت روتر از نظر HSRP

آن interface روتر که روی آن HSRP فعال می شود از نظر این پروتکل وضعیت(state) های مختلفی دارد که به ترتیب زیر است :

  1. Disable : در این وضعیت هنوز پروتکل روی این interface فعال نشده است.
  2. initial : در این وضعیت پروتکل به تازگی فعال شده است.
  3. learn : در این وضعیت روتر در حال یادگیری virtual ip است اما هنوز آن را یاد نگرفته است.
  4. listen : در این وضعیت virtual ip را یاد گرفته است. (اگر بجای دو روتر از چندین روتر برای اجرای پروتکل HSRP استفاده کنیم به غیر روتر Active و روتر standby بقیه ی روتر ها در این وضعیت می مانند.)
  5. speak :در این state روتر ها باهم جهت انتخاب روتر standby و active در حال گفتگو اند. این گفتگو براساس priority و فعال بودن یا نبودن preempt و .. انجام می شود.
  6. standby : وضعیت standby یعنی آماده است که به محض از کار افتادن روتر active شروع به کار کند. روتر در این وضعیت هر 3 ثانیه جهت اطمینان از on بودن روتر active بسته های hello را می فرستد.
  7. active : وضعیتی است که روتر در آن وظیفه ی اتصال دو شبکه را دارد.

برخی ویژگی های HSRP

  • Preempt : این ویژگی را روی active router فعال میکنیم. به این منظور که فرض کنید active router از دور خارج شد و روترstandbyجایگزین شد ، اگر بعد از حل مشکل آن روتر به شبکه برگردد دوباره تبدیل به active router شود. یعنی به شرط on بودن در شبکه همیشه این روتر به عنوان active router شناخته شود.
  • Priority : هر interfaceیی از روتر عضو گروه روتر مجازی که روی آن پروتکل HSRP فعال می شود دارای یک priority number یا «عددِ اولویت» است تا با speak بتوان active router را مشخص کرد . به این معنی که هر روتری که interface آن عدد اولویت بالاتری داشته باشد(priority بالاتر) بعد از speak به عنوان active router شناخته می شود .
  • Timer : همان طور که قبلا اشاره کردیم می توان hold time و hello time را تغییر داد . این تغییرات را می توان در ویژگیtimer انجام داد.
  • Tracking : اجازه بدهید با حل یک سناریو و در راستای سناریو به این ویژگی هم بپردازیم.

همان سناریوی بالا را در نظر بگیرید. کانفیگ و ip دهی روتر و station به همان شکلی است که در تصویر می بینید. به کانفیگ پروتکل HSRP می پردازیم : ابتدا روی روتر R1 می رویم . وارد interface موجود در گروه روتر مجازی یعنی fa0/0 می رویم . در اولین دستور هم پروتکل فعال می شود و هم virtual ip را وارد می کنیم:

R1(config)#int fa0/0
R1(config-if)#standby 1 ip 192.168.10.100	

توجه کنید که virtual ip حتما باید در netmask شبکه ی خودمان باشد. عدد 1 شماره گروه مجازی است که باید در هر دو روتر یکسان باشد. می توان این عدد را خالی گذاشت که در این صورت روتر به صورت پیش فرض 0 در نظر میگیرد. این دستور را در روتر R2 و در interface مورد نظر وارد می کنیم. برای انجام کانفیگ preempt روی روتر active این دستور را در همان روتر وارد می کنیم :

R1(config-if)#standby 1 preempt

و برای تغییر عدد priority می توان از این دستور استفاده کرد:

R1(config-if)#standby 1 priority "num"

که بجای num می توان عددی بین 0تا 255 نوشت . اگر روتری عدد priority آن بالاتر از عدد روتر دیگری باشد روتر active شناخته می شود . همچنین می توان از طریق دستور زیر hold time و hello time را نیز تغییر داد:

R1(config-if)#standby 1 timers "HELLO TIME" "HOLD TIME" 

بجای HELLO TIME عددی بین 1 تا 254 ثانیه می توان نوشت.و بجای HOLD TIME عددی بین 2 تا 254. توجه داشته باشید که Hold time حتما باید عددی بیشتر از hello time داشته باشد.

  • نکته: دستور time و همچنین دستور راه اندازی پروتکل را باید روی هر دو روتر کانفیگ نمود.

و اما tracking : همانطور که قبلا اشاره کردیم روتر standby با روتر active همیشه در حال گفتگو است تا به محض down شدن روتر خود را به عنوان active router معرفی کند.منظور از down شدن روتر active می تواند این باشد که یا Interfaceی از روترِ active که روی آن HSRP فعال است،خاموش و از کار افتاده باشد یا اینکه کلا روتر از شبکه حذف شده است.

اما شرایطی را در نظر بگیرید که Interface سریال روتر active که به اینترنت متصل است قطع شود. در این شرایط روتر active از نظر stationها از کار افتاده است اما از نظر پروتکل HSRP از کار نیفتاده زیرا Interface موجود در پروتکل همچنان on است.برای اینکه این مشکل را برطرف کنیم از ویژگی tracking استفاده می کنیم. tracking به پروتکل HSRP می گوید که اگر هرکدام از interfaceهایی از روتر active را که به تو معرفی میکنم از کار افتاد، priority روتر Active را 10عدد کم کن . این کاهش عددpriority باعث می شود که priority روتر active از روتر standby کمتر بشود و روتر standby تبدیل به روتر active شود. این عدد 10 بطور پیش فرض است و می توان آن را تغییر داد.( البته تغییر عدد priority برای ویژگی triacking روی نرم افزار packet tracer فعال نیست.) این دستور بدین شکل اجرا می شود:

R1(config-if)#standby 1 track serial 0/0/0

برای مشاهده ی وضعیت پروتکل HSRP روی هر روتر می توان از این دستور استفاده کرد:

R1#show standby brief

همانطور که در تصویر زیر مشاهده می کنید می توان به ترتیب شماره interface ، شماره گروه،preempt، priority ، وضعیت interface ، نشان دادن روتر active و standby و در آخر هم virtual ip را مشاهده کرد.

وب سایت توسینسو

در پایان هم به این نکته اشاره کنم که می توان پروتکل HSRP را روی Subinterface ها هم راه اندازی نمود. با تشکر!


نظرات