HSRP ve ECMP kombinasyonu için en iyi uygulama


19

ECMP (veya asimetrik yolların diğer nedenleri) ve HSRP kombinasyonu, Cisco IOS'ta varsayılan olarak kesilmiştir; bu tasarımdaki varsayılan davranış, tek noktaya yayın trafiğine aşırı derecede su basar.

Bilinmeyen tek noktaya yayılmayı önlemek için HSRP'yi ECMP ile kullanmak için en iyi uygulama nedir?

Ayrıntılar / Arka Plan

Tesislerimizin çoğu için aşağıdaki ilk şemaya benzer bir HSRP topolojisine sahibiz. Cisco WAN yönlendiricilerimizin diğer tüm sitelere eşit maliyetli rotaları vardır; bu nedenle her zaman asimetrik yönlendirme etkilerini görebiliriz. Normalde R1'i HSRP primeri olarak atarız, ancak ECMP R1 veya R2 üzerinden dönüş trafiğine izin verir.

Sorun, PC1'in WAN üzerinden uzak bir iSCSI sürücüsü takması durumunda, trafiğin siteden R1 üzerinden çıkması, ancak R2 üzerinden dönebilmesidir. İSCSI trafiği R1 üzerinden döndüğü sürece herhangi bir sorun yoktur.

HSRP_Broken_00

Sorun, PC1'in trafiği R2 üzerinden döndüğünde oluşur. İSCSI oturumunun saat 8: 00'de başladığını ve her iki yönlendiricinin ve her iki anahtarın da PC1'in mac'unu aynı anda öğrendiğini varsayın. 8:00:00 ve 8:00:05 arasında, herhangi bir anahtar sorunu yoktur, çünkü her iki anahtarın da CAM tablolarında PC1'in mac adresi vardır.

HSRP_Broken_01

İSCSI oturumu başladıktan beş dakika sonra, S2'nin PC1'in mac'u için CAM girişinin süresi CAM tablosundan dolar ve S2, PC1'in trafiğini tüm bağlantı noktalarından taşar (bu durumda Po1, Gi0 / 3 ve Gi0 / 4'e). PC1'in iSCSI oturumu çok fazla bant genişliği tüketirse, bu bilinmeyen tek noktaya yayın seli, PC3 ve PC4 bağlantılarından önemsiz kapasiteyi emebilir.

Cisco IOS anahtarlarının varsayılan CAM zamanlayıcısı 300 saniyedir ...

S2# show mac address-table aging-time
Vlan Aging Time
---- ----------
1    300
17   300

Ancak, Cisco IOS'un varsayılan arayüz ARP zamanlayıcısı 4 saattir ...

R2# show interface gi0/0
GigabitEthernet0/0 is up, line protocol is up 
  Hardware is AmdP2, address is 000a.dead.beef (bia 000a.dead.beef)
  Internet address is 172.17.1.252/24
  MTU 1500 bytes, BW 10000 Kbit, DLY 1000 usec, 
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation ARPA, loopback not set
  Keepalive set (10 sec)
  ARP type: ARPA, ARP Timeout 04:00:00       <--------------

Bu nedenle, S2 beş dakika sonra PC1'in iSCSI trafiğini taşmaya başlar.

HSRP_Broken_02


Neden insanlar soru sormaya devam ediyor ve sonra kendilerine cevap veriyor? Hayır olduğu gibi, araştırdı ve cevabı buldu, onlar zaten vardı? Bu bir Soru-Cevap sitesi, bir blog değil (iyi bir yazı
yazmadınız

8
@javano: Kendi kendine cevap verme SE tarafından açıkça teşvik edilmektedir. ref meta.networkengineering.stackexchange.com/questions/4/…
Craig Constantine

1
@CraigConstantine Evet biliyorum, ama eminim ki insanlar soru gönderir ve sonra boğazı cevaplarlar, bir süre sonra sorunun cevabını bulduklarında (sadece 5 dakika sonra bile), boğazı cevaplarlar çünkü soruyu göndermeden önce cevabı zaten biliyorlardı. Bunu biraz garip buluyorum.
jwbensley

6
Yine de gerçek şu ki, bir Q ve acil bir cevap yazmanın açıkça teşvik edilmesi.
Craig Constantine

4
@javano, Eğer diğer insanların karşılaşacağını düşündüğünüz bir sorunu çözerseniz, SE bu sorunun çözümü için arama motoru trafiğini istiyor ... aynı anda cevap gönderip göndermemem umrumda değil ... aslında, soru web formunun altında "Kendi sorunuzu cevaplayın - bilginizi paylaşın, sorularınızı ve sorularınızı paylaşın" şeklinde küçük bir onay kutusu var
Mike Pennington

Yanıtlar:


14

Basit cevap, CAM zamanlayıcısını karşılık gelen arayüz ARP zamanlayıcısından eşit veya biraz daha uzun yapmaktır , ancak seçim yapmak için en az üç farklı seçenek vardır ...

Seçenek 1: Tüm arayüz ARP Zamanlayıcılarını düşürün

Bu seçenek, iyi bir katman2 anahtarlamalı ağa, makul sayıda ARP girişine ve az sayıda yönlendirilmiş arabirime sahipseniz en iyi sonucu verir. PC mac girişlerinin topolojiden hızlı bir şekilde yaşlandığını görmek istiyorsanız bu yöntem de tercih edilir.

  • Bir ethernet anahtarına bakan tüm IOS ethernet arayüzlerinde: arp timeout 240
  • Bir ethernet anahtarıyla karşılaşan tüm IOS ethernet arayüzlerinde: hold-queue 200 inve hold-queue 200 outperiyodik ARP yenilemeleri sırasında ARP paketlerinin düşmesini önlemek için (bu sınırlar, bir kerede ele almanız gerektiğini düşündüğünüz kaç ARP yenilemesine bağlı olarak daha yüksek veya daha düşük olabilir). Seçmeli Paket Atma değerlerini ayarlıyorsanız , bağladığım kağıttaki yönergeleri izlemelisiniz.

Bu, Cisco IOS'u, belirli bir ARP girişi için başka türlü gerçekleşmediyse, ARP tablosunu dört dakika içinde yenilemeye zorlar. Açık olan dezavantajı, çok sayıda ARP girişiniz varsa bunun iyi ölçeklenmemesidir ... sınırlar platforma göre değişir. Bunu Catalyst 4500/6500 (Layer3 SVI) üzerinde yönlendirici başına birkaç yüz ARP ile sorunsuz kullandım.

Seçenek 2: CAM Zamanlayıcı anahtarını artırın

Bu seçenek, çok sayıda ARP girişiniz (örneğin, yoğun bir VMWare ortamı gibi binler) görebiliyorsanız en iyi sonucu verir.

  • Tüm IOS anahtarlarında: mac address-table aging-time 14400veya mac address-table aging-time 14400 vlan <vlan-id>endişelenen herhangi bir Vlan için.

Bu değişiklik, çoğu insanın 300 saniyede (Cisco IOS'ta) sabitlendiğini varsaydığı zamanlayıcıları ayarlar, bu nedenle bunu süreklilik belgelerine dahil ettiğinizden emin olun. Bunun yan etkisi, bilgisayar kaldırıldıktan sonra CAM tablosu girişlerinin 4 saat boyunca devam etmesidir (PoV'nuza bağlı olarak iyi veya kötü olabilir). 4 saat çok uzunsa, bir sonraki seçeneğe bakın ...

Seçenek 3: Arayüz ARP zamanlayıcılarını ve CAM Zamanlayıcı anahtarını değiştirin

Bu seçenek, daha fazla yapılandırma pahasına Seçenek 2'deki çok uzun CAM zamanlayıcılarını önler. 900 saniyeye, 1800 saniyeye veya herhangi bir şeye ihtiyacınız olup olmadığını seçebilirsiniz ... CAM ve ARP zamanlayıcılarınızın eşleştiğinden emin olun; bu nedenle topolojilerinizde hem Seçenek 1'i hem de Seçenek 2'yi yapılandırmanız gerekir.


4
İlk önerilen çözümü seçerek bu sorunu sıraladık, ancak IOS'un tabloyu temizleme sırasından emin değildik, ardından ARP zaman aşımını 293s (mac adresi tablosu zaman aşımının altındaki en yakın asal sayı) olarak ayarladık. Hala bunun iyi bir seçim olup olmadığını bilmiyorum
Marco Marzetti

1
Teknik olarak Cisco IOS, ARP yürüteçini 60 saniyelik aralıklarla ateşliyor, bu yüzden 240 kullanmalısınız ... Cevabımı eklemeyi ihmal ettim ... düzenleme ... neden asal bir sayı seçtiğinizi merak ediyorum ...
Mike Pennington

ACK. MAC zaman aşımına eşit veya daha az ARP zaman aşımı BCP olmalıdır. HSRP olması bile gerekmez, sadece iki yönlendirici varsa, sizi ısırır ve hatta döngülere neden olabilir.
ytti

Bilmiyordum. Yani hilemiz tamamen işe yaramaz. Zamanlayıcıların çakışmasını en aza indirmek için asal bir sayı seçtik.
Marco Marzetti

4
@MikePennington, teşekkür ederim. Her neyse haklısın ARP zaman aşımı çözünürlüğü dakikalar içinde uygulanıyor
Marco Marzetti

1

Bana göre, ECMP burada asıl mesele - bu yüzden bilinmeyen tek noktaya yayın selini sınırlamak için yukarıdaki adımlara ek olarak, rota metriklerini WAN'a göre ayarlayabilirsiniz, böylece dönüş trafiği için R1'in R2 yerine R1 tercih edilir. Bunu başarmanın bir yolu, R2'deki dağıtım listesi yoluyla aşağıdaki gibidir: (sadece örneğin kullanılan EIGRP, aynı komut OSPF veya BGP ile diğer komutlarla elde edilebilir)

!
ip ön ek listesi R1-PREFER seq 5 izni 172.17.1.0/24
!
rota haritası R1-TERCİH-HARİTA izni 10
 eşleşen ip adresi önek listesi R1-PREFER
 metrik ayarlama 1 1 1 1 1
... (diğer tüm rotalara izin ver)
!
yönlendirici eigrp 1
 ....
 dağıtım listesi rota haritası R1-TERCİH-HARİTA Ser1 / 0
 ....
!

Bu, WAN'ın tüm trafiği 172.17.1.0'a R1'e iletmesine neden olacaktır. R1 Se1 / 0 başarısız olursa, rota R2'ye doğru kurulacaktır. Bu metrikleri daha da ayarlayabilirsiniz, böylece R2'ye yedekleme yolu aslında daha hızlı yük devretme için uygulanabilir bir haleftir. HSRP ve izleme çıkış trafiğini ele alacaktır.


aslında benim fhrp ve ecmp gerektiren benim soru yerine istediğiniz soruyu cevaplıyorsunuz
Mike Pennington

bunun için üzgünüm - Bu foruma alışıyorum ve bu gereksinimi kaçırdım!
smoothbSE

Sorun değil ... NE'ye hoş geldiniz :)
Mike Pennington

0

HSRP kullanımdaysa ECMP kullanılmaması fikri, giriş trafiğinin çıkış trafiğinden daha yüksek olabileceği SUNUCULAR için iyi olabilir, bir PC durumunda WAN'dan genel giriş trafiği (yanıtlar) çıkış trafiğinden (giriş) daha yüksektir. Çoğu insanın ARP zamanlayıcılarını ayarlamasını seviyoruz. CAM zamanlayıcıları ile karışıklık yapabilirsiniz, ancak katman 3 anahtarlı bir MDF ve 2 toplama anahtarlı ve 5 erişim anahtarlı bir IDF varsa, L3 SVI üzerinde yapılandırmak tüm erişim anahtarlarını yapmaktan çok daha kolaydır.


0

İkinci anahtardaki MAC adresi girişinin süresi dolma sorununu azaltmak için bir anahtar yığını kullanılabilir.


0

Ah, bunu hatırlıyorum. Birkaç hafta önce bu eğlenceli haftalar uğraşmıştı. Bir kırışıklık, STP olaylarının vlansları hızlı yaşlanma moduna sokmasıdır, bu nedenle MAC zamanlayıcısını ARP zamanlayıcısından daha uzun ayarlamak yardımcı olmaz

ECMP'yi sunuculardan geri zorlayarak, her bir yönlendiricide bir birincil olan iki yüzen HSRP ağ geçidi oluşturarak sorunu çözdüm. Daha sonra her ana bilgisayarda her iki ağ geçidini de yapılandırdık. Ana bilgisayar trafiğini bu şekilde hem R1 hem de R2'ye zorlayarak, R2'nin MAC adreslerini asla eskime etmeyeceğinden emin oluruz.

İdeal olarak, L2 / 3 eski MAC adresleri ile ilişkili ARP girişlerini değiştirirse bu bir sorun olmaz. IP'nin bir sonraki paketi, hem ARP önbelleğini hem de MAC tablosunu doldurarak yeni bir ARP isteğiyle sonuçlanır. Ben düşünüyorum Cisco sonunda bu uygulamaya, ama emin diyemeyiz.


0

Özet: MC-LAG veya HSRP GARP

Daha önce zamanlayıcı ayarlarının hayranı olmadım. Zamanlayıcılar genellikle birçok nedenden dolayı belirli bir şekilde ayarlanır. Onları değiştirmek:

  • potansiyel olarak operasyonel açıdan yoğun olup, her yerde aynı
  • işleri daha karmaşık ve sorun gidermeyi zorlaştırır
  • yeni bir yorumcunun gösterdiği gibi, beklenmedik yan etkileri olabilir
  • gelecekteki Cisco geliştirmeleriyle "hoş oynama" olmayabilir

Alternatif:

  1. MC-LAG (Cisco belgelerinde "MEC" olarak da bilinir) kullanın. Bu en iyi seçeneğinizdir, ancak MC-LAG'ın kullanılabileceği dağıtım senaryolarını anlamalısınız (evrensel bir çözüm değildir ve yalnızca uygun araştırma ve testlerden sonra dağıtılmalıdır). MC-LAG varyantları donanıma bağlıdır. Örnekler:

    a. İstifleme (Cat 3k)

    b. VSS (Cat4k / 6k)

    c. VPC (Nexus)

    d. Sözde mLACP (ASR1k)

    e. MC-LAG (ASR9k)

    f. Kümeleme (ASA)

  2. HSRP'yi Düzenli Olarak ARP paketleri göndermek için etkinleştirin . Bu, zamanlayıcıları değiştirmeye benzer, ancak CAM tablosunu ve ARP zamanlayıcılarını manipüle etmekten çok daha zarif bir değişikliktir. (Bunun donanım ve yazılım kombinasyonunuza bağlı olmasına rağmen, tüm HSRP uygulamalarının bunu sunmadığını unutmayın.)

    Varsayılan olarak, yönlendirici yönlendirme ağ geçidi olduktan sonra HSRP 0, 2 ve 4 saniyede 3 GARP gönderir. Ancak, GARP'lerin sayısını ("sonsuz" dahil) ve aralığı seçmenizi sağlayan bir yapılandırma parametresi vardır.

MC-LAG'ı oldukça yaygın bir şekilde kullanıyorum, özellikle VSS, VPC ve Kümeleme (Yığınlama hayranı değilim).

MC-LAG veya GLBP'yi kullanamadığım yerde, kampüs L2 / L3 sınır yönlendiricilerime uyguladığım şey (350 bina kampüsüm var, bu yüzden Cat6k'ı oldukça yoğun kullanıyorum):

Cat6k-v15(config)#interface vlan 100
Cat6k-v15(config-if)#standby arp ?
  gratuitous  Setup gratuitous ARP interval and count

Cat6k-v15(config-if)#standby arp gratuitous ?
  count     Set HSRP gratuitous ARP count
  interval  Set HSRP gratuitous ARP interval
  <cr>

Cat6k-v15(config-if)#standby arp gratuitous count ?
  <0-60>  Number of gratuitous ARPs to send after group is activated (0 for continuous)

Cat6k-v15(config-if)#standby arp gratuitous count 0 ?
  count     Set HSRP gratuitous ARP count
  interval  Set HSRP gratuitous ARP interval
  <cr>

Cat6k-v15(config-if)#standby arp gratuitous count 0 interval ?
  <3-1800>  Gratuitous ARP Interval (sec)

Cat6k-v15(config-if)#standby arp gratuitous count 0 interval 60 ?
  count     Set HSRP gratuitous ARP count
  interval  Set HSRP gratuitous ARP interval
  <cr>

Cat6k-v15(config-if)#standby arp gratuitous count 0 interval 60 

(Tüm bunlara referans gönderirim, ancak bu sitede ikiden fazla URL yayınlamak için yeterince yüksek bir "itibarım" yok.)


MC-LAG olarak adlandırdığınız şey kesinlikle bir seçenektir, ancak klasik IOS platformlarında kullanılabilirliği sivilceli. HSRP Tesadüfi ARP'nin bu sorunu çözmeye nasıl yardımcı olduğunu da özlüyorum. Sorumdaki örneği kullanarak, HSRP Gratuitous ARP'nin 172.17.1.1'in ARP giriş zaman aşımını nasıl çözdüğünü açıklayabilir misiniz? Varsayılan GW'nin 172.17.1.254
Mike Pennington

Uzun cevap, öyleyse bunu iki parçaya böleyim. Bölüm 1 ... HSRP ile ilgili sorun, yönlendiricinin sanal MAC ile bir ARP sorgusuna yanıt vermesidir. Ancak, yönlendirici bir datagramı ana bilgisayara ilettiğinde, fiziksel MAC adresini kullanır . Anahtarlar, yönlendirme tablosunu oldukça hızlı bir şekilde temizler (genellikle 300 saniye veya 5 dakika), ancak ARP girişleri genellikle bundan daha uzun sürer (8 saat yaygındır).
Weylin Piegorsch

Bölüm 2 ... Anahtarlar, iletme tablosundan sanal MAC adresini zaman aşımına uğrattıktan sonra, sunucudan sanal MAC'a giden trafik "bilinmeyen tek noktaya yayın" haline gelir ve anahtar varsayılan olarak hub benzeri davranışa geçer ve trafiği dışarı atar bağlantı noktaları. Periyodik olarak bir GARP göndererek, yönlendirici anahtar yönlendirme tablosunu yeniler. Ayrıca, bir GARP göndererek, sunucudaki ARP tablosu yenilenir ve bir ARP sorgusu gönderme gereği ortadan kalkar.
Weylin Piegorsch

2 bölümlü yanıtım için ikincil olarak, sorunun ters yönden sorulduğunu fark ettim: sunucunun MAC adresi yönlendiricinin sanal MAC'inden değil, anahtarlardan temizleniyor. Bu özel problemimiz vardı ve başlangıçta MC-LAG (özellikle VPC) ile çözdük ve daha sonra Nexus'u kullandığımızdan beri, sorunu ortadan kaldıran FabricPath aka TRILL'e geçtik. Ancak her ikisi de donanıma ve topolojiye bağımlıdır.
Weylin Piegorsch

Orijinal yorumumun geçerli olduğunu fark ettim - ama ne yazık ki eksik. Sadece MC-LAG değil, her iki katmanda da MC-LAG. Ardından, hem anahtar düzeyinde hem de yönlendirici düzeyinde paylaşılan bir CAM masasıyla uğraşıyorsunuz.
Weylin Piegorsch

0

Orijinal yorumumun geçerli olduğunu fark ettim - ama ne yazık ki eksik. Satıcıdan bağımsız tasarım önerisi, dikdörtgenler değil üçgenler oluşturmaktır. Yani:

  1. Sadece MC-LAG değil, her iki katmanda da MC-LAG. Ardından, hem anahtar düzeyinde hem de yönlendirici düzeyinde paylaşılan bir CAM masasıyla uğraşıyorsunuz.

  2. Bunu yapamazsanız, MC-LAG yönlendirici veya anahtar ve MC-LAG diğer katmana ek bağlantı ile (yani yönlendiriciler ve anahtarlar arasında tam ağ). STP, döngüsüz topoloji sağlayacaktır.

  3. Bunu yapamıyorsanız, yönlendiricileri ve anahtarları tam olarak birbirine bağlayın. STP, döngüsüz topolojiyi sağlar ve anahtar CAM tabloları hala uygun tüm MAC yönlendirme kurallarını bilir. Sunucu her zaman MAC değerini gönderir ve HSRP GARP'leri 1 dakikalık aralıklarla yapılandırırsanız, anahtarlar HSRP vMAC'yi de unutmaz.

Tercih edilen seçenekler bu sıradadır. Ama en azından, bu ekstra bağlantı çiftini kurun.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.