IOS XR/ASR 9000 loadblance

İlk olarak dikkat edilmesi gereken konular ;

  • Loadbalance iki farklı konuda karşımıza çıkar, ECMP/UCMP veya bundle-ether üzerinde.
  • Loadbalance için hangi algoritmanın kullanılacağına IN yönünde karar verilir ( IN NPU).
  • Hash algoritmasının ne olduğu ne kadar verimli dağıtıldığını anlama konusunda önemlidir (CRC32 veya MD5). IOX XR CRC32 kullanır. Dolayısı yük dağılımı ile ilgili sorun yaşayıp yaşamadığınıza karar vermeden önce, test trafiğinizin veya gerçek trafiğinizin içeriği önemlidir. CRC 32 ile iyi bir yük dağılımı sağlanabilir. Fakat özellik ile test sırasında yapılan bir hata, src ip’lerini bir birine benzer kullanmaktır 192.168.1.1,.192.168.2.1 vb). Bu durumda CRC 32 sonucu istenilen yük dağılımını sağlanamaz.
  • MPLS kullanımında mpls encap ve header mantığını iyi bilmek gerekir.
  • Hash sonucu çıkış interface birinin down olması durumunda paket iletiminin nasıl etkilendiğini önemlidir (Sticky ECMP).
  • ECMP’nin recursive (BGP), non-recursive (IGP) olması durumu önemlidir.

ASR 9000 LoadBalance

Loadbalance için hash code hesaplaması (32 bit CRC) paketin platforma girdiği NPU üzerinde yapılır. NPU’dan önce PHY üzerinde’de yapılabilme durumuda vardır. Bunun için 100G kartların özelliklerine bakmak gerekir.

Hash için hangi alanların kullanılacağı ise paket tipine göre değişir.

Burada önemli olan ECMP/UCMP veya Bundle olması durumuna göre değişir. Eğer ikisi bir arada, ECMP/UCMP sonucu her bir path yani outgoing interface bir bundle’ı işaret edebilir. Bu durumda ilk olarak ECMP/UCMP hash’i sonuçlanır ve hangi inteface’den pakedin gitmesi gerektiği hesaplanır. Daha sonra bundle hash algoritması çalıştırılır ve bundle’ın hangi inteface’inden gitmesi gerektiği bulunur. Bu durumda ECMP/UCMP değişiklik sonucu bundle etkilenmez (routing change).

MPLS kullanımı durumunda LSP üzerinde, LER dışındaki cihazlar, LSR üzerlerinden geçen trafiğin hangi servisi kullandığını (L3 MPLS VPN, L2 MPLS, PW vb) hakkında bilgi sahibi değillerdir. Basitçe mpls etiketlerine göre iletim yaparlar. Load-balance algoritmaları’da mpls etiketine göre olur.

Dolayısı ile etiket bilgisi aynı olan trafik aynı path üzerinde gider. Trafiğin bundle üyeleri arasında dağılımın yapmak için LER üzerinde yapılandırma yapılması gerekir. LSR’ın mpls etiketi altına girerek verilen servisi bulmaya çalılışması zor olabilir. Dolayısı ile servis bir PW bile olsa LSR üzerinde bundle üyeleri için load-balance olması isteniyor ise, LER’in verilen servis için nasıl load-balance olmasını istiyor ise kullanılan hash algoritması sonucunda trafiğe farklı etiketler ataması gerekir. Servisin sonlandığı LER’inde kullanılan bu farklı etiketi veya etiket alanını anlaması gerekir. FAT-Pseudowire ve FAT label:).

Yararlı Linkler :

  • https://supportforums.cisco.com/t5/service-providers-documents/asr9000-xr-load-balancing-architecture-and-characteristics/ta-p/3124809
  • https://null.53bits.co.uk/index.php?page=asr9000-load-balancing
  • Cisco Live BRKSPG 2904 sessionları. Özellik ile her dönem bu session takip edilmesinde yarar vardır. Yeni kartların kullanımı ve yeni IOS XR update’leri gelen değişiklik ler bunlara eklenir.