Load balancing optimizat cu Cisco ITD: Eficiență sporită în gestionarea traficului

Adrian Murgescu

System Engineer Data Center

Introducere în Cisco ITD

Cisco ITD (Intelligent Traffic Director) este o soluție inovatoare bazată pe hardware, care oferă capacități de multi-terabit și permite construirea unei arhitecturi scalabile pentru balansarea traficului Layer 3 și Layer 4 fără să avem latențe crescute, sau degradarea vitezei de transfer. Datorită faptului că această funcționalitate se bazează pe ASIC-urile switch-urilor, încărcarea procesorului este minimă.

În gestionarea traficului din rețelele de date, load balancing-ul joacă un rol crucial în asigurarea performanței și eficienței. Cisco ITD exploatează puterea și inteligența switch-urilor Nexus pentru a distribui eficient traficul între diverse servicii sau aplicații. Această tehnologie elimină necesitatea unor echipamente hardware suplimentare și permite o utilizare optimă a infrastructurii de rețea existente.

Această funcționalitate este inclusă în switch-urilor Nexus 9000, și nu este nevoie să adăugam module hardware sau software suplimentare. Din punct de vedere licențiere este nevoie sa avem minim licențiere Essentials.

Funcționalități ITD

  • Capacitatea de a balansa comunicația fără să avem latente sau pierderi de viteză
  • Capacitatea de a crea grupuri de dispozitive (clustere) (dispozitive ce oferă același serviciu), cum ar fi firewall-uri, IPS-uri sau Web Application Firewall (WAF), clustere Hadoop, și altele.
  • Balansarea ponderată a traficului către aceste dispozitive, pachetele fiecărui flow urmând aceeași cale, prin implementarea unor algoritmi consistenți.
  • IP-stickiness și coerență bidirecțională a fluxului de date (de ex comunicația A->B si B->A va trece prin același nod)
  • Monitorizarea stării serverelor/dispozitivelor cu ajutorul probelor bazate pe IP SLA și gestionarea automată a defectelor serverelor/dispozitivelor.
  • Abilitatea de a face Load balancing către un număr mare de dispozitive/servere in timp ce gestionează un număr nelimitat de fluxuri.
  • Serverele/dispozitivele nu trebuie să fie conectate direct la switch-ul Cisco Nexus.
  • Abilitatea de a avea mai multe servicii de balansare care să funcționeze în același timp
  • Suport pentru VRF, vPC, NAT, IPv4/IPv6.
  • Adăugarea sau ștergerea de noduri fără întreruperi
  • Redundanță N + M (N număr de noduri active și M număr de noduri de rezervă).

Utilizări ITD

Pentru a răspunde creșterii numărului de echipamente din centrele de date, precum și pentru a elimina discrepanța de performanță între infrastructura switch-urilor multi-terabit, și dispozitivele atașate, putem folosi Cisco ITD, în diverse scenarii de utilizare. 

Cele mai comune cazuri de utilizare ale ITD sunt următoarele:

  • Load balancing pentru servere

    Distribuția echilibrată a traficului către grupuri de servere, servere de aplicații, servere web, etc. De exemplu, echilibrarea încărcării traficului către 256 de servere care au conectivitate de 10 Gbps fiecare.

  • Load balancing și clusterizare de servicii

    Echilibrarea încărcării către clustere de firewall-uri, scalarea IPS și WAF prin echilibrarea încărcării către dispozitive independente, precum și scalarea încărcării către dispozitive L7.

  • Redirecționare și dirijare a traficului

    Mecanism de redirecționare a traficului pentru soluția Cisco Wide Area Application Services (WAAS) sau Web Accelerator Engine (WAE).

  • Înlocuirea PBR, ECMP sau Port Channel

    ITD este mult superior PBR-ului și poate înlocui ECMP sau Port Channel pentru a evita rehashing-ul. ITD este rezilient și nu cauzează mutarea fluxurilor de date, la adăugarea/ștergerea/defecțiunea nodurilor.

  • Service Chain

    Procesul de direcționare a traficului prin mai multe servicii și servere secvențial, cum ar fi firewall-uri, IPS-uri, load balancers și altele, pentru a asigura securitatea, optimizarea și îmbunătățirea performanței rețelei.
    Această utilizare se poate folosi în paralel cu alte funcționalități, cum ar fi PBR sau ePBR.

Modalități de implementare pentru ITD

 

Modalitatea de implementare „One-Arm”

Putem conecta servere (sau alte dispozitive de servicii, cum ar fi firewall-uri, IPS-uri, etc.) la switch-ul Cisco Nexus în modul de implementare „one-arm”, iar traficul va intra și va ieși din server prin intermediul unei singure interfețe. Acest exemplu prezintă o topologie de implementare „one-arm”, în care serverele nu se află în calea directă (și naturală) a traficului între clienți și servere. Switch-ul Cisco Nexus Seria 9000, cu ITD activat, redirecționează și echilibrează încărcarea traficului către diferite grupuri de servere (de exemplu, servere web), înainte ca acesta să fie trimis mai departe în rețea, spre serverele de aplicații, baze de date, și altele.

Aceasta topologie ne permite să conectăm servere la rețea, fără să fie nevoie să schimbăm topologia existentă. Tot ce trebuie să facem este să adăugăm serverul nou în lista de dispozitive a ITD, pentru a începe să redirecționăm trafic către acest nou dispozitiv.

Modalitatea de implementare „One-Arm” cu vPC

Pentru a avea redundanță la nivel de switch, putem implementa “One-Arm” cu vPC (virtual Port Channel). După cum se poate vedea din imaginea de mai jos serverele/appliance-urile sunt conectate către două switch-uri via vPC, iar cele două switch-uri rulează ITD.

 

Modalitatea de implementare „Sandwich”

În acest model de implementare folosim 2 switch-uri Nexus, care să ofere partea de conectivitate, iar appliance-urile care oferă serviciile de care avem nevoie sunt inserate între cele 2 switch-uri după cum putea vedea în imaginea de mai jos. (atunci când avem nevoie de redundanță / performanță suplimentară putem implementa aceasta topologie și folosind câte 2 perechi de switch-uri de fiecare parte, fiecare pereche rulând vPC)

Putem implementa această topologie atunci când dorim să folosim de exemplu clustere de Firewall-uri, IPS-uri sau Load Balancere, prin care să trecem traficul care vine de la utilizatori către rețeaua noastră, având astfel o securitate și o performanță crescută.

ITD lucrează într-o singura direcție a flow-ului, însă (de ex) Firewall-urile au nevoie sa inspecteze flow-urile in ambele direcții. Din acest motiv este nevoie sa configuram doua servicii de ITD care sa trimită atât traficul de tur cat si cel de retur către același nod.

Algoritmii de balansare ai ITD pot folosi următoarele informații:

  • Adresa IP sursa
  • Adresa IP destinație
  • Adresa IP si port sursa
  • Adresa IP sursa si port destinație
 

Modalitatea de implementare Balansare de Servere

Serviciul ITD poate fi configurat să prezinte o adresă virtuală (VIP – Virtual IP), adresă care să fie folosită de către clienți pentru a accesa serviciul din data center (un site web de exemplu). Traficul care va ajunge la această adresă va fi balansat la nodurile active din spate. În acest mod vom avea o performanță sporită a serviciului, precum și redundanță.

Modalitatea de implementare ITD cu NAT

Folosirea NAT-ului este foarte întâlnită în implementările de LB, Firewall, IPS precum și alte appliance-uri de servicii. Atunci când folosim ITD împreuna cu NAT, vom avea un nivel de securitate crescut datorită faptului că adresele serverelor sunt ascunse, clienții comunicând doar cu adresa VIP.

Atunci când switch-ul detectează că unul din serverele din spate nu mai răspunde, va muta traficul către serverele rămase, fără să existe vreun impact asupra utilizatorilor.

Putem implementa mai multe tipuri de NAT, însă cel mai utilizat este „Destination NAT”, datorită următoarelor avantaje:

  • Traficul de la clienți se face către adresa VIP. Când ajunge la switch-ul ITD, acesta face balansarea către unul din serverele din spate, iar adresa destinație este modificată, cu adresa acestui server.
  • Pentru traficul de retur (de la server către client), adresa sursă (a serverului) este translatată înapoi în adresa VIP.
  • Adresa clientului nu este modificată nici la tur, nici la retur.

În imaginea de mai jos putem vedea pașii care sunt urmați în timpul comunicației atunci când avem ITD și NAT configurate.

Alte posibile modalități de implementare ITD

Mai putem avea și alte modalități de implementare:

  • Balansare la L2
  • ITD peste VXLAN: putem folosi acest model de deployment atunci când avem implementat un fabric de VXLAN. La nivelul acestui fabric implementăm funcționalitatea ITD, iar în acest mod practic creăm un mare switch cu funcția de LB la nivelul întregului data center.

Informații suplimentare legate de toate aceste modalități de a face Load Balancing, precum și exemple de configurare, găsim în link-urile de la sfârșitul acestui articol.

Pași implementare

Mai jos putem vedea care sunt etapele necesare implementării acestei funcționalități:

Exemplu Configurare

Mai jos putem vedea un exemplu generic de configurare din NX-OS CLI:

Concluzii

Tehnologia ITD vine să înlocuiască Load Balancerele tradiționale care funcționează la L4.

Mai jos putem vedea ce aduce în plus ITD față de Load Balancerele L4:

NOTA: ITD NU înlocuiește Load Balancerele L7. Avem nevoie în continuare de aceste echipamente, însă atunci când avem nevoie de un mix de servicii de balansare L4 si L7 (și de obicei avem), putem să facem offload la serviciile de LB L4 pe switch-urile Nexus, și să păstrăm serviciile de L7 pe aceste echipamente. 

 

Documentație Adițională / Referințe

 

Vrei să afli mai multe despre Cisco ITD?

Sunt de acord ca ALEF Group să prelucreze datele mele cu caracter personal conform politicilor GDPR

 

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.