"Eficiența" unui WAN standard este de numai aproximativ 10%
Dacă vă uitați în aproape orice canal de comunicare între sucursală și centrul de date, puteți vedea o imagine destul de suboptimală:
- În primul rând, se transmite foarte mult (până la 60-70% din canal) de informații redundante. care într-un fel sau altul a fost deja solicitat.
- În al doilea rând, canalul este încărcat cu aplicații "chat". concepute pentru a lucra într-o rețea locală - schimbă mesaje scurte, ceea ce afectează în mod negativ performanța acestora pe canalul de comunicare.
- În al treilea rând, TCP însuși a fost creat inițial pentru rețelele locale și este excelent pentru întârzieri reduse RTT și în absența pierderii de pachete în rețea. În canalele reale, cu pierderi de pachete, viteza este foarte degradată și este restaurată încet de RTT-uri mari.
Lucrez ca șef al echipei de ingineri a departamentului de telecomunicații al CROC și optimizând în mod regulat canalele de comunicare ale centrelor de date ale companiilor noastre, precum și ale companiilor de energie, ale băncilor și ale altor organizații. Mai jos vă voi explica elementele de bază și le voi oferi soluția cea mai interesantă, după părerea mea.
Comprimarea și deduplicarea
Prima problemă a fost deja descrisă: în canal sunt transmise o mulțime de date duplicate redundante. Exemplul cel mai frapant este ferma Citrix, în care sucursalele unei bănci funcționează: în același birou, aceleași date pot fi solicitate de 20-30 mașini diferite. În consecință, canalul ar putea fi descărcat în siguranță cu 60-70% din cauza deduplicării.
Pe Citrix în sine, desigur, puteți include compresia datelor, dar eficiența (compresia) este de câteva ori mai mică decât în cazul optimizatorilor de trafic specializați. În principal datorită faptului că optimizatorii nu numai comprima date, dar și deduplicate. Prin optimizator, traficul trece prin întreaga ramură. Și mai mulți utilizatori din ramură, cererile mai repetate ale utilizatorilor și cu atât efectul deduplicării este mai mare. Pentru un utilizator, comprimarea standard, de exemplu Limpel-Ziv, poate fi chiar mai mare decât deduplicarea, dar dacă există mai multe dispozitive, deduplicarea va veni mai întâi.
De regulă, optimizatorii sunt PAC-uri, dar le puteți implementa și sub formă de mașini virtuale. Pentru optimizarea traficului pe canalul de comunicare, optimizatorii trebuie să fie instalați pe ambele site-uri. Optimizatorii sunt plasați în fața gateway-urilor VPN, deoarece deduplicarea traficului criptat este un lucru inutil.
Algoritmul lucrării de deduplicare este următorul:
Rămâne să adăugăm că dicționarul este actualizat în mod constant și, datorită unui algoritm special, cele mai populare blocuri de date rămân în dicționar.
O altă problemă este că viteza TCP este limitată de dimensiunea ferestrei (TCP Windows Size). Dimensiunea ferestrei - cantitatea de date trimise de expeditor înainte de primirea confirmării de la destinatar. Pentru a transmite traficul comprimat, este necesar să se transmită mai puțin timp TCP Windows Size, ceea ce duce la o creștere a ratei de transmisie.
Deci, încă o dată, funcționează astfel:
- Dispozitivul A dedupează traficul.
- Dispozitivul B colectează o "imagine completă" din depozitul său local.
- Ambele dispozitive funcționează simetric.
- Ambele aceste dispozitive nu au nici un efect asupra infrastructurii și configurația tot ce este în spatele lor, este pur și simplu inclusă în diferența de canal, de exemplu, producția centrului de date și intrarea în biroul regional.
- Dispozitivele nu restricționează comunicarea cu nodurile, unde nu există astfel de dispozitive.
Deduplicare pentru canalele criptate
canal criptat este în mod clar mai rău pentru compresie și de-duplicarea, adică avantajele practice de lucru cu trafic criptat deja aproape acolo. Prin urmare, optimizatori incluse în diferența față de aparatul de criptare: DPC trimite o optimizator de date, de optimizare a trimite un mesaj codat (de exemplu, într-un mod sigur VPN-canal) pe partea laterală a traficului este decriptat și de optimizare este dat pe loc, și că le trimite deja la rețea. Este o caracteristică standard „cutii-optimizatori“, și toate acestea se întâmplă, fără a reduce riscurile de trafic să fie compromise.
Deduplicarea pentru angajații mobili
În ultimii ani, destul de des cu centrele de date folosesc în mod direct persoanele cu laptop-uri și tablete, care au nevoie, de asemenea, o mulțime de date (aceeași bază de date de imagini de mașini virtuale sau mostre). Ei nu folosesc „cutii optimizatori“, și un software special care consumă pur și simplu o parte din CPU și hard disk pentru același scop. De fapt, schimbăm o anumită degradare a performanței laptopului și plasăm în cache-ul de pe hard disk pe un canal mai rapid. Utilizatorii de obicei nu observa nimic altceva decât accelerarea serviciilor de rețea.
Cine face aceste optimizatoare?
Din punctul de vedere al directorului comercial al clientului, există câteva cutii care, după o simplă conectare la rețea, accelerează canalele lente de 2-3 ori și reduc încărcarea canalelor de la 2 ori. Aproape toată lumea îi iubește!
Conexiune de optimizare
Cea mai simplă și cea mai fiabilă modalitate este de a "rupe" între routerul de margine și comutatorul LAN. Dacă optimizatorul nu reușește, acesta închide contactele interfețelor LAN și WAN - iar traficul trece prin el, ca de exemplu printr-un cablu încrucișat normal. În consecință, văzând traficul neoptimizat, optimizatorul de cealaltă parte îl trece de asemenea prin el însuși, fără prelucrare.
- Conectarea filialei cu optimizatorul și centrul de date cu optimizatorul - traficul este optimizat.
- Sucursala fără optimizator și centru de date cu optimizator - optimizatorul de centre de date trece pur și simplu în mod transparent traficul fără modificări.
- Conexiunea sucursalei cu optimizatorul și centrul de date cu optimizatorul în cazul în care oricare dintre optimizatori eșuează, traficul pur și simplu nu se micșorează și se duce "ca atare".
Firește, în optimizatorii centrului de date sunt grupați pentru toleranță la erori sau pentru extinderea capacității plus sunt furnizate de balancatorii Interceptor. Dar despre acest lucru un pic mai mic, atunci când ajungem la echipamente specifice.
Accelerarea TCP
Viteza TCP este limitată de mărimea ferestrei. O fereastră este cantitatea de informații pe care un server le poate trimite unui client înainte de a primi o confirmare de primire.
Comportamentul standard al TCP arată astfel:
- accelerarea lentă a conexiunilor, mărimea ferestrei TCP este mărită;
- când pierderea pachetului - o scădere bruscă a vitezei (reducerea ferestrei de 2 ori);
- și din nou crescând-o încet (crescând fereastra);
- din nou pierderea de pachete și îndoirea benzii și așa mai departe.
Orange "a văzut" pe diagramă - comportamentul standard al TCP
Pe canalele de comunicații cu o lățime de bandă mare, dar prezența oricărui nivel de pierdere și întârzieri RTT mari, lățimea de bandă disponibilă este utilizată ineficient, adică canalul nu este niciodată încărcat complet.
Compania Riverbed se gândea la aceeași direcție. Și deoarece avem deja optimizatoare de cutii la intrare și ieșire, este greu să nu le folosim pentru a modifica protocolul TCP pentru a evita problemele standard. Prin urmare, optimizatorii sunt capabili nu numai să optimizeze traficul la nivel de date (deduplicare / compresie), ci și să accelereze stratul de transport.
Iată câteva moduri disponibile pentru accelerarea TCP:
- Modul TCP HighSpeed - aici viteza atinge un maxim mult mai rapid decât atunci când lucrați cu TCP. La pierderi nu este atât de scăzută și nu scufunda la fel de mult ca TCP standard;
- Modul MaxTCP - utilizează 100% din lățimea de bandă fără a încetini. Pachetul este pierdut - nu există o decelerare. Cu toate acestea, acest mod necesită setarea normelor de calitate a serviciilor QoS pentru a determina limitele de bandă disponibile pe care le poate ocupa traficul MX-TCP;
- Modul SCPS - conceput special pentru canalele de comunicații prin satelit. Aici benzile nu sunt limitate, la fel ca în MaxTCP. SCPS se adaptează perfect la caracteristicile plutitoare ale canalelor prin satelit.
Optimizarea aplicațiilor
Multe aplicații sunt "vorbătoare", adică pot trimite până la 50 de pachete atunci când numai unul este suficient. Așa cum am spus, aceasta este o consecință a proiectării pentru rețelele locale, și nu pentru a lucra prin canalele de comunicare "pe distanțe lungi". Cu ajutorul optimizatorilor, numărul de călătorii dus-întors scade de mai mult de 50 de ori.
Iată cum arată:
Optimizatorii acționează ca proxy-uri transparente la nivelul șapte pentru un număr de protocoale de aplicații cele mai comune.
Optimizatorul de centre de date acționează ca un client pentru server. Optimizatorul de sucursale acționează ca un server pentru clienți. Astfel, comunicarea ineficientă, "clară" a aplicațiilor rămâne în rețeaua locală. Între optimizatori, mesajele de aplicație au loc într-o formă mai potrivită pentru canalele de comunicații - numărul de mesaje scade.
Dispozitivele de optimizare a patului de râu pot accelera următoarele protocoale de aplicație la nivelul șapte:
Interesant este că există aplicații criptate, inclusiv Citrix și MAPI criptate. Când se optimizează traficul criptat, nu există nicio reducere a nivelului de securitate.
Exemple de accelerare a aplicațiilor. Într-o rețea reală, accelerarea va depinde de canalul de comunicare. Cu cât canalul de comunicație este mai rău, cu atât viteza de accelerare poate fi mai mare.
Schița de conexiuni tipică
Optimizatorii Steelhead sunt plasați în fața legăturii de date, dar înainte de dispozitivele de criptare. Centrele de date cu cerințe speciale utilizează, de asemenea, gruparea pentru a îmbunătăți fiabilitatea și balanțele de încărcare Interceptor.
Rezultat (exemplu)
Verde - trafic WAN. Trafic Blue - LAN. Fără optimizatorul Pământului, ar fi aceleași.
Coloana evidențiată arată procentajul de compresie pe porturile TCP.
Bare de fier
Capacitatea poate fi prelungită prin licență. Pentru a îmbunătăți performanța, în unele cazuri este necesară o actualizare hardware. Posibilitățile din amonte în cadrul platformei sunt indicate de săgeți verzi.
Modelul mai mic este potrivit chiar și pentru un mic magazin online: acesta este de la 1 megabit pe secundă și 20 de canale. Și pilotul acceptă până la 150.000 de conexiuni deschise simultan pe canalele de 1,5 Gigabiți pe secundă. Dacă acest lucru nu este suficient, se folosește balancerul Integeror. Clusterele de la balansoare și optimizatoare permit lucrul cu un canal de până la 40 gigabiți pe secundă, cu 1 milion de conexiuni deschise simultan.
Cât costă prețul?
Modelul low-end - aproximativ 100 de mii de ruble, dispozitivul pentru centrul de date secundar - 1,1 milioane de ruble pentru centre mari de date - 5,5 milioane de ruble. În acest caz, prețul este destul de puternic variază în funcție de modelele specifice de utilizare, plus reducerile pot fi numite astfel încât numărul doar aproximative, mai bine, la cerere, prin e-mail (este la sfârșitul subiectului). Recuperarea unor astfel de soluții pentru mediu și întreprinderi mari pentru a conta destul de ușor, pur și simplu prikinuv că liber 3-60% din canal (din nou, performanța specifică de până la 10%, pot apela e-mail în funcție de utilizarea tipului de canal), și utilizatorii nu se vor plânge de frânele de aplicare.
Mai multe elemente ale pajiștilor:
După ce canalul este optimizat prin metoda descrisă, deseori facem monitorizarea și rezolvarea problemelor cu anumite servicii și echipamente. În practică, aceștia sunt detectivi întregi. Îți voi spune mai târziu despre ele. Dacă sunteți interesat, abonați-vă la blogul corporativ CROC pe Habr.
Pentru cine am implementat personal:
Nu am dreptul să sun la toți clienții, dar pot spune că soluția Riverbed pentru optimizarea traficului a fost folosită pentru:
- cei mai mari cinci reprezentanți ai sectorului bancar;
- o mare companie de exploatare a aurului;
- o mare companie de logistica;
- un număr de companii sunt mai mici.