Openflow kan vara på väg att rita om nätverkskartorna. Tekniken går ut på att dela upp funktionerna som hanteras av en traditionell switch i två lager – ett lager som transporterar data till rätt mottagare, och ett lager som styr och övervakar nätverkets konfiguration.

Openflow separerar logik från mekanik. Det är just den uppdelningen som har potentialen att slå undan benen på de traditionella nätverksleverantörerna eftersom ”mekaniken”, alltså switchen, blir en ganska enkel produkt som lätt kan ersättas med en annan, medan ”logiken”, alltså kontrollenhetsmjukvaran, kan köras på en vanlig server. Kommunikationen mellan kontrollenhet och switch sköts med själva Openflow-protokollet via en tls-krypterad förbindelse.

Tabellen styr trafiken
I det så kallade dataplanet finns alltså ett minimum av konfigurationer och funktioner. Switchen har en flödestabell som innehåller regler baserade på bland annat ethernet-adresser, ip-adresser och portnummer. Tabellen styr vad som ska göras med trafik som passar in på en regel, till exempel om paketet ska släppas igenom, blockeras eller kopieras till någon annan port.

Men de funktioner som går utöver en enkel flödestabell hanteras inte i switchen, utan kan vidarebefordras till Openflow-kontrollenheten.
I det så kallade kontrollplanet hittar vi funktioner för att tillåta eller blockera trafik, välja den bästa rutten till mottagaren, prioritera bandbredden och mycket mer. Man kan också styra om trafiken via olika portar, till exempel låta den passera lastbalanserare eller brandväggar.

Uppdelningen mellan dataplan och kontrollplan är visserligen inte något nytt, alla switchar utom de allra billigaste fungerar på det sättet.
Skillnaden är att i traditionella switchar finns båda planen i ett och samma chassi, och de är inte tänkta att fungera ihop med någon annan tillverkares produkter. Uppdateringar av kontrollplanet sker bara på nåder av hårdvarutillverkaren, eftersom de ligger i switchens firmware.

Kontrasten mot Openflow är slående. Här har vi standardiserade data- och kontrollplan, där komponenter lätt kan ersättas med andra och kontrollplanets mjukvara är enkel att uppgradera. Alltsammans kan styras, konfigureras och inte minst övervakas av mjukvara via ett enda api-gränssnitt i stället för många olika.

Fakta

Mjukvarudefinierade nätverk fanns redan innan Openflow, men inte i exakt samma form. Det svenska företaget Tail-f har jobbat med att göra nätverk programmerbara sedan de startade i mitten av 00-talet, med fokus på protokollet Netconf.
Deras produkt NCS är ett verktyg för att abstrahera konfigurationen i nätutrustning, och är kompatibelt med många olika leverantörers produkter.

Nätverksadministratören definierar hur nätverket är uppbyggt i modelleringsspråket Yang, och kan manipulera enheternas konfigurationer grafiskt eller via terminal- eller api-gränssnitt. Verktyget räknar själv ut vilka konfigurationer som behöver installeras på olika noder i nätet, och utför förändringarna.

I botten använder NCS olika protokoll för att trycka ut inställningarna till nätverket, till exempel Netconf och terminalgränssnitt. Men också Openflow-switchar stöds eftersom att NCS har en inbyggd Openflow-kontrollenhet.

campusnät: Nätverk som sträcker sig över några tiotal kilometer.
dataplan: Del av switchen som sköter transporten av data mellan portarna. I en hårdvarubaserad switch är dataplanet oftast uppbyggt av några få specialdesignade kretsar för att få ut maximal prestanda. Kallas ibland transportplan eller switchplan.
kontrollplan: Del av switchen som styr och övervakar dataplanet. Har även stöd för att en operatör ska kunna ändra inställningar, se statistik och få information om switchens funktioner.
netconf: Protokoll för att fjärrstyra konfigurationen i switchar och routrar med möjlighet till automatisering. Med netconf finns kontrollplanet fortfarande i nätverksenheterna, som alltså är självständiga och inte kräver någon central controllerfunktion.
of-config: Protokoll för att grundkonfigurera en ny Openflow-switch, så att den kan knytas till sin kontrollenhet. Baserat på Netconf.
traffic shaper: Enhet som begränsar hur mycket bandbredd som utnyttjas genom att buffra trafiktoppar och jämna ut dem. Ger högre totalprestanda i nätverket.