Kernelement: der SDN-Controller
Ein SDN-Controller ist nicht an eine bestimmte Form gebunden. Es kann sich um einen physischen Server handeln, aber auch um eine Virtual Machine oder eine Hardware-Appliance. Der Controller gibt der Forwarding Plane vor, wie sie mit Datenpaketen umgehen soll, also wohin (an welchen Port) die Pakete übermittelt werden sollen und mit welcher Priorität das erfolgen muss.
Die Forwarding Plane übermittelt diese Regeln wiederum an die applikationsspezifischen ICs (ASICs) im Router oder Switch. Vereinfacht gesagt: SDN separiert Entscheidungen, die die Weitervermittlung von Paketen und Regeln (Policies) betreffen, von der Netzwerktopologie und der Transportebene.
Die unterschiedlichen Ansätze von SDN
Die Kommunikation zwischen Controller und Infrastrukturebene (Data/Forwarding Plane) erfolgt über ein spezielles Protokoll. Hier kommt derzeit vor allem OpenFlow zum Einsatz, das an der Stanford University in Kalifornien entwickelt wurde. Für die Anbindung der Anwendungen sind standardisierte Application Programming Interfaces (APIs) zuständig. Derzeit favorisieren etliche Netzhersteller OpenFlow, darunter Hewlett-Packard, NEC und IBM. Allerdings gibt es auch andere Ansätze, beispielsweise Path Computation Elements (PCE), ein speziell für SDN in Weitverkehrsnetzen entwickeltes Konzept.
Die Switches und Router in einer SDN-Infrastruktur müssen das Protokoll "verstehen", das der SDN-Controller verwendet, also etwa OpenFlow. Das bedeutet im Extremfall den Austausch von älteren Systemen gegen neue, die über entsprechende Schnittstellen verfügen. Die meisten Anbieter von Netzausrüstung für Enterprise Networks und Telekommunikationsnetze statten derzeit ihre Systeme mit entsprechenden Interfaces aus.