Policybaserad förvaltning
Policybaserad hantering är en teknik som kan förenkla den komplexa uppgiften att hantera nätverk och distribuerade system . Enligt detta paradigm kan en administratör hantera olika aspekter av ett nätverk eller distribuerat system på ett flexibelt och förenklat sätt genom att implementera en uppsättning policyer som styr dess beteende. Policies är teknikoberoende regler som syftar till att förbättra den hårdkodade funktionaliteten hos hanterade enheter genom att introducera tolkad logik som kan ändras dynamiskt utan att modifiera den underliggande implementeringen. Detta möjliggör en viss grad av programmerbarhet utan att man behöver avbryta driften av vare sig det hanterade systemet eller själva förvaltningssystemet. Policybaserad hantering kan avsevärt öka de självhanterande aspekterna av alla distribuerade system eller nätverk, vilket leder till mer autonomt beteende som demonstreras av autonoma datorsystem.
Ramar och språk
Den mest kända policybaserade hanteringsarkitekturen specificerades gemensamt av IETF och DMTF . Detta består av fyra huvudsakliga funktionella element: Policy Management Tool (PMT), Policy Repository, Policy Decision Point (PDP) och Policy Enforcement Point (PEP).
PMT används av en administratör för att definiera eller uppdatera policyerna som ska tillämpas i det hanterade nätverket. Resulterande policyer lagras i ett arkiv i en form som måste motsvara en informationsmodell för att säkerställa interoperabilitet mellan produkter från olika leverantörer. När nya policyer har lagts till i förvaret, eller befintliga har ändrats, utfärdar PMT den relevanta PDP med meddelanden, som i sin tur tolkar policyerna och kommunicerar dem till PEP. Den senare är en komponent som körs på en policymedveten nod och kan exekvera (upprätthålla) de olika policyerna. Komponenterna i arkitekturen kan kommunicera med varandra med hjälp av en mängd olika protokoll. Det föredragna valet för att kommunicera policybeslut mellan en PDP och nätverksenheter (PEP) är Common Open Policy Service (COPS) eller SNMP , och LDAP för PMT/PDP-förrådskommunikation.
Det enklaste tillvägagångssättet för policyspecifikation är genom en sekvens av regler, där varje regel är formen av ett enkelt villkor-åtgärdspar. IETF:s policyramverk antar detta tillvägagångssätt och betraktar policyer som regler som specificerar åtgärder som ska utföras som svar på definierade villkor:
om <villkor(er)> sedan <åtgärd(er)>
Den villkorliga delen av regeln kan vara ett enkelt eller sammansatt uttryck specificerat i antingen konjunktiv eller disjunktiv normalform. Åtgärdsdelen av regeln kan vara en uppsättning åtgärder som måste utföras när villkoren är sanna. IETF definierar inte ett specifikt språk för att uttrycka nätverkspolicyer utan snarare en generisk objektorienterad informationsmodell för att representera policyinformation. Denna modell är en generisk modell, som specificerar strukturen för abstrakta policyklasser med hjälp av association, vilket gör det möjligt för leverantörer att implementera sin egen uppsättning villkor och åtgärder som ska användas av policyreglerna.
Politiska konflikter
Som med alla programmerbara system kan ett policydrivet system drabbas av inkonsekvenser som uppstår genom att motsäga regler som styr dess beteende. Dessa är kända som policykonflikter och uppstår som ett resultat av specifikationsfel, utelämnanden eller motstridiga hanteringsoperationer och kan i vissa fall ha katastrofala effekter på driften av det hanterade systemet. De har också beskrivits som analoga med programvarubuggar som uppstår när två eller flera policyer aktiveras samtidigt som upprätthåller motstridiga hanteringsoperationer på systemet.
Klassificering av politiska konflikter
Policykonflikter klassificeras i stort sett i domänoberoende och applikationsspecifika, där de förra, som namnen antyder, är oberoende av policyapplikationen, och de senare är bundna av applikationsdomänens begränsningar. Exempel på tillämpningsdomäner som har beaktats i litteraturen inkluderar tjänstekvalitet (QoS) i IP-nätverk, distribuerade system, brandväggssäkerhet och samtalskontroll i telekommunikationsnätverk. Policykonflikter kan också klassificeras enligt den tidsram vid vilken de kan upptäckas: statiska konflikter kan upptäckas genom offlineanalys vid tidpunkten för policyspecifikation, medan dynamiska konflikter endast kan upptäckas när policyer tillämpas eftersom de beror på nuvarande tillstånd för det hanterade systemet. Till exempel kan konflikter uppstå mellan policyer för dynamisk allokering av resurser och de som anger kvoter för användare eller tjänsteklasser. Som sådan bör automatisering vara en nyckelaspekt av dynamiska analysmekanismer så att den operativa effekten av en konflikt kan hållas till ett minimum.
Upptäcka och lösa politiska konflikter
För att effektivt använda policyer och driva funktionaliteten hos ett hanterat system på ett konsekvent sätt, är det nödvändigt att kontrollera att nyskapade policyer inte kommer i konflikt med varandra eller med policyer som redan är implementerade i systemet. För att uppnå detta använder detekteringsprocesser information om de förhållanden under vilka konflikter kan uppstå för att söka i policyutrymmen och identifiera policyer som uppfyller konfliktkriterierna. Baserat på de typer av konflikter som identifierats i litteraturen och de olika tillämpningsområden där de förekommer, har forskningen koncentrerats till utvecklingen av mekanismer och tekniker för deras effektiva upptäckt. Även om enkla konflikter (t.ex. modalitetskonflikter) kan upptäckas genom syntaktisk analys, kräver mer specialiserade inkonsekvenser en exakt definition av förutsättningarna för en konflikt, som ibland inkluderar domänspecifik kunskap, och processer som använder sådan information för att signalera förekomsten av en konflikt . Populära metoder för att upptäcka konflikter har baserats på: metapolicyer (detektionsregler), policyrelationer, tillämplighetsutrymmen och informationsmodeller.
Upplösning är den senare delen av policyanalys, som syftar till att hantera upptäckta inkonsekvenser, helst på ett automatiserat sätt, så att överensstämmelse mellan policyer kan återställas. Processen att lösa konflikter kan innebära att man drar tillbaka, undertrycker, prioriterar eller ändrar policyer, och i vissa fall att en ny policy helt och hållet upprätthålls så att överensstämmelse mellan policyreglerna kan återställas. Metoden för att göra det beror till stor del på vilken typ av politik som är inblandad och det område där konflikter uppstår. Även om mänskligt ingripande är oundvikligt i vissa situationer, fokuserade flera forskningsinsatser på tekniker för att automatisera upplösningsprocessen där det var möjligt. Populära tillvägagångssätt för att lösa konflikter har baserats på: metapolicyer (lösningsregler), företräde, policyordning och konfliktförebyggande.
Tidsramen vid vilken konflikter kan upptäckas påverkar analysmetoden och kraven för att hantera dem. Statiska konflikter upptäcks vanligtvis genom analys som initieras manuellt av systemadministratören; konflikter representerar inkonsekvenser mellan policyer och löses vanligtvis genom att ändra policyerna. Däremot måste körtidskonflikter upptäckas av en process som övervakar policytillämpningen och upptäcker inkonsekventa situationer i systemets exekvering. Upplösning måste uppnås automatiskt, till exempel genom att upprätthålla upplösningsregler. Brist på automatisering i hanteringen av körtidskonflikter kan få katastrofala konsekvenser för korrekt systemdrift, särskilt när man hanterar QoS för fördröjningskänsliga applikationer.
Policyförfining
Helst bör ett policybaserat hanteringssystem underlätta definitionen av administrativa mål på hög nivå, som är lätta för människor att uttrycka och förstå, möjliggöra översättning av dem till lågnivåpolicyer och mappa dem till kommandon som konfigurerar de hanterade enheterna därefter. Medan högnivåmålen återspeglar nätverksadministratörens affärsmål, ansvarar lågnivåpolicyerna för konfigurationer på enhetsnivå.
Policyförfining är processen att omvandla ett högnivåmål eller abstrakt policyspecifikation till konkreta policyer på låg nivå som kan tillämpas på det hanterade systemet. Huvuduppgifterna för förfiningsprocessen är följande:
- Bestäm de resurser som behövs för att uppfylla policyns krav
- Översätt mål på hög nivå till operativa policyer som systemet kan genomdriva
- Verifiera att lågnivåpolicyerna faktiskt uppfyller kraven som specificeras av högnivåmålet
Flera förfiningsstrategier har utvecklats. De mest anmärkningsvärda är baserade på linjär tidslogik, händelsekalkyl och verktygsberäkning.
Se även
- In-nätverkshantering
- Nätverks- och tjänstehanteringsklassificering
- Nätverkshantering
- Nätverkshanteringssystem
- Nätverksprestandahantering
- Nätverks- och tjänstehanteringsklassificering
- Systemhantering
- The SimpleWeb