In networking heb je het data plane en het control plane. Denk daarbij aan een modulaire switch. Hierin zit één of twee supervisors en lijnkaarten met switchpoorten. In de lijnkaarten zitten ASICs die packets forwarden. Op de supervisor draait het besturingssysteem van de switch en hier zit de intelligentie om alles aan te sturen. (Zoals routing protocollen als OSPF, BGP, etc.)
Voor het data plane hebben we het OSI model. (Laag 1 t/m 7) Het is een framework waardoor verschillende fabrikanten hardware kunnen maken die compatibel met elkaar is. Elke laag heeft z'n eigen functie. (Fysieke kabels, local switching, flow control, etc.) Het TCP/IP model neemt combineert een aantal lagen van het OSI model, maar ook dit is een framework.
Wat betreft het control plane is het een allegaartje van protocollen. We hebben een loop in het netwerk. Ok.. Laten we Spanning Tree uitvinden. Wanneer er een loop optreed convergeert de netwerk topologie niet snel genoeg. Ok.. Laten we Rapid Spanning Tree uitvinden. Kortom: Het is een lappendeken van protocollen om data betrouwbaar van A naar B te krijgen, maar het zijn telkens snelle fixes. Er zit geen overkoepelende gedachte achter.
SDN gaat dit veranderen. SDN is flow gebaseerd. Traffic flows gaan van A naar B. Software stuurt dit centraal en stuurt de hardware aan. Bij SDN zijn control plane en data plane gescheiden. In een traditioneel netwerk draaide elke router OSPF bijvoorbeeld. En onderling vochten routers uit hoe een data flow door het nietwerk moest lopen. Bij SDN wordt dit centraal door software bepaalt.
Laatst heb ik hierover een sessie over gevolgd van Cisco en zij zien 4 modellen. Het traditionele model waarbij elk netwerkdevice control plane en data plane heeft.
Daarnaast werkt Cisco aan SDN controllers. Met de controller kan je centraal defineren hoe traffic flows door het netwerk moeten lopen. Netwerk apparaten worden aangestuurd door de controller en forwarden data alleen. Tussen de controller en het netwerk apparaat wordt Openflow gepraat, maar dit kan ook een vendor specifiek protocol / API zijn. De controller kan zelf ook aangestuurd worden via een API. In de industrie wordt Openflow als standaard gezien voor South-bound verkeer gezien, tussen netwerk apparaat en controller. Voor North-bound verkeer (controller en 3rd party software) is er ook een API. Maar hier is geen overeenstemming over en elke vendor kan hier zelf iets voor implementeren.
Je kan ook SDN doen zonder een controller. Momenteel stelt Cisco de OnePK API beschikbaar. Steeds meer Cisco apparaten gaan deze API ondersteunen. 3rd Party software kan hiermee direct netwerkapparatuur aansturen, zonder tussenkomst kan een controller.
Daarnaast is er een hybride model. Traditionele technieken worden hierbij gecombineerd met SDN. Binnen Universiteiten is een toepassing om met SDN het netwerk te virtualiseren in slices. Je kan een slice gebruiken om productie traffic te transporteren. Routing gebeurt tradionele via bekende technieken als Rapid Spanning Tree en OSPF. Een andere slice kan men gebruiken om met SDN nieuwe routing technieken te ontwikkelen.
SDN introduceert namelijk behoorlijk grote risico's in het netwerk. Iedereen weet hoe je zaken als Spanning Tree, OSPF en BGP configureert en troubleshoot. Bij SDN kan het gebeuren dat als een programmeur iets verkeerd programmeert, dit van invloed is op het hele netwerk. Routing kan je bijvoorbeeld via SDN doen, maar andere zaken zoals authenticatie van users via traditionele methodes.
Met SDN kan je flows statisch configureren en het netwerk monitoren. Je kan ook naar een model waarbij je het netwerk monitord en dit als input gebruikt om het netwerk bij te sturen. Je kan flows door je netwerk laten stromen en dit aanpassen op dingen als latency, beschikbare bandbreedte en beschikbaarheid. Dit kan nu ook al met bijvoorbeeld routing protocollen, maar dit zijn statische waarden en passen zich niet automatisch aan, aan een andere werkelijkheid. (Een netwerkadmin moet een wijziging doorvoeren.)
Je kan bijvoorbeeld ook denken aan integratie met ERP software. In de ERP software wordt bijvoorbeeld bijgehouden wat de kosten van een verbinding of datacenter zijn. (Variaties in energiekosten kunnen dit bijvoorbeeld bepalen.) De ERP software kan je integreren met een SDN controller, die op zijn beurt de hardware aanstuurt. Heb je zelf een applicatie geschreven als middle-ware, dan kan je OnePK gebruiken om de koppeling te maken tussen je eigen software en de netwerk hardware.
~ Voordelig Zelf Vliegen? ~ Sent using RFC 1149. Note: No animals were harmed during this data transfer. ~