HSRP (Hot Standby Router Protocol - Hazır Yedekteki Yönlendirici Protokolü)

Eyl 07, 2013

Ağda bulunan yönlendiricilerde bir sorun oluştuğunda yönlendirme işleminin devamlılığı yedeklilik protokolleriyle sağlanır. Cisco’ya ait olan HSRP (Hot-Srandby Router Protocol – Hızlı Yedekli Yönlendirme Protokolü) de bu protokollerden biridir. HSRP, VRRP (Virtual Router Redundancy Protocol - Sanal Yönlendirici Yedekliliği Protokolü) ’de olduğu gibi birden çok yönlendirici (router)'nin tek bir sanal yönlendirici (virtual router) gibi davranmasına imkan sağlar. HSRP, merkez yönlendiricinin ulaşılamama süresini milisaniyeler cinsinden en aza indirgeyerek yedekliliği sağlar.

HSRP'yi bir diğer yedeklilik protokolü olan VRRP'den ayıran başlıca özellikleri şunlardır:

  • HSRP, Cisco’ya özel bir protokol iken VRRP, IEEE standartında açık bir protokoldür.
  • HSRP’de sanal yönlendirici Ip’si ve mac adresi ağ içindeki yönlendiricilerin herhangi birinin gerçek Ip’si ve mac adresi ile aynı olmaz, VRRP’de böyle bir zorunluluk yoktur.
  • VRRP’de sanal yönlendiricinin ip’sine sahip yönlendirici ana yönlendirici olur.
  • HSRP’de bir adet yedek yönlendirici bulunurken VRRP’de birden fazla yedek yönlendirici olabilir.

HSRP çalıştıran yönlendiriciler kendilerine bir sanal IP (Internet Protocol - İnternet Protokolü) adresi ve Mac (Media Access Control - Ortam Erişim Kontrolü) adresi tayin ederler. İstemciler için bu adresler ağ geçididir (gateway). Çıkış yönlendiricileri ulaşılamaz olup başka bir yönlendiriciden internete çıkmaya başlasalarda ağ geçidinin IP ve Mac adresi değişmeyeceğinden internet erişiminde herhangi bir problemle karşılaşmazlar. HSRP UDP (User Datagram Protocol - Kullanıcı Veribloğu İletişim Kuralları) 1985. port (bağlantı noktası) üzerinden hizmet verir.

HSRP çalıştıran yönlendiricilerin uygun arabirimlerine (interface)  veya VLAN (Virtual Local Area Network- Sanal Yerel Ağ) arabirimlerine bir HSRP grup numarası atanır. Aşağıdaki komut ile HSRP grubu için belirlenen sanal ağ geçidi IP'si seçilmiş olur.

Router(config-if)#standby [group no] ip [sanal gateway ip adresi]

HSRP çalıştıran yönlendiricelerden priority (öncelik) değeri en büyük olan yönlendirici aktif(active), bu yönlendiriciden küçük en büyük priority değerine sahip yönlendirici ise yedek (standby) durumundadır. Geriye kalan yönlendiricilerde HSRP durumlarını dinler ve düzenli aralıklarla  HSRP - Hello (Merhaba) paketlerini değiştirir. Topolojideki bütün yönlendiricilerin priority değerleri eşit ise en büyük IP adresine sahip interface o HSRP grubunun aktif kolu olur. Priority değeri aşağıdaki komut ile değiştirilir. Bu değer varsayılan olarak 100’dür. En büyük atanabilecek değer ise 255’tir.

Router(config-if)#standby [group no] priority [priority value]

Aktif konumunda olan yönlendirici ağda yönlendirmeyi yapan esas yönlendiricidir. Yedek yönlendirici aktif yönlendiriciden 3 saniyede bir Hello paketleri alır. Bu süreye hold-time (bekleme süresi) denir. Eğer hello paketinin yedek yönlendiriciye ulaşması bu bekleme süresinden uzun bir süre içinde gerçekleşir ya da gerçekleşmezse yedek konumundaki yönlendirici devereye girer ve actif konumunu alır. Hello paketlerinin hedef IP’si 224.0.0.2 olan multicast ip’dir. Bu ip gönderilen paketin ağdaki tüm yönlendiricilere gideceği anlamını taşır. Yönlendiriciler arasındaki hold-timer süresini değiştirmek için ise aşağıdaki komut kullanırlır.

Router(config-if)#standby [group no] timers [hello paketi gönderme süresi] [standby cihazın devreye girme süresi]

Yedek yönlendiricinin yeni aktif yönlendirici olması durumunda bir önceki aktif yönlendirici yedek konumuna geçer ve aşağıdaki komut girilmezse bir daha aktif olamaz. Ancak yeni yedek yönlendiricininde düşmesi durumunda ağda aktif yönlendirici kalmadığı takdirde tekrar aktif olabilir.

Router(config-if)#standby [group no] preempt

Bir çok istemci ağ içinde paket iletmek ister ve bunu aktif olan yönlendiriciler üzerinden yapar. Aktif hatlar devre dışı kaldığında aktif olmaya devam eder fakat iletişim kopmuş olur. HSRP bu durumu tespit eder ve diğer yönlendiricilere aktif olmaları için fırsat verir. Bunu o ana kadar active olan yönlendiricilerin öncelik değerini düşürerek yapar. Bu durum topolojide en az bir ulaşılabilir hat kalana kadar devam eder. "Priority" değerini düşürmek için aşağıdaki komut girilir.

Router(config-if)#standby [group no] track [port numarası] [priority değerinden düşülecek değer]

HSRP yönlendiricilerinde eşleşen karakter dizileri girilerek her grup için ayrı ayrı kimlik denetimi yapılabilir.

Router(config-if)#standby [group no] authentication [karakter dizisi]

Ağ içeridinde ARP (Address Resolution Protocol - Adres Çözümleme Protokolü) sorgularını aynı HSRP grubunda yer alan bütün yönlendiriciler dinler ve ARP tablosu oluştururlar. Ancak sorguyu yedek yönlendirici kendi yapmış olsa dahi ARP sorgularına ancak aktif olan yönlendirici cevap verir. HSRP topolojisinde HSRP yönlendiricileri sanal ağ geçidi IP'sini kullanarak bir iletişim başlatamazlar. Örneğin, sanal gateway IP'sini kaynak göstererek topolojideki herhangi bir adrese 'ping' gönderilemez.

Örnek HSRP Topolojisi

Yukarıda biri internet sağlayıcı(ISP) yönlendiricisi olmak üzere 3 yönlendiriciyle oluşturulan bir topoloji yer almaktadır. R1 ve R2 yönlendiricilerinin sol bacaklarında vlan10 ve vlan20 konfigürasyonları bulunmakta olup bu iki ayrı vlan için HSRP konuşmaktadırlar. R1 yönlendiricisinin grup numarası 10 olan HSRP grubu için priority (öncelik) değeri 150 , grup numarası 20 plan HSRP grubu için ise 50’dir. R2 yönlendiricisinde ise tam tersi bir konfigürasyon çalışmakta olup 10 numaralı HSRP grubu için öncelik değeri 50, 20 numaralı HSRP grubu için priority değeri 150’dir. Bu durumda çalışan topolojide 10 numaralı HSRP grubu için R1 active, R2 ise yedek durumundaki yönlendiricidir. 20 numaralı HSRP grubu için ise tam tersi geçerli olup R1 standby , R2 ise aktif durumundaki yönlendiricidir. Öncelik numaraları el ile yapılandırılmıştır.

 

R1 yönlendiricisinde "show running-config" komutu çıktısı aşağıdaki gibidir:


 

R2 yönlendiricisinde "show running-config" komutu çıktısı aşağıdaki gibidir;


 

Bu yapılandırmayı test etmek için R1 veya R2 yönlendiricilerinden birinin sol bacağının bağlantısını koparıp PC1 ve PC2 den 10.0.0.254 ISP IP'sine 'ping' göndermek yeterli olacaktır. İletişimin 3 saniye sonra eski halinde devam ettiğini bu şekilde görebiliriz. Yönlendiricilerden birinin sağ bacağındaki bağlantıyı kopartırsak ise aktif olan yönlendiricinin girdiğimiz 'track' komutu ile öncelik değerini düşürüp yedek yönlendiriciye aktif olma fırsatı verdiğini görürüz. İletişim bu şekilde sorunsuz çalışmaya devam eder.

HSRP Paketinin Yapısı

Ekran çıktısında da görüldüğü gibi R1 yönlendiricisinden gönderilen bir HSRP Hello paketinde 2. katmanda hedef (destination) mac adresi  multicast (çoklu gönderim) mac adresi olup o HSRP grubundaki tüm yönlendiricilere seslenecek şeklindedir. Kaynak (source) mac adresi ise HSRP grubunun sanal mac adresidir.

HSRP sanal mac adresinin ilk 6 hanesi üreticiye tanımlı, ardından gelen 4 hane HSRP’ye tanımlı son iki hane ise HSRP grup numarasına tanımlı olacak şekilde oluşur. Bizim topolojimizde 10 numaralı HSRP grubunun sanal mac adresi 0000.0C07.AC0A , 20 numaralı HSRP grubunun mac adresi 0000.0C07.AC14’tür ve bu durum sadece aktif yönlendiriciler için geçerlidir standby yönlendiricilerde ise kaynak mac adresi de yönlendiricinin kendi mac adresidir. Bu durum altta ki ekran çıktısında gösterilmiştir.

İnternet protokolü katmanında ise  kaynak IP adresi de yine R1 yönlendiricisinde Vlan10’a atadığımız IP iken hedef IP adresi HSRP Hello paketinin topolojideki tüm yönlendiricilere gönderileceğini belirten multicast IP adresi 224.0.0.2’dir. HSRP iletişiminde hem kaynak hemde hedef 1985. port (bağlantı noktası) üzerinden haberleşir.

En sonda görünen HSRP başlığında ise topolojideki HSRP grubuna özel sanal IP adresi yer almaktadır ve R1 yönlendiricisi için öncelik değeri, bulunduğu konum, bekleme süresi  gibi bilgilerin yer aldığı bölümler yer almaktadır.