Supraviețuirea rețelei

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

Rețeaua de supraviețuire, în italiană , supraviețuirea rețelei este posibilitatea ca, după una sau mai multe evenimente critice, sistemul continuă să funcționeze pentru ceea ce a fost proiectat.

Descriere

Înțelegând întotdeauna rețeaua ca un set de noduri și servicii, în scopul acestei analize, evenimentele vor fi mapate la orice apariție care apare în rețea (eveniment de utilizator, eveniment intern, eveniment de comunicare, defecțiune). Pe de altă parte, termenul de serviciu se referă la orice activitate care se așteaptă să înceapă printr-un eveniment de început și să se încheie cu un eveniment final. Analiza supraviețuirii poate fi de mare ajutor atât în ​​faza de proiectare, cât și în faza de revizuire post-facto a rețelei, pentru a-și găsi punctele slabe, mai puțin fiabile sau blocajele.

Trei aspecte pe care modelul le poate descrie:

  1. Efectul pe care îl poate avea o eroare asupra sistemului
  2. Fiabilitatea sistemului, înțeleasă ca probabilitatea ca serviciul pornit să se termine corect
  3. Confortul cost-beneficiu al sistemului, adică evaluarea componentelor care pot fi actualizate cel mai bine în ceea ce privește raportul cost / beneficiu.

Pentru ca această analiză să fie corectă, este mai întâi necesar să se analizeze toate cazurile posibile de eșecuri accidentale și rău intenționate și să se cântărească importanța lor în rețea (de exemplu, un BOF pe un server central are cu siguranță o greutate mai mare decât repornirea unui periferic aparatul unui utilizator). De asemenea, introduce, spre deosebire de ceea ce s-a văzut până acum, dependența dintre evenimente (în special evenimentele care duc la o eroare). Aceasta înseamnă că apariția unui eveniment poate face mai probabilă apariția unui al doilea eveniment detașat, dar dependent. În acest fel, este, de asemenea, posibil să se modeleze ceea ce sunt definite ca atacuri conexe, adică încercări de atac secvențial care individual nu au efect, dar care împreună pot compromite o resursă sau un serviciu (de exemplu: DDoS ). Analiza trebuie făcută în funcție de serviciile care o privesc și, prin urmare, trebuie să fie construită pe baza rețelei (sau a unei părți a acesteia) care urmează să fie analizată.

Procesul decizional constrâns de Markov

În procesul de decizie Markov (MDP), agenții care perpetuează procesul încearcă să găsească politici și, prin urmare, să facă alegeri care să ducă la maximizarea unui obiectiv dat. Cu toate acestea, atunci când obiectivele sunt mai multe decât una, poate conflictuale, este necesar să se recurgă la un cadru diferit, precis CMDP.

În modelul CMDP, probabilitățile tranzițiilor depind de istoricul h al tranzițiilor. Un CMDP este format din 5 tupluri:

  • Un spațiu de stare finit și discret, S.
  • Un set finit de acțiuni A, unde A (s) denotă setul de acțiuni disponibile pentru starea s.
  • Probabilitatea de tranziție între state, P.
  • Costul imediat al unei acțiuni, descris ca c (s, a) este costul luării deciziei de acțiune atunci când se află în stat
  • Un vector al costurilor imediate d

O politică u este o regulă de decizie care ia în considerare istoricul rețelei și determină imediat următoarea acțiune; nota că politica u la momentul t acționează a este

O politică u definește costul acțiunilor întreprinse dacă politica u este aplicată stării inițiale. În mod similar, d este costul imediat al angajării unei politici u începând cu s. este un vector k-dimensional la care se face referire printr-un alt vector C care indexează costurile fiecărui element i, permițându-vă să comparați diferitele costuri ale politicilor, astfel încât să puteți alege cel mai convenabil dintre toate cele posibile, în ordine pentru a obține valoarea minorului.

Model

Modelul propus și analizat prevede că atât nodurile, cât și arcurile sunt reprezentate ca mașini de stare care comunică prin variabile partajate. Compoziția acestor mașini de stare (noduri și legături) creează modelul de rețea.

Defecțiuni și proprietăți

Așa cum era de așteptat, în acest caz, atât nodurile, cât și legăturile trebuie considerate cu fiabilitate <1 și, prin urmare, nu sunt perfecte: aceasta rezumă conceptul de legătură în cel al unui nod, configurând efectiv un model în care legăturile nu sunt altceva decât noduri. care acționează ca un mijloc de comunicare între două noduri periferice. Pentru a studia modul în care rețeaua reacționează la o defecțiune, aceasta trebuie inserată în model; în mod clar, fiecare aplicație diferită către care se adresează rețeaua implică un comportament diferit al nodului defect (amintiți-vă că analiza este dependentă de serviciu). Defecțiunile sunt reprezentate de o variabilă numită defect, introdusă în fiecare nod al rețelei, care poate presupune 3 valori diferite: {normal, eșuat, intrat}. În funcție de valoarea asumată de variabila de eroare, comportamentul nodului variază (moduri de operare): comportamentul pe care fiecare nod îl asumă în funcție de modul de operare în care se află la momentul t este decis în faza de proiectare de către arhitectul de rețea. De asemenea, este posibil, în model, să se prevadă că tranzițiile de stare sunt complet nedeterministe. Deși comportamentul fiecărui nod este relativ la aplicația contextuală în care este inserat, există cel puțin două comportamente comune tuturor aplicațiilor:

  • Blocat la defecțiune : nodul a fost compromis de eșec, nu acceptă nicio intrare și, prin urmare, nu produce nicio ieșire (Model de defecțiune blocat logic - Blocat la 0, Blocat la 1)
  • Vina bizantină : nodul intră într-o stare neconcordantă în care face greșeli într-un mod imprevizibil, comportându-se într-un mod complet nedeterminist.

Din acest punct de vedere, o eroare bizantină poate fi utilizată pentru a modela un nod care a suferit o intruziune {intrată}.

Supraviețuirea este definită de arhitectul rețelei care specifică proprietățile inerente acesteia folosind logica formală, de orice tip ar dori să fie. Există două clase de proprietăți care pot fi definite în model: proprietăți legate de defecțiuni și proprietăți legate de servicii.

  • Proprietăți legate de erori : acest tip de proprietate specifică restricțiile privind comportamentul asumat de un nod care intră într-o stare de eroare. De exemplu, un proiectant ar putea specifica ca proprietate pentru supraviețuire că nu este posibil ca un nod N să ajungă la o stare nesigură dacă rețeaua începe de la o stare inițială. Comoditatea logicii formale constă în faptul că fiecare propoziție atomică, negată sau afirmată, poate asuma o varietate de semnificații semantice la discreția proiectantului, astfel încât chiar și proprietățile particulare sau complexe să poată fi modelate cu ușurință.
  • Proprietăți legate de servicii: proprietățile legate de serviciile privesc executarea acestora și caracteristicile acestea trebuie să asigure: de exemplu, în cazul în care începe un serviciu este necesar ca , la sfârșitul executării sale acest mod necesar se termină, fără excepție. Mai puțin pe scurt, pentru toate stările din care poate începe un serviciu și pentru toate căile care încep de la aceste noduri, există o stare în care serviciul se încheie întotdeauna.
AG (start → AF (terminat))

Odată ce aceste proprietăți au fost definite, este posibil să se verifice, prin modelul creat, dacă sunt respectate și, astfel, să se identifice nodurile critice pentru un anumit serviciu.

Grafic de scenariu: fiabilitate și analiză cost / beneficiu

După ce ați definit modelul M al rețelei alcătuit din mașinile de stare reprezentate de fiecare nod și după ce ați identificat proprietățile P, următorul pas este obținerea unui grafic de scenariu, în care toate urmele lui M sunt luate în considerare respectând P Două grafice, în special, pot fi obținute din acest lucru: graficul scenariului de defecțiune este un grafic în care sunt reprezentate toate urmele care se termină într-o stare nesigură. Un grafic al scenariului de succes / eșec al serviciului reprezintă în schimb toate urmele care determină un serviciu să înceteze / să nu se termine.

Graficul obținut este supus diferitelor tipuri de analiză, inclusiv cea pentru fiabilitatea și întârzierea comunicării. În primul rând, proiectantul trebuie să specifice probabilitățile de apariție a celor mai semnificative evenimente care pot apărea în sistem (defecțiuni). Deoarece aceste probabilități nu sunt independente una de cealaltă, analiza are loc prin intermediul rețelelor bayeziene, grafice orientate aciclic în care fiecare nod reprezintă o variabilă (deci, un eveniment) și un arc identifică relația sa cu un alt nod: este astfel posibil să se reprezinte probabilitatea condiționată de apariția evenimentelor. În formalismul rețelei Bayesian , dacă un eveniment A depinde de un set de evenimente, este necesar să se specifice probabilitatea ca A să apară pentru fiecare pereche de seturi de evenimente. De exemplu, dacă A depinde de {E1, E2}, trebuie să specificăm P (A | A1, A2), P (A | A1 ,! A2), P (A |! A1, A2), P (A |! A1,! A2).

Nu fiind neapărat toate tranzițiile deterministe, proiectantul nu este obligat să reprezinte toate probabilitățile implicate, ci doar cele de interes în scopul analizei. Prin urmare, probabilitățile de funcționare / ruperea nodurilor se modifică în funcție de scenariu.

Fiabilitatea este calculată prin evaluarea costurilor arcurilor și a „tipului” de stare în care conduc aceste arcuri. Amintind că serviciul este punctul central al analizei, atribuim o valoare V (s) = 1 tuturor stărilor care îndeplinesc condiția finalizată. La restul, V (s) = 0 este atribuit. Algoritmul pentru găsirea V *, care este funcția optimă de politică, se numește iterație de politică și este specific scenariilor MDP.

Presupunând c (s → s ') costul arcului care leagă starea s cu s' și p (s, s ') probabilitatea schimbării stării (dacă există, deoarece nu toate tranzițiile sunt neapărat probabiliste):

În mod clar, primul caz se referă la o stare inițială n-deterministă, în timp ce al doilea la una probabilistică.

Când costul asociat cu marginile devine 0 (c (s → s ') = 0, pentru orice pereche existentă (s, s')), V * (s) este cea mai slabă fiabilitate realizabilă pentru proprietatea specificată; cu alte cuvinte, este probabilitatea ca, în cel mai rău caz, serviciul început să se încheie în cele din urmă.

Dacă c (s → s ') este în schimb considerat a fi negativul latenței (latență = 30ms → cost = -30), ceea ce obțineți este cel mai prost timp de execuție al unui proces înainte ca acesta să ajungă la o stare cu finalizarea activată.

Analiza cost / beneficiu urmărește în schimb să detecteze care arce ar trebui să fie adăugate mai bine la grafic pentru a obține fiabilitatea maximă în beneficiul celui mai mic cost posibil. Deoarece adăugarea muchiilor nu depinde de starea sistemului, problema (care altfel ar fi din clasa NP-Hard), este redusă la o problemă de programare neliniară, care poate fi rezolvată prin diferite abordări euristice.

Bibliografie

  • Jia, S. și JM Wing. Analiza supraviețuirii sistemelor în rețea. De pe site-ul web Carnegie Mellon: https://www.cs.cmu.edu/∼wing/ [ link rupt ] (2001)
  • Fiabilitatea sistemelor și rețelelor informatice - Toleranță, analiză și proiectare la defecțiuni (Martin L. Shooman), ed. Echipa Fly

Elemente conexe