Sobre les SDN

Darrera actualització: 01-04-2017

SDN (Software Defined Network)

Si busquem la definició de SDN, ens trobarem en que es tracta d’una arquitectura emergent que és dinàmica, rentable, adaptable i manegable, el que la fa ideal per l’ample de banda i la naturalesa dinàmica de les aplicacions. Tot i que es tracta d’una nova arquitectura (separa el pla de control del pla de dades en els dispositius de xarxa), crec que la importància de la mateixa radica sobretot en el canvi de la forma de treballar permetent adaptar-nos, a nivell de xarxa, a les pròpies necessitats del mercat / aplicacions.

D’on sorgeix la necessitat

La pròpia evolució de la societat de la Informació, i en concret d’Internet, ha fet que les necessitats del mercat vagin canviant i, com a conseqüència, els negocis hagin d’evolucionar a gran velocitat. Ens trobem en una situació on conceptes com flexibilitat i rapidesa són fonamentals per evolucionar.

L’evolució dels sistemes d’informació ha estat i esta sent decisiva en el desenvolupament dels negocis, i no només pel que fa referència al hardware (major capacitat de processament, memòria, etc) sinó també a nivell de programari, virtualització fonamentalment.

Aquesta evolució, juntament amb la aparició de noves tecnologies, estratègies (dockers, microserveis, etc.) ens permet poder crear aplicacions d’una forma ràpida i flexible reduint substancialment el temps emprat per oferir el nostre producte.

Canvi en la direcció del tràfic dins dels Data Centers

Ens els Data Centera el sentit del tràfic, fins fa poc, era majoritàriament Nord-Sud (vertical). Aquesta tendència està canviat a gran velocitat, passant a ser Est-Oest (horitzontal).

El motiu d’aquest canvi ve determinat principalment pel canvi / evolució que es produeix en l’arquitectura de les aplicacions, passant d’arquitectures monolítiques a arquitectures distribuïdes, com per exemple els (micro)serveis.

Distribució SDN1

Però… i la xarxa?

Tot i les evolucions / canvis descrits anteriorment, aquests no seran realment efectius sense l’evolució pertinent del medi sobre el que ha de viatjar la informació, la xarxa.

L’evolució constant dels equipaments de xarxa, ens permet anar solucionant tant problemes de capacitat com de configuració. Valgui com a exemple la limitació en quant a les VLANS actives per switch que, a part dels possibles altres problemes que això podria suposar, provocava que el moviment de les maquines virtuals dins del Data Center depengués en molts casos de la realització de tasques prèvies per part de xarxa, amb el temps que això comporta. En l’actualitat, aquesta limitació ja ha estat superada.

Tot i així, un dels principals problemes amb què ens trobem és el d’aconseguir una xarxa flexible (on es puguin realitzar canvis de forma immediata), ràpida i segura. En definitiva, la xarxa hauria de ser transparent. Això permetrà que front a qualsevol canvi i/o nova necessitat ( a nivell d’aplicació / S.I.) la configuració de la part de xarxa no suposi cap “stopper” pel que fa al temps de provisionament.

Entendre SDN

Com ja hem indicat anteriorment, SDN es tracta d’una arquitectura emergent que es basa principalment en la separació del pla de control del pla de dades dels dispositius de xarxa.

Tradicionalment, el funcionament de la xarxa, juntament amb la seva governabilitat està basada en dos conceptes bàsics, el pla de control (control plane) i el pla de dades (data plane).

El pla de control és l’encarregat de dur a terme totes aquelles accions necessàries per a fer possible l’enviament dels paquets / dades, com pot ser la construcció de la taula de rutes, l’establiment de polítiques de seguretat, etc. En definitiva és l’encarregat de configurar el pla de dades

El pla de dades en canvi, està format per totes aquelles activitats encarregades del propi enviament dels paquets, com per exemple la fragmentació i reconstrucció, replicació pel tràfic multicast, etc.

Aquests dos plans es troben presents en els propis dispositius de xarxa separats lògicament o, en alguns dispositius, inclús físicament.

Control vs Dades

Això comporta que front a un canvi s’hagin de configurar varis dispositius de forma separada, cuidant sempre de no caure en inconsistències. El resultat final és que el temps d’aprovisionament / canvi d’un servei no sol ser curt, afegint el risc que implica el fet d’haver d’anar configurant dispositiu a dispositiu.

Separació del pla de control del de dades

Hem d’entendre que quan parlem de separació d’aquests dos plans, no ens referim a la separació dins del propi dispositiu de xarxa (aquesta ja existeix) sinó que ens referim a l’extracció del pla de control dels dispositius de xarxa, ubicant-lo en un o varis elements externs a la mateixa., el que anomenarem a partir d’ara controlador.

Per tant, el primer que ens proposa SDN, és centralitzar el Pla de control en un dispositiu (controlador) que serà l’encarregat de controlar a varis i/o tots els dispositius de xarxa.

Distribuït vs Centralitzat

Aquesta centralització del pla de control fa que:

  • Els switchos tan sols haurien de tenir el pla de dades ( realment, també tenen una mínima part de “pla de control”)

  • La xarxa sigui més consistent

  • La resposta front a canvis sigui més ràpida

  • La gestió de gran quantitat de dispositius sigui molt més fàcil

Arquitectura SDN

Segons la Open Networking Foundation (ONF), organització que es dedica a accelerar la adopció de SDN y NFV, la arquitectura de SDN la podríem separar en les següents capes:

  • Capa d’infraestructura. Formada pels nodes / equipaments de xarxa que realitzen la commutació i enrutament dels paquets.

  • Capa de control. Es tracta de la capa més important dins de la arquitectura SDN. És la capa on esta ubicada la intel·ligència de la xarxa. Es on ens trobem amb el controlador (programari ) , encarregat de controlar i configurar els nodes de la xarxa dirigint així els fluxes de tràfic, és a dir, la intel·ligència de conmutació i enrutament de les dades dels nodes de la xarxa passa a ser propietat del controlador SDN. La comunicació entre el controlador i els dispositius de la xarxa a controlar, es fa mitjançant un protocol ( per exemple openflow), que pot variar segons el fabricant de la solució. Anomenarem interface northbound a la comunicació/fluxe que hi ha entre la capa de control i la d’aplicació i interface southbound a la que hi ha entre la capa de cotnrol i la d’infraestructura.

  • Capa d’aplicació. Aquesta capa esta formada per aplicacions d’usuaris que incideixen directament en el controlador que ens permetran simplificar i automatitzar les tasques de configuració de la xarxa, aprovisionar y gestionar nous serveis, així com extreure informació de negoci, fent que la xarxa es pugui anar adaptant automàticament a les necessitats que vagin sorgint. Aquestes aplicacions es comuniquen amb el controladors mitjançant APIs de la capa de control com REST, JSON, XML, etc.

Tres capes

On aplicar SDN

Tot i que a priori pot semblar que la aplicació de SDN s’hauria de fer en tots els entorns on hi hagi xarxa, cal destacar que aquesta en principi és una tecnologia / arquitectura pensada per Data Centers. Això no vol dir que en altres entorns o tipus de xarxa, com per exemple Nodes de trànsit (NUS de Comunicacions) no s’arribi a aplicar mai, però, la finalitat no es aquesta i per tant encara avui no esta pensada per poder aplicar-se a aquest tipus de xarxa, tot i que s’està treballant perquè acabi de ser una realitat.

SDN ens ha d’aportat tot un seguit d’avantatges:

  • Gestió unificada de milers de dispositius

  • Escalat dinàmic, és a dir, ens ha de permetre poder créixer d’una forma transparent, sense afectar al servei

  • Integració de nous serveis de forma ràpida

  • Programable. Hem de ser capaços de programar la xarxa per a que aquesta canviï el seu comportament segons les circumstàncies que es donin

  • Automatització: reducció progressiva de les tasques manuals mitjançant l’automatització de les mateixes, evitant així errades operacionals

Una de les principals característiques és la que fa referència a la “virtualització” de la xarxa. Això permetrà, que el propi desenvolupador de la aplicació o l’encarregat dels sistemes d’informació, pugui configurar-se la xarxa de forma automàtica i transparent, és a dir, front una determinada necessitat, la gent de sistemes podrà arribar a configurar-se fins i tot la part de la xarxa, sense haver de dependre de la intervenció per part del personal que gestiona la mateixa.

Això no significa que hi hagi llibertat total per a fer el que vulgui en la xarxa, sempre s’hauran de establir unes normes molt bàsiques que permetran al personal que gestiona la xarxa no perdre el control de la mateixa i per tant garantir el servei. Com a exemple, els administradors de sistemes tindran assignat un pool de vlans per poder crear les xarxes que necessitin. Aquest pool serà definit pels administradors de la xarxa i de forma automàtica, aquestes VLANS s’afegiran i/o borraran dels ports de la xarxa segons necessitats dels administradors de sistemes.

En definitiva, el que tindrem és una xarxa amb una configuració base, sobre la que de forma automàtica s’aniran creant xarxes superposades (overlay network).

Maduresa

Tenint present la velocitat a la que s’està evolucionant, per a que la implementació de SDN sigui eficient s’hauria de tenir present:

  • Situació actual de la xarxa a transformar. Actualment, ens trobarem amb molta electrònica de xarxa que no esta preparada i/o no compleix els requisits mínims per a ser gestionada per un controlador SDN.

  • Convivència entre xarxes SDN i no SDN. El pas de les xarxes actuals a SDN no és fàcil (fer-se de cop és poc menys que una bogeria). Per fer possible aquesta evolució, cal anar molt poc a poc amb una planificació molt detallada.

  • Hi ha casos en els que separar el pla de control del de dades dels equipaments de xarxa no és el més adient, havent-se d’estudiar tots i cadascuna de les casuístiques que ens apareguin.

Donada la importància i l’impacte que pot suposar el fet de separar el pla de control del de dades dels dispositius, hi ha una tendència que defineix SDN com la interacció de les aplicacions (moltes inclús a nivell de negoci) sobre la xarxa, sense la intervenció del operador de la mateixa. Tenint present aquesta definició, ens podem trobar amb:

  • Switchos que no disposen de pla de control (tot i que sempre ha d’haver un mínim pla de control només pel fet que han de parlar amb el controlador i guardar les configuracions que aquest els hi fa arribar), el que s’anomena Out-of-Band control Plane. En cas de caiguda del controlador, la xarxa no podrà reaccionar front a qualsevol canvi.
  • Switchos que sí disposen de pla de control, In-Band Control Plane, però tot i així és el controlador el que configura el pla de control de tots i cadascun dels dispositius. En cas de caiguda del controlador, la xarxa podria reaccionar front a determinats canvis / incidències (caiguda d’un port, etc) i sempre, com a cas excepcional, es podrien configurar els dispositius individualment.

Referències:


comments powered by Disqus